This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Doubled output of text nodes
- From: "Marrow" <marrow at marrowsoft dot com>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Thu, 11 Jul 2002 17:52:05 +0100
- Subject: Re: [xsl] Doubled output of text nodes
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hi Charles,
The text nodes are being output twice because you have...
<xsl:value-of select="text()[position()=1]" />
<xsl:apply-templates />
(the apply templates will also select the text() nodes - and the built-in
template rule will kick in for them and copy them too).
To just add id attributes the following XSL would be easier...
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:attribute name="id">
<xsl:value-of select="generate-id()"/>
</xsl:attribute>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="comment()|processing-instruction()">
<xsl:copy/>
</xsl:template>
</xsl:stylesheet>
HTH
Marrow
http://www.marrowsoft.com
http://www.topxml.com/Xselerator
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list