In the XLink Last Call draft, section 3.1.5, "External Linksets for
Resources Participating in Extended Links," indicates that an "external
linkset" is an in-band "list of references to potentially relevant
linkbases."
In the third paragraph of that section, it says:
"Ideally, in order for a remote starting resource to avoid dependencies
on the location of any linkbases that point into it, there will be an
out-of-band method of informing a system how to locate relevant linkbases.
Such methods are outside the scope of this specification. However, in cases
where an out-of-band method is not available, XLink provides an in-band
way for a resource to identify the likely locations of linkbases whose
extended link locators point into it...."
Given that out-of-band methods are ideal, some of us feel that providing
an in-band method is inappropriate, and we would prefer not to have any
syntactic specification for external linksets in the XLink specification.
One of the key use cases of external linkbases is to allow the
definition of links to/from a read-only document as in the case
of annotations (e.g., comments, electronic review, glossing, ratings,
other metadata) offered by someone other than the author of the original
document. And there may well be many different such linkbases being
offered by many people. An out-of-band way to reference linkbases
is required for this use case.
Note that "the presence of an XLink-encoded external linkset anywhere
inside an XML document" flags the reference to an external linkset.
This implies that an application has to read the entire document before
it can locate the linkbases. An out-of-band method, such as a packaging
method, would allow an application to find linkbases without first reading
the entire document.
We already have doctype declarations to refer to DTDs, a stylesheet
PI to refer to the stylesheet, and we know we need some packaging
mechanism to associate schemas, other XML and non-XML entities,
scripts, etc. (And at least all these in-band methods have the
information at the top of the document and don't require reading
the entire document to search for such potential information.) An
external linkbase should be just another such resource that can be
included in a "package."
We need such an out-of-band way to address the read-only use case
already, so some way of including a reference to a linkbase in a
package is already necessary. Also providing an in-band way just
adds to the complexity of tools and priority/resolution issues
when both methods are used at the same time.