Re: [xsl] copy top-level comments

Subject: Re: [xsl] copy top-level comments
From: Oliver Becker <obecker@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 19 Jun 2001 13:44:32 +0200 (MET DST)
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 -->


<?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:copy />

Hope that helps,

|  ob|do        Dipl.Inf. Oliver Becker                             |
|  --+--        E-Mail: obecker@xxxxxxxxxxxxxxxxxxxxxxx             |
|  op|qo        WWW: |

 XSL-List info and archive:

Current Thread