[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Namespaces and template matching
Good People, I am struggling with doing a template match when namespaces are involved. I have the following stylesheet which renames any 'x' element to 'y': <?xml version='1.0' encoding='UTF-8'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="x"> <xsl:element name="y"> <xsl:apply-templates select="@*"/> <xsl:apply-templates/> </xsl:element> </xsl:template> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> </xsl:stylesheet> A document without namespaces translates as expected: <?xml version="1.0" encoding="UTF-8"?> <a> <x a="1" b="2" c="3" d="4" /> </a> becomes: <?xml version="1.0" encoding="UTF-8"?> <a> <y a="1" b="2" c="3" d="4"/> </a> But when a namespace is placed on the root node, it ceases to work: <?xml version="1.0" encoding="UTF-8"?> <a xmlns="b"> <x a="1" b="2" c="3" d="4" /> </a> becomes: <?xml version="1.0" encoding="UTF-8"?> <a xmlns="b"> <x a="1" b="2" c="3" d="4"/> </a> Why doesn't the second document translate properly? What can I do to make it happen? Thanks in advance for your assistance. Best Regards, Dave P.S. I am using Xalan if that makes any difference. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|