<?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;)*>