Public DTDs
May 3, 1999
The SYSTEM keyword is not the only way to reference an
external DTD. This keyword is primarily used for referencing
private DTDs that are shared among the documents of a
single author or organization. Alternatively, DTDs may be
made available to the public by using the PUBLIC keyword.
When using the PUBLIC keyword, an external DTD also
gets a name by which it can be recognized. The generic format
for referencing a PUBLIC DTD looks something like...
<!DOCTYPE ROOT_ELEMENT PUBLIC "DTD_NAME"
"URL_OF_EXTERNAL_DTD">
In usage, it would look more like the following:
<!DOCTYPE CONTACTS PUBLIC "CONTACT_DTD"
"http://www.mydomain.com/dtds/contacts.dtd">
The names used for DTDs are a little different from XML names.
In particular, they may contain only alphanumeric characters,
the space and new line characters, and the following
punctuation: -
_%$#@()+:=/!*;?. Further, DTD names follow some
general standards.
ISO standard DTDs begin with ISO. Approved non-ISO standard
DTDs begin with a plus (+) sign. Non approved non-ISO standard
DTDs begin with a dash (-).
Whichever the case, the initial segment is followed by two
slashes (//) and the name of the owner of the DTD. Following
the name are another two slashes and then the type of document
the DTD describes. Finally, the string is tagged with two more
slashes and a language reference (ISO 639).
For example, you might see a reference like:
<!DOCTYPE CONTACTS PUBLIC "-//Selena Sol//Contact Data//EN"
"http://www.mydomain.com/dtds/contacts.dtd">
Additional Resources:
Internal Versus External DTDs
Introduction to XML For Web Developers | Table of Contents
|