Inheritance using DTDs
paul at prescod.net
Fri Jan 22 02:57:09 GMT 1999
Avneet Sawhney wrote:
> The more I look into it, I don't see DTD's as an efficient way to
> support inheritance.
DTDs were not intended to support inheritance.
> The use of internal subsets seems just a
> Is namespaces the answer, or is the "extends" feature from DCD's what I
The "extends" feature of DCDs is not appropriate because it does not
adhere to basic rules of object orientation. Consider the following
<!ELEMENT BOOLEAN (TRUE|FALSE)>
Now I write software based on this definition. It presumes that the
BOOLEAN element contains TRUE or FALSE. Now I use "extends" to add
"MAYBE". What happens to my software? It ceases to function. This is a
violation of Liskov's substitutability principle.
Extends is not as dangerous if the element you are extending is basically
sequential. Even so it is poorly thought out. Once you open up your model
with "extends" you have no mechanism for maintaining sanity. Subclassers
can completely violate your model by including any random thing as an
extension. That will wreak havoc on computer programs and stylesheets.
Paul Prescod - ISOGEN Consulting Engineer speaking for only himself
Don't you know that the smart bombs are so clever, they only kill
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;
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev