[
Lists Home |
Date Index |
Thread Index
]
- From: "Steven R. Newcomb" <srn@techno.com>
- To: rgl@decisionsoft.com
- Date: Thu, 18 Nov 1999 22:07:51 -0600
[Richard Lanyon:]
> On Wed, 17 Nov 1999, Steven R. Newcomb wrote:
>
> > I have often wondered where this myth arose that DTDs are somewhere
> > between evil and useless. It's baffling that this myth arises when
> > there's nothing better than, or even as good as DTDs.
>
> It seems to me that the problem lies in what exactly DTDs are used /for/.
> Basically, DTDs are used for checking the structure of a document. While
> this is doubtless important, it seems to me to be curious that what is
> essentially an error-checking mechanism is the first thing that many
> people learn about XML. This in turn is because the important bit of XML
> - viz designing hierarchical structures - becomes conflated in many
> people's minds with the syntax you use to error-check your structures.
> This is particularly worrying because in many cases the error-handling
> will be best dealt with by something familiar with the /semantics/ of the
> structure (i.e. a specific XML application) rather than by an XML parser.
I think we essentially agree, but I would like to put it another way.
In my own mind, the purpose of XML, as a tool, is to get information (not
just data) from A to B. I think of information as having two forms:
(1) ready-to-run objects in memory, e.g. ready-to-roll DOM
(2) interchangeable (but otherwise useless) serialized-into-characters
XML
XML parsers convert the syntactic components of information in form
(2) into information in form (1). The conversion of
application-specific semantics requires something more than an XML
parser; the XML parser only moves the *syntactic components* of the
XML instance across the boundary between form (2) and form (1). The
interesting thing here is that, for any information set, both forms
can be rigorously defined (not just form (2), which is quite
adequately definable via a DTD). Any given set of applications can
usefully share a single meta-DTD and a single DOM-like (direct random
access to all nodes in the grove) abstract API to the semantics
intended to be interchanged by means of that meta-DTD. All such
applications can share a single re-usable software module to perform
the conversion. One desirable side-effect is that such re-usable
software makes applications much less expensive to write, and much
more likely to be able to reliably interchange information (not just
data) with each other. These advantages are critical to both the
economic feasibility and the reliability of XML-mediated
business-to-business information interchange.
(All this is standardized in HyTime (ISO/IEC 10744:1997) and is
implemented in commercial software. Some relevant jargon:
inheritable architectures, meta-DTDs, base architectural instance
extraction, architectural syntactic groves, architectural semantic
groves, plug-in architecture engines, multiple architectural
inheritance, architectural property sets, grove APIs.)
-Steve
--
Steven R. Newcomb, President, TechnoTeacher, Inc.
srn@techno.com http://www.techno.com ftp.techno.com
voice: +1 972 517 7954 <<-- new phone number
fax +1 972 517 4571 <<-- new fax number
pager (150 characters max): srn-page@techno.com
Suite 211 <<-- new address
7101 Chase Oaks Boulevard
Plano, Texas 75025 USA
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo@ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)
|