[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Concerned about the increasing reliance on XPath
On 9 May 2011 16:43, Stephen D Green <stephengreenubl@gmail.com> wrote: > I tried to think of a way to write the XPath expression so > it gives the same result whatever the version of XPath > and it gets rather complex and obscure and not what I'd > be expecting a non-specialist developer to do or understand > well enough to be able to maintain it but it does evaluate > to true whatever the version and maybe (?) whatever the > namespace bindings > > /*[local-name()='a']/@version-id = 0.4 To select a elements in any namespace, that could/should be: /*:a/@version-id > What would I have to do to ensure it didn't get the same result > with another default namespace though? I guess I'd have to > make the expression even more complex: > > /*[local-name()='a'][namespace-uri()='http://example.com']/@version-id = 0.4 You've just stumbled across the big problem with namespaces in xpath - you have to set up the mappings outside of the xpath itself. Often the best thing to do is use a prefix (not change the default namespace) and then its clear in the xpath a namespace is involved. So in your example you could do: /a/@version-id..... along with the default namespace changed to "http://example.com", but you could just as easily do: /e:a/@version-id.... and then whoever is looking at the xpath knows they need to have a look at the mapping for e. -- Andrew Welch http://andrewjwelch.com
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|