Lists Home |
Date Index |
- From: "Rick Jelliffe" <email@example.com>
- To: "XML Dev" <firstname.lastname@example.org>
- Date: Tue, 23 Jun 1998 02:52:05 +1000
When people say "progressive development", everyone who has dealt with
legacy data which was allowed uncontrolled development will shudder.
Just like everything else with a markup language, the answer will in many
cases be simple: the document instance should have a label to clearly
indicate which version of the DTD is being used.
The simplest way to do this is to put a comment at the top
<!-- This uses DTD version 3 -->
But that is not available to the program, so is not much use.
The next simplest way is to use a DOCTYPE declaration
<!DOCTYPE p SYSTEM "www.calfp.co.uk/~nickle/DTD/dtd3" >
Another way is to put an attribute on the root element:
or a fixed attribute
<!DOCTYPE p SYSTEM "www.calfp.co.uk/~nickle/DTD/dtd3" [
DTD-version CDATA #FIXED "3.0">
You should not use a namespace for this, probably.
There is also, and this is probably best, an ISO standard way to declare it
using a processing instruction. I dont have my ISO material at hand, so I
shouldnt attempt it.
Finally, you can make up your own PI, if you have any doubt.
The big trouble is that the DTD in the DOCTYPE declaration can be overridden
in the "internal subset" (i.e. the [ ]> bit which follows the DOCTYPE). So
the system or the public identifier on the DOCTYPE declaration names an
external piece of text, not the document type of that document. So XML is
very flexible in this, and does not enforce any discipline--you will have to
make sure that every alteration to the total DTD will be reflected in some
attribute or markup. If the document is adequately labelled, processing
applications can adjust their behaviour accordingly.
> -----Original Message-----
> From: email@example.com [mailto:firstname.lastname@example.org]On Behalf Of
> Nick Leaton
> Sent: Tuesday, 23 June 1998 1:56
> To: email@example.com; XML Dev
> Subject: Obsolete
> What mechanism's are available to make features of DTDs obsolete?
> Or how can one manage the progressive development of a DTD without
> invalidating existing data?
> xml-dev: A list for W3C XML Developers. To post, mailto:firstname.lastname@example.org
> Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
> To (un)subscribe, mailto:email@example.com the following message;
> (un)subscribe xml-dev
> To subscribe to the digests, mailto:firstname.lastname@example.org the
> following message;
> subscribe xml-dev-digest
> List coordinator, Henry Rzepa (mailto:email@example.com)
xml-dev: A list for W3C XML Developers. To post, mailto:firstname.lastname@example.org
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:email@example.com the following message;
To subscribe to the digests, mailto:firstname.lastname@example.org the following message;
List coordinator, Henry Rzepa (mailto:email@example.com)
- From: Nick Leaton <firstname.lastname@example.org>