[
Lists Home |
Date Index |
Thread Index
]
On Fri, Feb 01, 2002 at 02:08:50PM -0500, Jonathan Robie wrote:
> In HTML, most pointers are done with very simple pointers like this:
>
> http://somesite.com/html/top.html#section_2
Whose semantic is hardcoded in a DTD that nearly no application
ever respected or used. Let's have a look of the alternatives in
XML:
#foo
Hard to rely on it with XML, well last time I suggested on this forum xml:id
I got a lot of flack back, I won't try again.
So either you accept to force validation of document (and hence
possibly have to fetch and trust remote DTD in your framework) or you
need other pointing schemes.
#/root/foo[1]/bar[2]
Just doesn't work as is because it doesn't allow for namespace support
and hence out of scope (or you put schemes in to allow binding namespace
prefixes to URI, possible but I don't remember anybody suggesting it).
#1/2/3
breaks as soon as an ancestor or any predecessor of those is modified
would work for really static content, but the maintainance cost looks ...
interesting
> If XPointer owns the fragment identifier, any implementation that supports
> the above form of pointers must support a superset of XPath in all its
> glory. But pointers should be simple and fast. Many applications need to
> quickly traverse pointers among XML documents, but have no need to
> implement XPath to do so. For instance, a query language needs to be able
> to traverse references among documents, but can optimize much better if
> these references are not written in their own query language.
Well what is your suggestion exactly ?
If you think that
#foo
is simple and fast, yes in a very well defined context, in general it's
an horrible solution, you have to rely on something outside the document
itself to simply make that request. //*[@id=foo] at least can work directly
on the document.
Daniel
--
Daniel Veillard | Red Hat Network https://rhn.redhat.com/
veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
|