summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/stex/schema/rng/omdoc+ltxml.rng
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/schema/rng/omdoc+ltxml.rng')
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdoc+ltxml.rng436
1 files changed, 0 insertions, 436 deletions
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdoc+ltxml.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc+ltxml.rng
deleted file mode 100644
index 04b411a61dd..00000000000
--- a/Master/texmf-dist/source/latex/stex/schema/rng/omdoc+ltxml.rng
+++ /dev/null
@@ -1,436 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- A RelaxNG for Open Mathematical documents (OMDoc 1.2) with LaTeXML
- $Id: omdoc+ltxml.rnc 1884 2011-09-09 12:45:49Z kohlhase $
- $HeadURL: https://svn.kwarc.info/repos/stex/trunk/schema/rnc/omdoc+ltxml.rnc $
- See the documentation and examples at http://omdoc.org
- (c) 2010 Michael Kohlhase, released under the GNU Public License (GPL)
--->
-<grammar ns="http://omdoc.org/ns" xmlns:omdoc="http://omdoc.org/ns" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
- <include href="omdoc.rng">
- <a:documentation>we include the OMDoc Schema, but we allow the sectioning elements defined below
-as document structuring elements as well. </a:documentation>
- <define name="docstruct.class">
- <interleave>
- <zeroOrMore>
- <ref name="omgroup"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="lechapter"/>
- </zeroOrMore>
- </interleave>
- </define>
- </include>
- <define name="mobj" combine="choice">
- <a:documentation>we extend the Math Objects by the ones introduced by LaTeXML</a:documentation>
- <grammar>
- <include href="LaTeXML-common.rng"/>
- <include href="LaTeXML-math.rng"/>
- <start>
- <ref name="Math"/>
- </start>
- </grammar>
- </define>
- <define name="render.class" combine="choice">
- <a:documentation>we extend the model of rendering elements by XMath, and we extend the XMath there, so
-that we can cope with piecewise and friends at the intermediate level. </a:documentation>
- <grammar>
- <include href="LaTeXML.rng">
- <!--
- XMath.class &= XMRow* & XMCell*
- XMRow_model &= element XMTok {attribute role {xsd:string {pattern = "ID"}}}
- XMArray_model &= element XMTok {attribute role {xsd:string {pattern = "ID"}}}
- -->
- <define name="XMTok_attributes" combine="interleave">
- <parentRef name="ntn.attrib"/>
- </define>
- <start>
- <choice>
- <ref name="Math"/>
- <ref name="text"/>
- </choice>
- </start>
- </include>
- </grammar>
- </define>
- <define name="inline.class" combine="interleave">
- <a:documentation>we extend the core structural classes of OMDoc with various LaTeXML counterparts. These
-are usful, since sTeX defers to LaTeXML to generate these, and in a later pass (the
-XSLTs) replaces them by their OMDoc counterparts. The rules below, have another
-purpose: in the OMDoc schema (which is the primary one here, we use the &amp; operator for
-making classes, whereas the LaTeXML schema uses the less flexible | operator. Therefore
-we need to construct conjunctive extensions in start macro. </a:documentation>
- <grammar>
- <include href="LaTeXML.rng">
- <define name="Common.attributes" combine="interleave">
- <parentRef name="id.attribs"/>
- </define>
- <define name="Inline.class">
- <parentRef name="inline.class"/>
- </define>
- <define name="text_model">
- <parentRef name="inline.model"/>
- </define>
- <start>
- <interleave>
- <zeroOrMore>
- <ref name="bibref"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="break"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="ref"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="cite"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="text"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="emph"/>
- </zeroOrMore>
- </interleave>
- </start>
- </include>
- </grammar>
- </define>
- <define name="plike.class" combine="interleave">
- <grammar>
- <include href="LaTeXML.rng">
- <define name="Common.attributes">
- <parentRef name="id.attribs"/>
- </define>
- <define name="Inline.class">
- <parentRef name="inline.class"/>
- </define>
- <define name="Block.class">
- <parentRef name="plike.class"/>
- </define>
- <!-- Flow.class = parent flow.class -->
- <define name="text_model">
- <parentRef name="inline.model"/>
- </define>
- <define name="listingblock_model">
- <parentRef name="plike.class"/>
- </define>
- <start>
- <interleave>
- <zeroOrMore>
- <ref name="p"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="tabular"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="equation"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="equationgroup"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="figure"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="graphics"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="verbatim"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="listingblock"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="listing"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="itemize"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="enumerate"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="description"/>
- </zeroOrMore>
- </interleave>
- </start>
- </include>
- </grammar>
- </define>
- <define name="tikz">
- <element name="tikz">
- <text/>
- </element>
- </define>
- <define name="omdoc.class" combine="interleave">
- <a:documentation>we allow various LaTeXML elements as a top-level elements,
-they will be converted by XSLT later</a:documentation>
- <grammar>
- <include href="LaTeXML.rng">
- <define name="Common.attributes" combine="interleave">
- <parentRef name="id.attribs"/>
- </define>
- <define name="Inline.class">
- <parentRef name="inline.class"/>
- </define>
- <define name="Block.class">
- <parentRef name="plike.class"/>
- </define>
- <define name="Para.class">
- <parentRef name="omdoc.class"/>
- </define>
- <!-- Flow.class = parent flow.class -->
- <define name="text_model">
- <parentRef name="inline.model"/>
- </define>
- <define name="listingblock_model">
- <parentRef name="plike.class"/>
- </define>
- <start>
- <interleave>
- <zeroOrMore>
- <ref name="para"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="figure"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="table"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="listing"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="itemize"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="enumerate"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="description"/>
- </zeroOrMore>
- </interleave>
- </start>
- </include>
- </grammar>
- </define>
- <define name="backmatter" combine="interleave">
- <grammar>
- <include href="LaTeXML.rng">
- <define name="Common.attributes" combine="interleave">
- <parentRef name="id.attribs"/>
- </define>
- <define name="Inline.class">
- <parentRef name="inline.class"/>
- </define>
- <define name="Block.class">
- <parentRef name="plike.class"/>
- </define>
- <define name="Para.class">
- <parentRef name="omdoc.class"/>
- </define>
- <!-- Flow.class = parent flow.class -->
- <define name="text_model">
- <parentRef name="inline.model"/>
- </define>
- <define name="listingblock_model">
- <parentRef name="plike.class"/>
- </define>
- <start>
- <zeroOrMore>
- <ref name="bibliography"/>
- </zeroOrMore>
- </start>
- </include>
- </grammar>
- </define>
- <define name="lesubparagraph">
- <a:documentation>we prepare some nested content models for sectioning elements</a:documentation>
- <zeroOrMore>
- <ref name="subparagraph"/>
- </zeroOrMore>
- </define>
- <define name="leparagraph">
- <interleave>
- <zeroOrMore>
- <ref name="paragraph"/>
- </zeroOrMore>
- <ref name="lesubparagraph"/>
- </interleave>
- </define>
- <define name="lesubsubsection">
- <interleave>
- <zeroOrMore>
- <ref name="subsubsection"/>
- </zeroOrMore>
- <ref name="leparagraph"/>
- </interleave>
- </define>
- <define name="lesubsection">
- <interleave>
- <zeroOrMore>
- <ref name="subsection"/>
- </zeroOrMore>
- <ref name="lesubsubsection"/>
- </interleave>
- </define>
- <define name="lesection">
- <interleave>
- <zeroOrMore>
- <ref name="section"/>
- </zeroOrMore>
- <ref name="lesubsection"/>
- </interleave>
- </define>
- <define name="lechapter">
- <interleave>
- <zeroOrMore>
- <ref name="chapter"/>
- </zeroOrMore>
- <ref name="lesection"/>
- </interleave>
- </define>
- <define name="theory.chapter">
- <a:documentation>they need to be able to nest theories transparently</a:documentation>
- <element name="theory">
- <interleave>
- <ref name="theory.attribs"/>
- <ref name="metadata.class"/>
- <ref name="omdoc.class"/>
- <ref name="constitutive.class"/>
- <ref name="lesection"/>
- </interleave>
- </element>
- </define>
- <define name="theory.section">
- <element name="theory">
- <interleave>
- <ref name="theory.attribs"/>
- <ref name="metadata.class"/>
- <ref name="omdoc.class"/>
- <ref name="constitutive.class"/>
- <ref name="lesubsection"/>
- </interleave>
- </element>
- </define>
- <define name="theory.subsection">
- <element name="theory">
- <interleave>
- <ref name="theory.attribs"/>
- <ref name="metadata.class"/>
- <ref name="omdoc.class"/>
- <ref name="constitutive.class"/>
- <ref name="lesubsubsection"/>
- </interleave>
- </element>
- </define>
- <define name="theory.subsubsection">
- <element name="theory">
- <interleave>
- <ref name="theory.attribs"/>
- <ref name="metadata.class"/>
- <ref name="omdoc.class"/>
- <ref name="constitutive.class"/>
- <ref name="leparagraph"/>
- </interleave>
- </element>
- </define>
- <define name="theory.paragraph">
- <element name="theory">
- <interleave>
- <ref name="theory.attribs"/>
- <ref name="metadata.class"/>
- <ref name="omdoc.class"/>
- <ref name="constitutive.class"/>
- <ref name="lesubparagraph"/>
- </interleave>
- </element>
- </define>
- <define name="theory.subparagraph">
- <element name="theory">
- <interleave>
- <ref name="theory.attribs"/>
- <ref name="metadata.class"/>
- <ref name="omdoc.class"/>
- <ref name="constitutive.class"/>
- </interleave>
- </element>
- </define>
- <define name="sectional.attribs">
- <ref name="id.attribs"/>
- </define>
- <define name="chapter">
- <a:documentation>and now the elemens themselves</a:documentation>
- <element name="chapter">
- <interleave>
- <ref name="sectional.attribs"/>
- <ref name="metadata.class"/>
- <ref name="omdoc.class"/>
- <zeroOrMore>
- <ref name="theory.chapter"/>
- </zeroOrMore>
- </interleave>
- </element>
- </define>
- <define name="section">
- <element name="section">
- <interleave>
- <ref name="sectional.attribs"/>
- <ref name="metadata.class"/>
- <ref name="omdoc.class"/>
- <zeroOrMore>
- <ref name="theory.section"/>
- </zeroOrMore>
- </interleave>
- </element>
- </define>
- <define name="subsection">
- <element name="subsection">
- <interleave>
- <ref name="sectional.attribs"/>
- <ref name="metadata.class"/>
- <ref name="omdoc.class"/>
- <zeroOrMore>
- <ref name="theory.subsection"/>
- </zeroOrMore>
- </interleave>
- </element>
- </define>
- <define name="subsubsection">
- <element name="subsubsection">
- <interleave>
- <ref name="sectional.attribs"/>
- <ref name="metadata.class"/>
- <ref name="omdoc.class"/>
- <zeroOrMore>
- <ref name="theory.subsubsection"/>
- </zeroOrMore>
- </interleave>
- </element>
- </define>
- <define name="paragraph">
- <element name="paragraph">
- <interleave>
- <ref name="sectional.attribs"/>
- <ref name="metadata.class"/>
- <ref name="omdoc.class"/>
- <zeroOrMore>
- <ref name="theory.paragraph"/>
- </zeroOrMore>
- </interleave>
- </element>
- </define>
- <define name="subparagraph">
- <element name="subparagraph">
- <interleave>
- <ref name="sectional.attribs"/>
- <ref name="metadata.class"/>
- <ref name="omdoc.class"/>
- <zeroOrMore>
- <ref name="theory.subparagraph"/>
- </zeroOrMore>
- </interleave>
- </element>
- </define>
-</grammar>