diff options
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.rng | 1039 |
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> +<!-- ====================================================================== --> |