You also need to allow for the fact that the environment element is in
namespace blabla.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Nishi Bhonsle [mailto:nishiandprafull(_at_)gmail(_dot_)com]
Sent: 16 August 2006 19:47
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Need help with XSLT: adding new node btw
existing elements
I did add the xsl:stylesheet element but i dont get the
desired output ie the variable tags dont get added in.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8"
indent="yes"/> <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> </xsl:stylesheet>
On 8/16/06, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:
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>
--~--
--~------------------------------------------------------------------
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>
--~--