OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] XPath and prefix bindings


I agree. So from that I would assume that neither XMLSpy nor any of
the other online Xpath evaluators were actually providing the complete
set of prefix bindings prior to evaluation of the expression (except
for those declared on the root element). Certainly if I was writing
code to consume this XML and apply XPath expression to it I would need
to provide the bindings apriori.

Incidentally where did those two paragraphs come from ?


On 15/08/2012, Jeff Greif <jeff.greif@gmail.com> wrote:
> I believe the following describes how namespaces are used in XPath
> application.
> Essentially, a dictionary of prefix -> namespace pairs must be available
> for all the prefixes used in the XPath prior to application of the XPath
> to a particular node in the document.  This dictionary may come from the
> prefix -> namespace pairs in scope at that context node, or be provided
> by the code that applies the XPath.
> The prefixes used in the XPath may be considered to have been replaced,
> before the XPath is applied to the document, by the corresponding
> namespaces, and have no relation to the prefixes used in the document.
> Then when a node is matched against a step in the XPath, the namespace
> for the XPath step is matched against the namespace to which the
> namespace prefix in the document resolves.
> Jeff
> On 8/15/2012 1:01 PM, Fraser Goffin wrote:
>> Thanks Andrew, you're right I did miss the NS1 declaration on the
>> Evens element, however even when added I still get the sa me error ?
>> Fraser.
>> On 15 August 2012 19:44, Andrew Welch <andrew.j.welch@gmail.com> wrote:
>>>> <dis:Numbers xmlns:dis="urn:numbers">
>>>>         <NS1:Odds xmlns:NS1="urn:numbers">
>>>>                 <NS1:One>1</NS1:One>
>>>>                 <NS1:Three>3</NS1:Three>
>>>>                 <NS1:Five>5</NS1:Five>
>>>>         </NS1:Odds>
>>>>         <NS1:Evens>
>>>>                 <NS1:Two>2</NS1:Two>
>>>>                 <NS1:Four>4</NS1:Four>
>>>>                 <NS1:Six>6</NS1:Six>
>>>>         </NS1:Evens>
>>>> </dis:Numbers>
>>>> If however I add the declaration for NS1 to the root element the XPath
>>>> locates the node with no problem
>>>> What am I mis-understanding here ?
>>> It's not namespace well formed because the NS1 prefix on Evens isn't
>>> mapped... as you say moving the declaration so that it's in scope for
>>> NS1:Evens fixes the problem.
>>> --
>>> Andrew Welch
>>> http://andrewjwelch.com
>> _______________________________________________________________________
>> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
>> to support XML implementation and development. To minimize
>> spam in the archives, you must subscribe before posting.
>> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
>> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
>> subscribe: xml-dev-subscribe@lists.xml.org
>> List archive: http://lists.xml.org/archives/xml-dev/
>> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS