Lists Home |
Date Index |
- From: Paul Prescod <email@example.com>
- To: firstname.lastname@example.org
- Date: Thu, 21 Jan 1999 20:37:42 -0600
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:email@example.com
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:firstname.lastname@example.org the following message;
To subscribe to the digests, mailto:email@example.com the following message;
List coordinator, Henry Rzepa (mailto:firstname.lastname@example.org)