This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Re: copy top-level comments
- To: <xsl-list at lists dot mulberrytech dot com>, <bernward dot hanssen at db dot com>
- Subject: Re: [xsl] Re: copy top-level comments
- From: "Rob Lugt" <roblugt at elcel dot com>
- Date: Tue, 19 Jun 2001 13:24:28 +0100
- References: <20010619114128.87956.qmail@web14507.mail.yahoo.com>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Dimitre Novatchev wrote:
>
> > 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.
>
> Using MSXML I cannot reproduce the problem:
>
> source xml:
> -----------
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <!--comment1 -->
> <!--comment2 -->
> <doc>
> <!-- comment1 ok -->
> <!-- comment2 ok -->
> </doc>
>
I'm afraid this looks like a non-conformance issue with MSXML. The space
between the comments in the root node is not XML character data, and
therefore I don't think it should be presented to the XSLT processor as
such.
However, it is possible to achieve what Bernward wanted with a modified
stylesheet:-
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/comment()">
<xsl:text> </xsl:text> <!-- force a linefeed before each
top-level comment -->
<xsl:copy/>
</xsl:template>
<xsl:template match="comment()">
<xsl:copy/>
</xsl:template>
</xsl:stylesheet>
Regards,
Rob
--
Rob Lugt
ElCel Technology
http://www.elcel.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list