DTDs are just for validation (Re: Why Doesn't IE5 use the DTD to Validate?)

David Megginson david at megginson.com
Thu Apr 1 12:56:51 BST 1999


Marcus Carr writes:

 > To clarify, it's faster to process the DTD but not the instance
 > than it is to process both, but it may be a marginal
 > difference. Imagine using the DocBook DTD for the following
 > instance:
 > 
 > <?xml version='1.0'?>
 > <!DOCTYPE para PUBLIC "-//whatever the DocBook//DTD goes by//EN">
 > <para>Baby Snakes.</para>
 > 
 > Surely validation of the instance is a fairly minor issue, after
 > the processor has had to plow through a large DTD?
 > <InBigFatLetters>I'm not suggesting that XML documents should be
 > validated client side</InBigFatLetters>, I'm questioning the wisdom
 > of looking at the DTD at all if you're not putting it to any use.
 > Surely the overhead of looking at the DTD outweighs the benefit
 > (none) obtained in rendering the above example?

There *is* a potentially nasty problem lurking here: the DTD may
contain default values for attributes as well as validation
information.  In the SGML version of DocBook, there is not a problem,
but what if the new version of DocBook had something like this?

  <!ATTLIST para
    xmlns CDATA #FIXED "http://www.oasis-open.org/docbook/">

I suspect that industry practice will be always to run XML through a
normaliser before publishing, so that the attribute default values get 
plugged right into the instance.


All the best,


David

-- 
David Megginson                 david at megginson.com
           http://www.megginson.com/

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list