diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rng')
-rw-r--r-- | Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rng | 479 |
1 files changed, 479 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rng new file mode 100644 index 00000000000..52721622c6b --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rng @@ -0,0 +1,479 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + /=====================================================================\ + | LaTeXML-block.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" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="Block.class" combine="choice"> + <a:documentation>The block module defines the following `physical' block elements.</a:documentation> + <choice> + <ref name="p"/> + <ref name="equation"/> + <ref name="equationgroup"/> + <ref name="quote"/> + <ref name="block"/> + <ref name="listingblock"/> + <ref name="itemize"/> + <ref name="enumerate"/> + <ref name="description"/> + </choice> + </define> + <define name="Misc.class" combine="choice"> + <a:documentation>Additionally, it defines these miscellaneous elements that can appear +in both inline and block contexts.</a:documentation> + <choice> + <ref name="inline-block"/> + <ref name="verbatim"/> + <ref name="break"/> + <ref name="graphics"/> + <ref name="svg"/> + </choice> + </define> + <define name="EquationMeta.class"> + <a:documentation>Additional Metadata that can be present in equations.</a:documentation> + <ref name="constraint"/> + </define> + <!-- ====================================================================== --> + <define name="p"> + <element name="p"> + <a:documentation>A physical paragraph.</a:documentation> + <ref name="p_attributes"/> + <ref name="p_model"/> + </element> + </define> + <define name="p_attributes"> + <a:documentation>Attributes for \elementref{p}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <ref name="Positionable.attributes"/> + </define> + <define name="p_model"> + <a:documentation>Content model for \elementref{p}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="constraint"> + <element name="constraint"> + <a:documentation>A constraint upon an equation.</a:documentation> + <ref name="constraint_attributes"/> + <ref name="constraint_model"/> + </element> + </define> + <define name="constraint_attributes"> + <a:documentation>Attributes for \elementref{constraint}.</a:documentation> + <optional> + <attribute name="hidden"> + <data type="boolean"/> + </attribute> + </optional> + </define> + <define name="constraint_model"> + <a:documentation>Content model for \elementref{constraint}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="equation"> + <element name="equation"> + <a:documentation>An Equation. The model is just Inline which includes \elementref{Math}, +the main expected ingredient. +However, other things can end up in display math, too, so we use Inline. +Note that tabular is here only because it's a common, if misguided, idiom; +the processor will lift such elements out of math, when possible</a:documentation> + <ref name="equation_attributes"/> + <ref name="equation_model"/> + </element> + </define> + <define name="equation_attributes"> + <a:documentation>Attributes for \elementref{equation}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </define> + <define name="equation_model"> + <a:documentation>Content model for \elementref{equation}.</a:documentation> + <zeroOrMore> + <choice> + <ref name="Math"/> + <ref name="MathFork"/> + <ref name="text"/> + <ref name="tabular"/> + <ref name="Meta.class"/> + <ref name="EquationMeta.class"/> + </choice> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="equationgroup"> + <element name="equationgroup"> + <a:documentation>A group of equations, perhaps aligned (Though this is nowhere recorded).</a:documentation> + <ref name="equationgroup_attributes"/> + <ref name="equationgroup_model"/> + </element> + </define> + <define name="equationgroup_attributes"> + <a:documentation>Attributes for \elementref{equationgroup}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </define> + <define name="equationgroup_model"> + <a:documentation>Content model for \elementref{equationgroup}.</a:documentation> + <zeroOrMore> + <choice> + <ref name="equationgroup"/> + <ref name="equation"/> + <ref name="p"/> + <ref name="Meta.class"/> + <ref name="EquationMeta.class"/> + </choice> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="MathFork"> + <element name="MathFork"> + <a:documentation>A wrapper for Math that provides alternative, +but typically less semantically meaningful, +formatted representations. +The first child is the meaningful form, +the extra children provide formatted forms, +for example being table rows or cells arising from an eqnarray.</a:documentation> + <ref name="MathFork_attributes"/> + <ref name="MathFork_model"/> + </element> + </define> + <define name="MathFork_attributes"> + <a:documentation>Attributes for \elementref{MathFork}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="MathFork_model"> + <a:documentation>Content model for \elementref{MathFork}.</a:documentation> + <ref name="Math"/> + <zeroOrMore> + <ref name="MathBranch"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="MathBranch"> + <element name="MathBranch"> + <a:documentation>A container for an alternatively formatted math representation.</a:documentation> + <ref name="MathBranch_attributes"/> + <ref name="MathBranch_model"/> + </element> + </define> + <define name="MathBranch_attributes"> + <a:documentation>Attributes for \elementref{MathBranch}.</a:documentation> + <ref name="Common.attributes"/> + <optional> + <attribute name="format"/> + </optional> + </define> + <define name="MathBranch_model"> + <a:documentation>Content model for \elementref{MathBranch}.</a:documentation> + <zeroOrMore> + <choice> + <ref name="Math"/> + <ref name="tr"/> + <ref name="td"/> + </choice> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="quote"> + <element name="quote"> + <a:documentation>A quotation.</a:documentation> + <ref name="quote_attributes"/> + <ref name="quote_model"/> + </element> + </define> + <define name="quote_attributes"> + <a:documentation>Attributes for \elementref{quote}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </define> + <define name="quote_model"> + <a:documentation>Content model for \elementref{quote}.</a:documentation> + <ref name="Block.model"/> + </define> + <!-- + This was Inline.model, but since quotes can be arbitrarily complex + including equations, etc, not just verse, should be Block.model, perhaps even Para.model? + --> + <!-- ====================================================================== --> + <define name="block"> + <element name="block"> + <a:documentation>A generic block (fallback).</a:documentation> + <ref name="block_attributes"/> + <ref name="block_model"/> + </element> + </define> + <define name="block_attributes"> + <a:documentation>Attributes for \elementref{block}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <ref name="Positionable.attributes"/> + </define> + <define name="block_model"> + <a:documentation>Content model for \elementref{block}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="listingblock"> + <element name="listingblock"> + <a:documentation>An in-block Listing, without caption</a:documentation> + <ref name="listingblock_attributes"/> + <ref name="listingblock_model"/> + </element> + </define> + <define name="listingblock_attributes"> + <a:documentation>Attributes for \elementref{listingblock}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </define> + <define name="listingblock_model"> + <a:documentation>Content model for \elementref{listingblock}.</a:documentation> + <zeroOrMore> + <ref name="Block.model"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="break"> + <element name="break"> + <a:documentation>A forced line break.</a:documentation> + <ref name="break_attributes"/> + <ref name="break_model"/> + </element> + </define> + <define name="break_attributes"> + <a:documentation>Attributes for \elementref{break}.</a:documentation> + <ref name="Common.attributes"/> + </define> + <define name="break_model"> + <a:documentation>Content model for \elementref{break}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="inline-block"> + <element name="inline-block"> + <a:documentation>An inline block. Actually, can appear in inline or block mode, but +typesets its contents as a block.</a:documentation> + <ref name="inline-block_attributes"/> + <ref name="inline-block_model"/> + </element> + </define> + <define name="inline-block_attributes"> + <a:documentation>Attributes for \elementref{inline-block}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <ref name="Positionable.attributes"/> + </define> + <define name="inline-block_model"> + <a:documentation>Content model for \elementref{inline-block}.</a:documentation> + <ref name="Block.model"/> + </define> + <!-- ====================================================================== --> + <define name="verbatim"> + <element name="verbatim"> + <a:documentation>Verbatim content</a:documentation> + <ref name="verbatim_attributes"/> + <ref name="verbatim_model"/> + </element> + </define> + <define name="verbatim_attributes"> + <a:documentation>Attributes for \elementref{verbatim}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <optional> + <attribute name="font"> + <a:documentation>the font to use; generally typewriter.</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> + </define> + <define name="verbatim_model"> + <a:documentation>Content model for \elementref{verbatim}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="itemize"> + <element name="itemize"> + <a:documentation>An itemized list.</a:documentation> + <ref name="itemize_attributes"/> + <ref name="itemize_model"/> + </element> + </define> + <define name="itemize_attributes"> + <a:documentation>Attributes for \elementref{itemize}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </define> + <define name="itemize_model"> + <a:documentation>Content model for \elementref{itemize}.</a:documentation> + <zeroOrMore> + <ref name="item"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="enumerate"> + <element name="enumerate"> + <a:documentation>An enumerated list.</a:documentation> + <ref name="enumerate_attributes"/> + <ref name="enumerate_model"/> + </element> + </define> + <define name="enumerate_attributes"> + <a:documentation>Attributes for \elementref{enumerate}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </define> + <define name="enumerate_model"> + <a:documentation>Content model for \elementref{enumerate}.</a:documentation> + <zeroOrMore> + <ref name="item"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="description"> + <element name="description"> + <a:documentation>A description list. The \elementref{item}s within are expected to have a \elementref{tag} +which represents the term being described in each \elementref{item}.</a:documentation> + <ref name="description_attributes"/> + <ref name="description_model"/> + </element> + </define> + <define name="description_attributes"> + <a:documentation>Attributes for \elementref{description}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + </define> + <define name="description_model"> + <a:documentation>Content model for \elementref{description}.</a:documentation> + <zeroOrMore> + <ref name="item"/> + </zeroOrMore> + </define> + <!-- ====================================================================== --> + <define name="item"> + <element name="item"> + <a:documentation>An item within a list.</a:documentation> + <ref name="item_attributes"/> + <ref name="item_model"/> + </element> + </define> + <define name="item_attributes"> + <a:documentation>Attributes for \elementref{item}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="Labelled.attributes"/> + </define> + <define name="item_model"> + <a:documentation>Content model for \elementref{item}.</a:documentation> + <optional> + <ref name="tag"/> + </optional> + <ref name="Para.model"/> + </define> + <!-- ====================================================================== --> + <define name="tag"> + <element name="tag"> + <a:documentation>A tag within an item indicating the term or bullet for a given item.</a:documentation> + <ref name="tag_attributes"/> + <ref name="tag_model"/> + </element> + </define> + <define name="tag_attributes"> + <a:documentation>Attributes for \elementref{tag}.</a:documentation> + <ref name="Common.attributes"/> + <optional> + <attribute name="open"> + <a:documentation>specifies an open delimiters used to display the tag.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="close"> + <a:documentation>specifies an close delimiters used to display the tag.</a:documentation> + </attribute> + </optional> + </define> + <define name="tag_model"> + <a:documentation>Content model for \elementref{tag}.</a:documentation> + <ref name="Inline.model"/> + </define> + <!-- ====================================================================== --> + <define name="graphics"> + <element name="graphics"> + <a:documentation>A graphical insertion of an external file. </a:documentation> + <ref name="graphics_attributes"/> + <ref name="graphics_model"/> + </element> + </define> + <define name="graphics_attributes"> + <a:documentation>Attributes for \elementref{graphics}.</a:documentation> + <ref name="Common.attributes"/> + <ref name="ID.attributes"/> + <ref name="Imageable.attributes"/> + <optional> + <attribute name="graphic"> + <a:documentation>the path to the graphics file. This is the (often minimally specified) path +to a graphics file omitting the type extension. Once resolved to a specific +image file, the \attr{imagesrc} (from Imageable.attributes) is used.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="candidates"> + <a:documentation>a comma separated list of candidate graphics files that could be used to +for \attr{graphic}. A post-processor or application may choose from these, +or may make its own selection or synthesis to implement the graphic for a given target.</a:documentation> + </attribute> + </optional> + <optional> + <attribute name="options"> + <a:documentation>an encoding of the scaling and positioning options +to be used in processing the graphic.</a:documentation> + </attribute> + </optional> + </define> + <define name="graphics_model"> + <a:documentation>Content model for \elementref{graphics}.</a:documentation> + <empty/> + </define> + <!-- ====================================================================== --> + <define name="svg"> + <grammar> + <a:documentation>An SVG (Scalable Vector Graphics) object +[eventually must adapt to put LaTeXML objects in foreignObject]</a:documentation> + <include href="svg11.rng"> + <define name="SVG.foreignObject.content"> + <parentRef name="Flow.model"/> + </define> + </include> + </grammar> + </define> +</grammar> +<!-- ====================================================================== --> |