diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmtxt.rnc')
-rw-r--r-- | Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmtxt.rnc | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmtxt.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmtxt.rnc new file mode 100644 index 00000000000..e4130acab1c --- /dev/null +++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmtxt.rnc @@ -0,0 +1,105 @@ +# 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) + +default namespace omdoc = "http://omdoc.org/ns" + +omdoc.class &= omtext* + +#attribute for is a whitespace-separated list of URIrefs +for.attrib = attribute for {omdocrefs} +from.attrib = attribute from {omdocref} +mc.class = metadata.class & CMP* +mcf.class = mc.class & FMP* + +rsttype = "abstract" | "introduction" | "annote" | + "conclusion" | "thesis" | "comment" | "antithesis" | + "elaboration" | "motivation" | "evidence" | "note" | + "warning" | "question" | "answer" | "transition" + +statementtype = "axiom" | "definition" | "example" | "proof" | + "derive" | "hypothesis" | "notation" + +assertiontype = "assertion" | "theorem" | "lemma" | "corollary" | "proposition" | + "conjecture" | "false-conjecture" | "obligation" | + "postulate" | "formula" | "assumption" | "rule" + +verbalizes.attrib = attribute verbalizes {omdocrefs} +omtext.type.attrib = attribute type {rsttype | statementtype | assertiontype | xsd:anyURI} +index.attrib = attribute index {xsd:NMTOKEN} +parallel.attribs = verbalizes.attrib? & index.attrib? & omtext.type.attrib? + +omtext.attribs = toplevel.attribs & + omtext.type.attrib? & + attribute for {omdocref}? & + attribute from {omdocref}? & + verbalizes.attrib? +omtext.model = mcf.class +omtext = element omtext {tref|(omtext.attribs & omtext.model)} + +CMP.attribs = xml.lang.attrib & id.attribs +CMP.model = plike.class +CMP = element CMP {tref|(CMP.attribs & CMP.model)} + +term.attribs = id.attribs & + attribute role {text}? & + attribute cdbase {xsd:anyURI}? & + attribute cd {xsd:NCName} & + attribute name {xsd:NCName} +term.model = inline.model +term = element term {tref|(term.attribs & term.model)} + +FMP.attribs = id.attribs & attribute logic {xsd:NMTOKEN}? +FMP.model = (assumption*,conclusion*)|mobj +FMP = element FMP {tref|(FMP.attribs & FMP.model)} + +assumption.attribs = id.attribs & + attribute inductive {"yes" | "no"}? +assumption.model = mobj +assumption = element assumption {tref|(assumption.attribs & assumption.model)} + +conclusion.attribs = id.attribs +conclusion.model = mobj +conclusion = element conclusion {tref|(conclusion.attribs & conclusion.model)} + +note.attribs = id.attribs & for.attrib? & parallel.attribs & attribute type {xsd:NMTOKEN}? +note.model = inline.model +note = element note {tref|(note.attribs & note.model)} + +# index +index.att = attribute sort-by {text}? & + attribute see {omdocrefs}? & + attribute seealso {omdocrefs}? & + attribute links {list {xsd:anyURI*}}? + +idx.attribs = id.attribs|xref.attrib +idx.model = idt? & ide+ +idx = element idx {tref|(idx.attribs & idx.model)} + +ide.attribs = (id.attribs & index.att & index.attrib) | xref.attrib +ide.model = idp* +ide = element ide {tref|(ide.attribs & ide.model)} + +idt.attribs = id.attribs|xref.attrib +idt.model = inline.model +idt = element idt {tref|(idt.attribs & idt.model)} + +idp.attribs = index.att +idp.model = inline.model +idp = element idp {tref|(idp.attribs & idp.model)} + +# citations +citation.attribs = id.attribs & attribute bibrefs {text} +citation.model = empty +citation = element citation {tref|(citation.attribs & citation.model)} + +# citations +oref.attribs = id.attribs & attribute href {xsd:anyURI} +oref.model = empty +oref = element oref {tref|(oref.attribs & oref.model)} + +# what can go into a mathematical text +op.class = \term* & mobj* & note* & idx* & citation* & oref* +inline.class &=op.class |