Subject: RE: [xsl] generating namespace attributes in result From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 7 Apr 2005 16:20:29 +0100 |
In the XPath data model, namespaces are represented by namespace nodes, not by attribute nodes. So you can't create them using xsl:attribute. XSLT 2.0 has an instruction xsl:namespace for creating namespace nodes, but there is no direct equivalent in XSLT 1.0. There's a workaround, which involves creating a dummy element in the relevant namespace in a temporary tree, and then copying its namespace nodes using xsl:copy-of. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: omprakash.v@xxxxxxxxxxxxx [mailto:omprakash.v@xxxxxxxxxxxxx] > Sent: 07 April 2005 15:20 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] generating namespace attributes in result > > > Hi, > Iam using <xsl:for-each select="namespace:*"> to > iterate over all > namespace attributes on the input element and write them to > the result. > using <xsl:value-of select=name(.)"/> and <xsl:value-of select=."/>. > > If my input xml elements are in the default namespace, then the > <xsl:value-of select=name(.)"/> returns an empty string. > > Now when I try to do an inverse transform and try to create > an attribute as > follows: > > <xsl:attribute name="$attrname"> > <xsl:value-of select=$attrval"/> > </xsl:attribute> > > where attrname and attrval contain the namespace originally > written to the > result, I get an error > > An attribute whose value must be a QName had the value ''. > > What I would like to do is > replace the empty string I get for the namespace name with > 'xmlns' ( This > doesn't agree with the processor which gives above error just > says 'xmlns' > instead of the '') and regenerate the namespace just like it > was in the > original xml in my inverse transform. > > Hope this is clear. > > Cheers, > Omprakash.V > > > > > > > > > > This e-Mail may contain proprietary and confidential > information and is sent for the intended recipient(s) only. > If by an addressing or transmission error this mail has been > misdirected to you, you are requested to delete this mail immediately. > You are also hereby notified that any use, any form of > reproduction, dissemination, copying, disclosure, modification, > distribution and/or publication of this e-mail message, > contents or its attachment other than by its intended > recipient/s is strictly prohibited. > > Visit Us at http://www.polaris.co.in
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] generating namespace attr, David Carlisle | Thread | [xsl] [ANN] jCatalog Software AG an, Gerd Napieraj |
Re: [xsl] doubt, Aron Bock | Date | RE: [xsl] get all element dom tree, Michael Kay |
Month |