This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: copy top-level comments


Hi Bernward,

> I want to copy comments from the input to the output.
> I try to get each command in a new Line as it is in the input document.
> <xsl:output method="xml" inden="yes"> works for the most comments, but 
> not for the top.Level comments.

I suppose this hasn't something to do with indent="yes".
Between two comments are whitespace only textnodes which are copied 
into the result tree. That's why you get the comments in separate lines
for comments which are descendants of the document element.

Unfortunately there are no text nodes as children of the root node.
In the XPath data model you have no information, wether your comments
in the source look like

<?xml version="1.0"?>
<!-- comment -->
<!-- comment -->

or 

<?xml version="1.0"?><!-- comment --><!-- comment -->

But you can create a newline "by hand" if you want:
<xsl:template match="comment()">
   <xsl:if test="not(parent::*)">   <!-- no parent element node -->
      <xsl:text>&#xA;</xsl:text>
   </xsl:if>
   <xsl:copy />
</xsl:template>

Hope that helps,
Oliver

/-------------------------------------------------------------------\
|  ob|do        Dipl.Inf. Oliver Becker                             |
|  --+--        E-Mail: obecker@informatik.hu-berlin.de             |
|  op|qo        WWW:    http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]