Subject: Re: [xsl] Adding prefix to elements that belong to certain namespace (correction) From: Venkat Gyambavantha <vgyambav@xxxxxxxxx> Date: Wed, 24 Sep 2003 09:32:55 -0700 |
Thanks Ken. ----- Original Message ----- From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Sent: Tuesday, September 23, 2003 4:57 PM Subject: Re: [xsl] Adding prefix to elements that belong to certain namespace (correction) > At 2003-09-23 16:13 -0700, Venkat Gyambavantha wrote: > >Corrected so that my result is well-formed > > > ><envelope xmlns="http://somenamespace.com"> <!-- prefix this element with > >some prefix --> > > <Header xmlns=""> <!-- remove xmlns attribute for this element --> > > <from>me</from> > > <to>you</to> > > </Header> > > <body xmlns=""> > > <command xmlns="http://somenamespace.com"> <!-- prefix this element with > >the prefix used for envelope --> > > <type xmlns="">ADD</type> > > </command> > ></body> > ></envelope> > > > >to > > > ><pfx:envelope xmlns:pfx="http://somenamespace.com"> > > <Header> > > <from>me</from> > > <to>you</to> > > </Header> > > <body> > > <pfx:command> > > <type>ADD</type> > > </pfx:command> > ></body> > ></pfx:envelope> > > The information sets of the above two instances are the same ... there is > *no* transformation going on above. Prefixes are irrelevant to XML > processing. > > Note, however, that processors are *not* obliged to preserve any prefix you > put in a QName in an xsl:element instruction ... though most do and an > example below using Saxon does. Ref. Section 7.1.2: "XSLT processors may > make use of the prefix of the QName specified in the name attribute when > selecting the prefix used for outputting the created element as XML; > however, they are not required to do so." > > So, you are asking for something that isn't guaranteed in XSLT for a reason > that isn't necessary to XML giving a result that isn't different from the > original... but a candidate answer is below since you asked. > > I hope this helps. > > ............................ Ken > > T:\venkat>type venkat.xml > <envelope xmlns="http://somenamespace.com"> <!-- prefix this element with > some prefix --> > <Header xmlns=""> <!-- remove xmlns attribute for this element --> > <from>me</from> > <to>you</to> > </Header> > <body xmlns=""> > <command xmlns="http://somenamespace.com"> <!-- prefix this element with > the prefix used for envelope --> > <type xmlns="">ADD</type> > </command> > </body> > </envelope> > > T:\venkat>type venkat.xsl > <?xml version="1.0" encoding="iso-8859-1"?> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:pfx="http://somenamespace.com" > version="1.0"> > > <xsl:template match="*"> > <xsl:element name="{local-name(.)}"> > <xsl:apply-templates select="@*|node()"/> > </xsl:element> > </xsl:template> > > <xsl:template match="pfx:*"> > <xsl:element name="pfx:{local-name(.)}" namespace="{namespace-uri(.)}"> > <xsl:apply-templates select="@*|node()"/> > </xsl:element> > </xsl:template> > > <xsl:template match="@*|text()"> > <xsl:copy> > <xsl:apply-templates select="@*|node()"/> > </xsl:copy> > </xsl:template> > > </xsl:stylesheet> > > T:\venkat>saxon venkat.xml venkat.xsl > <?xml version="1.0" encoding="utf-8"?><pfx:envelope > xmlns:pfx="http://somenamespace.com"> > <Header> > <from>me</from> > <to>you</to> > </Header> > <body> > <pfx:command> > <type>ADD</type> > </pfx:command> > </body> > </pfx:envelope> > T:\venkat> > > > > -- > Next public US delivery: 3-day XSLT/2-day XSL-FO 2003-10-13 > Next public European delivery: 3-day XSLT/2-day XSL-FO 2003-11-?? > Instructor-led on-site corporate, government & user group training > for XSLT and XSL-FO world-wide: please contact us for the details > > G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx > Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ > Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995) > ISBN 0-13-065196-6 Definitive XSLT and XPath > ISBN 0-13-140374-5 Definitive XSL-FO > ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath > ISBN 1-894049-11-X Practical Formatting Using XSL-FO > Member of the XML Guild of Practitioners: http://XMLGuild.info > Male Breast Cancer Awareness http://www.CraneSoftwrights.com/s/bc > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Adding prefix to elements, G. Ken Holman | Thread | RE: [xsl] Accessing node-sets by in, Michael Kay |
RE: [xsl] Testing for a pattern, Michael Kay | Date | RE: [xsl] document function support, Michael Kay |
Month |