This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: copy top-level comments
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] copy top-level comments
- From: Oliver Becker <obecker at informatik dot hu-berlin dot de>
- Date: Tue, 19 Jun 2001 13:44:32 +0200 (MET DST)
- Reply-To: xsl-list at lists dot mulberrytech dot com
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>
</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