Merging Object Oriented Design and SGML Architectures

Rick Jelliffe ricko at
Sun Jul 12 13:19:48 BST 1998

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
suggest that it may relate to a superceded version of MSXML too much.)

In 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 to
    * DOM, see
    * 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
might be useful place to start.

My 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

Rick Jelliffe
    -----Original Message-----
    From: owner-xml-dev at [mailto:owner-xml-dev at]On Behalf Of
Amit Rekhi
    Sent: Friday, 10 July 1998 23:12
    To: XML Mail List
    Subject: Merging Object Oriented Design and SGML Architectures

                Could anyone please guide to articles/technical notes
regarding OOD and SGML Architectures.
                Any help will be greatly appreciated


-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Xml-dev mailing list