xsl-list
[Top] [All Lists]

RE: [xsl] Need help with XSLT: adding new node btw existing elements

2006-08-16 11:12:31
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(_dot_)mukul(_at_)gmail(_dot_)com> 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(_at_)gmail(_dot_)com> 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


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--