OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: DTD inheritance?

[ Lists Home | Date Index | Thread Index ]
  • From: Lars Marius Garshol <larsga@ifi.uio.no>
  • To: "'XML Dev'" <xml-dev@ic.ac.uk>
  • Date: 11 Nov 1998 23:52:02 +0100

* Don Kackman
| I've got two document types with associated DTDs. The first is a subset
| of the second. I don't want to merge these two DTDs into one file but
| also don't want to maintain both files seperately.
| Is it possible to include one DTD in another through an external entity
| reference? If so how?

In file sub-dtd.dtd:

[...lots of declarations...]

<!ENTITY % base-dtd SYSTEM "base-dtd.dtd">

where the file base-dtd.dtd contains the declarations common to both

You will probably have some problems with content models when you try
this if sub-dtd.dtd contains element declarations. If so, it may be
helpful for you to know that section 4.2 of the spec says: "If the
same entity is declared more than once, the first declaration
encountered is binding; at user option, an XML processor may issue a
warning if entities are declared multiple times."
This can be used to make 'hooks' in content models where sub-DTDs can
insert the new elements they introduce.

| Also if so, can I declare additional attributes in the second DTD
| for elements originally declared in the first?

Yes, the XML spec explicitly provides for this. In section 3.3 it
says: "When more than one AttlistDecl is provided for a given element
type, the contents of all those provided are merged."

--Lars M.

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)


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS