Subject: Re: [xsl] Need help with XSLT: adding new node btw existing elements From: "Nishi Bhonsle" <nishiandprafull@xxxxxxxxx> Date: Wed, 16 Aug 2006 14:57:46 -0700 |
David: I tried this but in the output, i notice that the namespace gets added as attributes to the environment as well as variable elements. Is there way that can be avoided?
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:b="blabla"> <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="b:environment"> <environment> <variable id="SAROOTDIR" value="D:\Dir1"/> <variable id="SADATADIR" value="D:\Dir2"/> </environment> </xsl:template> </xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="C:\test1.xslt"?> <test xmlns="blabla"> <comp id="New"> <process-type id="home"> <environment xmlns="" xmlns:b="blabla"> <variable xmlns="" id="SAROOTDIR" value="D:\Dir1"/> <variable xmlns="" id="SADATADIR" value="D:\Dir2"/> </environment> </process-type> </comp> </test>
<xsl:template match="environment">
that matches elements called environment in no namespace but you have no such elements, your original example looked like:
<test xmlns="blabla"> <comp id="New"> <process-type id="home" module-id="TESTER" status="enabled"> <environment>
so your document has an element environment in the namespace blabla to match an element of that name put xmlns:b="blabla" in your xsl stylesheet and use
<xsl:template match="b:environment">
(This is a FAQ)
David
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Need help with XSLT: addi, David Carlisle | Thread | Re: [xsl] Need help with XSLT: addi, Nishi Bhonsle |
Re: [xsl] if statement, Bill French | Date | Re: [xsl] Process only nodes on a s, Wendell Piez |
Month |