XML Query feedback on XPointer Last Call Drafts

The XML Query WG is pleased with the decision to refactor XPointer to
allow very simple pointer schemes, without forcing every XML
application that needs pointers to support the full complex hypertext
system envisioned by the xpointer() scheme (which is not yet going to
last call). Simple pointers are important for basic architectural
reasons. On the web as a whole, we desperately need a *simple* way to
point into XML documents. These pointers should be simple and
efficient enough to be used in specifications like these:

1. XQuery needs to traverse pointers among documents.
2. XML Schema should extend its notion of referential integrity beyond the
single document boundary.
3. RDF needs to identify nodes in a document.

Ideally, the simplest form of pointer should not require DTD or schema
processing, so we would actually prefer that the base XPointer
framework not require DTD or schema processing. Pure "tumbler" syntax
works great for this, as in this example using the element() scheme:

      element(/1/2)

The need for a simple pointer along these lines has also been noted by
Tim Bray and James Clark:

      ...maybe the #1 gaping architectural hole as regards XML & the
      Web. The problem is that at the moment, given some arbitrary XML,
      there is *no* good way to determine what's an ID without recourse
      to some external resource like a DTD or schema, and that, to use a
      technical term, sucks.

Although we feel that the need to use external references to find IDs
is an unfortunate aspect of the design, we note this issue has been
discussed for years, and it is more important to have simple pointers
than to fine tune this to get an even simpler form of pointer. We have
to stop fiddling with this and get it out - the first Working Draft
was April 6, 1997.

We think that the simple schemes that are now going to Last Call are
the ones that should be leveraged in most W3C architectures. The more
specialized functionality of the xpointer() scheme is also important,
but to a much smaller audience. That audience includes many scholars
whose work should be supported -- commercial significance is not the
only useful measure of value. However, the xpointer() scheme is too
complex for server side architectures, and XQuery does not plan to
support queries that traverse pointers defined with this scheme.

Jonathan Robie
On behalf of the Query WG

Received on Wednesday, 18 September 2002 17:43:40 UTC