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: Tue, 22 Feb 2005 15:24:43 -0800
David Carlisle wrote:

I did include <xsl:apply-templates/> as follows, but it does not yield the 'drillOutDir' node in the output xml.

<xsl:template match="abc:configuration/drillOutDir">
<xsl:element name="drillOutDir">
<xsl:value-of select="abc:configuration/drillOutDir"/>

That would apply templates to the children of drillOutDir if this
template was ever executed, but as you have said, this template is not
executed. You need to apply templates to the drillOutDir nodes,by
having apply-templates in the template that matches the parent.

I was able to tackle the 'drillOutDir' node in the following way --
<xsl:template match="abc:configuration">
<xsl:element name="drillOutDir">
<xsl:value-of select="abc:configuration/drillOutDir"/>
</xsl:element> </xsl:template>

This results in the correct output xml doc ie

Now the only issue remaining is for the 'started' element node, which is at the same level as the 'drillOutDir' node but apparently needs to be merged using xslt.
ie I can insert the following in the above template
<xsl:element name="started">
<xsl:attribute name="status"><xsl:text>true</xsl:text></xsl:attribute>
But I do not want to hardcode the value of the attribute status in my xslt. I would like to get it using the value of or something expression. Apparently when I use the value-of or any other copy-of select clause, I only get an empty 'started' node.
<xsl:copy-of select="@status[. = 'true' ]"/>
<xsl:value-of select="abc:configuration/started"/>

How can I resolve this part?


also as once you do apply templates to this drillOutDir element and so
this template is executed it will generate a drillOutDir element <xsl:element name="drillOutDir">
(which you could more easily have written as
but then use as content the string value of this elements grandchild of
the same name, drillOutDir. Is that really the structure of your input?
that abc:configuration contain drillOutDir which contains
abc:configuration which contains drillOutDir ?


This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:

Current Thread