HTML and CSS Reference
items; or a group consisting of a base element, miscellaneous items, a
title element, and some more miscellaneous items.
Why such a convoluted rule for the <head> tag? Why not just write:
<!ELEMENT head (script|style|meta|link|object|base|title)*>
which allows any number of head elements to appear, or none at all?
The HTML standard requires that every <head> tag contain exactly one
<title> tag. It also allows for only one <base> tag, if any. Otherwise, the
standard does allow any number of the other head elements, in any or-
Put simply, the head element declaration, while initially confusing, forces
the XML processor to ensure that exactly one title element appears in
the head element and that, if specified, just one base element appears as
well. It then allows for any of the other head elements, in any order.
This one example demonstrates a lot of the power of XML: the ability to
define commonly used elements using parameter entities and the use of
grammar rules to dictate document syntax. If you can work through the
head element declaration and understand it, you are well on your way to
reading any XML DTD.
15.4.4. Mixed Element Content
Mixed element content extends the element grammar rules to include
the special #PCDATA keyword. PCDATA stands for "parsed character data"
and signifies that the content of the element will be parsed by the XML
processor for general entity references. After the entities are replaced,
the character data is passed to the XML application for further process-
What this boils down to is that parsed character data is the actual
content of your XML document. Elements that accept parsed character