In Search of XML Interoperability: XLink + XML Schema = Interoperability?

W. E. Perry wperry at
Wed Feb 2 16:02:52 GMT 2000

[with sincere apologies to those who have heard me ad nauseam on this subject]

Roger Costello:

> There are two ends of the XML Interoperability spectrum:
> [1] At one end of the spectrum an application is coded for a specific
> schema and this is able to make effective use of only XML documents that
> conform to that schema.
> [2] At the other end of the spectrum the application is able to make
> effective use of any XML document that it receives, regardless of the
> schema that the XML document conforms to.
[2] is the logical, inevitable and desirable consequence of XML's separation of
well-formedness from validity. It does imply, however, that, a node, or an application,
receiving an XML document must be prepared to make some *independent* judgments. Except
where the limited special case of [1] applies, the receiving node/application must
instantiate (and if it is programmed to do so, act on) the data conveyed by the document
into a form locally understood at that receiving node, without reference to the form in
which that data may have been understood or structured by its creator/transmitter. What
else could the receiving node possibly do? If it has no context of its own within which it
might structure or act upon an arriving document then ipso facto it has no interest in,
comprehension of, nor use for that document. Note that this is true even when the arriving
document might bring a schema for its instantiation, or even a stylesheet or other
template for its processing. The only instantiation which is possible at the receiving
node, and the only transform or other processing which might be executed, are those which
might be locally-understood at that node as the appropriate (local!) context in which to
place and perform that instantiation or that process.

Roger Costello is quite correct that that there must be a language for describing
relationships and, further, that this language will look, and perform, a lot like XLink.
XLinks--and the relationships they describe and behaviours they reference--must, like
every other facet of XML, by instantiated by a receiving node within the local context of
that node. That is, those relationships must be expressed, and those behaviours realised,
within the scope and capability of the receiving node, which may be substantially
different from that of the creator/transmitter. This is the fundamental requirement of a
general-purpose XML application or processor. Given its need to know the local context
even as that context expands with the local instantiation of arriving documents,
relationships and behaviours, it makes sense that such an application should be built on
top of an XML-specific database engine. That engine will perform the 'inference' required
to identify a locally-known context or data structure into which an arriving document can
be instantiated (or determine that there is none, and therefore no local comprehension of
the document with which to proceed).That engine will identify and apply locally-maintained
rules which constrain the instantiation of arriving XML, or shape the execution of
locally-defined process. That engine will effectively modify the local understanding of
data schemata and of the nature of the data structures which support the locally-defined
processing, in accordance with the actual nature of the documents received and with the
precise form into which those documents could be locally instantiated and locally

I suggest that we have now reached a point in the evolution of XML where we reasonably
should conclude that a general-purpose XML processor on an autonomous node must be
designed in this manner. More generally, we should understand that an XML application must
have the locally-available resources to perform this inference, this locally-constrained
instantiation, and this locally-directed processing.


Walter Perry
XML SIG Leader
NY Object Developers Group

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: or CD-ROM/ISBN 981-02-3594-1
Please note: New list subscriptions and unsubscriptions
are  now ***CLOSED*** in preparation for list transfer to OASIS.

More information about the Xml-dev mailing list