[
Lists Home |
Date Index |
Thread Index
]
- From: "W. Eliot Kimber" <eliot@isogen.com>
- To: Peter@ursus.demon.co.uk (Peter Murray-Rust), xml-dev@ic.ac.uk
- Date: Tue, 03 Jun 1997 08:54:06 -0900
At 12:58 PM 6/2/97 GMT, Peter Murray-Rust wrote:
>In message <0Zm96CAybpkzEwi6@light.demon.co.uk> Richard Light writes:
>> While we're on the subject of linking, I'm intrigued about the status of
>> the IDREF attribute type in XML.
>
>Agreed. I had thought about this as well. It's not easy to see how
>both might be used fruitfully at the same time without confusion.
>
>Formally, my understanding of ID/IDREF is that it is part of XML-LANG and
>must be supported by XML-LANG processors ([50] Validity checks). The IDREF
>can only point to an ID in the same document (at least how I read it).
>Therefore one option is for implementers not to use XML-LINK and to use
>ID/IDREF for whatever purposes they wish (structural, annotation, and
>with whatever behaviour.) Although I'm not an SGML expert I imagine this
>is frequently done already.
There are two problem with IDREFS and XML:
1. Without DTDs, it may not be possible to know what attributes are IDs and
which are references.
2. IDREFs provide no direct way to address elements in other documents.
Therefore,
if you want to enable IDREFs, you have to provide some indirection
mechanism
that can transform an IDREF to an address into other documents. This is
what
HyTime and the TEI do by providing various location address element
forms. If you don't do
this, then you require documents to have different element types for
elements
that use IDREFs and elements that don't. This has the effect of
necessarily binding
element types to the forms of address they use, which should not
normally be
necessary (because addressing is distinct from the semantics of
reference and
therefore shouldn't necessarily influence the element type).
Unless I've misunderstood the current spec, XML Link doesn't provide any
ID-based
indirection method, so that pretty much elimitates direct ID reference in the
general case. [However, using the pointer syntax, you can address elements
with
IDs, but only through the use of an XML Link URL.]
Indirect addressing certainly complicates the processing--it requires you
to build
recursive processes and may impose significant processing overhead. On the
other
hand, indirect addressing is very powerful and lets you do things that are
difficult or impossible otherwise, especially in terms of managing links and
addresses automatically, largely because you can isolate initial references
from
the details of the addresses of the things referenced.
Cheers,
E.
--
<Address HyTime=bibloc>
W. Eliot Kimber, Senior Consulting SGML Engineer
Highland Consulting, a division of ISOGEN International Corp.
2200 N. Lamar St., Suite 230, Dallas, TX 95202. 214.953.0004
www.isogen.com
</Address>
xml-dev: A list for W3C XML Developers
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To unsubscribe, send to majordomo@ic.ac.uk the following message;
unsubscribe xml-dev
List coordinator, Henry Rzepa (rzepa@ic.ac.uk)
|