Sponsoring The Perl Toolchain Summit 2025: Help make this important event another success Learn more

<?xml version="1.0" encoding="UTF-8"?>
<!--
/=====================================================================\
| LaTeXML-structure.rnc |
| RelaxNG model for LaTeXML generated documents |
|=====================================================================|
| Part of LaTeXML: |
| Public domain software, produced as part of work done by the |
| United States Government & not subject to copyright in the US. |
|=====================================================================|
| Bruce Miller <bruce.miller@nist.gov> #_# |
\=========================================================ooo==U==ooo=/
-->
<!-- ====================================================================== -->
<define name="document">
<element name="document">
<a:documentation>The document root.</a:documentation>
<ref name="document_attributes"/>
<ref name="document_model"/>
</element>
</define>
<define name="document.body.class">
<a:documentation>The content allowable as the main body of the document.</a:documentation>
<choice>
<ref name="Para.model"/>
<ref name="paragraph"/>
<ref name="subsubsection"/>
<ref name="subsection"/>
<ref name="section"/>
<ref name="chapter"/>
<ref name="part"/>
<ref name="slide"/>
<ref name="slidesequence"/>
<ref name="sidebar"/>
<ref name="sectional-block"/>
</choice>
</define>
<define name="Misc.class" combine="choice">
<ref name="inline-sectional-block"/>
</define>
<define name="document_attributes">
<a:documentation>Attributes for \elementref{document}.</a:documentation>
<ref name="Sectional.attributes"/>
</define>
<define name="document_model">
<a:documentation>Content model for \elementref{document}.</a:documentation>
<zeroOrMore>
<choice>
<ref name="FrontMatter.class"/>
<ref name="SectionalFrontMatter.class"/>
<ref name="Meta.class"/>
<ref name="titlepage"/>
</choice>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="document.body.class"/>
<ref name="BackMatter.class"/>
</choice>
</zeroOrMore>
</define>
<!-- ====================================================================== -->
<define name="sectional-block">
<element name="sectional-block">
<a:documentation>A block containing sectional material. Note that this may tend to break the overall heirarchy.</a:documentation>
<ref name="sectional-block_attributes"/>
<ref name="sectional-block_model"/>
</element>
</define>
<define name="sectional-block_attributes">
<ref name="Sectional.attributes"/>
</define>
<define name="sectional-block_model">
<zeroOrMore>
<ref name="document.body.class"/>
</zeroOrMore>
</define>
<define name="inline-sectional-block">
<element name="inline-sectional-block">
<a:documentation>A block containing sectional material. Note that this may tend to break the overall heirarchy.</a:documentation>
<ref name="inline-sectional-block_attributes"/>
<ref name="inline-sectional-block_model"/>
</element>
</define>
<define name="inline-sectional-block_attributes">
<ref name="Sectional.attributes"/>
</define>
<define name="inline-sectional-block_model">
<zeroOrMore>
<ref name="document.body.class"/>
</zeroOrMore>
</define>
<!-- ====================================================================== -->
<define name="part">
<element name="part">
<a:documentation>A part within a document.</a:documentation>
<ref name="part_attributes"/>
<ref name="part_model"/>
</element>
</define>
<define name="part.body.class">
<a:documentation>The content allowable as the main body of a part.</a:documentation>
<choice>
<ref name="Para.model"/>
<ref name="subparagraph"/>
<ref name="paragraph"/>
<ref name="subsubsection"/>
<ref name="subsection"/>
<ref name="section"/>
<ref name="chapter"/>
<ref name="slide"/>
<ref name="slidesequence"/>
<ref name="sidebar"/>
</choice>
</define>
<define name="part_attributes">
<a:documentation>Attributes for \elementref{part}.</a:documentation>
<ref name="Sectional.attributes"/>
</define>
<define name="part_model">
<a:documentation>Content model for \elementref{part}.</a:documentation>
<zeroOrMore>
<ref name="SectionalFrontMatter.class"/>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="part.body.class"/>
<ref name="BackMatter.class"/>
</choice>
</zeroOrMore>
</define>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<define name="chapter">
<element name="chapter">
<a:documentation>A Chapter within a document.</a:documentation>
<ref name="chapter_attributes"/>
<ref name="chapter_model"/>
</element>
</define>
<define name="chapter.body.class">
<a:documentation>The content allowable as the main body of a chapter.</a:documentation>
<choice>
<ref name="Para.model"/>
<ref name="subparagraph"/>
<ref name="paragraph"/>
<ref name="subsubsection"/>
<ref name="subsection"/>
<ref name="section"/>
<ref name="slide"/>
<ref name="slidesequence"/>
<ref name="sidebar"/>
</choice>
</define>
<define name="chapter_attributes">
<a:documentation>Attributes for \elementref{chapter}.</a:documentation>
<ref name="Sectional.attributes"/>
</define>
<define name="chapter_model">
<a:documentation>Content model for \elementref{chapter}.</a:documentation>
<zeroOrMore>
<ref name="SectionalFrontMatter.class"/>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="chapter.body.class"/>
<ref name="BackMatter.class"/>
</choice>
</zeroOrMore>
</define>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<define name="section">
<element name="section">
<a:documentation>A Section within a document.</a:documentation>
<ref name="section_attributes"/>
<ref name="section_model"/>
</element>
</define>
<define name="section.body.class">
<a:documentation>The content allowable as the main body of a section.</a:documentation>
<choice>
<ref name="Para.model"/>
<ref name="subparagraph"/>
<ref name="paragraph"/>
<ref name="subsubsection"/>
<ref name="subsection"/>
<ref name="slide"/>
<ref name="slidesequence"/>
<ref name="sidebar"/>
</choice>
</define>
<define name="section_attributes">
<a:documentation>Attributes for \elementref{section}.</a:documentation>
<ref name="Sectional.attributes"/>
</define>
<define name="section_model">
<a:documentation>Content model for \elementref{section}.</a:documentation>
<zeroOrMore>
<ref name="SectionalFrontMatter.class"/>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="section.body.class"/>
<ref name="BackMatter.class"/>
</choice>
</zeroOrMore>
</define>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<define name="subsection">
<element name="subsection">
<a:documentation>A Subsection within a document.</a:documentation>
<ref name="subsection_attributes"/>
<ref name="subsection_model"/>
</element>
</define>
<define name="subsection.body.class">
<a:documentation>The content allowable as the main body of a subsection.</a:documentation>
<choice>
<ref name="Para.model"/>
<ref name="subparagraph"/>
<ref name="paragraph"/>
<ref name="subsubsection"/>
<ref name="slide"/>
<ref name="slidesequence"/>
<ref name="sidebar"/>
</choice>
</define>
<define name="subsection_attributes">
<a:documentation>Attributes for \elementref{subsection}.</a:documentation>
<ref name="Sectional.attributes"/>
</define>
<define name="subsection_model">
<a:documentation>Content model for \elementref{subsection}.</a:documentation>
<zeroOrMore>
<ref name="SectionalFrontMatter.class"/>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="subsection.body.class"/>
<ref name="BackMatter.class"/>
</choice>
</zeroOrMore>
</define>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<define name="subsubsection">
<element name="subsubsection">
<a:documentation>A Subsubsection within a document.</a:documentation>
<ref name="subsubsection_attributes"/>
<ref name="subsubsection_model"/>
</element>
</define>
<define name="subsubsection.body.class">
<a:documentation>The content allowable as the main body of a subsubsection.</a:documentation>
<choice>
<ref name="Para.model"/>
<ref name="subparagraph"/>
<ref name="paragraph"/>
<ref name="slide"/>
<ref name="slidesequence"/>
<ref name="sidebar"/>
</choice>
</define>
<define name="subsubsection_attributes">
<a:documentation>Attributes for \elementref{subsubsection}.</a:documentation>
<ref name="Sectional.attributes"/>
</define>
<define name="subsubsection_model">
<a:documentation>Content model for \elementref{subsubsection}.</a:documentation>
<zeroOrMore>
<ref name="SectionalFrontMatter.class"/>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="subsubsection.body.class"/>
<ref name="BackMatter.class"/>
</choice>
</zeroOrMore>
</define>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<define name="paragraph">
<element name="paragraph">
<a:documentation>A Paragraph within a document. This corresponds to a `formal' marked, possibly labelled
LaTeX Paragraph, in distinction from an unlabelled logical paragraph.</a:documentation>
<ref name="paragraph_attributes"/>
<ref name="paragraph_model"/>
</element>
</define>
<define name="paragraph.body.class">
<a:documentation>The content allowable as the main body of a paragraph.</a:documentation>
<choice>
<ref name="Para.model"/>
<ref name="subparagraph"/>
<ref name="slide"/>
<ref name="slidesequence"/>
<ref name="sidebar"/>
</choice>
</define>
<define name="paragraph_attributes">
<a:documentation>Attributes for \elementref{paragraph}.</a:documentation>
<ref name="Sectional.attributes"/>
</define>
<define name="paragraph_model">
<a:documentation>Content model for \elementref{paragraph}.</a:documentation>
<zeroOrMore>
<ref name="SectionalFrontMatter.class"/>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="paragraph.body.class"/>
<ref name="BackMatter.class"/>
</choice>
</zeroOrMore>
</define>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<define name="subparagraph">
<element name="subparagraph">
<a:documentation>A Subparagraph within a document.</a:documentation>
<ref name="subparagraph_attributes"/>
<ref name="subparagraph_model"/>
</element>
</define>
<define name="subparagraph.body.class">
<a:documentation>The content allowable as the main body of a subparagraph.</a:documentation>
<choice>
<ref name="Para.model"/>
<ref name="slide"/>
<ref name="slidesequence"/>
<ref name="sidebar"/>
</choice>
</define>
<define name="subparagraph_attributes">
<a:documentation>Attributes for \elementref{subparagraph}.</a:documentation>
<ref name="Sectional.attributes"/>
</define>
<define name="subparagraph_model">
<a:documentation>Content model for \elementref{subparagraph}.</a:documentation>
<zeroOrMore>
<ref name="SectionalFrontMatter.class"/>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="subparagraph.body.class"/>
<ref name="BackMatter.class"/>
</choice>
</zeroOrMore>
</define>
<!-- ====================================================================== -->
<define name="slidesequence">
<element name="slidesequence">
<a:documentation>A slidesequence within a slideshow.
Each slide contains a set slides, typically those that are revealed constructively. </a:documentation>
<ref name="slidesequence_attributes"/>
<ref name="slidesequence_model"/>
</element>
</define>
<define name="slidesequence_attributes">
<a:documentation>Attributes for \elementref{slidesequence}.</a:documentation>
<ref name="Sectional.attributes"/>
</define>
<!-- A slidesequence *must* contain a group of slides. -->
<define name="slidesequence_model">
<zeroOrMore>
<ref name="slide"/>
</zeroOrMore>
</define>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<define name="slide">
<element name="slide">
<a:documentation>A Slide within a slideshow, that may or may not be contained within a slidesequence.</a:documentation>
<ref name="slide_attributes"/>
<ref name="slide_model"/>
</element>
</define>
<define name="slide.body.class">
<a:documentation>The content allowable as the main body of a \elementref{slide}.</a:documentation>
<ref name="Para.model"/>
</define>
<define name="slide_attributes">
<a:documentation>Attributes for \elementref{slide}.</a:documentation>
<ref name="Sectional.attributes"/>
<optional>
<attribute name="overlay">
<a:documentation>\attr{overlay} is the number of the current overlay.
This must be specified when part of a slidesequence, else it may be omitted.
Should be unique and rising within a slidesequence.</a:documentation>
</attribute>
</optional>
</define>
<define name="slide_model">
<a:documentation>Content model for \elementref{slide}.</a:documentation>
<zeroOrMore>
<choice>
<ref name="SectionalFrontMatter.class"/>
<ref name="subtitle"/>
</choice>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="slide.body.class"/>
<ref name="BackMatter.class"/>
</choice>
</zeroOrMore>
</define>
<!-- ====================================================================== -->
<define name="sidebar">
<element name="sidebar">
<a:documentation>A Sidebar; a short section-like object that floats outside the main flow.</a:documentation>
<ref name="sidebar_attributes"/>
<ref name="sidebar_model"/>
</element>
</define>
<define name="sidebar.body.class">
<a:documentation>The content allowable as the main body of a \elementref{sidebar}.</a:documentation>
<ref name="Para.model"/>
</define>
<define name="sidebar_attributes">
<a:documentation>Attributes for \elementref{sidebar}.</a:documentation>
<ref name="Sectional.attributes"/>
</define>
<define name="sidebar_model">
<a:documentation>Content model for \elementref{sidebar}.</a:documentation>
<zeroOrMore>
<choice>
<ref name="FrontMatter.class"/>
<ref name="SectionalFrontMatter.class"/>
</choice>
</zeroOrMore>
<zeroOrMore>
<choice>
<ref name="sidebar.body.class"/>
<ref name="BackMatter.class"/>
</choice>
</zeroOrMore>
</define>
<!-- ====================================================================== -->
<define name="appendix">
<element name="appendix">
<a:documentation>An Appendix within a document.</a:documentation>
<ref name="appendix_attributes"/>
<ref name="appendix_model"/>
</element>
</define>
<define name="appendix.body.class">
<a:documentation>The content allowable as the main body of a chapter.</a:documentation>
<choice>
<ref name="Para.model"/>
<ref name="subparagraph"/>
<ref name="paragraph"/>
<ref name="subsubsection"/>
<ref name="subsection"/>
<ref name="section"/>
<ref name="slide"/>
<ref name="sidebar"/>
</choice>
</define>
<define name="appendix_attributes">
<a:documentation>Attributes for \elementref{appendix}.</a:documentation>
<ref name="Sectional.attributes"/>
</define>
<define name="appendix_model">
<a:documentation>Content model for \elementref{appendix}.</a:documentation>
<zeroOrMore>
<ref name="SectionalFrontMatter.class"/>
</zeroOrMore>
<zeroOrMore>
<ref name="appendix.body.class"/>
</zeroOrMore>
</define>
<!-- ====================================================================== -->
<define name="bibliography">
<element name="bibliography">
<a:documentation>A Bibliography within a document.</a:documentation>
<ref name="bibliography_attributes"/>
<ref name="bibliography_model"/>
</element>
</define>
<define name="bibliography.body.class">
<a:documentation>The content allowable as the main body of a chapter.</a:documentation>
<choice>
<ref name="Para.model"/>
<ref name="biblist"/>
</choice>
</define>
<define name="bibliography_attributes">
<a:documentation>Attributes for \elementref{bibliography}.</a:documentation>
<ref name="Sectional.attributes"/>
<ref name="Listing.attributes"/>
<optional>
<attribute name="files">
<a:documentation>the list of bib files used to create the bibliography.</a:documentation>
</attribute>
</optional>
<optional>
<attribute name="bibstyle">
<a:documentation>the bibliographic style to be used to format the bibliography
(presumably a BibTeX bst file name)</a:documentation>
</attribute>
</optional>
<optional>
<attribute name="citestyle">
<a:documentation>the citation style to be used when citing items from the bibliography</a:documentation>
</attribute>
</optional>
<optional>
<attribute name="sort">
<a:documentation>whether the bibliographic items should be sorted or in order of citation.</a:documentation>
<data type="boolean"/>
</attribute>
</optional>
</define>
<define name="bibliography_model">
<a:documentation>Content model for \elementref{bibliography}.</a:documentation>
<zeroOrMore>
<ref name="FrontMatter.class"/>
</zeroOrMore>
<zeroOrMore>
<ref name="SectionalFrontMatter.class"/>
</zeroOrMore>
<zeroOrMore>
<ref name="bibliography.body.class"/>
</zeroOrMore>
</define>
<!-- ====================================================================== -->
<define name="index">
<element name="index">
<a:documentation>An Index within a document.</a:documentation>
<ref name="index_attributes"/>
<ref name="index_model"/>
</element>
</define>
<define name="index.body.class">
<a:documentation>The content allowable as the main body of a chapter.</a:documentation>
<choice>
<ref name="Para.model"/>
<ref name="indexlist"/>
</choice>
</define>
<define name="index_attributes">
<a:documentation>Attributes for \elementref{index}.</a:documentation>
<ref name="Sectional.attributes"/>
<ref name="Listing.attributes"/>
<optional>
<attribute name="role">
<a:documentation>The kind of index (obsolete?)</a:documentation>
</attribute>
</optional>
</define>
<define name="index_model">
<a:documentation>Content model for \elementref{index}.</a:documentation>
<zeroOrMore>
<ref name="SectionalFrontMatter.class"/>
</zeroOrMore>
<zeroOrMore>
<ref name="index.body.class"/>
</zeroOrMore>
</define>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<define name="indexlist">
<element name="indexlist">
<a:documentation>A heirarchical index structure typically generated during postprocessing
from the collection of \elementref{indexmark} in the document
(or document collection).</a:documentation>
<ref name="indexlist_attributes"/>
<ref name="indexlist_model"/>
</element>
</define>
<define name="indexlist_attributes">
<a:documentation>Attributes for \elementref{indexlist}.</a:documentation>
<ref name="Common.attributes"/>
<ref name="ID.attributes"/>
</define>
<define name="indexlist_model">
<a:documentation>Content model for \elementref{indexlist}.</a:documentation>
<zeroOrMore>
<ref name="indexentry"/>
</zeroOrMore>
</define>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<define name="indexentry">
<element name="indexentry">
<a:documentation>An entry in an \elementref{indexlist} consisting of a phrase, references to
points in the document where the phrase was found, and possibly
a nested \elementref{indexlist} represented index levels below this one.</a:documentation>
<ref name="indexentry_attributes"/>
<ref name="indexentry_model"/>
</element>
</define>
<define name="indexentry_attributes">
<a:documentation>Attributes for \elementref{indexentry}.</a:documentation>
<ref name="Common.attributes"/>
<ref name="ID.attributes"/>
</define>
<define name="indexentry_model">
<a:documentation>Content model for \elementref{indexentry}.</a:documentation>
<ref name="indexphrase"/>
<optional>
<ref name="indexrefs"/>
</optional>
<optional>
<ref name="indexlist"/>
</optional>
</define>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<define name="indexrefs">
<element name="indexrefs">
<a:documentation>A container for the references (\elementref{ref}) to where an \elementref{indexphrase} was
encountered in the document. The model is Inline to allow
arbitrary text, in addition to the expected \elementref{ref}'s.</a:documentation>
<ref name="indexrefs_attributes"/>
<ref name="indexrefs_model"/>
</element>
</define>
<define name="indexrefs_attributes">
<a:documentation>Attributes for \elementref{indexrefs}.</a:documentation>
<ref name="Common.attributes"/>
</define>
<define name="indexrefs_model">
<a:documentation>Content model for \elementref{indexrefs}.</a:documentation>
<ref name="Inline.model"/>
</define>
<!-- ====================================================================== -->
<define name="glossary">
<element name="glossary">
<a:documentation>An Glossary within a document.</a:documentation>
<ref name="glossary_attributes"/>
<ref name="glossary_model"/>
</element>
</define>
<define name="glossary.body.class">
<a:documentation>The content allowable as the main body of a chapter.</a:documentation>
<choice>
<ref name="Para.model"/>
<ref name="glossarylist"/>
</choice>
</define>
<define name="glossary_attributes">
<a:documentation>Attributes for \elementref{glossary}.</a:documentation>
<ref name="Sectional.attributes"/>
<ref name="Listing.attributes"/>
<optional>
<attribute name="role">
<a:documentation>The kind of glossary</a:documentation>
</attribute>
</optional>
</define>
<define name="glossary_model">
<a:documentation>Content model for \elementref{glossary}.</a:documentation>
<zeroOrMore>
<ref name="SectionalFrontMatter.class"/>
</zeroOrMore>
<zeroOrMore>
<ref name="glossary.body.class"/>
</zeroOrMore>
</define>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<define name="glossarylist">
<element name="glossarylist">
<a:documentation>A glossary list typically generated during postprocessing
from the collection of \elementref{glossaryphrase}'s in the document
(or document collection).</a:documentation>
<ref name="glossarylist_attributes"/>
<ref name="glossarylist_model"/>
</element>
</define>
<define name="glossarylist_attributes">
<a:documentation>Attributes for \elementref{glossarylist}.</a:documentation>
<ref name="Common.attributes"/>
<ref name="ID.attributes"/>
</define>
<define name="glossarylist_model">
<a:documentation>Content model for \elementref{glossarylist}.
The model allows loose \elementref{glossaryphrase}'s for data definitions,
but they are not displayed as part of the list.</a:documentation>
<zeroOrMore>
<ref name="glossaryentry"/>
</zeroOrMore>
</define>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<define name="glossaryentry">
<element name="glossaryentry">
<a:documentation>An entry in an \elementref{glossarylist} consisting of a phrase,
(one or more, presumably in increasing detail?), possibly a definition,
and references to points in the document where the phrase was found.</a:documentation>
<ref name="glossaryentry_attributes"/>
<ref name="glossaryentry_model"/>
</element>
</define>
<define name="glossaryentry_attributes">
<a:documentation>Attributes for \elementref{glossaryentry}.</a:documentation>
<ref name="Common.attributes"/>
<ref name="ID.attributes"/>
<optional>
<attribute name="role">
<a:documentation>The kind of glossary</a:documentation>
</attribute>
</optional>
<optional>
<attribute name="key">
<a:documentation>a flattened form of the phrase for generating an \attr{ID}.</a:documentation>
</attribute>
</optional>
</define>
<define name="glossaryentry_model">
<a:documentation>Content model for \elementref{glossaryentry}.</a:documentation>
<zeroOrMore>
<ref name="glossaryphrase"/>
</zeroOrMore>
<optional>
<ref name="indexrefs"/>
</optional>
</define>
<!-- ====================================================================== -->
<define name="title">
<element name="title">
<a:documentation>The title of a document, section or similar document structure container.</a:documentation>
<ref name="title_attributes"/>
<ref name="title_model"/>
</element>
</define>
<define name="title_attributes">
<a:documentation>Attributes for \elementref{title}.</a:documentation>
<ref name="Common.attributes"/>
<ref name="Fontable.attributes"/>
<ref name="Colorable.attributes"/>
<ref name="Backgroundable.attributes"/>
</define>
<define name="title_model">
<a:documentation>Content model for \elementref{title},
basically Inline.model with tag included (normally, but not necessarily, tag would come first).</a:documentation>
<zeroOrMore>
<choice>
<ref name="tag"/>
<text/>
<ref name="Inline.class"/>
<ref name="Misc.class"/>
<ref name="Meta.class"/>
</choice>
</zeroOrMore>
</define>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<define name="toctitle">
<element name="toctitle">
<a:documentation>The short form of a title, for use in tables of contents or similar.</a:documentation>
<ref name="toctitle_attributes"/>
<ref name="toctitle_model"/>
</element>
</define>
<define name="toctitle_attributes">
<a:documentation>Attributes for \elementref{toctitle}.</a:documentation>
<ref name="Common.attributes"/>
</define>
<define name="toctitle_model">
<a:documentation>Content model for \elementref{toctitle}.</a:documentation>
<zeroOrMore>
<choice>
<ref name="tag"/>
<text/>
<ref name="Inline.class"/>
<ref name="Misc.class"/>
<ref name="Meta.class"/>
</choice>
</zeroOrMore>
</define>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<define name="subtitle">
<element name="subtitle">
<a:documentation>A subtitle, or secondary title.</a:documentation>
<ref name="subtitle_attributes"/>
<ref name="subtitle_model"/>
</element>
</define>
<define name="subtitle_attributes">
<a:documentation>Attributes for \elementref{subtitle}.</a:documentation>
<ref name="Common.attributes"/>
</define>
<define name="subtitle_model">
<a:documentation>Content model for \elementref{subtitle}.</a:documentation>
<ref name="Inline.model"/>
</define>
<!-- ====================================================================== -->
<define name="creator">
<element name="creator">
<a:documentation>Generalized document creator.</a:documentation>
<ref name="creator_attributes"/>
<ref name="creator_model"/>
</element>
</define>
<define name="Person.class">
<a:documentation>The content allowed in authors, editors, etc.</a:documentation>
<choice>
<ref name="personname"/>
<ref name="contact"/>
</choice>
</define>
<define name="creator_attributes">
<a:documentation>Attributes for \elementref{creator}.</a:documentation>
<ref name="Common.attributes"/>
<ref name="FrontMatter.attributes"/>
<optional>
<attribute name="role">
<a:documentation>indicates the role of the person in creating the docment.
Commonly useful values are specified, but is open-ended to support extension.</a:documentation>
<choice>
<value>author</value>
<value>editor</value>
<value>translator</value>
<value>contributor</value>
<value>translator</value>
<text/>
</choice>
</attribute>
</optional>
<optional>
<attribute name="before">
<a:documentation>specifies opening text to display before this creator in a formatted titlepage.
This would be typically appear outside the author information, like "and".</a:documentation>
</attribute>
</optional>
<optional>
<attribute name="after">
<a:documentation>specifies closing text, punctuation or conjunction to display after
this creator in a formatted titlepage.</a:documentation>
</attribute>
</optional>
</define>
<define name="creator_model">
<a:documentation>Content model for \elementref{creator}.</a:documentation>
<zeroOrMore>
<choice>
<ref name="Person.class"/>
<ref name="Misc.class"/>
</choice>
</zeroOrMore>
</define>
<!--
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NOTE: This should be aligned with Bibname.
-->
<define name="personname">
<element name="personname">
<a:documentation>A person's name.</a:documentation>
<ref name="personname_attributes"/>
<ref name="personname_model"/>
</element>
</define>
<define name="personname_attributes">
<a:documentation>Attributes for \elementref{personname}.</a:documentation>
<ref name="Common.attributes"/>
<ref name="Refable.attributes"/>
</define>
<define name="personname_model">
<a:documentation>Content model for \elementref{personname}.</a:documentation>
<ref name="Inline.model"/>
</define>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<define name="contact">
<element name="contact">
<a:documentation>Generalized contact information for a document creator.
Note that this element can be repeated to give different types
of contact information (using \attr{role}) for the same creator.</a:documentation>
<ref name="contact_attributes"/>
<ref name="contact_model"/>
</element>
</define>
<define name="contact_attributes">
<a:documentation>Attributes for \elementref{contact}.</a:documentation>
<ref name="Common.attributes"/>
<ref name="FrontMatter.attributes"/>
<ref name="Refable.attributes"/>
<optional>
<attribute name="role">
<a:documentation>indicates the type of contact information contained.
Commonly useful values are specified, but is open-ended to support extension.</a:documentation>
<choice>
<value>affiliation</value>
<value>address</value>
<value>current_address</value>
<value>email</value>
<value>url</value>
<value>thanks</value>
<value>dedicatory</value>
<value>orcid</value>
<text/>
</choice>
</attribute>
</optional>
</define>
<define name="contact_model">
<a:documentation>Content model for \elementref{contact}.</a:documentation>
<ref name="Inline.model"/>
</define>
<!-- ====================================================================== -->
<define name="date">
<element name="date">
<a:documentation>Generalized document date.
Note that this element can be repeated to give the dates
of different events (using \attr{role}) for the same document.</a:documentation>
<ref name="date_attributes"/>
<ref name="date_model"/>
</element>
</define>
<define name="date_attributes">
<a:documentation>Attributes for \elementref{date}.</a:documentation>
<ref name="Common.attributes"/>
<ref name="FrontMatter.attributes"/>
<optional>
<attribute name="role">
<a:documentation>indicates the relevance of the date to the document.
Commonly useful values are specified, but is open-ended to support extension.</a:documentation>
<choice>
<value>creation</value>
<value>conversion</value>
<value>posted</value>
<value>received</value>
<value>revised</value>
<value>accepted</value>
<text/>
</choice>
</attribute>
</optional>
</define>
<define name="date_model">
<a:documentation>Content model for \elementref{date}.</a:documentation>
<ref name="Inline.model"/>
</define>
<!-- ====================================================================== -->
<define name="abstract">
<element name="abstract">
<a:documentation>A document abstract.</a:documentation>
<ref name="abstract_attributes"/>
<ref name="abstract_model"/>
</element>
</define>
<define name="abstract_attributes">
<a:documentation>Attributes for \elementref{abstract}.</a:documentation>
<ref name="Common.attributes"/>
<ref name="FrontMatter.attributes"/>
</define>
<define name="abstract_model">
<a:documentation>Content model for \elementref{abstract}.</a:documentation>
<ref name="Block.model"/>
</define>
<!-- ====================================================================== -->
<define name="acknowledgements">
<element name="acknowledgements">
<a:documentation>Acknowledgements for the document.</a:documentation>
<ref name="acknowledgements_attributes"/>
<ref name="acknowledgements_model"/>
</element>
</define>
<define name="acknowledgements_attributes">
<a:documentation>Attributes for \elementref{acknowledgements}.</a:documentation>
<ref name="Common.attributes"/>
<ref name="FrontMatter.attributes"/>
</define>
<define name="acknowledgements_model">
<a:documentation>Content model for \elementref{acknowledgements}.</a:documentation>
<ref name="Inline.model"/>
</define>
<!-- ====================================================================== -->
<define name="keywords">
<element name="keywords">
<a:documentation>Keywords for the document. The content is freeform.</a:documentation>
<ref name="keywords_attributes"/>
<ref name="keywords_model"/>
</element>
</define>
<define name="keywords_attributes">
<a:documentation>Attributes for \elementref{keywords}.</a:documentation>
<ref name="Common.attributes"/>
<ref name="FrontMatter.attributes"/>
</define>
<define name="keywords_model">
<a:documentation>Content model for \elementref{keywords}.</a:documentation>
<ref name="Inline.model"/>
</define>
<!-- ====================================================================== -->
<define name="classification">
<element name="classification">
<a:documentation>A classification of the document.</a:documentation>
<ref name="classification_attributes"/>
<ref name="classification_model"/>
</element>
</define>
<define name="classification_attributes">
<a:documentation>Attributes for \elementref{classification}.</a:documentation>
<ref name="Common.attributes"/>
<ref name="FrontMatter.attributes"/>
<optional>
<attribute name="scheme">
<a:documentation>indicates what classification scheme was used.</a:documentation>
</attribute>
</optional>
</define>
<define name="classification_model">
<a:documentation>Content model for \elementref{classification}.</a:documentation>
<ref name="Inline.model"/>
</define>
<!--
======================================================================
Fallback
-->
<define name="titlepage">
<element name="titlepage">
<a:documentation>block of random stuff marked as a titlepage</a:documentation>
<ref name="titlepage_attributes"/>
<ref name="titlepage_model"/>
</element>
</define>
<define name="titlepage_attributes">
<a:documentation>Attributes for \elementref{titlepage}.</a:documentation>
<ref name="Sectional.attributes"/>
</define>
<define name="titlepage_model">
<a:documentation>Content model for \elementref{titlepage}.</a:documentation>
<zeroOrMore>
<choice>
<ref name="FrontMatter.class"/>
<ref name="SectionalFrontMatter.class"/>
<ref name="Block.class"/>
</choice>
</zeroOrMore>
</define>
<!--
======================================================================
Table(s) of Contents
-->
<define name="TOC">
<element name="TOC">
<a:documentation>(Generalized) Table Of Contents, represents table of contents
as well as list of figures, tables, and other such things.
This will generally be placed by a \cs{tableofcontents} command
and filled in by postprocessing.</a:documentation>
<ref name="TOC_attributes"/>
<ref name="TOC_model"/>
</element>
</define>
<define name="TOC_attributes">
<a:documentation>Attributes for \elementref{TOC}.</a:documentation>
<ref name="Common.attributes"/>
<ref name="FrontMatter.attributes"/>
<optional>
<attribute name="lists">
<a:documentation>indicates the kind of lists; space separated names of lists like "toc","lof", etc.</a:documentation>
</attribute>
</optional>
<optional>
<attribute name="select">
<a:documentation>indicates what kind of document elements to list, in the form of
one or more tags such as \texttt{ltx:chapter} separated by \texttt{|}
(suggestive of an xpath expression).</a:documentation>
</attribute>
</optional>
<optional>
<attribute name="scope">
<a:documentation>indicates the scope set of elements to include:
\texttt{current} (default) is all in current document;
\texttt{global} indicates all in the document set;
otherwise an xml:id</a:documentation>
<choice>
<value>current</value>
<value>global</value>
<text/>
</choice>
</attribute>
</optional>
<optional>
<attribute name="show">
<a:documentation>indicates what things to show in each entry</a:documentation>
</attribute>
</optional>
<optional>
<attribute name="format">
<a:documentation>indicates how to format the listing</a:documentation>
<choice>
<value>normal</value>
<value>short</value>
<value>veryshort</value>
<text/>
</choice>
</attribute>
</optional>
</define>
<define name="TOC_model">
<a:documentation>Content model for \elementref{TOC}.</a:documentation>
<optional>
<ref name="title"/>
</optional>
<optional>
<ref name="toclist"/>
</optional>
</define>
<define name="toclist">
<element name="toclist">
<a:documentation>The actual table of contents list, filled in.</a:documentation>
<ref name="toclist_attributes"/>
<ref name="toclist_model"/>
</element>
</define>
<define name="toclist_attributes">
<a:documentation>Attributes for \elementref{toclist}.</a:documentation>
<ref name="Common.attributes"/>
</define>
<define name="toclist_model">
<a:documentation>Content model for \elementref{toclist}.</a:documentation>
<zeroOrMore>
<ref name="tocentry"/>
</zeroOrMore>
</define>
<define name="tocentry">
<element name="tocentry">
<a:documentation>An entry in a \elementref{toclist}.</a:documentation>
<ref name="tocentry_attributes"/>
<ref name="tocentry_model"/>
</element>
</define>
<define name="tocentry_attributes">
<a:documentation>Attributes for \elementref{tocentry}.</a:documentation>
<ref name="Common.attributes"/>
</define>
<define name="tocentry_model">
<a:documentation>Content model for \elementref{tocentry}.</a:documentation>
<zeroOrMore>
<choice>
<ref name="ref"/>
<ref name="toclist"/>
</choice>
</zeroOrMore>
</define>
<!-- ====================================================================== -->
<define name="Sectional.attributes">
<a:documentation>Attributes shared by all sectional elements</a:documentation>
<ref name="Common.attributes"/>
<ref name="Labelled.attributes"/>
<ref name="Backgroundable.attributes"/>
<optional>
<attribute name="rdf-prefixes">
<a:documentation>Stores RDFa prefixes as space separated pairs,
with the pairs being prefix and url separated by a colon;
this should only appear at the root element.</a:documentation>
</attribute>
</optional>
</define>
<define name="FrontMatter.attributes">
<a:documentation>Attributes for other elements that can be used in frontmatter.</a:documentation>
<optional>
<attribute name="name">
<a:documentation>Records the name of the type of object this is to be used when composing the
presentation. The value of this attribute is often set by language localization packages.</a:documentation>
</attribute>
</optional>
</define>
<define name="SectionalFrontMatter.class">
<a:documentation>The content allowed for the front matter of each sectional unit,
and the document.</a:documentation>
<choice>
<optional>
<ref name="tags"/>
</optional>
<ref name="title"/>
<ref name="toctitle"/>
<ref name="creator"/>
</choice>
</define>
<define name="FrontMatter.class">
<a:documentation>The content allowed (in addition to \patternref{SectionalFrontMatter.class})
for the front matter of a document.</a:documentation>
<choice>
<ref name="subtitle"/>
<ref name="date"/>
<ref name="abstract"/>
<ref name="acknowledgements"/>
<ref name="keywords"/>
<ref name="classification"/>
</choice>
</define>
<define name="BackMatter.class">
<a:documentation>The content allowed a the end of a document.
Note that this includes random trailing Block and Para material,
to support articles with figures and similar data appearing `at end'.</a:documentation>
<choice>
<ref name="bibliography"/>
<ref name="appendix"/>
<ref name="index"/>
<ref name="glossary"/>
<ref name="acknowledgements"/>
<ref name="Para.class"/>
<ref name="Meta.class"/>
</choice>
</define>
<define name="Para.class" combine="choice">
<ref name="TOC"/>
</define>
</grammar>
<!-- ====================================================================== -->