[Home] [By Thread] [By Date] [Recent Entries]
Heiko Niemann wrote:
in this example I have an order with different typed items. The type is a QName in an attribute. There are namespaces declared, having the same prefix as the 'prefix' in the xsi:type attribute. As you can see there are more namespaces declared as needed (whatever the reason for that case might be). Now I would like to clean up and just keep the ones that are 'used' in the xsi:type content. The stylesheet actually already does what I want, but I would like to know whether there might be a better way to do it, since it looks a little hackish to me. I can think of an improvement if you wanted to catch the problem here that the prefix 'ns4' is not declared, in that case I would use e.g. <!--identity tranformation; do not copy namespaces; create namespace of xsi:type--> <xsl:template match="*[@xsi:type]"> <xsl:variable name="qname" select="resolve-QName(@xsi:type, .)"/> here and then work with that value of type QName. That however would give an error like "FONS0004: Namespace prefix 'ns4' has not been declared" with your sample input, which your current code might intentionally avoid. -- Martin Honnen --- MVP Data Platform Development http://msmvps.com/blogs/martin_honnen/
|

Cart



