Hi, I have an XML. I want to add namespace to it using XSL. I found an XSL which adds namespace to XML but it is not helping me. MyXML is: <themes> <theme id="appl"> <title >Toepassingen</title> <title >Applications</title> </theme> </themes> I want following: <xs:themes xml:xs="http:\\nasir"> <xs:theme id="appl"> <xs:title >Toepassingen</xs:title> <xs:title >Applications</xs:title> </xs:theme> </xs:themes> Kind Regards, Muhammad Nasir Waqar
Muhammad Nasir Waqar wrote: > I have an XML. I want to add namespace to it using XSL. I found an XSL which > adds namespace to XML but it is not helping me. > MyXML is: > > <themes> > <theme id="appl"> > <title >Toepassingen</title> > <title >Applications</title> > </theme> > </themes> > > I want following: > > <xs:themes xml:xs="http:\\nasir"> > <xs:theme id="appl"> > <xs:title >Toepassingen</xs:title> > <xs:title >Applications</xs:title> > </xs:theme> > </xs:themes> Here is a sample stylesheet where you can pass in the prefix and the namespace URL as a parameter: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:param name="ns" select="'http:\\nasir'"/> <xsl:param name="pf" select="'xs'"/> <xsl:template match="*"> <xsl:element name="{concat($pf, ':', local-name())}" namespace="{$ns}"> <xsl:apply-templates select="@* | node()"/> </xsl:element> </xsl:template> <xsl:template match="@* | text() | comment() | processing-instruction()"> <xsl:copy/> </xsl:template> </xsl:stylesheet> -- Martin Honnen --- MVP XML http://JavaScript.FAQTs.com/
Thanks, problem solved. Muhammad Nasir Waqar "Martin Honnen" wrote in message news:%23B$bZbo5IHA.4448@TK2MSFTNGP05.phx.gbl... > Muhammad Nasir Waqar wrote: > >> I have an XML. I want to add namespace to it using XSL. I found an XSL >> which adds namespace to XML but it is not helping me. >> MyXML is: >> >> <themes> >> <theme id="appl"> >> <title >Toepassingen</title> >> <title >Applications</title> >> </theme> >> </themes> >> >> I want following: >> >> <xs:themes xml:xs="http:\\nasir"> >> <xs:theme id="appl"> >> <xs:title >Toepassingen</xs:title> >> <xs:title >Applications</xs:title> >> </xs:theme> >> </xs:themes> > > Here is a sample stylesheet where you can pass in the prefix and the > namespace URL as a parameter: > > <xsl:stylesheet > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="1.0"> > > <xsl:param name="ns" select="'http:\\nasir'"/> > <xsl:param name="pf" select="'xs'"/> > > <xsl:template match="*"> > <xsl:element name="{concat($pf, ':', local-name())}" > namespace="{$ns}"> > <xsl:apply-templates select="@* | node()"/> > </xsl:element> > </xsl:template> > > <xsl:template match="@* | text() | comment() | > processing-instruction()"> > <xsl:copy/> > </xsl:template> > > </xsl:stylesheet> > > -- > > Martin Honnen --- MVP XML > http://JavaScript.FAQTs.com/