RE: Merging Object Oriented Design and SGML Architectures

Rick Jelliffe (ricko@allette.com.au)
Sat, 11 Jul 1998 06:24:37 +1000


This is a multi-part message in MIME format.

------=_NextPart_000_0003_01BDAC94.94053B30
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

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.)

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
APIs:
* SAX, which XML-DEV contributed to
* DOM, see www.w3.org/TR
* 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.

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
development.

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

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

AMIT

------=_NextPart_000_0003_01BDAC94.94053B30
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">

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

Hello,
          &nbs= p;=20 Could anyone please guide to articles/technical notes regarding OOD = and SGML=20 Architectures.
          &nbs= p;=20 Any help will be greatly appreciated
          &nbs= p;=20 Thanx,
 
          &nbs= p;            = ;            =             &= nbsp;           &n= bsp;           &nb= sp;           &nbs= p;            = ;            =             &= nbsp;          =20 AMIT
 
------=_NextPart_000_0003_01BDAC94.94053B30-- 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/ To (un)subscribe, mailto:majordomo@ic.ac.uk the following message; (un)subscribe 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)