> methodologies used in practise for developing DTDs.
Rick Jelliffe <email@example.com>
XML Mail List <firstname.lastname@example.org>
Sunday, July 12, 1998 5:28 PM
Subject: RE: Merging Object
Oriented Design and SGML Architectures
The big fat Cue book (I think it is called "Using SGML")
has a chapter relating Smalltalk to SGML.
Steve Newcomb has pointed out (reference lost-sorry) that SGML/XML
and OO to a large extent have dissimilar goals, in that SGML/XML (i.e.
generic markup) are attempts to (allow you to) have your data INDEPENDENT of
particular methods while OO is an attempt to bundle methods with data.
However, since the introduction of the PI target in XML, it is better to say
that SGML/XML are attempts to (allow you to) have your data in a form which
allows multiple methods to be attached.
The big fat Holzer book (I think it is called "XML
Complete") is full of code and analysis relating Java to XML. (But the
reviews on amazon.com suggest that it may relate to a superceded version of
MSXML too much.)
a sense, a lot of the questions about OO and XML may already be answered, in
that XML/SGML embody a particular document system design methodology (i.e.
generalized markup) and because common parsers will be using three
* SAX, which XML-DEV contributed
* GROVES: this is the big daddy of them
all, and is not so much an API as an analysis of the properties needed for a
complete and general SGML/XML/HyTime "parse tree". (In fact any
data format whcih can be parsed into a tree with inter-node directed-graph
arcs can be represented by GROVE, e.g. CGM the graphics format. Using the
same GROVE concept allows navigation languages like Xptr to be defined that
can locate particular nodes in the tree, regardless of what notation the
tree was parsed from.) The GROVES information is at http://www.ornl.gov/sgml/wg8/docs/n1920/html/clause-7.1.html#clause-7.1.4
might be useful place to start.
big fat book, The XML and SGML Cookbook, does not have much OO in it
(intentionally: there is no progamming code in it). Instead have put in
chapter 3 "Software Engineering" a summary of various
methodologies used in practise for developing DTDs. This is because once you
have the generalized model OK, you can add methods (explicitly by using
#FIXED attributes in the DTD, or by invoking a CSS-like stylesheet where
there is an element type to contain mthod code or location, or by using
PIs.) So the emphasis is that the more richly and appropriately
your data is marked up, the less programming work (including OO analysis and
design) there is to do.
There is a widespread feeling in the SGML world that you should mark
up data independent of any particular use of it. However, I certainly
believe that a good DTD design will be informed by the known and potential
uses of the data. In a way it comes down to whether you view XML as a
"serialization format" format, where it is just dumping data from
a known schema and known application, or whether it is "markup
language" where you want to expose interesting and useful information
to make life simpler for future software development.
Could anyone please guide to articles/technical notes regarding OOD and
Any help will be greatly appreciated