Subject: Re: [xsl] Need help with XSLT: adding new node btw existing elements From: Abel Online <abel.online@xxxxxxxxx> Date: Wed, 16 Aug 2006 20:03:42 +0200 |
Abel Braaksma http://www.nuntia.nl
Hi:
Trying to load the following xsl in XMLSpy gives document mal-formed error.
Also, what if i have several occurences of the environment element in
the doc and i need to add the new nodes to a specific occurence only?
ie
If I have to add the new nodes to the environment tag that has comp id
= New, how can I change the xsl to do that?
<?xml version = '1.0' encoding = 'UTF-8'?> <test xmlns="blabla"> <comp id="Old"> <process-type id="home" module-id="TESTER1" status="enabled"> <environment> <variable id="TMP" value="C:\DOCUME~1\manez\LOCALS~1\Temp"/> </environment> </process-type> </comp>
<comp id="New"> <process-type id="home" module-id="TESTER" status="enabled"> <environment> </environment> </process-type> </comp> </test>
On 8/16/06, Mukul Gandhi <gandhi.mukul@xxxxxxxxx> wrote:
The transform requires to modify only the "environment" element, and keeping rest of the structure same. To solve this problem, you require an identity transform template, and a template to process the "environment" element.
<xsl:template match="node() | @*"> <xsl:copy> <xsl:apply-templates select="node() | @*" /> </xsl:copy> </xsl:template>
<xsl:template match="environment"> <environment> <variable id="SAROOTDIR" value="D:\Dir1"/> <variable id="SADATADIR" value="D:\Dir2"/> </environment> </xsl:template>
On 8/16/06, Nishi Bhonsle <nishiandprafull@xxxxxxxxx> wrote:
> Hi:
>
> I have the following input xml document, I need to write an xsl to transform
> it to the output xml document.
>
> Input xml document -
>
> <?xml version = '1.0' encoding = 'UTF-8'?>
> <test xmlns="blabla">
> <comp id="New">
> <process-type id="home" module-id="TESTER" status="enabled">
> <environment>
> </environment>
> </process-type>
> </comp>
> </test>
>
> Output xml document -
>
> <?xml version = '1.0' encoding = 'UTF-8'?>
> <test xmlns="blabla">
> <comp id="New">
> <process-type id="home" module-id="TESTER" status="enabled">
> <environment>
> <variable id="SAROOTDIR" value="D:\Dir1"/>
> <variable id="SADATADIR" value="D:\Dir2"/>
> </environment>
> </process-type>
> </comp>
> </test>
>
> Can someone please help write an xsl to transform the above input xml
> document into the output xml document?
>
> Thanks much!
-- Regards, Mukul Gandhi
http://gandhimukul.tripod.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Need help with XSLT: addi, Nishi Bhonsle | Thread | RE: [xsl] Need help with XSLT: addi, Michael Kay |
[xsl] Interesting problem: Combing , Ed Yau | Date | Re: [xsl] Dividing a long document , Jay Bryant |
Month |