Subject: RE: [xsl] Need help with XSLT: adding new node btw existing elements From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Wed, 16 Aug 2006 23:55:31 +0100 |
Put the elements in the right namespace, and the namespace declarations will take care of themselves. I suspect that you want to generate the environment and variable elements in the blabla namespace, in which case you need to prefix their names in the stylesheet. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Nishi Bhonsle [mailto:nishiandprafull@xxxxxxxxx] > Sent: 16 August 2006 23:47 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] Need help with XSLT: adding new node btw > existing elements > > Okay, I could remove the blabla namespace from the output xml > doc by adding exclude-result-prefixes="b" in my xslt doc. > > But what about the xmlns="" that gets added to the elements? > How can I remove that? > > Thanks! > > On 8/16/06, Nishi Bhonsle <nishiandprafull@xxxxxxxxx> wrote: > > 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? > > > > xslt - > > > > <?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> > > > > and the output looks like - > > > > <?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> > > > > Thanks! > > > > > > On 8/16/06, David Carlisle <davidc@xxxxxxxxx> wrote: > > > > > > > > > <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, Nishi Bhonsle | Thread | Re: [xsl] Need help with XSLT: addi, Abel Online |
Re: [xsl] Grouping upon various att, Florent Georges | Date | Re: [xsl] Need help with XSLT: addi, Abel Online |
Month |