Yet another validity question

Liam R. E. Quin liamquin at
Fri Apr 23 08:16:12 BST 1999

On Fri, 23 Apr 1999, Richard Tobin wrote:
> There is indeed no requirement that elements referred to in content
> models be declared if they do not appear in the instance.

The XML processor is allowed to issue a warning, however  --
see 3.2 Element Type Declarations, just before production [45].

    [...] At User Option, an XML Processor may issue a warning when a
    declaration mentions an element type for which no declaration
    is provided, but this is not an error.

This rule was inherited from SGML...

One reason it is there is to allow "elephants", but exclusions were
later removed from XML:
in which HOLDER must now be empty but can have a missing end tag.

Another reason is because of large but sloppy DTDs, and another is
because modular DTDs as complex as the TEI can be next to impossible
to write if you have to get rid of all the elmeents that can't appear.

Finally, it saves the parser from having to do a second pass over the
DTD, since the warning should not be issued if an element is declared
later in the DTD than the first content model in which it appears.


Liam Quin, GroveWare Inc., Toronto;  The barefoot programmer
l i a m q u i n     at    i n t e r l o g    dot   c o m
SGML/XML/Unix/C/Perl Consultant, will work for food (or socks?)

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
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