Re: [xsl] Re: copy top-level comments

Subject: Re: [xsl] Re: copy top-level comments
From: "Rob Lugt" <roblugt@xxxxxxxxx>
Date: Tue, 19 Jun 2001 13:24:28 +0100
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>&#10;</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


Current Thread