Streaming XML (Was RE: XML Information Set Requirements, W3C Note 18-February-1999)

Borden, Jonathan jborden at
Wed Feb 24 16:54:21 GMT 1999

Steven R. Newcomb wrote:
> > If so, then aren't the two alternate
> > representations of the same information?
> No, not really.  An interface specification is
> about a particular way of accessing information.
> Starting with an IDL specification, one could make
> inferences about the nature of the information
> being accessed, but that's about all.  The
> difference between an API and an information model
> is subtle, but they are really very different
> things.  One way to think of the difference is
> this:
> * an information model is about what *is*, while
> * an API is about what one *does*.

	Fair enough, but an IDL interface has the concept of "methods" which
specify what an object does, as well as "properties" which specify what an
object is.

	IDL has historically been used to specify RPC interfaces, yet increasingly
finds use to describe local, in-process, object interfaces. There is a
straightforward transformation of a property, e.g. int x;

into a pair of 'methods' (slots in the interface):

	int getX();
	void putX(int val);

... this is basic stuff, but the point is to emphasize that the distinction
between what an object 'does' and what an object 'is' is not so clearcut.

> This same difference goes to the very heart of
> what makes XML great.  XML is emblematic of
> industry's ongoing historic shift of focus away
> from processing, and toward the information that
> is being processed.

	There are those of us whose bias toward 'program is data' is not new. XSL
is the latest greatest example of the replacement of algorithmic bits with
declarative bits.

> > 	This is the same language used to describe
> > the virtues of COM. Not to denegrate the virtues
> > of property sets, but why are property sets
> > specifications, and IDL definitions an API?
> (COM is about a particular software vendor's
> attempts to retain its position of having its
> proprietary software products be indispensable to
> users.  COM's intent is 180 degrees removed from
> the intent of property sets.  The intent of
> property sets is to protect the interests of
> information owners and users, and to re-focus the
> attention of software vendors on the interests of
> such information owners and users, instead of on
> finding creative ways to lock the customer into
> particular software product lines.)

	Err, except that the Mozilla team has seen fit to develop XPCOM
(cross-platform component object model) as the foundation for object
interoperability, so clearly the concepts of IDL and typelibraries go beyond
Microsoft's proprietary goals. Moreover, the object model of COM is
strikingly similar to that of Java, and when we get down to it CORBA isn't
all that different. We need to abstract the concepts away from the nitty
gritty implemementation details.

	The concept I am pushing is that IDL is a text based 'formal' description
of objects which can be 'compiled' into a binary representation: a
typelibrary. This information can be used to develop cross platform, cross
machine, cross language object interoperability. This has been done, and
works quite well, it is not a future goal.

	So, the DOM team has seen fit to use IDL as the formal definition (not MS
IDL BTW, so this isn't a proprietary conspiracy). I laud this descision.
This decision has enabled cross language, cross machine and cross platform
parsing manipulation and exchange of XML derived information. There are
Java, C++, Python and Javascript based DOM implementations that I am aware
of, and these implementations use CORBA, DCOM and RMI as remote transports.
On my machine, these interoperate with HTML DOM interfaces and SGML grove
plan interfaces (i.e. Jade). This is a pretty strong argument for

	In fact, when you get out of the SGML/XML world, the use of the terms
'property set' and 'grove' get replaced by terms 'UML', 'persistence' and
'object model'. What you promise that use of property sets and grove plans
will automate processing of data and interoperability, CASE tools vendors
promise using UML. What is the essence of the difference between an
information set and/or property set and/or grove plan versus UML?

Don't get me wrong, I think the work on information sets, property sets and
groves is terrific and needs to be continued. One way to do this is to turn
our heads sideways ever so often to see what collegues in the distributed
object world are doing. These problems are universal.

Jonathan Borden

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list