<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://microformats.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AtzMgk</id>
	<title>Microformats Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://microformats.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=AtzMgk"/>
	<link rel="alternate" type="text/html" href="https://microformats.org/wiki/Special:Contributions/AtzMgk"/>
	<updated>2026-04-18T07:57:58Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=DTDs&amp;diff=17763</id>
		<title>DTDs</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=DTDs&amp;diff=17763"/>
		<updated>2007-06-22T06:17:28Z</updated>

		<summary type="html">&lt;p&gt;AtzMgk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the DTDs generated from the Relax NG Schemas.  I've&lt;br /&gt;
included the various module DTDs directly in the DTD, not&lt;br /&gt;
sure if that's the right way to do it.&lt;br /&gt;
&lt;br /&gt;
I haven't been able to validate the DTD yet, does anyone&lt;br /&gt;
know what's wrong here?&lt;br /&gt;
&lt;br /&gt;
This DTD should validate the following snippet as valid XML:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;xoxo&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Test&lt;br /&gt;
		&amp;lt;ol&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;text..&amp;lt;/li&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;&lt;br /&gt;
				&amp;lt;ul compact=&amp;quot;compact&amp;quot;&amp;gt;&lt;br /&gt;
					&amp;lt;li&amp;gt;xoxo&amp;lt;/li&amp;gt;&lt;br /&gt;
				&amp;lt;/ul&amp;gt;&lt;br /&gt;
			&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/ol&amp;gt;&lt;br /&gt;
	&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
	&amp;lt;li&amp;gt;Test&lt;br /&gt;
		&amp;lt;ul&amp;gt;&lt;br /&gt;
			&amp;lt;li&amp;gt;text..&amp;lt;/li&amp;gt;&lt;br /&gt;
		&amp;lt;/ul&amp;gt;&lt;br /&gt;
	&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/xoxo&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Datatypes Module --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Length defined for cellpadding/cellspacing --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- nn for pixels or nn% for percentage length --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Length.datatype &amp;quot;#PCDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % NMTOKENS.datatype &amp;quot;NMTOKENS&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- space-separated list of link types --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % LinkTypes.datatype &amp;quot;%NMTOKENS.datatype;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- single or comma-separated list of media descriptors --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % MediaDesc.datatype &amp;quot;#PCDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- pixel, percentage, or relative --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % MultiLength.datatype &amp;quot;#PCDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- one or more digits (NUMBER) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Number.datatype &amp;quot;#PCDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- integer representing length in pixels --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Pixels.datatype &amp;quot;#PCDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- script expression --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Script.datatype &amp;quot;#PCDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- textual content --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Text.datatype &amp;quot;#PCDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Imported Datatypes ................................ --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- a single character from [ISO10646] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Character.datatype &amp;quot;#PCDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- a character encoding, as per [RFC2045] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Charset.datatype &amp;quot;#PCDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- a space separated list of character encodings, as per [RFC2045] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Charsets.datatype &amp;quot;#PCDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- media type, as per [RFC2045] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % ContentType.datatype &amp;quot;#PCDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- comma-separated list of media types, as per [RFC2045] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % ContentTypes.datatype &amp;quot;#PCDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- date and time information. ISO date format --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Datetime.datatype &amp;quot;#PCDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- formal public identifier, as per [ISO8879] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % FPI.datatype &amp;quot;#PCDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- a language code, as per [RFC1766] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % LanguageCode.datatype &amp;quot;CDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- a Uniform Resource Identifier, see [URI] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % URI.datatype &amp;quot;CDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- a space-separated list of Uniform Resource Identifiers, see [URI] --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % URIs.datatype &amp;quot;#PCDATA&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % NMTOKEN.datatype &amp;quot;NMTOKEN&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % ID.datatype &amp;quot;ID&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % IDREF.datatype &amp;quot;IDREF&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % IDREFS.datatype &amp;quot;IDREFS&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Text Module --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT br EMPTY&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST br&lt;br /&gt;
  %Core.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Inline.class &amp;quot;abbr|acronym|br|cite|code|dfn|em|kbd|q|samp&lt;br /&gt;
                         |span|strong|var&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Inline.model &amp;quot;(#PCDATA|%Inline.class;)*&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT span %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST span&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT abbr %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST abbr&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT acronym %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST acronym&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT cite %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST cite&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT code %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST code&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT dfn %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST dfn&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT em %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST em&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT kbd %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST kbd&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT q %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST q&lt;br /&gt;
  %Common.attrib;&lt;br /&gt;
  cite %URI.datatype; #IMPLIED&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT samp %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST samp&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT strong %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST strong&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT var %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST var&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Flow.model &amp;quot;(#PCDATA|%Inline.class;|%Block.class;)*&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT div %Flow.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST div&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT p %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST p&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT address %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST address&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- This is redefined by the legacy module to include inlines. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Block.mix &amp;quot;%Block.class;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Block.model &amp;quot;(%Block.mix;) &amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT blockquote (%Block.model;)&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST blockquote&lt;br /&gt;
  %Common.attrib;&lt;br /&gt;
  cite %URI.datatype; #IMPLIED&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT pre %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST pre&lt;br /&gt;
  %Common.attrib;&lt;br /&gt;
  xml:space (preserve) #IMPLIED&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Heading.attrib &amp;quot;&lt;br /&gt;
  %Common.attrib;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Heading.content &amp;quot;%Inline.model;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT h1 %Heading.content;&amp;gt;&lt;br /&gt;
&amp;lt;!ATTLIST h1&lt;br /&gt;
  %Heading.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT h2 %Heading.content;&amp;gt;&lt;br /&gt;
&amp;lt;!ATTLIST h2&lt;br /&gt;
  %Heading.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT h3 %Heading.content;&amp;gt;&lt;br /&gt;
&amp;lt;!ATTLIST h3&lt;br /&gt;
  %Heading.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT h4 %Heading.content;&amp;gt;&lt;br /&gt;
&amp;lt;!ATTLIST h4&lt;br /&gt;
  %Heading.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT h5 %Heading.content;&amp;gt;&lt;br /&gt;
&amp;lt;!ATTLIST h5&lt;br /&gt;
  %Heading.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT h6 %Heading.content;&amp;gt;&lt;br /&gt;
&amp;lt;!ATTLIST h6&lt;br /&gt;
  %Heading.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Heading.class &amp;quot;h1|h2|h3|h4|h5|h6&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Block.class &amp;quot;address|blockquote|div|p|pre|%Heading.class;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Common Attributes Module --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % id.attrib &amp;quot;&lt;br /&gt;
  id %ID.datatype; #IMPLIED&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % class.attrib &amp;quot;&lt;br /&gt;
  class %NMTOKENS.datatype; #IMPLIED&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % title.attrib &amp;quot;&lt;br /&gt;
  title CDATA #IMPLIED&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Core.attrib &amp;quot;&lt;br /&gt;
  %id.attrib;&lt;br /&gt;
  %class.attrib;&lt;br /&gt;
  %title.attrib;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % lang.attrib &amp;quot;&lt;br /&gt;
  xml:lang %LanguageCode.datatype; #IMPLIED&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % I18n.attrib &amp;quot;&lt;br /&gt;
  %lang.attrib;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Common.attrib &amp;quot;&lt;br /&gt;
  %Core.attrib;&lt;br /&gt;
  %I18n.attrib;&lt;br /&gt;
  compact (compact) #IMPLIED&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % CommonIdRequired.attrib &amp;quot;&lt;br /&gt;
  id %ID.datatype; #REQUIRED&lt;br /&gt;
  %class.attrib;&lt;br /&gt;
  %title.attrib;&lt;br /&gt;
  %I18n.attrib;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- List Module --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT dl (dt|dd) &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST dl&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT dt %Inline.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST dt&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT dd %Flow.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST dd&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT ol (li) &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST ol&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT ul (li) &amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST ul&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT li %Flow.model;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ATTLIST li&lt;br /&gt;
  %Common.attrib;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % List.class &amp;quot;ul|ol|dl&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ENTITY % Block.class &amp;quot;%List.class;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!ELEMENT xoxo (dl|ol|ul) &amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>AtzMgk</name></author>
	</entry>
</feed>