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: Thu, 17 Feb 2005 15:05:50 -0800
Joris Gillis wrote:

Tempore 16:55:31, die 02/17/2005 AD, hinc in xsl-list@xxxxxxxxxxxxxxxxxxxxxx scripsit Nishi Bhonsle <nishi.bhonsle@xxxxxxxxxx>:

I have the following xsl, that converts the initial snippet to the resultant but i observed that the <started> element occurs before the <drillOutDir> element. How can I change my xsl to achieve the above result xml in the exact order?


You can use an 'xsl:sort' instruction to make sure the 'server' element is processed first.


<xsl:template match="abc:configuration">
<xsl:copy-of select="@*[local-name() != 'rmi' and local-name() != 'locale']"/>
<xsl:attribute name="useMgmt">
<xsl:attribute name="metadata"><xsl:text>true</xsl:text></xsl:attribute>

<xsl:sort select="boolean(self::server)" order="descending"/>

I tried this xslt change, but I notice that the "server" element appears above the "started" element in the output xml as follows--

<abc:configuration xmlns:xsi=""; xsi:schemaLocation=" configuration.xsd" webcache="false" useMgmt="true" metadata="true">
<server useLogFile="true" logLevel="error">
<activation enabled="true" maxSessions="20" timeout="30"/>
<started status="true"/>.........

What can I change the xslt to preserve the order ie display the "server" element after the "started" element.
Also, is there a way that i can change
<started status="true"/>
<started status="true">This application was stopped.</started>


    <xsl:template match="server">
<xsl:element name="drillOutDir">            </xsl:element>


Current Thread