[
Lists Home |
Date Index |
Thread Index
]
- From: David Megginson <ak117@freenet.carleton.ca>
- To: Joe Lapp <jlapp@webmethods.com>
- Date: Thu, 29 Jan 1998 19:45:50 -0500
Joe Lapp writes:
> I need to create DTDs that are extensible. An application knowing the
> semantics behind an old DTD may be handed an XML document written with an
> extended DTD. The old application should be able to function with the
> extended document by ignoring the extensions. I need advice on the best
> way to go about creating the initial DTD (and subsequent DTDs, should their
> designs also be a factor).
This falls solidly into the domain of problems for architectural
forms: just use the previous version of the DTD as the base
architecture, and derive any new element types from something that's
already there.
For example, if you have a DTD with the root element "doc", and you
are creating an extended version by adding an element type named
"foreign", you can derive that from the most similar element type in
the old version of the DTD (say, "emphasis"). Here's how you do it:
<!ELEMENT foreign (#PCDATA)>
<!ATTLIST foreign
doc NMTOKEN #FIXED "emphasis">
Piece o'cake.
<plug role="tactless">
I've got tons of examples like this in my forthcoming book
<title>Structuring XML Documents</title>, from Prentice-Hall: it
should be hitting the bookstores at the end of March. There's even a
whole chapter on backwards-compatibility for DTDs. Buy, BUY, BUY!
</plug>
All the best,
David
--
David Megginson ak117@freenet.carleton.ca
Microstar Software Ltd. dmeggins@microstar.com
http://home.sprynet.com/sprynet/dmeggins/
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)
|