xsl-list
[Top] [All Lists]

RE: [xsl] Working with QNames in strings in XSLT 2.0

2008-09-09 04:37:08

If your code is schema-aware and the mode attribute is defined in the schema
as being of type QName, then you don't need to do anything: atomizing the
attribute automatically gives you a QName, so you can write

<xsl:template match="foo[(_at_)mode=QName('a:blip')]"
xmlns:a="urn:item-namespace-1.0">

If it's not schema-aware, then you need to convert the value to a QName,
which you can do using

<xsl:template match="foo[resolve-QName(@mode,.)=xs:QName('z:blip')]"
xmlns:z="urn:item-namespace-1.0"> 

My best guess (which doesn't work) is:

<xsl:template match="foo[resolve-QName(@mode,.) = 
QName('urn:item-namespace-1.0','blip')]">

I can't see anything obviously wrong with this.

Michael Kay
http://www.saxonica.com/


--~------------------------------------------------------------------
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>