XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
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] the Canonical path of a node

At 01:08 PM 2007-01-08 +0000, Michael Kay wrote:
>It's a shame that XPath doesn't define a mechanism for binding
>prefixes within the expression itself. I think it would be a good idea if we
>could establish a conventional notation for an "augmented XPath expression":
>a string containing a set of namespace bindings and an XPath expression, and
>we could then encourage people to implement APIs that accept an "augmented
>XPath expression".

I fully agree.  Prefixes, being only aliases in XML standard, ought not 
become as
standard within XPath relative to namespace values as they are now.  What 
we need
is a standard way to refer to the namespace value without changing the logical
address referred to by a given XPath, even with prefixes are changed.


>  One candidate is the XPointer syntax:
>
>xmlns(p1=http://p1.uri/) xmlns(p2=http://p2.uri/) xmlns(p=http://p.uri)
>xpath2(/p1:a[1]/p2:b[1]/p:c[1])
>
>This has a few drawbacks like not allowing the default namespace to be
>declared, and requiring ")" and "^" to be escaped as "^)" and "^^"; but at
>least it's defined in an existing standard.

I don't think, however, the XPointer syntax is useful either;  it is only 
hiding
the dust (prefixes) under the carpet (of predefining the prefixes with 
namespace
values, then followed by XPath).  I'd suppose a characteristic of a suitable
syntax would be such that it is as independent of prefixes as XML has 
defined it.

Another syntax I'd suggest, using your logical XPath point example above,
would be:

/{http://p1.uri/}:a[1]/{http://p2.uri/}:b[1]/{http://p.uri/}:c[1]

Advantage is clearly it is prefix-independent, follows closely XPath's style
of expressing pathways, and does not hijack space character.  Disadvantage
is certainly the length involved for long XPaths or long namespace values.
But I think I'm happier living with the latter.  I've seen it used somewhere,
but not sure if it has worked its way into some proposed standard or something.




cheers.



[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