If no new syntax, and no API, then what are we doing here . . .
The ERB voted (correctly, in my view) that the linking part of the
spec. doesn't need any new syntax productions. Someone observed in
the last few days that we have studiously avoided the issue of an API
for XML processing. So what are we doing in this section?
I think it is more than spec'ing a meta-DTD and a family of XML
Applications which could use it. The API question points to the
answer. DSSSL and the HyTime TC give the means for framing this
answer: The xml-link document should define a new Property Set
module, which (using the terminology from my proposed redraft)
provides an HLINK class to represent links, with e.g. HLINKTYPE and
ENDPOINTS properties. (Note: Irritatingly, the value of ENDPOINTS
can't be a NamedNodeList, because several endpoints can have the same
type, in my view, so there will have to be an ENDPOINT class as well,
with something like TYPE, NODELOC and DATALOC properties.)
On this account the result of processing an XML document with link
definition elements in it is TWO groves: the document grove and a
link grove. So-called 'Link databases' (I don't like the name)
are just documents whose processing output is mostly in their link
grove. One of the NODELOC properties of TLINKs will point back to the document
grove; other NODELOC properties will be (lazy) pointers into the
groves of other (..ML) documents altogether, while DATALOC is for
More later, got to run.