diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/schema/rng/omdocmtxt.rng')
-rw-r--r-- | Master/texmf-dist/source/latex/stex/schema/rng/omdocmtxt.rng | 502 |
1 files changed, 502 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocmtxt.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocmtxt.rng new file mode 100644 index 00000000000..77d51f527a6 --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocmtxt.rng @@ -0,0 +1,502 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module MTXT + $Id: omdocmtxt.rnc 8967 2011-09-02 12:41:47Z kohlhase $ + $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocmtxt.rnc $ + See the documentation and examples at http://www.omdoc.org + Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL) +--> +<grammar ns="http://omdoc.org/ns" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <define name="omdoc.class" combine="interleave"> + <zeroOrMore> + <ref name="omtext"/> + </zeroOrMore> + </define> + <!-- attribute for is a whitespace-separated list of URIrefs --> + <define name="for.attrib"> + <attribute name="for"> + <ref name="omdocrefs"/> + </attribute> + </define> + <define name="from.attrib"> + <attribute name="from"> + <ref name="omdocref"/> + </attribute> + </define> + <define name="mc.class"> + <interleave> + <ref name="metadata.class"/> + <zeroOrMore> + <ref name="CMP"/> + </zeroOrMore> + </interleave> + </define> + <define name="mcf.class"> + <interleave> + <ref name="mc.class"/> + <zeroOrMore> + <ref name="FMP"/> + </zeroOrMore> + </interleave> + </define> + <define name="rsttype"> + <choice> + <value>abstract</value> + <value>introduction</value> + <value>annote</value> + <value>conclusion</value> + <value>thesis</value> + <value>comment</value> + <value>antithesis</value> + <value>elaboration</value> + <value>motivation</value> + <value>evidence</value> + <value>note</value> + <value>warning</value> + <value>question</value> + <value>answer</value> + <value>transition</value> + </choice> + </define> + <define name="statementtype"> + <choice> + <value>axiom</value> + <value>definition</value> + <value>example</value> + <value>proof</value> + <value>derive</value> + <value>hypothesis</value> + <value>notation</value> + </choice> + </define> + <define name="assertiontype"> + <choice> + <value>assertion</value> + <value>theorem</value> + <value>lemma</value> + <value>corollary</value> + <value>proposition</value> + <value>conjecture</value> + <value>false-conjecture</value> + <value>obligation</value> + <value>postulate</value> + <value>formula</value> + <value>assumption</value> + <value>rule</value> + </choice> + </define> + <define name="verbalizes.attrib"> + <attribute name="verbalizes"> + <ref name="omdocrefs"/> + </attribute> + </define> + <define name="omtext.type.attrib"> + <attribute name="type"> + <choice> + <ref name="rsttype"/> + <ref name="statementtype"/> + <ref name="assertiontype"/> + <data type="anyURI"/> + </choice> + </attribute> + </define> + <define name="index.attrib"> + <attribute name="index"> + <data type="NMTOKEN"/> + </attribute> + </define> + <define name="parallel.attribs"> + <interleave> + <optional> + <ref name="verbalizes.attrib"/> + </optional> + <optional> + <ref name="index.attrib"/> + </optional> + <optional> + <ref name="omtext.type.attrib"/> + </optional> + </interleave> + </define> + <define name="omtext.attribs"> + <interleave> + <ref name="toplevel.attribs"/> + <optional> + <ref name="omtext.type.attrib"/> + </optional> + <optional> + <attribute name="for"> + <ref name="omdocref"/> + </attribute> + </optional> + <optional> + <attribute name="from"> + <ref name="omdocref"/> + </attribute> + </optional> + <optional> + <ref name="verbalizes.attrib"/> + </optional> + </interleave> + </define> + <define name="omtext.model"> + <ref name="mcf.class"/> + </define> + <define name="omtext"> + <element name="omtext"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="omtext.attribs"/> + <ref name="omtext.model"/> + </interleave> + </choice> + </element> + </define> + <define name="CMP.attribs"> + <interleave> + <ref name="xml.lang.attrib"/> + <ref name="id.attribs"/> + </interleave> + </define> + <define name="CMP.model"> + <ref name="plike.class"/> + </define> + <define name="CMP"> + <element name="CMP"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="CMP.attribs"/> + <ref name="CMP.model"/> + </interleave> + </choice> + </element> + </define> + <define name="term.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="role"/> + </optional> + <optional> + <attribute name="cdbase"> + <data type="anyURI"/> + </attribute> + </optional> + <attribute name="cd"> + <data type="NCName"/> + </attribute> + <attribute name="name"> + <data type="NCName"/> + </attribute> + </interleave> + </define> + <define name="term.model"> + <ref name="inline.model"/> + </define> + <define name="term"> + <element name="term"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="term.attribs"/> + <ref name="term.model"/> + </interleave> + </choice> + </element> + </define> + <define name="FMP.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="logic"> + <data type="NMTOKEN"/> + </attribute> + </optional> + </interleave> + </define> + <define name="FMP.model"> + <choice> + <group> + <zeroOrMore> + <ref name="assumption"/> + </zeroOrMore> + <zeroOrMore> + <ref name="conclusion"/> + </zeroOrMore> + </group> + <ref name="mobj"/> + </choice> + </define> + <define name="FMP"> + <element name="FMP"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="FMP.attribs"/> + <ref name="FMP.model"/> + </interleave> + </choice> + </element> + </define> + <define name="assumption.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <attribute name="inductive"> + <choice> + <value>yes</value> + <value>no</value> + </choice> + </attribute> + </optional> + </interleave> + </define> + <define name="assumption.model"> + <ref name="mobj"/> + </define> + <define name="assumption"> + <element name="assumption"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="assumption.attribs"/> + <ref name="assumption.model"/> + </interleave> + </choice> + </element> + </define> + <define name="conclusion.attribs"> + <ref name="id.attribs"/> + </define> + <define name="conclusion.model"> + <ref name="mobj"/> + </define> + <define name="conclusion"> + <element name="conclusion"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="conclusion.attribs"/> + <ref name="conclusion.model"/> + </interleave> + </choice> + </element> + </define> + <define name="note.attribs"> + <interleave> + <ref name="id.attribs"/> + <optional> + <ref name="for.attrib"/> + </optional> + <ref name="parallel.attribs"/> + <optional> + <attribute name="type"> + <data type="NMTOKEN"/> + </attribute> + </optional> + </interleave> + </define> + <define name="note.model"> + <ref name="inline.model"/> + </define> + <define name="note"> + <element name="note"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="note.attribs"/> + <ref name="note.model"/> + </interleave> + </choice> + </element> + </define> + <!-- index --> + <define name="index.att"> + <interleave> + <optional> + <attribute name="sort-by"/> + </optional> + <optional> + <attribute name="see"> + <ref name="omdocrefs"/> + </attribute> + </optional> + <optional> + <attribute name="seealso"> + <ref name="omdocrefs"/> + </attribute> + </optional> + <optional> + <attribute name="links"> + <list> + <zeroOrMore> + <data type="anyURI"/> + </zeroOrMore> + </list> + </attribute> + </optional> + </interleave> + </define> + <define name="idx.attribs"> + <choice> + <ref name="id.attribs"/> + <ref name="xref.attrib"/> + </choice> + </define> + <define name="idx.model"> + <interleave> + <optional> + <ref name="idt"/> + </optional> + <oneOrMore> + <ref name="ide"/> + </oneOrMore> + </interleave> + </define> + <define name="idx"> + <element name="idx"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="idx.attribs"/> + <ref name="idx.model"/> + </interleave> + </choice> + </element> + </define> + <define name="ide.attribs"> + <choice> + <interleave> + <ref name="id.attribs"/> + <ref name="index.att"/> + <ref name="index.attrib"/> + </interleave> + <ref name="xref.attrib"/> + </choice> + </define> + <define name="ide.model"> + <zeroOrMore> + <ref name="idp"/> + </zeroOrMore> + </define> + <define name="ide"> + <element name="ide"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="ide.attribs"/> + <ref name="ide.model"/> + </interleave> + </choice> + </element> + </define> + <define name="idt.attribs"> + <choice> + <ref name="id.attribs"/> + <ref name="xref.attrib"/> + </choice> + </define> + <define name="idt.model"> + <ref name="inline.model"/> + </define> + <define name="idt"> + <element name="idt"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="idt.attribs"/> + <ref name="idt.model"/> + </interleave> + </choice> + </element> + </define> + <define name="idp.attribs"> + <ref name="index.att"/> + </define> + <define name="idp.model"> + <ref name="inline.model"/> + </define> + <define name="idp"> + <element name="idp"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="idp.attribs"/> + <ref name="idp.model"/> + </interleave> + </choice> + </element> + </define> + <!-- citations --> + <define name="citation.attribs"> + <interleave> + <ref name="id.attribs"/> + <attribute name="bibrefs"/> + </interleave> + </define> + <define name="citation.model"> + <empty/> + </define> + <define name="citation"> + <element name="citation"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="citation.attribs"/> + <ref name="citation.model"/> + </interleave> + </choice> + </element> + </define> + <!-- citations --> + <define name="oref.attribs"> + <interleave> + <ref name="id.attribs"/> + <attribute name="href"> + <data type="anyURI"/> + </attribute> + </interleave> + </define> + <define name="oref.model"> + <empty/> + </define> + <define name="oref"> + <element name="oref"> + <choice> + <ref name="tref"/> + <interleave> + <ref name="oref.attribs"/> + <ref name="oref.model"/> + </interleave> + </choice> + </element> + </define> + <!-- what can go into a mathematical text --> + <define name="op.class"> + <interleave> + <zeroOrMore> + <ref name="term"/> + </zeroOrMore> + <zeroOrMore> + <ref name="mobj"/> + </zeroOrMore> + <zeroOrMore> + <ref name="note"/> + </zeroOrMore> + <zeroOrMore> + <ref name="idx"/> + </zeroOrMore> + <zeroOrMore> + <ref name="citation"/> + </zeroOrMore> + <zeroOrMore> + <ref name="oref"/> + </zeroOrMore> + </interleave> + </define> + <define name="inline.class" combine="interleave"> + <ref name="op.class"/> + </define> +</grammar> |