[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: XML Schemas: the wrong name

  • From: "Steven R. Newcomb" <srn@c...>
  • To: clbullar@i...
  • Date: Wed, 25 Oct 2000 13:06:16 -0500

topic maps purchaseorder
[Len Bullard:]
> [a bunch of interesting words about layered systems
> that I didn't really understand]

> ...Perhaps you could detail the concept of 
> ready to run information.

Consider the interchange form (an XML message) of a purchase order.
It would be a bad idea to include a total amount to be paid, since an
explicit total would be redundant.  If somebody tweaked the
interchange form, the total would be inconsistent with the rest of the
message, and there would probably be no easy way for the recipient to
determine which information is invalid.  In general, then, it's a bad
idea to include redundant information in interchange messages, not
just because it uses bandwidth, but more importantly because it is
very likely to cause ambiguity.

Consider the form of the purchase order when it is "ready to run" --
when an API is provided to the information it contains.  It's very
reasonable to provide such an API with a "total()" method.  Redundancy
in APIs is good; APIs are supposed to be convenient to use.  total()
gives access to an "emergent property" (as opposed to an explicit
syntactic property) of the information set found in purchase orders.
Of course, while total() makes sense for purchase orders, it doesn't
apply to many other kinds of XML messages.

The grove paradigm fully recognizes that information can have multiple
levels of interpretation applied to it, and that such interpretations
have the effect of making implicit information explicit.

* When an XML document is processed, a grove of the syntax is the
  result (we usually call this grove a "DOM tree").  In grove land,
  each node is an addressable information component.  The tree
  structure that was implicit in the interchange form of the
  information has become explicit.

* But wait, there's more.  Vocabularies are used in XML documents,
  and, depending on the semantics of those vocabularies, there can be
  properties that "emerge" from the information, when the information
  is understood in terms of the intended semantics of the
  vocabularies.  In grove-land, these emergent properties appear in
  additional groves, and those properties, too, are reliably
  addressable.  Thus, the "total" property of a purchase order can
  become explicit and addressable, even though it was only implicit in
  the interchange form of the information.

The purchase order example is a trivial one that's good for teaching
purposes, but it's not very compelling, I think.

I find the example of topic map processing much more compelling.  The
syntactic components of a topic map document are not, and they can
never be, fully indicative of their own significance.  They can only
be fully understood in terms of their connections to many other things
whose syntactic whereabouts are necessarily arbitrary.  The *whole*
topic map document must be understood -- processed -- before the
significance of any of it can be fully and reliably understood.  Topic
map processing causes topic map documents to become things that
resemble ready-to-run semantic nets.  (Groves are one way to think
about these nets -- a way that has the advantage of offering reliable
addressability based on international standards -- but the truth is
that groves are just one way.)  The reason you create topic map
documents is to allow these semantic net-like things to be
interchanged and merged with one another by their end users and by
people who wish to add more value to them in various ways.  The nets
don't and can't resemble the interchange documents, because of their
own very highly interconnected and interdependent nature, and because
of the fact that the nature of an interchangeable document is quite
different from that of a semantic net.  An interchangeable document is
nothing more or less than a sequence of characters.

So, I repeat what I said in my earlier note: 

  There is this common wisdom out there that the structure of
  interchanged information should also be, in effect, the API to that
  same information.  But, in fact, it's only true for a simple subset
  of the kinds of information that need to be interchanged, and to
  which APIs must be provided.

Len, does this speak to what you were saying about layered systems?

-Steve

--
Steven R. Newcomb, Consultant
srn@c...

voice: +1 972 359 8160
fax:   +1 972 359 0270

405 Flagler Court
Allen, Texas 75013-2821 USA

"We're not exactly anti-schema, but we're sure pro-DTD."
 -- doctypes.org

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.