xsl-list
[Top] [All Lists]

[xsl] Working with QNames in strings in XSLT 2.0

2008-09-09 00:35:44
Hi,

I'm trying to work with the XSLT 2.0 functions for manipulating QNames, but am at a loss for how to check QName strings in XSLT. I am using Saxon-B 9.1.0.

I will have input documents of the form:

customer1.xml:
<foo xmlns:a="urn:item-namespace-1.0" mode="a:blip" value="ping"/>

customer2.xml:
<foo xmlns:b="urn:item-namespace-1.0" mode="b:blip" value="pong"/>

I want to write a template which will match the <foo> elements with @mode attributes set to the QName of {'urn:item-namespace-1.0','blip'}, however using a NS prefix taken from the document. I can't figure out how to do this. My best guess (which doesn't work) is:

<xsl:template match="foo[resolve-QName(@mode,.) = QName('urn:item-namespace-1.0','blip')]">
   <bar value="{./@value}">found element foo with right mode</bar>
</xsl:template>

I've searched the archives, the FAQ, the XSD and XSLT specs, and some other XSLT 2.0 function references but to no avail. Any suggestions warmly welcomed.

Ian

--
Ian(_dot_)Stokes-Rees(_at_)spmetric(_dot_)com +1 (617) 418-4168
SP Metric Limited, Technology Consulting


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>