Re: [xsl] Adding element to xml snippet using xslt

Subject: Re: [xsl] Adding element to xml snippet using xslt
From: Nishi Bhonsle <nishi.bhonsle@xxxxxxxxxx>
Date: Sat, 19 Feb 2005 18:08:06 -0800
Joris Gillis wrote:

Tempore 20:52:00, die 02/18/2005 AD, hinc in xsl-list@xxxxxxxxxxxxxxxxxxxxxx scripsit Nishi Bhonsle <nishi.bhonsle@xxxxxxxxxx>:

<xsl:template match="server"> <xsl:element name="drillOutDir"> <xsl:value-of select="abc:configuration/drillOutDir">
</xsl:value-of> </xsl:element>
<xsl:element name="started">
<xsl:value-of select="abc:configuration/started">
</xsl:value-of>
<xsl:copy-of select="@*[status = 'true' ]"/>
</xsl:element>
<xsl:text></xsl:text>
</xsl:template>



1) attribute nodes have to be added before any other nodes. 2) the context node changes is dependant on the template. 3) "<xsl:text></xsl:text>" is completely superfluous.

make that:

<xsl:template match="server">
<xsl:element name="drillOutDir">
<xsl:value-of select="abc:configuration/drillOutDir"/
</xsl:element>
<xsl:element name="started">
<xsl:copy-of select="@status[. = 'true' ]"/>
<xsl:value-of select="../abc:configuration/started"/>
</xsl:element>
</xsl:template>

Hi: Apparently, this results in the following output -- <drillOutDir></drillOutDir> <started></started> <server> </server>

The status = true attribute of the started element does not show up?
The output for the started element should be --
<started status="true">This application was stopped.</started>

What could be wrong/missing in the above xslt?

Thanks.




regards,

Current Thread