Re: [xsl] Resolving QName with XSLT 1.0

Subject: Re: [xsl] Resolving QName with XSLT 1.0
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 1 Dec 2004 14:43:07 GMT
you want to match
<x:category xsl:type="e:invoice">
in a situation where there is a namespace binding of e: to "http://www.aaa.it/europa/xdm";

so...

<xsl:template match="x:category[substring-after(@xsi:type,':')='invoice']
                 [name(namespace::*[.='http://www.aaa.it/europa/xdm'])=substring-before(@xsi:type,':')]"xmlns:x="http://www.aaa.it/consulta/xdmModel";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>

if you have multiple namespace bindings for http://www.aaa.it/europa/xdm
that could fail as name() might pick up a different prefix than teh one
actually used, it's probably possible to fix that. (It would be easy to
fix it in a general xslt xsl:if, but I was trying to stay within a
single match pattern which constrains you a bit (no variables or change of
current node)

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

Current Thread