<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://www.daisy.org/z3986/2005/dtbook/" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<define name="dtb.smilref.attr" combine="interleave">
<attribute name="smilref"/>
</define>
<define name="dtb.id.type">
<data type="ID"/>
</define>
<define name="dtb.idrefs.type">
<data type="IDREFS"/>
</define>
<define name="dtb.Character">
<data type="string" datatypeLibrary=""/>
</define>
<define name="dtb.Charset">
<data type="string" datatypeLibrary=""/>
</define>
<define name="dtb.ContentType">
<data type="string" datatypeLibrary=""/>
</define>
<define name="dtb.LanguageCode">
<data type="NMTOKEN"/>
</define>
<define name="dtb.Number">
<data type="string" datatypeLibrary=""/>
</define>
<define name="dtb.LinkTypes">
<data type="string" datatypeLibrary=""/>
</define>
<define name="dtb.MediaDesc">
<data type="string" datatypeLibrary=""/>
</define>
<define name="dtb.StyleSheet">
<data type="string" datatypeLibrary=""/>
</define>
<define name="dtb.Text">
<data type="string" datatypeLibrary=""/>
</define>
<define name="dtb.URI">
<data type="string" datatypeLibrary=""/>
</define>
<define name="dtb.externalblock">
<notAllowed/>
</define>
<define name="dtb.externalinline">
<notAllowed/>
</define>
<define name="dtb.dtbookblocknoimggroup">
<choice>
<ref name="dtb.author"/>
<ref name="dtb.prodnote"/>
<ref name="dtb.sidebar"/>
<ref name="dtb.note"/>
<ref name="dtb.annotation"/>
<ref name="dtb.externalblock"/>
</choice>
</define>
<define name="dtb.inlineinblock">
<choice>
<ref name="dtb.a"/>
<ref name="dtb.cite"/>
<ref name="dtb.samp"/>
<ref name="dtb.kbd"/>
<ref name="dtb.pagenum"/>
</choice>
</define>
<define name="dtb.block">
<choice>
<ref name="dtb.p"/>
<ref name="dtb.list"/>
<ref name="dtb.dl"/>
<ref name="dtb.div"/>
<ref name="dtb.blockquote"/>
<ref name="dtb.img"/>
<ref name="dtb.imggroup"/>
<ref name="dtb.poem"/>
<ref name="dtb.linegroup"/>
<ref name="dtb.byline"/>
<ref name="dtb.dateline"/>
<ref name="dtb.epigraph"/>
<ref name="dtb.table"/>
<ref name="dtb.address"/>
<ref name="dtb.line"/>
<ref name="dtb.dtbookblocknoimggroup"/>
</choice>
</define>
<define name="dtb.blocknoimggroup">
<choice>
<ref name="dtb.p"/>
<ref name="dtb.list"/>
<ref name="dtb.dl"/>
<ref name="dtb.div"/>
<ref name="dtb.blockquote"/>
<ref name="dtb.poem"/>
<ref name="dtb.linegroup"/>
<ref name="dtb.byline"/>
<ref name="dtb.dateline"/>
<ref name="dtb.epigraph"/>
<ref name="dtb.table"/>
<ref name="dtb.address"/>
<ref name="dtb.line"/>
<ref name="dtb.dtbookblocknoimggroup"/>
</choice>
</define>
<define name="dtb.docblockorinline">
<choice>
<ref name="dtb.doctitle"/>
<ref name="dtb.docauthor"/>
<ref name="dtb.covertitle"/>
<ref name="dtb.bridgehead"/>
<ref name="dtb.block"/>
<ref name="dtb.inlineinblock"/>
</choice>
</define>
<define name="dtb.coreattrs">
<optional>
<attribute name="id">
<ref name="dtb.id.type"/>
</attribute>
</optional>
<optional>
<attribute name="class"/>
</optional>
<optional>
<attribute name="style">
<ref name="dtb.StyleSheet"/>
</attribute>
</optional>
<optional>
<attribute name="title">
<ref name="dtb.Text"/>
</attribute>
</optional>
</define>
<define name="dtb.i18n">
<optional>
<attribute name="xml:lang">
<ref name="dtb.LanguageCode"/>
</attribute>
</optional>
<optional>
<attribute name="dir">
<choice>
<value>ltr</value>
<value>rtl</value>
</choice>
</attribute>
</optional>
</define>
<define name="dtb.showin">
<optional>
<attribute name="showin">
<choice>
<value>xxx</value>
<value>xxp</value>
<value>xlx</value>
<value>xlp</value>
<value>bxx</value>
<value>bxp</value>
<value>blx</value>
<value>blp</value>
</choice>
</attribute>
</optional>
</define>
<define name="dtb.attrs">
<ref name="dtb.coreattrs"/>
<ref name="dtb.i18n"/>
<optional>
<ref name="dtb.smilref.attr"/>
</optional>
<ref name="dtb.showin"/>
</define>
<define name="dtb.attrsrqd">
<attribute name="id">
<ref name="dtb.id.type"/>
</attribute>
<optional>
<attribute name="class"/>
</optional>
<optional>
<attribute name="style">
<ref name="dtb.StyleSheet"/>
</attribute>
</optional>
<optional>
<attribute name="title">
<ref name="dtb.Text"/>
</attribute>
</optional>
<optional>
<ref name="dtb.smilref.attr"/>
</optional>
<ref name="dtb.i18n"/>
<ref name="dtb.showin"/>
</define>
<define name="dtb.dtbookcontent">
<ref name="dtb.head"/>
<ref name="dtb.book"/>
</define>
<start>
<element name="dtbook">
<ref name="dtb.attlist.dtbook"/>
<ref name="dtb.dtbookcontent"/>
</element>
</start>
<define name="dtb.attlist.dtbook" combine="interleave">
<attribute name="version" a:defaultValue="2005-1">
<value type="string" datatypeLibrary="">2005-1</value>
</attribute>
<ref name="dtb.i18n"/>
</define>
<define name="dtb.headmisc">
<choice>
<ref name="dtb.meta"/>
<ref name="dtb.link"/>
</choice>
</define>
<define name="dtb.head">
<element name="head">
<ref name="dtb.attlist.head"/>
<zeroOrMore>
<ref name="dtb.headmisc"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.head" combine="interleave">
<ref name="dtb.i18n"/>
<optional>
<attribute name="profile">
<ref name="dtb.URI"/>
</attribute>
</optional>
</define>
<define name="dtb.link">
<element name="link">
<ref name="dtb.attlist.link"/>
<empty/>
</element>
</define>
<define name="dtb.attlist.link" combine="interleave">
<ref name="dtb.attrs"/>
<optional>
<attribute name="charset">
<ref name="dtb.Charset"/>
</attribute>
</optional>
<optional>
<attribute name="href">
<ref name="dtb.URI"/>
</attribute>
</optional>
<optional>
<attribute name="hreflang">
<ref name="dtb.LanguageCode"/>
</attribute>
</optional>
<optional>
<attribute name="type">
<ref name="dtb.ContentType"/>
</attribute>
</optional>
<optional>
<attribute name="rel">
<ref name="dtb.LinkTypes"/>
</attribute>
</optional>
<optional>
<attribute name="rev">
<ref name="dtb.LinkTypes"/>
</attribute>
</optional>
<optional>
<attribute name="media">
<ref name="dtb.MediaDesc"/>
</attribute>
</optional>
</define>
<define name="dtb.meta">
<element name="meta">
<ref name="dtb.attlist.meta"/>
<empty/>
</element>
</define>
<define name="dtb.attlist.meta" combine="interleave">
<ref name="dtb.i18n"/>
<optional>
<attribute name="http-equiv">
<data type="NMTOKEN"/>
</attribute>
</optional>
<optional>
<attribute name="name">
<data type="NMTOKEN"/>
</attribute>
</optional>
<attribute name="content"/>
<optional>
<attribute name="scheme"/>
</optional>
</define>
<define name="dtb.book">
<element name="book">
<ref name="dtb.attlist.book"/>
<optional>
<ref name="dtb.frontmatter"/>
</optional>
<optional>
<ref name="dtb.bodymatter"/>
</optional>
<optional>
<ref name="dtb.rearmatter"/>
</optional>
</element>
</define>
<define name="dtb.attlist.book" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.frontmatter">
<element name="frontmatter">
<ref name="dtb.attlist.frontmatter"/>
<oneOrMore>
<choice>
<ref name="dtb.doctitle"/>
<ref name="dtb.docauthor"/>
<ref name="dtb.covertitle"/>
<ref name="dtb.level"/>
<ref name="dtb.level1"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="dtb.attlist.frontmatter" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.bodymatter">
<element name="bodymatter">
<ref name="dtb.attlist.bodymatter"/>
<oneOrMore>
<choice>
<ref name="dtb.level"/>
<ref name="dtb.level1"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="dtb.attlist.bodymatter" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.rearmatter">
<element name="rearmatter">
<ref name="dtb.attlist.rearmatter"/>
<oneOrMore>
<choice>
<ref name="dtb.level"/>
<ref name="dtb.level1"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="dtb.attlist.rearmatter" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.level">
<element name="level">
<ref name="dtb.attlist.level"/>
<choice>
<group>
<ref name="dtb.hd"/>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level"/>
</choice>
</oneOrMore>
</group>
<group>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level"/>
</choice>
</oneOrMore>
<optional>
<ref name="dtb.hd"/>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level"/>
</choice>
</oneOrMore>
</optional>
</group>
</choice>
</element>
</define>
<define name="dtb.attlist.level" combine="interleave">
<ref name="dtb.attrs"/>
<optional>
<attribute name="depth"/>
</optional>
</define>
<define name="dtb.level1">
<element name="level1">
<ref name="dtb.attlist.level1"/>
<choice>
<group>
<ref name="dtb.h1"/>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level2"/>
</choice>
</oneOrMore>
</group>
<group>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level2"/>
</choice>
</oneOrMore>
<optional>
<ref name="dtb.h1"/>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level2"/>
</choice>
</oneOrMore>
</optional>
</group>
</choice>
</element>
</define>
<define name="dtb.attlist.level1" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.level2">
<element name="level2">
<ref name="dtb.attlist.level2"/>
<choice>
<group>
<ref name="dtb.h2"/>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level3"/>
</choice>
</oneOrMore>
</group>
<group>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level3"/>
</choice>
</oneOrMore>
<optional>
<ref name="dtb.h2"/>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level3"/>
</choice>
</oneOrMore>
</optional>
</group>
</choice>
</element>
</define>
<define name="dtb.attlist.level2" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.level3">
<element name="level3">
<ref name="dtb.attlist.level3"/>
<choice>
<group>
<ref name="dtb.h3"/>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level4"/>
</choice>
</oneOrMore>
</group>
<group>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level4"/>
</choice>
</oneOrMore>
<optional>
<ref name="dtb.h3"/>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level4"/>
</choice>
</oneOrMore>
</optional>
</group>
</choice>
</element>
</define>
<define name="dtb.attlist.level3" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.level4">
<element name="level4">
<ref name="dtb.attlist.level4"/>
<choice>
<group>
<ref name="dtb.h4"/>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level5"/>
</choice>
</oneOrMore>
</group>
<group>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level5"/>
</choice>
</oneOrMore>
<optional>
<ref name="dtb.h4"/>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level5"/>
</choice>
</oneOrMore>
</optional>
</group>
</choice>
</element>
</define>
<define name="dtb.attlist.level4" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.level5">
<element name="level5">
<ref name="dtb.attlist.level5"/>
<choice>
<group>
<ref name="dtb.h5"/>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level6"/>
</choice>
</oneOrMore>
</group>
<group>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level6"/>
</choice>
</oneOrMore>
<optional>
<ref name="dtb.h5"/>
<oneOrMore>
<choice>
<ref name="dtb.docblockorinline"/>
<ref name="dtb.level6"/>
</choice>
</oneOrMore>
</optional>
</group>
</choice>
</element>
</define>
<define name="dtb.attlist.level5" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.level6">
<element name="level6">
<ref name="dtb.attlist.level6"/>
<choice>
<group>
<ref name="dtb.h6"/>
<oneOrMore>
<ref name="dtb.docblockorinline"/>
</oneOrMore>
</group>
<group>
<oneOrMore>
<ref name="dtb.docblockorinline"/>
</oneOrMore>
<optional>
<ref name="dtb.h6"/>
<oneOrMore>
<ref name="dtb.docblockorinline"/>
</oneOrMore>
</optional>
</group>
</choice>
</element>
</define>
<define name="dtb.attlist.level6" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.phrase">
<choice>
<ref name="dtb.em"/>
<ref name="dtb.strong"/>
<ref name="dtb.dfn"/>
<ref name="dtb.code"/>
<ref name="dtb.samp"/>
<ref name="dtb.kbd"/>
<ref name="dtb.cite"/>
<ref name="dtb.abbr"/>
<ref name="dtb.acronym"/>
</choice>
</define>
<define name="dtb.special">
<choice>
<ref name="dtb.a"/>
<ref name="dtb.img"/>
<ref name="dtb.imggroup"/>
<ref name="dtb.br"/>
<ref name="dtb.q"/>
<ref name="dtb.sub"/>
<ref name="dtb.sup"/>
<ref name="dtb.span"/>
<ref name="dtb.bdo"/>
</choice>
</define>
<define name="dtb.specialnoa">
<choice>
<ref name="dtb.img"/>
<ref name="dtb.imggroup"/>
<ref name="dtb.br"/>
<ref name="dtb.q"/>
<ref name="dtb.sub"/>
<ref name="dtb.sup"/>
<ref name="dtb.span"/>
<ref name="dtb.bdo"/>
</choice>
</define>
<define name="dtb.dtbookinline">
<choice>
<ref name="dtb.sent"/>
<ref name="dtb.w"/>
<ref name="dtb.pagenum"/>
<ref name="dtb.prodnote"/>
<ref name="dtb.annoref"/>
<ref name="dtb.noteref"/>
<ref name="dtb.externalinline"/>
</choice>
</define>
<define name="dtb.inline">
<choice>
<text/>
<ref name="dtb.phrase"/>
<ref name="dtb.special"/>
<ref name="dtb.dtbookinline"/>
</choice>
</define>
<define name="dtb.inlinenoa">
<choice>
<text/>
<ref name="dtb.phrase"/>
<ref name="dtb.specialnoa"/>
<ref name="dtb.dtbookinline"/>
</choice>
</define>
<define name="dtb.inlines">
<choice>
<text/>
<ref name="dtb.phrase"/>
<ref name="dtb.special"/>
<ref name="dtb.pagenum"/>
<ref name="dtb.w"/>
<ref name="dtb.prodnote"/>
<ref name="dtb.annoref"/>
<ref name="dtb.noteref"/>
<ref name="dtb.externalinline"/>
</choice>
</define>
<define name="dtb.inlinew">
<choice>
<text/>
<ref name="dtb.phrase"/>
<ref name="dtb.special"/>
<ref name="dtb.externalinline"/>
</choice>
</define>
<define name="dtb.inlinenopagenum">
<choice>
<text/>
<ref name="dtb.phrase"/>
<ref name="dtb.special"/>
<ref name="dtb.sent"/>
<ref name="dtb.w"/>
<ref name="dtb.annoref"/>
<ref name="dtb.noteref"/>
<ref name="dtb.externalinline"/>
</choice>
</define>
<define name="dtb.inlinenoprodnote">
<choice>
<text/>
<ref name="dtb.phrase"/>
<ref name="dtb.special"/>
<ref name="dtb.sent"/>
<ref name="dtb.w"/>
<ref name="dtb.pagenum"/>
<ref name="dtb.annoref"/>
<ref name="dtb.noteref"/>
<ref name="dtb.externalinline"/>
</choice>
</define>
<define name="dtb.flow">
<choice>
<ref name="dtb.inlinenoprodnote"/>
<ref name="dtb.blocknoimggroup"/>
</choice>
</define>
<define name="dtb.flownopagenum">
<choice>
<ref name="dtb.inlinenopagenum"/>
<ref name="dtb.blocknoimggroup"/>
</choice>
</define>
<define name="dtb.br">
<element name="br">
<ref name="dtb.attlist.br"/>
<empty/>
</element>
</define>
<define name="dtb.attlist.br" combine="interleave">
<ref name="dtb.coreattrs"/>
</define>
<define name="dtb.line">
<element name="line">
<ref name="dtb.attlist.line"/>
<zeroOrMore>
<choice>
<ref name="dtb.inline"/>
<ref name="dtb.linenum"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.line" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.linenum">
<element name="linenum">
<ref name="dtb.attlist.linenum"/>
<text/>
</element>
</define>
<define name="dtb.attlist.linenum" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.address">
<element name="address">
<ref name="dtb.attlist.address"/>
<zeroOrMore>
<choice>
<ref name="dtb.inline"/>
<ref name="dtb.line"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.address" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.div">
<element name="div">
<ref name="dtb.attlist.div"/>
<oneOrMore>
<choice>
<ref name="dtb.block"/>
<ref name="dtb.inlineinblock"/>
<ref name="dtb.doctitle"/>
<ref name="dtb.docauthor"/>
<ref name="dtb.covertitle"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="dtb.attlist.div" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.title">
<element name="title">
<ref name="dtb.attlist.title"/>
<text/>
</element>
</define>
<define name="dtb.attlist.title" combine="interleave">
<ref name="dtb.i18n"/>
</define>
<define name="dtb.author">
<element name="author">
<ref name="dtb.attlist.author"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.author" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.prodnote">
<element name="prodnote">
<ref name="dtb.attlist.prodnote"/>
<zeroOrMore>
<ref name="dtb.flow"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.prodnote" combine="interleave">
<ref name="dtb.attrs"/>
<optional>
<attribute name="imgref">
<ref name="dtb.idrefs.type"/>
</attribute>
</optional>
<attribute name="render">
<choice>
<value>required</value>
<value>optional</value>
</choice>
</attribute>
</define>
<define name="dtb.sidebar">
<element name="sidebar">
<ref name="dtb.attlist.sidebar"/>
<zeroOrMore>
<choice>
<ref name="dtb.flow"/>
<ref name="dtb.hd"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.sidebar" combine="interleave">
<ref name="dtb.attrs"/>
<attribute name="render">
<choice>
<value>required</value>
<value>optional</value>
</choice>
</attribute>
</define>
<define name="dtb.note">
<element name="note">
<ref name="dtb.attlist.note"/>
<oneOrMore>
<choice>
<ref name="dtb.block"/>
<ref name="dtb.inlineinblock"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="dtb.attlist.note" combine="interleave">
<ref name="dtb.attrsrqd"/>
</define>
<define name="dtb.annotation">
<element name="annotation">
<ref name="dtb.attlist.annotation"/>
<oneOrMore>
<choice>
<ref name="dtb.block"/>
<ref name="dtb.inlineinblock"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="dtb.attlist.annotation" combine="interleave">
<ref name="dtb.attrsrqd"/>
</define>
<define name="dtb.epigraph">
<element name="epigraph">
<ref name="dtb.attlist.epigraph"/>
<zeroOrMore>
<ref name="dtb.flow"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.epigraph" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.byline">
<element name="byline">
<ref name="dtb.attlist.byline"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.byline" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.dateline">
<element name="dateline">
<ref name="dtb.attlist.dateline"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.dateline" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.linegroup">
<element name="linegroup">
<ref name="dtb.attlist.linegroup"/>
<zeroOrMore>
<choice>
<ref name="dtb.hd"/>
<ref name="dtb.dateline"/>
<ref name="dtb.epigraph"/>
<ref name="dtb.byline"/>
<ref name="dtb.linegroup"/>
<ref name="dtb.line"/>
<ref name="dtb.pagenum"/>
<ref name="dtb.prodnote"/>
<ref name="dtb.noteref"/>
<ref name="dtb.annoref"/>
<ref name="dtb.note"/>
<ref name="dtb.annotation"/>
<ref name="dtb.p"/>
<ref name="dtb.blockquote"/>
<ref name="dtb.img"/>
<ref name="dtb.imggroup"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.linegroup" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.poem">
<element name="poem">
<ref name="dtb.attlist.poem"/>
<zeroOrMore>
<choice>
<ref name="dtb.title"/>
<ref name="dtb.author"/>
<ref name="dtb.hd"/>
<ref name="dtb.dateline"/>
<ref name="dtb.epigraph"/>
<ref name="dtb.byline"/>
<ref name="dtb.linegroup"/>
<ref name="dtb.line"/>
<ref name="dtb.pagenum"/>
<ref name="dtb.img"/>
<ref name="dtb.imggroup"/>
<ref name="dtb.sidebar"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.poem" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.a">
<element name="a">
<ref name="dtb.attlist.a"/>
<zeroOrMore>
<ref name="dtb.inlinenoa"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.a" combine="interleave">
<ref name="dtb.attrs"/>
<optional>
<attribute name="type">
<ref name="dtb.ContentType"/>
</attribute>
</optional>
<optional>
<attribute name="href">
<ref name="dtb.URI"/>
</attribute>
</optional>
<optional>
<attribute name="hreflang">
<ref name="dtb.LanguageCode"/>
</attribute>
</optional>
<optional>
<attribute name="rel">
<ref name="dtb.LinkTypes"/>
</attribute>
</optional>
<optional>
<attribute name="rev">
<ref name="dtb.LinkTypes"/>
</attribute>
</optional>
<optional>
<attribute name="accesskey">
<ref name="dtb.Character"/>
</attribute>
</optional>
<optional>
<attribute name="tabindex">
<ref name="dtb.Number"/>
</attribute>
</optional>
<optional>
<attribute name="external" a:defaultValue="false">
<choice>
<value>true</value>
<value>false</value>
</choice>
</attribute>
</optional>
</define>
<define name="dtb.em">
<element name="em">
<ref name="dtb.attlist.em"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.em" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.strong">
<element name="strong">
<ref name="dtb.attlist.strong"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.strong" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.dfn">
<element name="dfn">
<ref name="dtb.attlist.dfn"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.dfn" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.kbd">
<element name="kbd">
<ref name="dtb.attlist.kbd"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.kbd" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.code">
<element name="code">
<ref name="dtb.attlist.code"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.code" combine="interleave">
<ref name="dtb.attrs"/>
<optional>
<attribute name="xml:space" a:defaultValue="preserve">
<choice>
<value>default</value>
<value>preserve</value>
</choice>
</attribute>
</optional>
</define>
<define name="dtb.samp">
<element name="samp">
<ref name="dtb.attlist.samp"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.samp" combine="interleave">
<ref name="dtb.attrs"/>
<optional>
<attribute name="xml:space" a:defaultValue="preserve">
<choice>
<value>default</value>
<value>preserve</value>
</choice>
</attribute>
</optional>
</define>
<define name="dtb.cite">
<element name="cite">
<ref name="dtb.attlist.cite"/>
<zeroOrMore>
<choice>
<ref name="dtb.inline"/>
<ref name="dtb.title"/>
<ref name="dtb.author"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.cite" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.abbr">
<element name="abbr">
<ref name="dtb.attlist.abbr"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.abbr" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.acronym">
<element name="acronym">
<ref name="dtb.attlist.acronym"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.acronym" combine="interleave">
<ref name="dtb.attrs"/>
<optional>
<attribute name="pronounce">
<choice>
<value>yes</value>
<value>no</value>
</choice>
</attribute>
</optional>
</define>
<define name="dtb.sub">
<element name="sub">
<ref name="dtb.attlist.sub"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.sub" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.sup">
<element name="sup">
<ref name="dtb.attlist.sup"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.sup" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.span">
<element name="span">
<ref name="dtb.attlist.span"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.span" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.bdo">
<element name="bdo">
<ref name="dtb.attlist.bdo"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.bdo" combine="interleave">
<ref name="dtb.coreattrs"/>
<optional>
<attribute name="lang">
<ref name="dtb.LanguageCode"/>
</attribute>
</optional>
<attribute name="dir">
<choice>
<value>ltr</value>
<value>rtl</value>
</choice>
</attribute>
</define>
<define name="dtb.sent">
<element name="sent">
<ref name="dtb.attlist.sent"/>
<zeroOrMore>
<ref name="dtb.inlines"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.sent" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.w">
<element name="w">
<ref name="dtb.attlist.w"/>
<zeroOrMore>
<ref name="dtb.inlinew"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.w" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.pagenum" combine="choice">
<element name="pagenum">
<ref name="dtb.attrsrqd"/>
<choice>
<group>
<attribute name="page">
<value type="string">front</value>
</attribute>
<choice>
<ref name="dtb.datatype.romannumeral"/>
<ref name="dtb.datatype.positiveInteger"/>
</choice>
</group>
<group>
<attribute name="page">
<value type="string">normal</value>
</attribute>
<ref name="dtb.datatype.positiveInteger"/>
</group>
<group>
<attribute name="page">
<value type="string">special</value>
</attribute>
<text/>
</group>
<ref name="dtb.datatype.positiveInteger"/>
</choice>
</element>
</define>
<define name="dtb.datatype.romannumeral">
<data type="string">
<param name="pattern">\s*[Mm]*([Dd]?[Cc]{0,3}|[Cc][DdMm])([Ll]?[Xx]{0,3}|[Xx][LlCc])([Vv]?[Ii]{0,3}|[Ii][VvXx])\s*</param>
</data>
</define>
<define name="dtb.datatype.positiveInteger">
<data type="positiveInteger"/>
</define>
<define name="dtb.noteref">
<element name="noteref">
<ref name="dtb.attlist.noteref"/>
<text/>
</element>
</define>
<define name="dtb.attlist.noteref" combine="interleave">
<ref name="dtb.attrs"/>
<attribute name="idref"/>
<optional>
<attribute name="type">
<ref name="dtb.ContentType"/>
</attribute>
</optional>
</define>
<define name="dtb.annoref">
<element name="annoref">
<ref name="dtb.attlist.annoref"/>
<text/>
</element>
</define>
<define name="dtb.attlist.annoref" combine="interleave">
<ref name="dtb.attrs"/>
<attribute name="idref"/>
<optional>
<attribute name="type">
<ref name="dtb.ContentType"/>
</attribute>
</optional>
</define>
<define name="dtb.q">
<element name="q">
<ref name="dtb.attlist.q"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.q" combine="interleave">
<ref name="dtb.attrs"/>
<optional>
<attribute name="cite">
<ref name="dtb.URI"/>
</attribute>
</optional>
</define>
<define name="dtb.Length">
<data type="string" datatypeLibrary=""/>
</define>
<define name="dtb.MultiLength">
<data type="string" datatypeLibrary=""/>
</define>
<define name="dtb.Pixels">
<data type="string" datatypeLibrary=""/>
</define>
<define name="dtb.img">
<element name="img">
<ref name="dtb.attlist.img"/>
<empty/>
</element>
</define>
<define name="dtb.attlist.img" combine="interleave">
<ref name="dtb.attrs"/>
<attribute name="src">
<ref name="dtb.URI"/>
</attribute>
<attribute name="alt">
<ref name="dtb.Text"/>
</attribute>
<optional>
<attribute name="longdesc">
<ref name="dtb.URI"/>
</attribute>
</optional>
<optional>
<attribute name="height">
<ref name="dtb.Length"/>
</attribute>
</optional>
<optional>
<attribute name="width">
<ref name="dtb.Length"/>
</attribute>
</optional>
</define>
<define name="dtb.imggroup">
<element name="imggroup">
<ref name="dtb.attlist.imggroup"/>
<oneOrMore>
<choice>
<ref name="dtb.prodnote"/>
<ref name="dtb.img"/>
<ref name="dtb.caption"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="dtb.attlist.imggroup" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.p">
<element name="p">
<ref name="dtb.attlist.p"/>
<zeroOrMore>
<choice>
<ref name="dtb.inline"/>
<ref name="dtb.list"/>
<ref name="dtb.dl"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.p" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.doctitle">
<element name="doctitle">
<ref name="dtb.attlist.doctitle"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.doctitle" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.docauthor">
<element name="docauthor">
<ref name="dtb.attlist.docauthor"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.docauthor" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.covertitle">
<element name="covertitle">
<ref name="dtb.attlist.covertitle"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.covertitle" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.h1">
<element name="h1">
<ref name="dtb.attlist.h1"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.h1" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.h2">
<element name="h2">
<ref name="dtb.attlist.h2"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.h2" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.h3">
<element name="h3">
<ref name="dtb.attlist.h3"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.h3" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.h4">
<element name="h4">
<ref name="dtb.attlist.h4"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.h4" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.h5">
<element name="h5">
<ref name="dtb.attlist.h5"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.h5" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.h6">
<element name="h6">
<ref name="dtb.attlist.h6"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.h6" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.bridgehead">
<element name="bridgehead">
<ref name="dtb.attlist.bridgehead"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.bridgehead" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.hd">
<element name="hd">
<ref name="dtb.attlist.hd"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.hd" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.blockquote">
<element name="blockquote">
<ref name="dtb.attlist.blockquote"/>
<zeroOrMore>
<choice>
<ref name="dtb.pagenum"/>
<ref name="dtb.block"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.blockquote" combine="interleave">
<ref name="dtb.attrs"/>
<optional>
<attribute name="cite">
<ref name="dtb.URI"/>
</attribute>
</optional>
</define>
<define name="dtb.dl">
<element name="dl">
<ref name="dtb.attlist.dl"/>
<oneOrMore>
<choice>
<ref name="dtb.dt"/>
<ref name="dtb.dd"/>
<ref name="dtb.pagenum"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="dtb.attlist.dl" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.dt">
<element name="dt">
<ref name="dtb.attlist.dt"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.dt" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.dd">
<element name="dd">
<ref name="dtb.attlist.dd"/>
<zeroOrMore>
<ref name="dtb.flow"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.dd" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.list">
<element name="list">
<ref name="dtb.attlist.list"/>
<oneOrMore>
<choice>
<ref name="dtb.hd"/>
<ref name="dtb.prodnote"/>
<ref name="dtb.li"/>
<ref name="dtb.pagenum"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="dtb.attlist.list" combine="interleave">
<ref name="dtb.attrs"/>
<attribute name="type">
<choice>
<value>ol</value>
<value>ul</value>
<value>pl</value>
</choice>
</attribute>
<optional>
<attribute name="depth"/>
</optional>
<optional>
<attribute name="enum">
<choice>
<value>1</value>
<value>a</value>
<value>A</value>
<value>i</value>
<value>I</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="start"/>
</optional>
</define>
<define name="dtb.li">
<element name="li">
<ref name="dtb.attlist.li"/>
<zeroOrMore>
<choice>
<ref name="dtb.flow"/>
<ref name="dtb.lic"/>
</choice>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.li" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.lic">
<element name="lic">
<ref name="dtb.attlist.lic"/>
<zeroOrMore>
<ref name="dtb.inline"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.lic" combine="interleave">
<ref name="dtb.attrs"/>
</define>
<define name="dtb.Scope">
<choice>
<value>row</value>
<value>col</value>
<value>rowgroup</value>
<value>colgroup</value>
</choice>
</define>
<define name="dtb.TFrame">
<choice>
<value>void</value>
<value>above</value>
<value>below</value>
<value>hsides</value>
<value>lhs</value>
<value>rhs</value>
<value>vsides</value>
<value>box</value>
<value>border</value>
</choice>
</define>
<define name="dtb.TRules">
<choice>
<value>none</value>
<value>groups</value>
<value>rows</value>
<value>cols</value>
<value>all</value>
</choice>
</define>
<define name="dtb.cellhalign">
<optional>
<attribute name="align">
<choice>
<value>left</value>
<value>center</value>
<value>right</value>
<value>justify</value>
<value>char</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="char">
<ref name="dtb.Character"/>
</attribute>
</optional>
<optional>
<attribute name="charoff">
<ref name="dtb.Length"/>
</attribute>
</optional>
</define>
<define name="dtb.cellvalign">
<optional>
<attribute name="valign">
<choice>
<value>top</value>
<value>middle</value>
<value>bottom</value>
<value>baseline</value>
</choice>
</attribute>
</optional>
</define>
<define name="dtb.table">
<element name="table">
<ref name="dtb.attlist.table"/>
<optional>
<ref name="dtb.caption"/>
</optional>
<choice>
<zeroOrMore>
<ref name="dtb.col"/>
</zeroOrMore>
<zeroOrMore>
<ref name="dtb.colgroup"/>
</zeroOrMore>
</choice>
<optional>
<ref name="dtb.thead"/>
</optional>
<optional>
<ref name="dtb.tfoot"/>
</optional>
<choice>
<oneOrMore>
<ref name="dtb.tbody"/>
</oneOrMore>
<oneOrMore>
<ref name="dtb.tr"/>
</oneOrMore>
</choice>
</element>
</define>
<define name="dtb.attlist.table" combine="interleave">
<ref name="dtb.attrs"/>
<optional>
<attribute name="summary">
<ref name="dtb.Text"/>
</attribute>
</optional>
<optional>
<attribute name="width">
<ref name="dtb.Length"/>
</attribute>
</optional>
<optional>
<attribute name="border">
<ref name="dtb.Pixels"/>
</attribute>
</optional>
<optional>
<attribute name="frame">
<ref name="dtb.TFrame"/>
</attribute>
</optional>
<optional>
<attribute name="rules">
<ref name="dtb.TRules"/>
</attribute>
</optional>
<optional>
<attribute name="cellspacing">
<ref name="dtb.Length"/>
</attribute>
</optional>
<optional>
<attribute name="cellpadding">
<ref name="dtb.Length"/>
</attribute>
</optional>
</define>
<define name="dtb.caption">
<element name="caption">
<ref name="dtb.attlist.caption"/>
<zeroOrMore>
<ref name="dtb.flow"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.caption" combine="interleave">
<ref name="dtb.attrs"/>
<optional>
<attribute name="imgref">
<ref name="dtb.idrefs.type"/>
</attribute>
</optional>
</define>
<define name="dtb.thead">
<element name="thead">
<ref name="dtb.attlist.thead"/>
<oneOrMore>
<ref name="dtb.tr"/>
</oneOrMore>
</element>
</define>
<define name="dtb.attlist.thead" combine="interleave">
<ref name="dtb.attrs"/>
<ref name="dtb.cellhalign"/>
<ref name="dtb.cellvalign"/>
</define>
<define name="dtb.tfoot">
<element name="tfoot">
<ref name="dtb.attlist.tfoot"/>
<oneOrMore>
<ref name="dtb.tr"/>
</oneOrMore>
</element>
</define>
<define name="dtb.attlist.tfoot" combine="interleave">
<ref name="dtb.attrs"/>
<ref name="dtb.cellhalign"/>
<ref name="dtb.cellvalign"/>
</define>
<define name="dtb.tbody">
<element name="tbody">
<ref name="dtb.attlist.tbody"/>
<oneOrMore>
<ref name="dtb.tr"/>
</oneOrMore>
</element>
</define>
<define name="dtb.attlist.tbody" combine="interleave">
<ref name="dtb.attrs"/>
<ref name="dtb.cellhalign"/>
<ref name="dtb.cellvalign"/>
</define>
<define name="dtb.colgroup">
<element name="colgroup">
<ref name="dtb.attlist.colgroup"/>
<zeroOrMore>
<ref name="dtb.col"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.colgroup" combine="interleave">
<ref name="dtb.attrs"/>
<optional>
<attribute name="span" a:defaultValue="1">
<data type="NMTOKEN"/>
</attribute>
</optional>
<optional>
<attribute name="width">
<ref name="dtb.MultiLength"/>
</attribute>
</optional>
<ref name="dtb.cellhalign"/>
<ref name="dtb.cellvalign"/>
</define>
<define name="dtb.col">
<element name="col">
<ref name="dtb.attlist.col"/>
<empty/>
</element>
</define>
<define name="dtb.attlist.col" combine="interleave">
<ref name="dtb.attrs"/>
<optional>
<attribute name="span" a:defaultValue="1">
<data type="NMTOKEN"/>
</attribute>
</optional>
<optional>
<attribute name="width">
<ref name="dtb.MultiLength"/>
</attribute>
</optional>
<ref name="dtb.cellhalign"/>
<ref name="dtb.cellvalign"/>
</define>
<define name="dtb.tr">
<element name="tr">
<ref name="dtb.attlist.tr"/>
<oneOrMore>
<choice>
<ref name="dtb.th"/>
<ref name="dtb.td"/>
</choice>
</oneOrMore>
</element>
</define>
<define name="dtb.attlist.tr" combine="interleave">
<ref name="dtb.attrs"/>
<ref name="dtb.cellhalign"/>
<ref name="dtb.cellvalign"/>
</define>
<define name="dtb.th">
<element name="th">
<ref name="dtb.attlist.th"/>
<zeroOrMore>
<ref name="dtb.flownopagenum"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.th" combine="interleave">
<ref name="dtb.attrs"/>
<optional>
<attribute name="abbr">
<ref name="dtb.Text"/>
</attribute>
</optional>
<optional>
<attribute name="axis"/>
</optional>
<optional>
<attribute name="headers">
<ref name="dtb.idrefs.type"/>
</attribute>
</optional>
<optional>
<attribute name="scope">
<ref name="dtb.Scope"/>
</attribute>
</optional>
<optional>
<attribute name="rowspan" a:defaultValue="1">
<data type="NMTOKEN"/>
</attribute>
</optional>
<optional>
<attribute name="colspan" a:defaultValue="1">
<data type="NMTOKEN"/>
</attribute>
</optional>
<ref name="dtb.cellhalign"/>
<ref name="dtb.cellvalign"/>
</define>
<define name="dtb.td">
<element name="td">
<ref name="dtb.attlist.td"/>
<zeroOrMore>
<ref name="dtb.flownopagenum"/>
</zeroOrMore>
</element>
</define>
<define name="dtb.attlist.td" combine="interleave">
<ref name="dtb.attrs"/>
<optional>
<attribute name="abbr">
<ref name="dtb.Text"/>
</attribute>
</optional>
<optional>
<attribute name="axis"/>
</optional>
<optional>
<attribute name="headers">
<ref name="dtb.idrefs.type"/>
</attribute>
</optional>
<optional>
<attribute name="scope">
<ref name="dtb.Scope"/>
</attribute>
</optional>
<optional>
<attribute name="rowspan" a:defaultValue="1">
<data type="NMTOKEN"/>
</attribute>
</optional>
<optional>
<attribute name="colspan" a:defaultValue="1">
<data type="NMTOKEN"/>
</attribute>
</optional>
<ref name="dtb.cellhalign"/>
<ref name="dtb.cellvalign"/>
</define>
</grammar>