Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - [xsl] Replacing default namespace [Thread Next] Re: [xsl] Replacing default namespaceTo: Date: 7/2/2007 4:43:00 PM Scott Sauyet wrote: In any case, a reduced version of the input WSDL is below. I want the output to be exactly the same except for the changes to the root tag: <definitions targetNamespace="http://my.new.namespace/" xmlns:tns="http://my.new.namespace/" Here is an XSLT 1.0 stylesheet, I think it does what you want with Saxon 6.5.5: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:tns="http://my.new.namespace/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ro="urn:Databox" xmlns:n1="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <xsl:template match="*"> <xsl:element name="{name()}" namespace="{namespace-uri()}"> <xsl:apply-templates select="@* | node()"/> </xsl:element> </xsl:template> <xsl:template match="/wsdl:definitions"> <xsl:element name="{name()}" namespace="{namespace-uri()}"> <xsl:copy-of select="document('')/*/namespace::*"/> <xsl:apply-templates select="@* | node()"/> </xsl:element> </xsl:template> <xsl:template match="wsdl:definitions/@targetNamespace"> <xsl:attribute name="targetNamespace"><xsl:value-of select="document('')/*/namespace::tns"/></xsl:attribute> </xsl:template> <xsl:template match="@* | comment() | processing-instruction()"> <xsl:copy-of select="."/> </xsl:template> </xsl:stylesheet> -- Martin Honnen http://JavaScript.FAQTs.com/ | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
