summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-structure.rng
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-structure.rng')
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-structure.rng1039
1 files changed, 1039 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-structure.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-structure.rng
new file mode 100644
index 00000000000..dae5c993de1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-structure.rng
@@ -0,0 +1,1039 @@
+<?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> #_# |
+ | http://dlmf.nist.gov/LaTeXML/ (o o) |
+ \=========================================================ooo==U==ooo=/
+-->
+<grammar ns="http://dlmf.nist.gov/LaTeXML" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- ====================================================================== -->
+ <define name="document">
+ <element name="document">
+ <a:documentation>The document root.</a:documentation>
+ <interleave>
+ <ref name="document_attributes"/>
+ <ref name="document_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="document.body.class">
+ <a:documentation>The content allowable as the main body of the document.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="paragraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsubsection"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsection"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="section"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="chapter"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="part"/>
+ </zeroOrMore>
+ </interleave>
+ </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>
+ <!--
+ (FrontMatter.class & SectionalFrontMatter.class & Meta.class & titlepage*),
+ document.body.class,
+ -->
+ <ref name="BackMatter.class"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="part">
+ <element name="part">
+ <a:documentation>A part within a document.</a:documentation>
+ <interleave>
+ <ref name="part_attributes"/>
+ <ref name="part_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="part.body.class">
+ <a:documentation>The content allowable as the main body of a part.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="chapter"/>
+ </zeroOrMore>
+ </interleave>
+ </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>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="part.body.class"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="chapter">
+ <element name="chapter">
+ <a:documentation>A Chapter within a document.</a:documentation>
+ <interleave>
+ <ref name="chapter_attributes"/>
+ <ref name="chapter_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="chapter.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="subparagraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="paragraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsubsection"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsection"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="section"/>
+ </zeroOrMore>
+ </interleave>
+ </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>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="chapter.body.class"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="section">
+ <element name="section">
+ <a:documentation>A Section within a document.</a:documentation>
+ <interleave>
+ <ref name="section_attributes"/>
+ <ref name="section_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="section.body.class">
+ <a:documentation>The content allowable as the main body of a section.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="subparagraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="paragraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsubsection"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsection"/>
+ </zeroOrMore>
+ </interleave>
+ </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>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="section.body.class"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="subsection">
+ <element name="subsection">
+ <a:documentation>A Subsection within a document.</a:documentation>
+ <interleave>
+ <ref name="subsection_attributes"/>
+ <ref name="subsection_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="subsection.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="subparagraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="paragraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsubsection"/>
+ </zeroOrMore>
+ </interleave>
+ </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>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="subsection.body.class"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="subsubsection">
+ <element name="subsubsection">
+ <a:documentation>A Subsubsection within a document.</a:documentation>
+ <interleave>
+ <ref name="subsubsection_attributes"/>
+ <ref name="subsubsection_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="subsubsection.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="subparagraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="paragraph"/>
+ </zeroOrMore>
+ </interleave>
+ </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>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="subsubsection.body.class"/>
+ </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>
+ <interleave>
+ <ref name="paragraph_attributes"/>
+ <ref name="paragraph_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="paragraph.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="subparagraph"/>
+ </zeroOrMore>
+ </interleave>
+ </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>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="paragraph.body.class"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="subparagraph">
+ <element name="subparagraph">
+ <a:documentation>A Subparagraph within a document.</a:documentation>
+ <interleave>
+ <ref name="subparagraph_attributes"/>
+ <ref name="subparagraph_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="subparagraph.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <ref name="Para.model"/>
+ </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>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="subparagraph.body.class"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="appendix">
+ <element name="appendix">
+ <a:documentation>An Appendix within a document.</a:documentation>
+ <interleave>
+ <ref name="appendix_attributes"/>
+ <ref name="appendix_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="appendix.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="subparagraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="paragraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsubsection"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsection"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="section"/>
+ </zeroOrMore>
+ </interleave>
+ </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>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="appendix.body.class"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="bibliography">
+ <element name="bibliography">
+ <a:documentation>A Bibliography within a document.</a:documentation>
+ <interleave>
+ <ref name="bibliography_attributes"/>
+ <ref name="bibliography_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bibliography.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <ref name="biblist"/>
+ </interleave>
+ </define>
+ <define name="bibliography_attributes">
+ <a:documentation>Attributes for \elementref{bibliography}.</a:documentation>
+ <interleave>
+ <ref name="Sectional.attributes"/>
+ <optional>
+ <attribute name="files">
+ <a:documentation>the list of bib files used to create the bibliograph.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="bibliography_model">
+ <a:documentation>Content model for \elementref{bibliography}.</a:documentation>
+ <ref name="FrontMatter.class"/>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="bibliography.body.class"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="index">
+ <element name="index">
+ <a:documentation>An Index within a document.</a:documentation>
+ <interleave>
+ <ref name="index_attributes"/>
+ <ref name="index_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="index.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="indexlist"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="index_attributes">
+ <a:documentation>Attributes for \elementref{index}.</a:documentation>
+ <ref name="Sectional.attributes"/>
+ </define>
+ <define name="index_model">
+ <a:documentation>Content model for \elementref{index}.</a:documentation>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="index.body.class"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="indexlist">
+ <element name="indexlist">
+ <a:documentation>A heirarchical index generated. Typically generated during postprocessing
+from the collection of \elementref{indexmark} in the document
+(or document collection).</a:documentation>
+ <interleave>
+ <ref name="indexlist_attributes"/>
+ <ref name="indexlist_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="indexlist_attributes">
+ <a:documentation>Attributes for \elementref{indexlist}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="indexentry_attributes"/>
+ <ref name="indexentry_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="indexentry_attributes">
+ <a:documentation>Attributes for \elementref{indexentry}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="indexrefs_attributes"/>
+ <ref name="indexrefs_model"/>
+ </interleave>
+ </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="title">
+ <element name="title">
+ <a:documentation>The title of a document, section or similar document structure container.</a:documentation>
+ <interleave>
+ <ref name="title_attributes"/>
+ <ref name="title_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="title_attributes">
+ <a:documentation>Attributes for \elementref{title}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="font">
+ <a:documentation>The font prefered for the title.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="size">
+ <a:documentation>Indicates the text size to use. (See \elementref{text})</a:documentation>
+ <choice>
+ <value>Huge</value>
+ <value>huge</value>
+ <value>LARGE</value>
+ <value>Large</value>
+ <value>large</value>
+ <value>normal</value>
+ <value>small</value>
+ <value>footnote</value>
+ <value>tiny</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="color">
+ <a:documentation>the color to use; any CSS compatible color specification.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </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>
+ <interleave>
+ <zeroOrMore>
+ <ref name="tag"/>
+ </zeroOrMore>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="toctitle_attributes"/>
+ <ref name="toctitle_model"/>
+ </interleave>
+ </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>
+ <interleave>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ <zeroOrMore>
+ <ref name="tag"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="subtitle">
+ <element name="subtitle">
+ <a:documentation>A subtitle, or secondary title.</a:documentation>
+ <interleave>
+ <ref name="subtitle_attributes"/>
+ <ref name="subtitle_model"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="creator_attributes"/>
+ <ref name="creator_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="Person.class">
+ <a:documentation>The content allowed in authors, editors, etc.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="personname"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="contact"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="creator_attributes">
+ <a:documentation>Attributes for \elementref{creator}.</a:documentation>
+ <interleave>
+ <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>
+ </interleave>
+ </define>
+ <define name="creator_model">
+ <a:documentation>Content model for \elementref{creator}.</a:documentation>
+ <interleave>
+ <ref name="Person.class"/>
+ <ref name="Misc.class"/>
+ </interleave>
+ </define>
+ <!--
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ NOTE: This should be aligned with Bibname.
+ -->
+ <define name="personname">
+ <element name="personname">
+ <a:documentation>A person's name.</a:documentation>
+ <interleave>
+ <ref name="personname_attributes"/>
+ <ref name="personname_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="personname_attributes">
+ <a:documentation>Attributes for \elementref{personname}.</a:documentation>
+ <ref name="Common.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>
+ <interleave>
+ <ref name="contact_attributes"/>
+ <ref name="contact_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="contact_attributes">
+ <a:documentation>Attributes for \elementref{contact}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.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>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="date_attributes"/>
+ <ref name="date_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="date_attributes">
+ <a:documentation>Attributes for \elementref{date}.</a:documentation>
+ <interleave>
+ <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>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="abstract_attributes"/>
+ <ref name="abstract_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="abstract_attributes">
+ <a:documentation>Attributes for \elementref{abstract}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="acknowledgements_attributes"/>
+ <ref name="acknowledgements_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="acknowledgements_attributes">
+ <a:documentation>Attributes for \elementref{acknowledgements}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="keywords_attributes"/>
+ <ref name="keywords_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="keywords_attributes">
+ <a:documentation>Attributes for \elementref{keywords}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="classification_attributes"/>
+ <ref name="classification_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="classification_attributes">
+ <a:documentation>Attributes for \elementref{classification}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ <optional>
+ <attribute name="scheme">
+ <a:documentation>indicates what classification scheme was used.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="titlepage_attributes"/>
+ <ref name="titlepage_model"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="FrontMatter.class"/>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="Block.class"/>
+ </interleave>
+ </define>
+ <!--
+ ======================================================================
+ TOC & Navigation; generally added by postprocessing
+ -->
+ <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>
+ <interleave>
+ <ref name="TOC_attributes"/>
+ <ref name="TOC_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="TOC_attributes">
+ <a:documentation>Attributes for \elementref{TOC}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ <optional>
+ <attribute name="role">
+ <a:documentation>indicates the kind of list</a:documentation>
+ <choice>
+ <value>contents</value>
+ <value>figures</value>
+ <value>tables</value>
+ <text/>
+ </choice>
+ </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="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>
+ </interleave>
+ </define>
+ <define name="TOC_model">
+ <a:documentation>Content model for \elementref{TOC}.</a:documentation>
+ <optional>
+ <ref name="toclist"/>
+ </optional>
+ </define>
+ <define name="toclist">
+ <element name="toclist">
+ <a:documentation>The actual table of contents list, filled in.</a:documentation>
+ <interleave>
+ <ref name="toclist_attributes"/>
+ <ref name="toclist_model"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="tocentry_attributes"/>
+ <ref name="tocentry_model"/>
+ </interleave>
+ </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>
+ <interleave>
+ <zeroOrMore>
+ <ref name="ref"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="toclist"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="navigation">
+ <element name="navigation">
+ <a:documentation>Records navigation cross-referencing information, links from the
+current page or document to related ones, up, down, previous, next,
+and so forth; these relations are recorded in the \attr{class} attribute
+of the \elementref{ref}.
+
+\emph{Really?}; overload the class attribute!?
+This should be \attr{role}!
+Could also use a navigation name text or something?</a:documentation>
+ <interleave>
+ <ref name="navigation_attributes"/>
+ <ref name="navigation_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="navigation_attributes">
+ <a:documentation>Attributes for \elementref{navigation}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="navigation_model">
+ <a:documentation>Content model for \elementref{navigation}.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="ref"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="TOC"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="Sectional.attributes">
+ <a:documentation>Attributes shared by all sectional elements</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ </interleave>
+ </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>
+ <interleave>
+ <zeroOrMore>
+ <ref name="title"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="toctitle"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="creator"/>
+ </zeroOrMore>
+ </interleave>
+ </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>
+ <interleave>
+ <zeroOrMore>
+ <ref name="subtitle"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="date"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="abstract"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="acknowledgements"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="keywords"/>
+ </zeroOrMore>
+ <ref name="classification"/>
+ </interleave>
+ </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>
+ <interleave>
+ <zeroOrMore>
+ <ref name="bibliography"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="appendix"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="index"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="acknowledgements"/>
+ </zeroOrMore>
+ <ref name="Para.class"/>
+ <ref name="Meta.class"/>
+ </interleave>
+ </define>
+ <define name="Para.class" combine="interleave">
+ <interleave>
+ <zeroOrMore>
+ <ref name="TOC"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="navigation"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+</grammar>
+<!-- ====================================================================== -->