[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] simpler matching of qnames in content?


Subject: [xsl] simpler matching of qnames in content?
From: Paul Downey <paul.downey@xxxxxxxxxxxxxx>
Date: Mon, 5 Dec 2005 10:14:24 +0000

I'm building a series of XPath 2.0 tests to check the validity
of SOAP messages (I'm using a Saxon 8.3 processor).

I'm testing content containing a qname, e.g.:

 <env:Envelope
   xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
   xmlns:addr="http://www.w3.org/2005/08/addressing">
   <env:Header>
     <addr:QNameRef>addr:foo</addr:QNameRef>
     ...


and I've a bunch of XPaths in my stylesheet which look like:


  resolve-QName(soap11:Envelope/soap11:Header/wsa:QNameRef,
	soap11:Envelope/soap11:Header/wsa:QNameRef)

= QName('http://www.w3.org/2005/08/addressing', 'foo')


and work fine, but are a bit wordy.


given that the prefixes 'soap11', 'wsa', etc are already known to
the XPath processor, is there a way of saying:

  resolve-QName(soap11:Envelope/soap11:Header/wsa:QNameRef,
	soap11:Envelope/soap11:Header/wsa:QNameRef)

= build-QName-from-the-context-of-XPath-processor('wsa:foo')

or even

  resolve-QName(soap11:Envelope/soap11:Header/wsa:QNameRef, .)
       = build-QName('wsa:foo')

I guess if not, I could resort to using entities to save duplication,
but can see that getting messy too.

TIA
Paul
--
http://blog.whatfettle.com


Current Thread
Keywords