Inheritance using DTDs

Steven R. Newcomb srn at
Fri Jan 22 18:01:35 GMT 1999

[Avneet Sawhney <sawhneya at>:]

> So, since DTD's were not designed to support inheritance, what are
> my options here?  Even declaring all attributes and elements as
> entities is not sufficient.

> Will namespaces (and DTD's) be sufficient, or are there any proposed
> schemas that have proper inheritance as a required spec?

> Sorry if this is obvious, but I would like to know my alternates to
> vanilla DTD's.

Actually, unless I misunderstand what you're talking about, there is
already an ISO standard way of achieving semantic/syntactic
inheritance (or, more properly, subtyping); it is already supported by
the SP parser for SGML, and it is more extensively supported by
GroveMinder for both SGML and XML.  The paradigm is variously called
"SGML architectures", "architectural forms", "inheritable
architectures", "meta-DTDs", "element subtyping", etc.  In W3C-land, a
similar (and still fairly compatible) paradigm is emerging, variously
known as "namespaces" or "vocabularies".  If you want to use the full
power and rigor of the ISO paradigm in XML, that's just fine; indeed,
there is an ISO syntax for using the ISO paradigm with XML (see

ISOGEN International Corp is, at least from my perspective, the most
visible pioneer in commercializing these ideas.  It regularly uses the
ISO architectural inheritance paradigm to meet the needs of its
consulting and systems integration clients, and they seem pretty happy
(and often even ecstatic) about the results.

I'll be giving a presentation on this topic at XTech 99 in San Jose on
March 7-11 ( "Vocabularies: Opportunities for
Efficiency and Reliability".

Now, if we're talking about what *might* be done in the nebulous
future, there do appear to be opportunities for improving the syntax
and functionality of DTD notation, so as to support architectural
inheritance more elegantly and conveniently (for instance), probably
at the cost of increasing the complexity of the notation.  However,
the ISO standard DTD formalism, as well as XML's
currently-almost-identical-to-a-subset-of-ISO DTD formalism, can be
used today to declare element types as subtypes of other element types
in other DTDs.  This has been true since 1997, when ISO/IEC 10744:1997
( was published, but,
as was the case with object orientation in general, it takes time for
these ideas to percolate throughout the community.


Steven R. Newcomb, President, TechnoTeacher, Inc.
srn at

voice: +1 972 231 4098 (at ISOGEN: +1 214 953 0004 x137)
fax    +1 972 994 0087 (at ISOGEN: +1 214 953 3152)

3615 Tanner Lane
Richardson, Texas 75082-2618 USA

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

More information about the Xml-dev mailing list