    <?xml version='1.0' encoding='us-ascii'?>

    <!--
        This DTD does some of what the W3C is getting ready to do with its
        "XHTML" work (nee "Voyager").  It differs from the current WG draft
        because it uses namespaces correctly (!), and it isn't as complete
        even for HTML 3.2 support (much less 4.0) or, probably, correct.

        Note that what XHTML needs to do is become modular enough that XHTML
        can be used as a mixin with other document types, including either
        "the whole megillah" or just selected modules (e.g. omitting tables).
        That must work both ways ... other things as mixins to XHTML, and
        XHTML as a mixin to other things.

        THIS WILL BE REPLACED WITH A BETTER DTD AT SOME POINT.
    -->

    <!ELEMENT html (head, body)>
    <!ATTLIST html
        xmlns	CDATA	#FIXED "http://www.example.com/xhtml"
        >

    <!ELEMENT head (title,style*)>
    <!ELEMENT title (#PCDATA)>
    <!ELEMENT style (#PCDATA)>
    <!ATTLIST style
        type	CDATA	#IMPLIED
        >

    <!ENTITY % content "p|h1|h2|h3|h4|h5|h6|ul|ol|table|center">

    <!ENTITY % inline "#PCDATA|em|b|a|img|br">
    <!ELEMENT em (#PCDATA|a|b|img|br)*>
    <!ELEMENT b (#PCDATA|a|em|img|br)*>
    <!ELEMENT a (#PCDATA|b|em|img|br)*>
    <!ATTLIST a
        href	CDATA	#IMPLIED
        name	CDATA	#IMPLIED
        >
    <!ELEMENT br EMPTY>
    <!ELEMENT img EMPTY>
    <!ATTLIST img
        alt		CDATA	#IMPLIED
        border	CDATA	#IMPLIED
        height	CDATA	#IMPLIED
        src		CDATA	#REQUIRED
        width	CDATA	#IMPLIED
        >

    <!ELEMENT body (%content;)+>
    <!ATTLIST body
        bgcolor CDATA	#IMPLIED
        >

    <!ELEMENT p (%inline;)*>
    <!ELEMENT h1 (%inline;)*>
    <!ELEMENT h2 (%inline;)*>
    <!ELEMENT h3 (%inline;)*>
    <!ELEMENT h4 (%inline;)*>
    <!ELEMENT h5 (%inline;)*>
    <!ELEMENT h6 (%inline;)*>

    <!ELEMENT ul (li+)>
    <!ELEMENT ol (li+)>
    <!ELEMENT li (%inline;)*>

    <!ELEMENT table (tr+)>
    <!ATTLIST table
        height	CDATA			#IMPLIED
        width	CDATA			#IMPLIED
        align	(left|center|right)	#IMPLIED
        cellspacing	CDATA			#IMPLIED
        >
    <!ELEMENT tr (td+)>
    <!ATTLIST tr
        align	(left|center|right)		#IMPLIED
        valign	(top|center|bottom|baseline)	#IMPLIED
        >
    <!ELEMENT td (%inline;|%content;)*>
    <!ATTLIST td
        height	CDATA				#IMPLIED
        width	CDATA				#IMPLIED
        align	(left|center|right)		#IMPLIED
        valign	(top|center|bottom|baseline)	#IMPLIED
        rowspan	CDATA				#IMPLIED
        colspan	CDATA				#IMPLIED
        >

    <!ELEMENT center (%inline;|%content;)*>