summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmtxt.rnc
diff options
context:
space:
mode:
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.rnc105
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