[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Need help with XSLT: adding new node btw existing

Subject: RE: Need help with XSLT: adding new node btw existing elements
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 16 Aug 2006 19:12:06 +0100
xml document add new node
> Trying to load the following xsl in XMLSpy gives document 
> mal-formed error.

Mukul left out the xsl:stylesheet element to reduce noise and save typing.

If you didn't spot that, then we really are starting from the basics...

Michael Kay
http://www.saxonica.com/



> 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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.