Subject: [xsl] Doubled output of text nodes From: "Charles Knell" <cknell@xxxxxxxxxx> Date: Thu, 11 Jul 2002 09:12:10 -0700 |
I have an application which produces XML docs similar to this one: --------------------------------------------------------- <?xml version="1.0"?> <root> <node> <node>Topic A <node>Subtopic A.1 <node>Subtopic A.1.a</node> </node> </node> <node>Topic B</node> </node> </root> --------------------------------------------------------- I wish to use XLT to add unique id's to each node element, but otherwise copy the content unchanged to the output. I have worked out this XSLT: --------------------------------------------------------- <?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:apply-templates /> </xsl:template> <xsl:template match="node"> <xsl:variable name="id"> <xsl:value-of select="generate-id()" /> </xsl:variable> <node id="{$id}"><xsl:value-of select="text()[position()=1]" /> <xsl:apply-templates /> </node> </xsl:template> <xsl:template match="root"> <xsl:variable name="id"> <xsl:value-of select="generate-id()" /> </xsl:variable> <root id="{$id}"> <xsl:apply-templates /> </root> </xsl:template> </xsl:stylesheet> --------------------------------------------------------- The output produces two copies of the desired text nodes: --------------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <root id="N400001"> <node id="N400004"> <node id="N400006">Topic A Topic A <node id="N400008">Subtopic A.1 Subtopic A.1 <node id="N40000A">Subtopic A.1.aSubtopic A.1.a</node> </node> </node> <node id="N40000F">Topic BTopic B</node> </node> </root> --------------------------------------------------------- I imagine that my problem is in the XPath expression, but I haven't been able to see how I might express it differently. Any suggestions? Thanks. -- Charles Knell cknell@xxxxxxxxxx - email XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] XSLTC Translets with key() an, Troy Thibodeaux | Thread | Re: [xsl] Doubled output of text no, Thomas B. Passin |
Re: [xsl] xslt 2 grouping, David Carlisle | Date | [xsl] xsl and schemas - getting rid, Mario Michlits |
Month |