At 01:28 PM 9/29/97 -0400, Jonathan Robie wrote:
>At 12:43 PM 9/29/97 -0400, Peter Newcomb wrote:
>>> [snip Jonathan Robie's original post]
>>Could you elaborate upon this distinction between architectural form
>>inheritance and "true OO inheritance"? What about XML-data makes it
>>capable of supporting "truer" inheritance than architectural forms?
>
>[snip]
>In C++, Java, Smalltalk, and other OO languages, if I say that "a duck is an
>animal", that means: (1) a duck always has all the data associated with an
>animal, (2) a duck has the behavior associated with an animal (unless you
>specifically say that a duck does certain things differently), and (3)
>references to generic animals can also point to ducks. To put this in
>traditional OO terms, Duck inherits data, behavior, and type from Animal. In
>SGML, it can't inherit behavior, but it can inherit data and type.
>[snip]
One thing which Henry Thompson's presentation at HyTime '97 brought forth
in my mind was SGML's lack of support for (3) above. Architectural forms
do little or nothing to rectify this, although AF could provide a solution
if used in an envirnment which supports simultanious view of the source and
AF instances with links between the two. Part of the problem is that AF's
do little, if anything to make life easier when I want to build a DTD which
extends an existing DTD. I have to copy the existing DTD and modify it and
then add the AF meta-info which maps the new DTD back tot he old. But now
I have a completely different DTD, from the point of view of _all_ existing
SGML software. Sure I can map my documents to the original, but I can not
see it as both... I must either remove all value added by my modified DTD,
or abandon existing options based on the original DTD, since the new
document is not conforming to the original DTD. Obviously, since I put the
time into building the new DTD, I think there is some significant value
added, but I can not leverage the value added while at the same time
leveraging the use of the existing DTD as a base architecture.
This is exactly what OO Inheritance allows a programmer to do. You need
an extra attribute? Easy! With AF's I either see the document as the new
DTD or I can not see the attribute... value lost either way.
I want to be able to treat it as the original DTD until that special moment
when I can test to see if this has my extended info.. and perform extra
processing based on that...
-derek
Derek E. Denny-Brown II || ddb@criinc.com
"Reality is that which, || Seattle, WA USA
when you stop believing in it, || WWW/SGML/HyTime/XML
doesn't go away." -- P. K. Dick || Java/Perl/Scheme/C/C++
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)