Subject: RE: [xsl] Problem in replacing XML namespace using XSLT From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 17 Dec 2009 10:09:03 -0000 |
Please do not cross-post the same question on more than one forum. The question has been answered elsewhere. Regards, Michael Kay http://www.saxonica.com/ http://twitter.com/michaelhkay > -----Original Message----- > From: Krishna Gopal Binyala [mailto:kgbinyala@xxxxxxxxx] > Sent: 17 December 2009 09:56 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Problem in replacing XML namespace using XSLT > > Hello, > > I need to just replace the XML namespace using XSLT. My input > XML looks like as follows. I just want to replace > "oldNameSpace" with "newNameSpace" and rest of XML want as it is.. > > [CODE]<?xml version="1.0" encoding="UTF-8"?> > <soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:impl="oldNameSpace" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > <soapenv:Body> > <impl:requestData > xmlns:impl="oldNameSpace"> > <xmlString > ChangeDate="2008-12-18T14:47:11.773+01:00" > IdentificationNumber="WDDKJ5GBXAF000229" > OrderNumber="08 295 70821" > ProductionNumber="1700158"> > <ServiceTool > ExecutionTime="2008-12-18T14:47:11.773+01:00" > UserID="kris" Version="1.1.1" /> > </xmlString> > </impl:requestData> > </soapenv:Body> > </soapenv:Envelope>[/CODE] > > I tried with following XSL > > [CODE]<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:source="oldNameSpace" xmlns:desti="newNameSPace" > xmlns="newNameSPace" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > version="2.0"> > <xsl:output method="xml" encoding="iso-8859-1" indent="yes" /> > > > <xsl:template match="source:*"> > <xsl:element name="{name()}" namespace="newNameSPace"> > <xsl:apply-templates select="@*|node()" /> > </xsl:element> > </xsl:template> > > <xsl:template match="@*|node()"> > <xsl:copy> > <xsl:apply-templates select="@*|node()" /> > </xsl:copy> > </xsl:template> > </xsl:stylesheet>[/CODE] > > but it is not giving the desired results...it is giving the > following results. > > [CODE] > <?xml version="1.0" encoding="iso-8859-1"?> <soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:impl="oldNameSpace" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > <soapenv:Body> > <impl:requestData xmlns:impl="newNameSPace"> > <xmlString xmlns:impl="oldNameSpace" > ChangeDate="2008-12-18T14:47:11.773+01:00" > IdentificationNumber="WDDKJ5GBXAF000229" OrderNumber="08 295 70821" > ProductionNumber="1700158"> > <ServiceTool > ExecutionTime="2008-12-18T14:47:11.773+01:00" > UserID="kris" Version="1.1.1"/> > </xmlString> > </impl:requestData> > </soapenv:Body> > </soapenv:Envelope> > > [/CODE] > > problem with the above is that -- "<xmlString > xmlns:impl="oldNameSpace" is still showing the "oldNameSpace" only.. > where as there was no namespace for that element in the input > > Anyone can help in this .... > Thanks a lot. > > ---Krishna
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Problem in replacing XML name, Krishna Gopal Binyal | Thread | [xsl] date sorting with internation, Anil Kumar Veeramall |
RE: [xsl] space was stripping, Michael Kay | Date | Re: [xsl] retaining entity declarat, Andrew Welch |
Month |