Inheritance/defaulting of attributes

Rick Jelliffe ricko at allette.com.au
Wed Oct 8 07:44:35 BST 1997


> From: len bullard <cbullard at hiwaay.net>
 
> Andrew Layman wrote:

> > We are seeing that on this list also.  Clearly inheritance is going to
> > be difficult to work out.

> Early in this list, object-oriented ideas were discussed 
> and rejected(? - assumption) for XML.  By analogy, SGML 
> tools do not explicitly support or express inheritance.
> But object-oriented databases have been created that 
> use SGML.  Where in those designs is inheritance 
> explicitly supported?

I think we should avoid "object-oriented".  "object-oriented" is 
often not a useful term, since people seem to switch usage between 
OO as a historical technological movement and OO as some particular 
techniques: e.g. 1) class/instance, 2) methods,  3) messages, 4) inheritance.

1) SGML/XML clearly implements the class/instance style of OO: declarations
and instances.  Some people call this "object-based" rather than OO.

2) Steve Newcombe gave a very interesting talk I heard on why SGML
is distinct from OO.  Taking OO as the wish to bundle methods
with data, he mentioned that SGML was based on a desire to *unbundle*
methods (presentation) from data (logical structure) for documents.
Of course, usually we only unbundle so that we can recombine logical
structure and presentation in some other selection/sort/format,
or to make sure that only the most optimal set of data is sent.

However, SGML/XML can point have PIs and embedded or external
scripts, so again it is possible to bundle or nominate methods 
to go sith the data (e.g. XSL).  Tim Bray has mentioned that he found
it easy to make an application by making a Java class for each
element declaration.  So SGML/XML is OO in the bundling sense.  

3) An XML document can be a message. (From 1) & 2), the message has 
a class & can have methods attached.)

4) XML/SGML does not support (directly) the inheritance style of OO.
(Indirectly it does, just with the discipline of a template,
as in the examples I gave.)

XML/SGML is not OOP, because it is not a programming language.
However XML/SGML clearly makes a very nice couple with OOP.

I think the most fruitful direction for XML-data is to figure out
what information inheritance-based OOP systems need, and then
to work out how to represent this in XML/SGML -- this is one
area where I am sure XML/SGML may need enhancement.  

SGML was historically developed to allow certain types of processing:
if we have new types of processing models that require new categories
of information to be marked up, then XML/SGML should be extended 
accordingly.  But lets see some evidence of the need before the
solution!


Rick Jelliffe





xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list