summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/stex/schema/rng
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/schema/rng')
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-bib.rng900
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-block.rng589
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-common.rng235
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-inline.rng514
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-math.rng613
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-para.rng370
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-picture.rng594
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-structure.rng1039
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-tabular.rng214
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML.rng62
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/MARCRelators.rng190
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/Makefile23
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/creativecommons.rng390
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/dublincore.rng164
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/mathml3-cds-pragmatic.rng2899
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/mathml3-common.rng257
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/mathml3-content.rng1543
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/mathml3-pragmatic.rng290
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/mathml3-presentation.rng2265
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/mathml3-strict-content.rng203
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/mathml3-strict.rng267
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/mathml3.rng23
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/metadata.rng217
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdoc+ltxml.rng436
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdoc-common.rng317
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdoc-xhtml.rng28
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdoc.rng29
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdocadt.rng229
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdocattribs.rng257
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdoccc.rng25
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdoccth.rng228
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdocdc.rng121
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdocdg.rng92
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdocdoc.rng240
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdocext.rng330
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdocmeta.rng220
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdocmobj.rng77
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdocmtxt.rng502
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdocpf.rng212
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdocpres.rng386
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdocquiz.rng176
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdocrt.rng100
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/omdocst.rng634
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/openmath2.rng253
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/openmath3.rng247
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/owl.rng193
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/owl2+ltxml.rng32
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/owl2-xml.rng1321
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng809
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/pxhtml.rng19
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/statements.rng279
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-animation.rng364
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-animevents-attrib.rng50
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-clip.rng110
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-filter.rng779
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-font.rng490
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-graphics-attrib.rng64
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-structure.rng565
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-text.rng236
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-clip.rng29
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-conditional.rng105
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-container-attrib.rng39
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-core-attrib.rng61
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-cursor.rng81
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-datatypes.rng158
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-docevents-attrib.rng73
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-extensibility.rng104
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-extresources-attrib.rng33
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-filter.rng468
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-font.rng123
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-gradient.rng233
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-graphevents-attrib.rng106
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-graphics-attrib.rng83
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-hyperlink.rng92
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-image.rng91
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-marker.rng143
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-mask.rng129
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-opacity-attrib.rng49
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-paint-attrib.rng180
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-pattern.rng125
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-profile.rng76
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-script.rng51
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-shape.rng395
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-structure.rng78
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-style.rng101
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-text.rng572
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-view.rng70
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-viewport-attrib.rng53
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg-xlink-attrib.rng173
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/svg11.rng188
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-applet.rng47
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-attribs.rng58
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-base.rng19
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-basic-table.rng146
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-bdo.rng37
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-datatypes.rng93
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-hypertext.rng63
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-image.rng40
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-inlstyle.rng9
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-link.rng52
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-list.rng95
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-object.rng82
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-param.rng32
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-table.rng263
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rng/xhtml-text.rng307
105 files changed, 29916 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-bib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-bib.rng
new file mode 100644
index 00000000000..b44216f22d0
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-bib.rng
@@ -0,0 +1,900 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ /=====================================================================\
+ | LaTeXML-bib.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">
+ <!-- Would be nice to use somebody elses already-developed DTD... -->
+ <!--
+ Some notes:
+ There're two classes of things here:
+ bibentry : which would be the translation of a .bib file
+ bibitem : which would be the formatted items in a latex bibliography environment.
+ This latter has typically lost much information during formatting.
+ -->
+ <define name="biblist">
+ <element name="biblist">
+ <a:documentation>A list of bibliographic \elementref{bibentry} or \elementref{bibitem}.</a:documentation>
+ <interleave>
+ <ref name="biblist_attributes"/>
+ <ref name="biblist_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="biblist_attributes">
+ <a:documentation>Attributes for \elementref{biblist}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="biblist_model">
+ <a:documentation>Content model for \elementref{biblist}.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="bibentry"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bibitem"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <!--
+ ======================================================================
+ bibitem is the formatted, presentation, form, typically information has been lost;
+ it basically contains a biblabel and several bibblock's
+ ======================================================================
+ -->
+ <define name="bibitem">
+ <element name="bibitem">
+ <a:documentation>A formatted bibliographic item, typically as written explicit
+in a LaTeX article. This has generally lost most of the semantics
+present in the BibTeX data.</a:documentation>
+ <interleave>
+ <ref name="bibitem_attributes"/>
+ <ref name="bibitem_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bibitem_attributes">
+ <a:documentation>Attributes for \elementref{bibitem}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ <optional>
+ <attribute name="key">
+ <a:documentation>The unique key for this object; this key is referenced by the
+\attr{bibrefs} attribute of \elementref{bibref}.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="bibitem_model">
+ <a:documentation>Content model for \elementref{bibitem}.</a:documentation>
+ <zeroOrMore>
+ <ref name="bibtag"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bibblock"/>
+ </zeroOrMore>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bibtag">
+ <element name="bibtag">
+ <a:documentation>Various formatted tags for bibliographic items.
+Typically @role refnum is shown in the displayed bibliography,
+as the beginning of the item. Other roles
+(eg. number, authors, fullauthors, year, title) record formatted
+info to be used for filling in citations (\elementref{bibref}).</a:documentation>
+ <interleave>
+ <ref name="bibtag_attributes"/>
+ <ref name="bibtag_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bibtag_attributes">
+ <a:documentation>Attributes for \elementref{bibtag}.</a:documentation>
+ <interleave>
+ <optional>
+ <attribute name="role">
+ <choice>
+ <value>number</value>
+ <value>authors</value>
+ <value>fullauthors</value>
+ <value>key</value>
+ <value>year</value>
+ <value>bibtype</value>
+ <value>title</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="open">
+ <a:documentation>A delimiter for formatting the refnum in the bibliography</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="close">
+ <a:documentation>A delimiter for formatting the refnum in the bibliography</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="bibtag_model">
+ <a:documentation>Content model for \elementref{bibtag}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bibblock">
+ <element name="bibblock">
+ <a:documentation>A block of data appearing within a \elementref{bibitem}.</a:documentation>
+ <interleave>
+ <ref name="bibblock_attributes"/>
+ <ref name="bibblock_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bibblock_attributes">
+ <a:documentation>Attributes for \elementref{bibblock}.</a:documentation>
+ <empty/>
+ </define>
+ <define name="bibblock_model">
+ <a:documentation>Content model for \elementref{bibblock}.</a:documentation>
+ <ref name="Flow.model"/>
+ </define>
+ <!--
+ bibblock's model was this:
+ Inline.model }
+ -->
+ <!--
+ ======================================================================
+ bibentry is the (more) semantic form, typically extracted from bibtex.
+ ======================================================================
+ -->
+ <define name="bibentry">
+ <element name="bibentry">
+ <a:documentation>Semantic representation of a bibliography entry,
+typically resulting from parsing BibTeX</a:documentation>
+ <interleave>
+ <ref name="bibentry_attributes"/>
+ <ref name="bibentry_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bibentry.type">
+ <choice>
+ <value>article</value>
+ <value>book</value>
+ <value>booklet</value>
+ <value>conference</value>
+ <value>inbook</value>
+ <value>incollection</value>
+ <value>inproceedings</value>
+ <value>manual</value>
+ <value>mastersthesis</value>
+ <value>misc</value>
+ <value>phdthesis</value>
+ <value>proceedings</value>
+ <value>techreport</value>
+ <value>unpublished</value>
+ <value>report</value>
+ <value>thesis</value>
+ <value>website</value>
+ <value>software</value>
+ <value>periodical</value>
+ <value>collection</value>
+ <value>collection.article</value>
+ <value>proceedings.article</value>
+ <text/>
+ </choice>
+ </define>
+ <define name="bibentry_attributes">
+ <a:documentation>Attributes for \elementref{bibentry}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ <attribute name="key">
+ <a:documentation>The unique key for this object; this key is referenced by the
+\attr{bibrefs} attribute of \elementref{bibref}.</a:documentation>
+ </attribute>
+ <attribute name="type">
+ <a:documentation>The type of the referenced object. The values are a superset of
+those types recognized by BibTeX, but is also open-ended for extensibility.</a:documentation>
+ <ref name="bibentry.type"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="bibentry_model">
+ <a:documentation>Content model for \elementref{bibentry}.</a:documentation>
+ <ref name="Bibentry.class"/>
+ </define>
+ <!-- ====================================================================== -->
+ <!-- Name related information -->
+ <define name="bib-name">
+ <element name="bib-name">
+ <a:documentation>Name of some participant in creating a bibliographic entry.</a:documentation>
+ <interleave>
+ <ref name="bib-name_attributes"/>
+ <ref name="bib-name_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-name_attributes">
+ <a:documentation>Attributes for \elementref{bib-name}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="role">
+ <a:documentation>The role that this participant played in creating the entry.</a:documentation>
+ <choice>
+ <value>author</value>
+ <value>editor</value>
+ <value>translator</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="bib-name_model">
+ <a:documentation>Content model for \elementref{bib-name}.</a:documentation>
+ <ref name="Bibname.model"/>
+ </define>
+ <define name="Bibname.model">
+ <a:documentation>The content model of the bibliographic name fields (\elementref{bib-name})</a:documentation>
+ <interleave>
+ <ref name="surname"/>
+ <optional>
+ <ref name="givenname"/>
+ </optional>
+ <optional>
+ <ref name="lineage"/>
+ </optional>
+ </interleave>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="surname">
+ <element name="surname">
+ <a:documentation>Surname of a participant (\elementref{bib-name}).</a:documentation>
+ <interleave>
+ <ref name="surname_attributes"/>
+ <ref name="surname_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="surname_attributes">
+ <a:documentation>Attributes for \elementref{surname}.</a:documentation>
+ <empty/>
+ </define>
+ <define name="surname_model">
+ <a:documentation>Content model for \elementref{surname}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="givenname">
+ <element name="givenname">
+ <a:documentation>Given name of a participant (\elementref{bib-name}).</a:documentation>
+ <interleave>
+ <ref name="givenname_attributes"/>
+ <ref name="givenname_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="givenname_attributes">
+ <a:documentation>Attributes for \elementref{givenname}.</a:documentation>
+ <empty/>
+ </define>
+ <define name="givenname_model">
+ <a:documentation>Content model for \elementref{givenname}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="lineage">
+ <element name="lineage">
+ <a:documentation>Lineage of a participant (\elementref{bib-name}), eg. Jr. or similar.</a:documentation>
+ <interleave>
+ <ref name="lineage_attributes"/>
+ <ref name="lineage_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="lineage_attributes">
+ <a:documentation>Attributes for \elementref{lineage}.</a:documentation>
+ <empty/>
+ </define>
+ <define name="lineage_model">
+ <a:documentation>Content model for \elementref{lineage}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <!-- Title related information -->
+ <define name="bib-title">
+ <element name="bib-title">
+ <a:documentation>Title of a bibliographic entry.</a:documentation>
+ <interleave>
+ <ref name="bib-title_attributes"/>
+ <ref name="bib-title_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-title_attributes">
+ <a:documentation>Attributes for \elementref{bib-title}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="bib-title_model">
+ <a:documentation>Content model for \elementref{bib-title}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-subtitle">
+ <element name="bib-subtitle">
+ <a:documentation>Subtitle of a bibliographic entry.</a:documentation>
+ <interleave>
+ <ref name="bib-subtitle_attributes"/>
+ <ref name="bib-subtitle_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-subtitle_attributes">
+ <a:documentation>Attributes for \elementref{bib-subtitle}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="bib-subtitle_model">
+ <a:documentation>Content model for \elementref{bib-subtitle}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-key">
+ <element name="bib-key">
+ <a:documentation>Unique key of a bibliographic entry.</a:documentation>
+ <interleave>
+ <ref name="bib-key_attributes"/>
+ <ref name="bib-key_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-key_attributes">
+ <a:documentation>Attributes for \elementref{bib-key}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="bib-key_model">
+ <a:documentation>Content model for \elementref{bib-key}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-type">
+ <element name="bib-type">
+ <a:documentation>Type of a bibliographic entry.</a:documentation>
+ <interleave>
+ <ref name="bib-type_attributes"/>
+ <ref name="bib-type_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-type_attributes">
+ <a:documentation>Attributes for \elementref{bib-type}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="bib-type_model">
+ <a:documentation>Content model for \elementref{bib-type}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-date">
+ <element name="bib-date">
+ <a:documentation>Date of a bibliographic entry.</a:documentation>
+ <interleave>
+ <ref name="bib-date_attributes"/>
+ <ref name="bib-date_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-date_attributes">
+ <a:documentation>Attributes for \elementref{bib-date}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="role">
+ <a:documentation>characterizes what happened on the given date</a:documentation>
+ <choice>
+ <value>publication</value>
+ <value>copyright</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="bib-date_model">
+ <a:documentation>Content model for \elementref{bib-date}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-publisher">
+ <element name="bib-publisher">
+ <a:documentation>Publisher of a bibliographic entry.</a:documentation>
+ <interleave>
+ <ref name="bib-publisher_attributes"/>
+ <ref name="bib-publisher_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-publisher_attributes">
+ <a:documentation>Attributes for \elementref{bib-publisher}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="bib-publisher_model">
+ <a:documentation>Content model for \elementref{bib-publisher}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-organization">
+ <element name="bib-organization">
+ <a:documentation>Organization responsible for a bibliographic entry.</a:documentation>
+ <interleave>
+ <ref name="bib-organization_attributes"/>
+ <ref name="bib-organization_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-organization_attributes">
+ <a:documentation>Attributes for \elementref{bib-organization}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="bib-organization_model">
+ <a:documentation>Content model for \elementref{bib-organization}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-place">
+ <element name="bib-place">
+ <a:documentation>Location of publisher or event</a:documentation>
+ <interleave>
+ <ref name="bib-place_attributes"/>
+ <ref name="bib-place_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-place_attributes">
+ <a:documentation>Attributes for \elementref{bib-place}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="bib-place_model">
+ <a:documentation>Content model for \elementref{bib-place}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-related">
+ <element name="bib-related">
+ <a:documentation>A Related bibliographic object, such as the book or journal
+that the current item is related to.</a:documentation>
+ <interleave>
+ <ref name="bib-related_attributes"/>
+ <ref name="bib-related_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-related_attributes">
+ <a:documentation>Attributes for \elementref{bib-related}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="type">
+ <a:documentation>The type of this related entry.</a:documentation>
+ <ref name="bibentry.type"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="role">
+ <a:documentation>How this object relates to the containing object.
+Particularly important is \attrval{host} which indicates that
+the outer object is a part of this object.</a:documentation>
+ <choice>
+ <value>host</value>
+ <value>event</value>
+ <value>original</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="bibrefs">
+ <a:documentation>If the bibrefs attribute is given, it is the key of another object in the bibliography,
+and this element should be empty; otherwise the object should be described by
+the content of the element.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="bib-related_model">
+ <a:documentation>Content model for \elementref{bib-related}.</a:documentation>
+ <ref name="Bibentry.class"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-part">
+ <element name="bib-part">
+ <a:documentation>Describes how the current object is related to a related (\elementref{bib-related})
+object, in particular page, part, volume numbers and similar.</a:documentation>
+ <interleave>
+ <ref name="bib-part_attributes"/>
+ <ref name="bib-part_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-part_attributes">
+ <a:documentation>Attributes for \elementref{bib-part}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="role">
+ <a:documentation>indicates how the value partitions the containing object.</a:documentation>
+ <choice>
+ <value>pages</value>
+ <value>part</value>
+ <value>volume</value>
+ <value>issue</value>
+ <value>number</value>
+ <value>chapter</value>
+ <value>section</value>
+ <value>paragraph</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="bib-part_model">
+ <a:documentation>Content model for \elementref{bib-part}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!--
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+ -->
+ <define name="bib-edition">
+ <element name="bib-edition">
+ <a:documentation>Edition of a bibliographic entry.</a:documentation>
+ <interleave>
+ <ref name="bib-edition_attributes"/>
+ <ref name="bib-edition_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-edition_attributes">
+ <a:documentation>Attributes for \elementref{bib-edition}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="bib-edition_model">
+ <a:documentation>Content model for \elementref{bib-edition}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-status">
+ <element name="bib-status">
+ <a:documentation>Status of a bibliographic entry.</a:documentation>
+ <interleave>
+ <ref name="bib-status_attributes"/>
+ <ref name="bib-status_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-status_attributes">
+ <a:documentation>Attributes for \elementref{bib-status}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="bib-status_model">
+ <a:documentation>Content model for \elementref{bib-status}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-identifier">
+ <element name="bib-identifier">
+ <a:documentation>Some form of document identfier. The content is descriptive.</a:documentation>
+ <interleave>
+ <ref name="bib-identifier_attributes"/>
+ <ref name="bib-identifier_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-identifier_attributes">
+ <a:documentation>Attributes for \elementref{bib-identifier}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="scheme">
+ <a:documentation>indicates what sort of identifier it is; it is open-ended for extensibility.</a:documentation>
+ <choice>
+ <value>doi</value>
+ <value>issn</value>
+ <value>isbn</value>
+ <value>mr</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="id">
+ <a:documentation>the identifier.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="href">
+ <a:documentation>a url to the document, if available</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="bib-identifier_model">
+ <a:documentation>Content model for \elementref{bib-identifier}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-review">
+ <element name="bib-review">
+ <a:documentation>Review of a bibliographic entry. The content is descriptive.</a:documentation>
+ <interleave>
+ <ref name="bib-review_attributes"/>
+ <ref name="bib-review_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-review_attributes">
+ <a:documentation>Attributes for \elementref{bib-review}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="scheme">
+ <a:documentation>indicates what sort of identifier it is; it is open-ended for extensibility.</a:documentation>
+ <choice>
+ <value>doi</value>
+ <value>issn</value>
+ <value>isbn</value>
+ <value>mr</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="id">
+ <a:documentation>the identifier.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="href">
+ <a:documentation>a url to the review, if available</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="bib-review_model">
+ <a:documentation>Content model for \elementref{bib-review}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-links">
+ <element name="bib-links">
+ <a:documentation>Links to other things like preprints, source code, etc.</a:documentation>
+ <interleave>
+ <ref name="bib-links_attributes"/>
+ <ref name="bib-links_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-links_attributes">
+ <a:documentation>Attributes for \elementref{bib-links}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="bib-links_model">
+ <a:documentation>Content model for \elementref{bib-links}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-language">
+ <element name="bib-language">
+ <a:documentation>Language of a bibliographic entry.</a:documentation>
+ <interleave>
+ <ref name="bib-language_attributes"/>
+ <ref name="bib-language_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-language_attributes">
+ <a:documentation>Attributes for \elementref{bib-language}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="bib-language_model">
+ <a:documentation>Content model for \elementref{bib-language}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-url">
+ <element name="bib-url">
+ <a:documentation>A URL for a bibliographic entry. The content is descriptive</a:documentation>
+ <interleave>
+ <ref name="bib-url_attributes"/>
+ <ref name="bib-url_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-url_attributes">
+ <a:documentation>Attributes for \elementref{bib-url}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="href"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="bib-url_model">
+ <a:documentation>Content model for \elementref{bib-url}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-extract">
+ <element name="bib-extract">
+ <a:documentation>An extract from the referenced object.</a:documentation>
+ <interleave>
+ <ref name="bib-extract_attributes"/>
+ <ref name="bib-extract_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-extract_attributes">
+ <a:documentation>Attributes for \elementref{bib-extract}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="role">
+ <a:documentation>Classify what kind of extract</a:documentation>
+ <choice>
+ <value>keywords</value>
+ <value>abstract</value>
+ <value>contents</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="bib-extract_model">
+ <a:documentation>Content model for \elementref{bib-extract}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-note">
+ <element name="bib-note">
+ <a:documentation>Notes about a bibliographic entry.</a:documentation>
+ <interleave>
+ <ref name="bib-note_attributes"/>
+ <ref name="bib-note_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-note_attributes">
+ <a:documentation>Attributes for \elementref{bib-note}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="role">
+ <a:documentation>Classify the kind of note</a:documentation>
+ <choice>
+ <value>annotation</value>
+ <value>publication</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="bib-note_model">
+ <a:documentation>Content model for \elementref{bib-note}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="bib-data">
+ <element name="bib-data">
+ <a:documentation>Random data, not necessarily even text.
+(future questions: should model be text or ANY? maybe should have encoding attribute?).</a:documentation>
+ <interleave>
+ <ref name="bib-data_attributes"/>
+ <ref name="bib-data_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bib-data_attributes">
+ <a:documentation>Attributes for \elementref{bib-data}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="role">
+ <a:documentation>Classify the relationship of the data to the entry.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <a:documentation>Classify the type of the data.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="bib-data_model">
+ <a:documentation>Content model for \elementref{bib-data}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="Bibentry.class">
+ <interleave>
+ <zeroOrMore>
+ <ref name="bib-name"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-title"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-subtitle"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-key"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-type"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-date"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-publisher"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-organization"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-place"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-part"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-related"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-edition"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-status"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-language"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-url"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-note"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-extract"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-identifier"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-review"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-links"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bib-data"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+</grammar>
+<!-- ====================================================================== -->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-block.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-block.rng
new file mode 100644
index 00000000000..bb3b97ed755
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-block.rng
@@ -0,0 +1,589 @@
+<?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="interleave">
+ <a:documentation>The block module defines the following `physical' block elements.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="p"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="equation"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="equationgroup"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="quote"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="block"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="listingblock"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="itemize"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="enumerate"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="description"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="Misc.class" combine="interleave">
+ <a:documentation>Additionally, it defines these miscellaneous elements that can appear
+in both inline and block contexts.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="inline-block"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="verbatim"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="break"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="graphics"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="svg"/>
+ </zeroOrMore>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="p_attributes"/>
+ <ref name="p_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="p_attributes">
+ <a:documentation>Attributes for \elementref{p}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ <ref name="Positionable.attributes"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="constraint_attributes"/>
+ <ref name="constraint_model"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="equation_attributes"/>
+ <ref name="equation_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="equation_attributes">
+ <a:documentation>Attributes for \elementref{equation}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ </interleave>
+ </define>
+ <define name="equation_model">
+ <a:documentation>Content model for \elementref{equation}.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="Math"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="MathFork"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="text"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="tabular"/>
+ </zeroOrMore>
+ <ref name="Meta.class"/>
+ <ref name="EquationMeta.class"/>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="equationgroup">
+ <element name="equationgroup">
+ <a:documentation>A group of equations, perhaps aligned (Though this is nowhere recorded).</a:documentation>
+ <interleave>
+ <ref name="equationgroup_attributes"/>
+ <ref name="equationgroup_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="equationgroup_attributes">
+ <a:documentation>Attributes for \elementref{equationgroup}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ </interleave>
+ </define>
+ <define name="equationgroup_model">
+ <a:documentation>Content model for \elementref{equationgroup}.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="equationgroup"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="equation"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="p"/>
+ </zeroOrMore>
+ <ref name="Meta.class"/>
+ <ref name="EquationMeta.class"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="MathFork_attributes"/>
+ <ref name="MathFork_model"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="MathBranch_attributes"/>
+ <ref name="MathBranch_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="MathBranch_attributes">
+ <a:documentation>Attributes for \elementref{MathBranch}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="format"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="MathBranch_model">
+ <a:documentation>Content model for \elementref{MathBranch}.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="Math"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="tr"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="td"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="quote">
+ <element name="quote">
+ <a:documentation>A quotation.</a:documentation>
+ <interleave>
+ <ref name="quote_attributes"/>
+ <ref name="quote_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="quote_attributes">
+ <a:documentation>Attributes for \elementref{quote}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="block_attributes"/>
+ <ref name="block_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="block_attributes">
+ <a:documentation>Attributes for \elementref{block}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ <ref name="Positionable.attributes"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="listingblock_attributes"/>
+ <ref name="listingblock_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="listingblock_attributes">
+ <a:documentation>Attributes for \elementref{listingblock}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="break_attributes"/>
+ <ref name="break_model"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="inline-block_attributes"/>
+ <ref name="inline-block_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="inline-block_attributes">
+ <a:documentation>Attributes for \elementref{inline-block}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ <ref name="Positionable.attributes"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="verbatim_attributes"/>
+ <ref name="verbatim_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="verbatim_attributes">
+ <a:documentation>Attributes for \elementref{verbatim}.</a:documentation>
+ <interleave>
+ <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>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="itemize_attributes"/>
+ <ref name="itemize_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="itemize_attributes">
+ <a:documentation>Attributes for \elementref{itemize}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="enumerate_attributes"/>
+ <ref name="enumerate_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="enumerate_attributes">
+ <a:documentation>Attributes for \elementref{enumerate}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="description_attributes"/>
+ <ref name="description_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="description_attributes">
+ <a:documentation>Attributes for \elementref{description}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="item_attributes"/>
+ <ref name="item_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="item_attributes">
+ <a:documentation>Attributes for \elementref{item}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ </interleave>
+ </define>
+ <define name="item_model">
+ <a:documentation>Content model for \elementref{item}.</a:documentation>
+ <interleave>
+ <optional>
+ <ref name="tag"/>
+ </optional>
+ <ref name="Para.model"/>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="tag_attributes"/>
+ <ref name="tag_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="tag_attributes">
+ <a:documentation>Attributes for \elementref{tag}.</a:documentation>
+ <interleave>
+ <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>
+ </interleave>
+ </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>
+ <interleave>
+ <ref name="graphics_attributes"/>
+ <ref name="graphics_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="graphics_attributes">
+ <a:documentation>Attributes for \elementref{graphics}.</a:documentation>
+ <interleave>
+ <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>
+ </interleave>
+ </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>
+<!-- ====================================================================== -->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-common.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-common.rng
new file mode 100644
index 00000000000..a46741628a9
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-common.rng
@@ -0,0 +1,235 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ /=====================================================================\
+ | LaTeXML-classes.rnc |
+ | Document Type 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 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">
+ <!-- Basic element classes: -->
+ <define name="Inline.class">
+ <a:documentation>All strictly inline elements.</a:documentation>
+ <empty/>
+ </define>
+ <define name="Block.class">
+ <a:documentation>All `physical' block elements.
+A physical block is typically displayed as a block, but
+may not constitute a complete logical unit.</a:documentation>
+ <empty/>
+ </define>
+ <define name="Misc.class">
+ <a:documentation>Additional miscellaneous elements that can appear in
+both inline and block contexts.</a:documentation>
+ <empty/>
+ </define>
+ <define name="Para.class">
+ <a:documentation>All logical block level elements.
+A logical block typically contains one or more physical block elements.
+For example, a common situation might be \elementref{p},\elementref{equation},\elementref{p},
+where the entire sequence comprises a single sentence.</a:documentation>
+ <empty/>
+ </define>
+ <define name="Meta.class">
+ <a:documentation>All metadata elements, typically representing hidden data.</a:documentation>
+ <empty/>
+ </define>
+ <!--
+ ======================================================================
+ Attribute types
+ -->
+ <define name="Length.type">
+ <a:documentation>The type for attributes specifying a length.
+Should be a number followed by a length, typically px.
+NOTE: To be narrowed later.</a:documentation>
+ <text/>
+ </define>
+ <define name="Color.type">
+ <a:documentation>The type for attributes specifying a color.
+NOTE: To be narrowed later.</a:documentation>
+ <text/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="Common.attributes">
+ <a:documentation>Attributes shared by ALL elements.</a:documentation>
+ <optional>
+ <!--
+ ## provides for namespace declaration.
+ attribute xmlns { text }? &
+ -->
+ <attribute name="class">
+ <a:documentation>a space separated list of tokens, as in CSS.
+The \attr{class} can be used to add differentiate different instances of elements
+without introducing new element declarations.
+However, this generally shouldn't be used for deep semantic distinctions.
+This attribute is carried over to HTML and can be used for CSS selection.
+[Note that the default XSLT stylesheets for html and xhtml
+add the latexml element names to the class of html elements
+for more convenience in using CSS.]</a:documentation>
+ <data type="NMTOKENS"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="ID.attributes">
+ <a:documentation>Attributes for elements that can be cross-referenced
+from inside or outside the document.</a:documentation>
+ <optional>
+ <attribute name="xml:id">
+ <a:documentation>the unique identifier of the element,
+usually generated automatically by the latexml.</a:documentation>
+ <data type="ID"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="IDREF.attributes">
+ <a:documentation>Attributes for elements that can cross-reference other elements.</a:documentation>
+ <optional>
+ <attribute name="idref">
+ <a:documentation>the identifier of the referred-to element.</a:documentation>
+ <data type="IDREF"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="Labelled.attributes">
+ <a:documentation>Attributes for elements that can be labelled from within LaTeX.
+These attributes deal with assigning a label and generating cross references.</a:documentation>
+ <interleave>
+ <ref name="ID.attributes"/>
+ <optional>
+ <attribute name="labels">
+ <a:documentation>Records the various labels that LaTeX uses for crossreferencing.
+(note that \cs{label} can associate more than one label with an object!)
+It consists of space separated labels for the element.
+The \cs{label} macro provides the label prefixed by \texttt{LABEL:};
+Spaces in a label are replaced by underscore.
+Other mechanisms (like acro?) might use other prefixes (but \texttt{ID:} is reserved!)</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="refnum">
+ <a:documentation>the reference number (ie. section number, equation number, etc) of the object.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="frefnum">
+ <a:documentation>the formatted reference number of the object, typically this is the refnum with
+the object type prepended, such as "Chapter 2"</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="Positionable.attributes">
+ <a:documentation>Attributes shared by low-level, generic inline and block elements
+that can be sized or shifted.</a:documentation>
+ <interleave>
+ <optional>
+ <attribute name="width">
+ <a:documentation>the desired width of the box</a:documentation>
+ <ref name="Length.type"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <a:documentation>the desired height of the box</a:documentation>
+ <ref name="Length.type"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="depth">
+ <a:documentation>the desired depth of the box</a:documentation>
+ <ref name="Length.type"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="pad-width">
+ <a:documentation>extra width beyond the boxes natural size.</a:documentation>
+ <ref name="Length.type"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="pad-height">
+ <a:documentation>extra height beyond the boxes natural size.</a:documentation>
+ <ref name="Length.type"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xoffset">
+ <a:documentation>horizontal shift the position of the box.</a:documentation>
+ <ref name="Length.type"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="yoffset">
+ <a:documentation>vertical shift the position of the box.</a:documentation>
+ <ref name="Length.type"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="align">
+ <a:documentation>alignment of material within the box.</a:documentation>
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>justified</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="vattach">
+ <a:documentation>specifies which line of the box is aligned to the baseline of the containing object.</a:documentation>
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="float">
+ <a:documentation>the horizontal floating placement parameter that determines where the object is displayed.</a:documentation>
+ <choice>
+ <value>right</value>
+ <value>left</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="Imageable.attributes">
+ <a:documentation>Attributes for elements that may be converted to image form
+during postprocessing, such as math, graphics, pictures, etc.</a:documentation>
+ <interleave>
+ <optional>
+ <attribute name="imagesrc">
+ <a:documentation>the file, possibly generated from other data.</a:documentation>
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="imagewidth">
+ <a:documentation>the width in pixels of \attr{imagesrc}.</a:documentation>
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="imageheight">
+ <a:documentation>the height in pixels of \attr{imagesrc}.</a:documentation>
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="description">
+ <a:documentation>a description of the image</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-inline.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-inline.rng
new file mode 100644
index 00000000000..01cb51dcae1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-inline.rng
@@ -0,0 +1,514 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ /=====================================================================\
+ | LaTeXML-inline.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">
+ <define name="Inline.class" combine="interleave">
+ <a:documentation>The inline module defines basic inline elements used throughout </a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="text"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="emph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="acronym"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="rule"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="anchor"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ref"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="cite"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bibref"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="Meta.class" combine="interleave">
+ <a:documentation>Additionally, it defines these meta elements. These are generally hidden,
+and can appear in inline and block contexts.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="note"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="indexmark"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ERROR"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="text">
+ <element name="text">
+ <a:documentation>General container for styled text.
+Attributes cover a variety of styling and position shifting properties.</a:documentation>
+ <interleave>
+ <ref name="text_attributes"/>
+ <ref name="text_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="text_attributes">
+ <a:documentation>Attributes for \elementref{text}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Positionable.attributes"/>
+ <optional>
+ <attribute name="font">
+ <a:documentation>Indicates the font to use. It consists of a space separated sequence
+of values representing the
+family (\texttt{serif}, \texttt{sansserif}, \texttt{math}, \texttt{typewriter},
+ \texttt{caligraphic}, \texttt{fraktur}, \texttt{script}, \ldots),
+series (\texttt{medium}, \texttt{bold}, \ldots),
+and shape (\texttt{upright}, \texttt{italic}, \texttt{slanted}, \texttt{smallcaps}, \ldots).
+Only the values differing from the current context are given.
+Each component is open-ended, for extensibility; it is thus unclear
+whether unknown values specify family, series or shape.
+In postprocessing, these values are carried to the \attr{class} attribute,
+and can thus be effected by CSS.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="size">
+ <a:documentation>Indicates the text size to use. The values are modeled after the
+more abstract \LaTeX\ font size switches, rather than point-sizes.
+The values are open-ended for extensibility;
+In postprocessing, these values are carried to the \attr{class} attribute,
+and can thus be effected by CSS.</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.
+In postprocessing, these values are carried to the \attr{class} attribute,
+and can thus be effected by CSS.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="framed">
+ <a:documentation>the kind of frame or outline for the text.</a:documentation>
+ <choice>
+ <value>rectangle</value>
+ <value>underline</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="text_model">
+ <a:documentation>Content model for \elementref{text}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="emph">
+ <element name="emph">
+ <a:documentation>Emphasized text.</a:documentation>
+ <interleave>
+ <ref name="emph_attributes"/>
+ <ref name="emph_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="emph_attributes">
+ <a:documentation>Attributes for \elementref{emph}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="emph_model">
+ <a:documentation>Content model for \elementref{emph}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="acronym">
+ <element name="acronym">
+ <a:documentation>Represents an acronym.</a:documentation>
+ <interleave>
+ <ref name="acronym_attributes"/>
+ <ref name="acronym_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="acronym_attributes">
+ <a:documentation>Attributes for \elementref{acronym}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="name">
+ <a:documentation>should be used to indicate the expansion of the acronym.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="acronym_model">
+ <a:documentation>Content model for \elementref{acronym}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="rule">
+ <element name="rule">
+ <a:documentation>A Rule.</a:documentation>
+ <interleave>
+ <ref name="rule_attributes"/>
+ <ref name="rule_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="rule_attributes">
+ <a:documentation>Attributes for \elementref{rule}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Positionable.attributes"/>
+ </interleave>
+ </define>
+ <define name="rule_model">
+ <a:documentation>Content model for \elementref{rule}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="ref">
+ <element name="ref">
+ <a:documentation>A hyperlink reference to some other object.
+When converted to HTML, the content would be the content of the anchor.
+The destination can be specified by one of the
+attributes \attr{labelref}, \attr{idref} or \attr{href};
+Missing fields will usually be filled in during postprocessing,
+based on data extracted from the document(s).</a:documentation>
+ <interleave>
+ <ref name="ref_attributes"/>
+ <ref name="ref_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="ref_attributes">
+ <a:documentation>Attributes for \elementref{ref}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="IDREF.attributes">
+ <a:documentation>reference to an internal identifier.</a:documentation>
+ </ref>
+ <optional>
+ <attribute name="labelref">
+ <a:documentation>reference to a LaTeX labelled object;
+See the \attr{labels} attribute of \patternref{Labelled.attributes}.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="href">
+ <a:documentation>reference to an arbitrary url.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="show">
+ <a:documentation>a pattern encoding how the text content should be filled in during
+postprocessing, if it is empty.
+It consists of the words
+ \texttt{type} (standing for the object type, eg. Ch.),
+ \texttt{refnum} and \texttt{title}
+mixed with arbitrary characters. The
+It can also be \texttt{fulltitle}, which indicates the title
+with prefix and type if section numbering is enabled.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="title">
+ <a:documentation>gives a longer form description of the target,
+this would typically appear as a tooltip in HTML.
+Typically filled in by postprocessor.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="ref_model">
+ <a:documentation>Content model for \elementref{ref}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="anchor">
+ <element name="anchor">
+ <a:documentation>Inline anchor.</a:documentation>
+ <interleave>
+ <ref name="anchor_attributes"/>
+ <ref name="anchor_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="anchor_attributes">
+ <a:documentation>Attributes for \elementref{anchor}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </interleave>
+ </define>
+ <define name="anchor_model">
+ <a:documentation>Content model for \elementref{anchor}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="cite">
+ <element name="cite">
+ <a:documentation>A container for a bibliographic citation. The model is inline to
+allow arbitrary comments before and after the expected \elementref{bibref}(s)
+which are the specific citation.</a:documentation>
+ <interleave>
+ <ref name="cite_attributes"/>
+ <ref name="cite_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="cite_attributes">
+ <a:documentation>Attributes for \elementref{cite}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="cite_model">
+ <a:documentation>Content model for \elementref{cite}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="bibref">
+ <element name="bibref">
+ <a:documentation>A bibliographic citation refering to a specific bibliographic item.</a:documentation>
+ <interleave>
+ <ref name="bibref_attributes"/>
+ <ref name="bibref_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bibref_attributes">
+ <a:documentation>Attributes for \elementref{bibref}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="IDREF.attributes"/>
+ <optional>
+ <attribute name="bibrefs">
+ <a:documentation>a comma separated list of bibliographic keys.
+(See the \attr{key} attribute of \elementref{bibitem} and \elementref{bibentry})</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="show">
+ <a:documentation>a pattern encoding how the text content (of an empty bibref) will be filled in.
+Consists of strings \texttt{author}, \texttt{fullauthor}, \texttt{year},
+\texttt{number} and \texttt{title}
+(to be replaced by data from the bibliographic item)
+mixed with arbitrary characters.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="separator">
+ <a:documentation>separator between formatted references</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="yyseparator">
+ <a:documentation>separator between formatted years when duplicate authors are combined.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="bibref_model">
+ <a:documentation>Content model for \elementref{bibref}.</a:documentation>
+ <zeroOrMore>
+ <ref name="bibrefphrase"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="bibrefphrase">
+ <element name="bibrefphrase">
+ <a:documentation>A preceding or following phrase used in composing a bibliographic reference,
+such as listing pages or chapter.</a:documentation>
+ <interleave>
+ <ref name="bibrefphrase_attributes"/>
+ <ref name="bibrefphrase_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bibrefphrase_attributes">
+ <a:documentation>Attributes for \elementref{bibrefphrase}</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="bibrefphrase_model">
+ <a:documentation>Content model for \elementref{bibrefphrase}</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="note">
+ <element name="note">
+ <a:documentation>Metadata that covers several `out of band' annotations.
+It's content allows both inline and block-level content.</a:documentation>
+ <interleave>
+ <ref name="note_attributes"/>
+ <ref name="note_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="note_attributes">
+ <a:documentation>Attributes for \elementref{note}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="mark">
+ <a:documentation>indicates the desired visible marker to be linked to the note.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="role">
+ <a:documentation>indicates the kind of note</a:documentation>
+ <choice>
+ <value>footnote</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="note_model">
+ <a:documentation>Content model for \elementref{note}.</a:documentation>
+ <ref name="Flow.model"/>
+ </define>
+ <!-- should mark be more like label/refnum ? -->
+ <!-- ====================================================================== -->
+ <define name="ERROR">
+ <element name="ERROR">
+ <a:documentation>error object for undefined control sequences, or whatever</a:documentation>
+ <interleave>
+ <ref name="ERROR_attributes"/>
+ <ref name="ERROR_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="ERROR_attributes">
+ <a:documentation>Attributes for \elementref{ERROR}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="ERROR_model">
+ <a:documentation>Content model for \elementref{ERROR}.</a:documentation>
+ <zeroOrMore>
+ <text/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="indexmark">
+ <element name="indexmark">
+ <a:documentation>Metadata to record an indexing position. The content is
+a sequence of \elementref{indexphrase}, each representing a level in
+a multilevel indexing entry.</a:documentation>
+ <interleave>
+ <ref name="indexmark_attributes"/>
+ <ref name="indexmark_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="indexmark_attributes">
+ <a:documentation>Attributes for \elementref{indexmark}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="see_also">
+ <a:documentation>a flattened form (like \attr{key}) of another \elementref{indexmark},
+used to crossreference.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style">
+ <a:documentation>NOTE: describe this.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="indexmark_model">
+ <a:documentation>Content model for \elementref{indexmark}.</a:documentation>
+ <zeroOrMore>
+ <ref name="indexphrase"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="indexsee"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="indexphrase">
+ <element name="indexphrase">
+ <a:documentation>A phrase within an \elementref{indexmark}</a:documentation>
+ <interleave>
+ <ref name="indexphrase_attributes"/>
+ <ref name="indexphrase_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="indexphrase_attributes">
+ <a:documentation>Attributes for \elementref{indexphrase}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="key">
+ <a:documentation>a flattened form of the phrase for generating an \attr{ID}.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="indexphrase_model">
+ <a:documentation>Content model for \elementref{indexphrase}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <define name="indexsee">
+ <element name="indexsee">
+ <a:documentation>A see-also phrase within an \elementref{indexmark}</a:documentation>
+ <interleave>
+ <ref name="indexsee_attributes"/>
+ <ref name="indexsee_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="indexsee_attributes">
+ <a:documentation>Attributes for \elementref{indexsee}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="key">
+ <a:documentation>a flattened form of the phrase for generating an \attr{ID}.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name">
+ <a:documentation>a name for the see phrase, such as "see also".</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="indexsee_model">
+ <a:documentation>Content model for \elementref{indexsee}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+</grammar>
+<!-- ====================================================================== -->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-math.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-math.rng
new file mode 100644
index 00000000000..b88c8d11194
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-math.rng
@@ -0,0 +1,613 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ /=====================================================================\
+ | LaTeXML-math.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="Inline.class" combine="interleave">
+ <a:documentation>The math module defines LaTeXML's internal representation of mathematical
+content, including the basic math container \elementref{Math}. This element is
+considered inline, as it will be contained within some other block-level
+element, eg. \elementref{equation} for display-math.</a:documentation>
+ <zeroOrMore>
+ <ref name="Math"/>
+ </zeroOrMore>
+ </define>
+ <define name="Math.class">
+ <a:documentation>This class defines the content of the \elementref{Math} element.
+Additionally, it could contain MathML or OpenMath, after postprocessing.</a:documentation>
+ <ref name="XMath"/>
+ </define>
+ <define name="XMath.class">
+ <a:documentation>These elements comprise the internal math representation, being
+the content of the \elementref{XMath} element.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="XMApp"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="XMTok"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="XMRef"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="XMHint"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="XMArg"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="XMWrap"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="XMDual"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="XMText"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="XMArray"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="Math">
+ <element name="Math">
+ <a:documentation>Outer container for all math. This holds the internal
+\elementref{XMath} representation, as well as image data and other representations.</a:documentation>
+ <interleave>
+ <ref name="Math_attributes"/>
+ <ref name="Math_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="Math_attributes">
+ <a:documentation>Attributes for \elementref{Math}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Imageable.attributes"/>
+ <ref name="ID.attributes"/>
+ <optional>
+ <attribute name="mode">
+ <a:documentation>display or inline mode.</a:documentation>
+ <choice>
+ <value>display</value>
+ <value>inline</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="tex">
+ <a:documentation>reconstruction of the \TeX\ that generated the math.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="content-tex">
+ <a:documentation>more semantic version of \attr{tex}.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text">
+ <a:documentation>a textified representation of the math.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="Math_model">
+ <a:documentation>Content model for \elementref{Math}.</a:documentation>
+ <ref name="Math.class"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMath.attributes">
+ <interleave>
+ <optional>
+ <attribute name="role">
+ <a:documentation>The role that this item plays in the Grammar.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="open">
+ <a:documentation>an open delimiter to enclose the object;</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="close">
+ <a:documentation>an close delimiter to enclose the object;</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="argopen">
+ <a:documentation>an open delimiter to enclose the argument list,
+when this token is applied to arguments with \elementref{XMApp}.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="argclose">
+ <a:documentation>a close delimiter to enclose the argument list,
+when this token is applied to arguments with \elementref{XMApp}.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="separators">
+ <a:documentation>characters to separate arguments,
+when this token is applied to arguments with \elementref{XMApp}.
+Can be multiple characters for different argument positions;
+the last character is repeated if there aren't enough.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="punctuation">
+ <a:documentation>trailing (presumably non-semantic) punctuation.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="possibleFunction">
+ <a:documentation>an annotation placed by the parser when it suspects this token may be used as a function.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMath">
+ <element name="XMath">
+ <a:documentation>Internal representation of mathematics.</a:documentation>
+ <interleave>
+ <ref name="XMath_attributes"/>
+ <ref name="XMath_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="XMath_attributes">
+ <a:documentation>Attributes for \elementref{XMath}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="XMath_model">
+ <a:documentation>Content model for \elementref{XMath}.</a:documentation>
+ <ref name="XMath.class"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMTok">
+ <element name="XMTok">
+ <a:documentation>General mathematical token.</a:documentation>
+ <interleave>
+ <ref name="XMTok_attributes"/>
+ <ref name="XMTok_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="XMTok_attributes">
+ <a:documentation>Attributes for \elementref{XMTok}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="XMath.attributes"/>
+ <ref name="ID.attributes"/>
+ <optional>
+ <attribute name="name">
+ <a:documentation>The name of the token, typically the control sequence that created it.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="meaning">
+ <a:documentation>A more semantic name corresponding to the intended meaning,
+such as the OpenMath name.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="omcd">
+ <a:documentation>The OpenMath CD for which \attr{meaning} is a symbol.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style">
+ <a:documentation>Various random styling information. NOTE This needs to be made consistent.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="font">
+ <a:documentation>The font, size a used for the symbol.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="size">
+ <a:documentation>The size for the symbol, not presumed to be meaningful(?)</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="color">
+ <a:documentation>The color (CSS format) for the symbol, not presumed to be meaningful(?)</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="scriptpos">
+ <a:documentation>An encoding of the position of this token as a sub/superscript, used
+to handle aligned and nested scripts, both pre and post.
+It is a concatenation of (pre|mid|post), which indicates the horizontal
+positioning of the script with relation to it's base, and a counter
+indicating the level. These are used to position the scripts,
+and to pair up aligned sub- and superscripts.
+NOTE: Clarify where this appears: token, base, script operator, apply?</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="thickness">
+ <a:documentation>NOTE: How is this used?</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="XMTok_model">
+ <a:documentation>Content model for \elementref{XMTok}.</a:documentation>
+ <zeroOrMore>
+ <text/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMApp">
+ <element name="XMApp">
+ <a:documentation>Generalized application of a function, operator, whatever (the first child)
+to arguments (the remaining children).
+The attributes are a subset of those for \elementref{XMTok}.</a:documentation>
+ <interleave>
+ <ref name="XMApp_attributes"/>
+ <ref name="XMApp_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="XMApp_attributes">
+ <a:documentation>Attributes for \elementref{XMApp}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="XMath.attributes"/>
+ <ref name="ID.attributes"/>
+ <optional>
+ <attribute name="name">
+ <a:documentation>The name of the token, typically the control sequence that created it.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="meaning">
+ <a:documentation>A more semantic name corresponding to the intended meaning,
+such as the OpenMath name.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="scriptpos">
+ <a:documentation>An encoding of the position of this token as a sub/superscript, used
+to handle aligned and nested scripts, both pre and post.
+(See \elementref{XMTok} for details)</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="XMApp_model">
+ <a:documentation>Content model for \elementref{XMApp}.</a:documentation>
+ <ref name="XMath.class"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMDual">
+ <element name="XMDual">
+ <a:documentation>Parallel markup of content (first child) and presentation (second child)
+of a mathematical object.
+Typically, the arguments are shared between the two branches:
+they appear in the content branch, with \attr{id}'s,
+and \elementref{XMRef} is used in the presentation branch</a:documentation>
+ <interleave>
+ <ref name="XMDual_attributes"/>
+ <ref name="XMDual_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="XMDual_attributes">
+ <a:documentation>Attributes for \elementref{XMDual}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="XMath.attributes"/>
+ <ref name="ID.attributes"/>
+ </interleave>
+ </define>
+ <define name="XMDual_model">
+ <a:documentation>Content model for \elementref{XMDual}.</a:documentation>
+ <ref name="XMath.class"/>
+ <ref name="XMath.class"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMHint">
+ <element name="XMHint">
+ <a:documentation>Various spacing items, generally ignored in parsing.
+The attributes are a subset of those for \elementref{XMTok}.</a:documentation>
+ <interleave>
+ <ref name="XMHint_attributes"/>
+ <ref name="XMHint_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="XMHint_attributes">
+ <a:documentation>Attributes for \elementref{XMHint}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="XMath.attributes"/>
+ <ref name="ID.attributes"/>
+ <optional>
+ <attribute name="name"/>
+ </optional>
+ <optional>
+ <attribute name="meaning"/>
+ </optional>
+ <optional>
+ <attribute name="style"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="XMHint_model">
+ <a:documentation>Content model for \elementref{XMHint}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMText">
+ <element name="XMText">
+ <a:documentation>Text appearing within math.</a:documentation>
+ <interleave>
+ <ref name="XMText_attributes"/>
+ <ref name="XMText_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="XMText_attributes">
+ <a:documentation>Attributes for \elementref{XMText}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="XMath.attributes"/>
+ <ref name="ID.attributes"/>
+ <optional>
+ <attribute name="scriptpos">
+ <a:documentation>An encoding of the position of this token as a sub/superscript, used
+to handle aligned and nested scripts, both pre and post.
+(See \elementref{XMTok} for details)</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="XMText_model">
+ <a:documentation>Content model for \elementref{XMText}.</a:documentation>
+ <interleave>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMWrap">
+ <element name="XMWrap">
+ <a:documentation>Wrapper for a sequence of tokens used to assert the role of the
+contents in its parent. This element generally disappears after parsing.
+The attributes are a subset of those for \elementref{XMTok}.</a:documentation>
+ <interleave>
+ <ref name="XMWrap_attributes"/>
+ <ref name="XMWrap_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="XMWrap_attributes">
+ <a:documentation>Attributes for \elementref{XMWrap}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="XMath.attributes"/>
+ <ref name="ID.attributes"/>
+ <optional>
+ <attribute name="name"/>
+ </optional>
+ <optional>
+ <attribute name="meaning">
+ <a:documentation>A more semantic name corresponding to the intended meaning,
+such as the OpenMath name.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style"/>
+ </optional>
+ <optional>
+ <attribute name="scriptpos">
+ <a:documentation>An encoding of the position of this token as a sub/superscript, used
+to handle aligned and nested scripts, both pre and post.
+(See \elementref{XMTok} for details)</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="XMWrap_model">
+ <a:documentation>Content model for \elementref{XMWrap}.</a:documentation>
+ <ref name="XMath.class"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMArg">
+ <element name="XMArg">
+ <a:documentation>Wrapper for an argument to a structured macro.
+It implies that its content can be parsed independently of its parent,
+and thus generally disappears after parsing.</a:documentation>
+ <interleave>
+ <ref name="XMArg_attributes"/>
+ <ref name="XMArg_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="XMArg_attributes">
+ <a:documentation>Attributes for \elementref{XMArg}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="XMath.attributes"/>
+ <ref name="ID.attributes"/>
+ <optional>
+ <attribute name="rule"/>
+ </optional>
+ <optional>
+ <attribute name="scriptpos">
+ <a:documentation>An encoding of the position of this token as a sub/superscript, used
+to handle aligned and nested scripts, both pre and post.
+(See \elementref{XMTok} for details)</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="XMArg_model">
+ <a:documentation>Content model for \elementref{XMArg}.</a:documentation>
+ <ref name="XMath.class"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMRef">
+ <element name="XMRef">
+ <a:documentation>Structure sharing element typically used in the presentation
+branch of an \elementref{XMDual} to refer to the arguments present in the content branch.</a:documentation>
+ <interleave>
+ <ref name="XMRef_attributes"/>
+ <ref name="XMRef_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="XMRef_attributes">
+ <a:documentation>Attributes for \elementref{XMRef}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="XMath.attributes"/>
+ <ref name="ID.attributes"/>
+ <ref name="IDREF.attributes"/>
+ </interleave>
+ </define>
+ <define name="XMRef_model">
+ <a:documentation>Content model for \elementref{XMRef}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMArray">
+ <!-- The attributes are a subset of those for \elementref{XMTok} or of \elementref{tabular}. -->
+ <element name="XMArray">
+ <a:documentation>Math Array/Alignment structure.</a:documentation>
+ <interleave>
+ <ref name="XMArray_attributes"/>
+ <ref name="XMArray_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="XMArray_attributes">
+ <a:documentation>Attributes for \elementref{XMArray}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="XMath.attributes"/>
+ <ref name="ID.attributes"/>
+ <optional>
+ <attribute name="name"/>
+ </optional>
+ <optional>
+ <attribute name="meaning"/>
+ </optional>
+ <optional>
+ <attribute name="style"/>
+ </optional>
+ <optional>
+ <attribute name="vattach">
+ <choice>
+ <value>top</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="XMArray_model">
+ <a:documentation>Content model for \elementref{XMArray}.</a:documentation>
+ <zeroOrMore>
+ <ref name="XMRow"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMRow">
+ <element name="XMRow">
+ <a:documentation>A row in a math alignment.</a:documentation>
+ <interleave>
+ <ref name="XMRow_attributes"/>
+ <ref name="XMRow_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="XMRow_attributes">
+ <a:documentation>Attributes for \elementref{XMRow}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="XMRow_model">
+ <a:documentation>Content model for \elementref{XMRow}.</a:documentation>
+ <zeroOrMore>
+ <ref name="XMCell"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMCell">
+ <element name="XMCell">
+ <a:documentation>A cell in a row of a math alignment.</a:documentation>
+ <interleave>
+ <ref name="XMCell_attributes"/>
+ <ref name="XMCell_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="XMCell_attributes">
+ <a:documentation>Attributes for \elementref{XMCell}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="colspan">
+ <a:documentation>indicates how many columns this cell spans or covers.</a:documentation>
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rowpan">
+ <a:documentation>indicates how many rows this cell spans or covers.</a:documentation>
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <!--
+ This would have been clearer, but messes up conversion to dtd
+ attribute align { "left" | "right" | "center" | "justify" | text }? &
+ -->
+ <attribute name="align">
+ <a:documentation> specifies the alignment of the content.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <a:documentation>specifies the desired width for the column.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="border">
+ <a:documentation>records a sequence of t or tt, r or rr, b or bb and l or ll
+for borders or doubled borders on any side of the cell.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="thead">
+ <a:documentation>whether this cell corresponds to a table head or foot.</a:documentation>
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="XMCell_model">
+ <a:documentation>Content model for \elementref{XMCell}.</a:documentation>
+ <ref name="XMath.class"/>
+ </define>
+</grammar>
+<!-- ====================================================================== -->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-para.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-para.rng
new file mode 100644
index 00000000000..5b54f77ddfe
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-para.rng
@@ -0,0 +1,370 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ /=====================================================================\
+ | LaTeXML-para.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">
+ <define name="Para.class" combine="interleave">
+ <a:documentation>This module defines the following `logical' block elements.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="para"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="theorem"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="proof"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="figure"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="table"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="float"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="listing"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="Misc.class" combine="interleave">
+ <a:documentation>Additionally, it defines these miscellaneous elements that can appear
+in both inline and block contexts.</a:documentation>
+ <zeroOrMore>
+ <ref name="inline-para"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="para">
+ <element name="para">
+ <a:documentation>A Logical paragraph. It has an \attr{id}, but not a \attr{label}.</a:documentation>
+ <interleave>
+ <ref name="para_attributes"/>
+ <ref name="para_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="para_attributes">
+ <a:documentation>Attributes for \elementref{para}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </interleave>
+ </define>
+ <define name="para_model">
+ <a:documentation>Content model for \elementref{para}.</a:documentation>
+ <ref name="Block.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="inline-para">
+ <element name="inline-para">
+ <a:documentation>An inline para. Actually, can appear in inline or block mode, but
+typesets its contents as para.</a:documentation>
+ <interleave>
+ <ref name="inline-para_attributes"/>
+ <ref name="inline-para_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="inline-para_attributes">
+ <a:documentation>Attributes for \elementref{inline-para}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Positionable.attributes"/>
+ </interleave>
+ </define>
+ <define name="inline-para_model">
+ <a:documentation>Content model for \elementref{inline-para}.</a:documentation>
+ <ref name="Para.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="theorem">
+ <element name="theorem">
+ <a:documentation>A theorem or similar object. The \attr{class} attribute can be used to distinguish
+different kinds of theorem.</a:documentation>
+ <interleave>
+ <ref name="theorem_attributes"/>
+ <ref name="theorem_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="theorem_attributes">
+ <a:documentation>Attributes for \elementref{theorem}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ </interleave>
+ </define>
+ <define name="theorem_model">
+ <a:documentation>Content model for \elementref{theorem}.</a:documentation>
+ <interleave>
+ <optional>
+ <ref name="title"/>
+ </optional>
+ <ref name="Para.model"/>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="proof">
+ <element name="proof">
+ <a:documentation>A proof or similar object. The \attr{class} attribute can be used to distinguish
+different kinds of proof.</a:documentation>
+ <interleave>
+ <ref name="proof_attributes"/>
+ <ref name="proof_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="proof_attributes">
+ <a:documentation>Attributes for \elementref{proof}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ </interleave>
+ </define>
+ <define name="proof_model">
+ <a:documentation>Content model for \elementref{proof}.</a:documentation>
+ <interleave>
+ <optional>
+ <ref name="title"/>
+ </optional>
+ <ref name="Para.model"/>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="Caption.class">
+ <a:documentation>These are the additional elements representing figure and
+table captions.
+NOTE: Could title sensibly be reused here, instead?
+Or, should caption be used for theorem and proof?</a:documentation>
+ <choice>
+ <ref name="caption"/>
+ <ref name="toccaption"/>
+ </choice>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="figure">
+ <element name="figure">
+ <a:documentation>A figure, possibly captioned.</a:documentation>
+ <interleave>
+ <ref name="figure_attributes"/>
+ <ref name="figure_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="figure_attributes">
+ <a:documentation>Attributes for \elementref{figure}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ <ref name="Positionable.attributes"/>
+ <optional>
+ <attribute name="placement">
+ <a:documentation>the vertical floating placement parameter that determines where the object is displayed.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="figure_model">
+ <a:documentation>MiKo: only allowing one caption, is this right? same for table, float, and listing below
+Content model for \elementref{figure}.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="figure"/>
+ </zeroOrMore>
+ <ref name="Block.model"/>
+ <ref name="Caption.class"/>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="table">
+ <element name="table">
+ <a:documentation>A Table, possibly captioned. This is not necessarily a \elementref{tabular}.</a:documentation>
+ <interleave>
+ <ref name="table_attributes"/>
+ <ref name="table_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="table_attributes">
+ <a:documentation>Attributes for \elementref{table}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ <ref name="Positionable.attributes"/>
+ <optional>
+ <attribute name="placement">
+ <a:documentation>the vertical floating placement parameter that determines where the object is displayed.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="table_model">
+ <a:documentation>Content model for \elementref{table}.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="table"/>
+ </zeroOrMore>
+ <ref name="Block.model"/>
+ <ref name="Caption.class"/>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="float">
+ <element name="float">
+ <a:documentation>A generic float, possibly captioned, something other than a table, figure or listing</a:documentation>
+ <interleave>
+ <ref name="float_attributes"/>
+ <ref name="float_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="float_attributes">
+ <a:documentation>Attributes for \elementref{float}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ <ref name="Positionable.attributes"/>
+ <optional>
+ <attribute name="placement">
+ <a:documentation>the vertical floating placement parameter that determines where the object is displayed.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="float_model">
+ <a:documentation>Content model for \elementref{float}.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="float"/>
+ </zeroOrMore>
+ <ref name="Block.model"/>
+ <ref name="Caption.class"/>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="listing">
+ <element name="listing">
+ <a:documentation>A Listing, possibly captioned.</a:documentation>
+ <interleave>
+ <ref name="listing_attributes"/>
+ <ref name="listing_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="listing_attributes">
+ <a:documentation>Attributes for \elementref{listing}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ <ref name="Positionable.attributes"/>
+ <optional>
+ <attribute name="placement">
+ <a:documentation>the floating placement parameter that determines where the object is displayed.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="listing_model">
+ <a:documentation>Content model for \elementref{listing}.</a:documentation>
+ <interleave>
+ <ref name="Block.model"/>
+ <ref name="Caption.class"/>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="caption">
+ <element name="caption">
+ <a:documentation>A caption for a \elementref{table} or \elementref{figure}.</a:documentation>
+ <interleave>
+ <ref name="caption_attributes"/>
+ <ref name="caption_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="caption_attributes">
+ <a:documentation>Attributes for \elementref{caption}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="font"/>
+ </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>
+ </interleave>
+ </define>
+ <define name="caption_model">
+ <a:documentation>Content model for \elementref{caption},
+basically Inline.model with tag included (normally, but not necessarily, tag would come first).</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="tag"/>
+ </zeroOrMore>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="toccaption">
+ <element name="toccaption">
+ <a:documentation>A short form of \elementref{table} or \elementref{figure} caption,
+used for lists of figures or similar.</a:documentation>
+ <interleave>
+ <ref name="toccaption_attributes"/>
+ <ref name="toccaption_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="toccaption_attributes">
+ <a:documentation>Attributes for \elementref{toccaption}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="toccaption_model">
+ <a:documentation>MiKo: here we allowed multiple tags, but now we can restrict, do we want that?
+Content model for \elementref{toccaption}.</a:documentation>
+ <interleave>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ <zeroOrMore>
+ <ref name="tag"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+</grammar>
+<!-- ====================================================================== -->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-picture.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-picture.rng
new file mode 100644
index 00000000000..d5f5ea15dc3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-picture.rng
@@ -0,0 +1,594 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ /=====================================================================\
+ | LaTeXML-picture.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=/
+-->
+<!--
+ ======================================================================
+ Picture; Experimental, possibly should evolve to SVG?
+ ======================================================================
+-->
+<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="Misc.class" combine="interleave">
+ <a:documentation>This module defines a picture environment, roughly a subset of SVG.
+NOTE: Consider whether it is sensible to drop this and incorporate SVG itself.</a:documentation>
+ <zeroOrMore>
+ <ref name="picture"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="Picture.class">
+ <interleave>
+ <zeroOrMore>
+ <ref name="g"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="rect"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="line"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="circle"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="path"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="arc"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="wedge"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ellipse"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="polygon"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bezier"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="parabola"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="curve"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="dots"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="grid"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="clip"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="Picture.attributes">
+ <a:documentation>These attributes correspond roughly to SVG, but need documentation.</a:documentation>
+ <interleave>
+ <optional>
+ <attribute name="x"/>
+ </optional>
+ <optional>
+ <attribute name="y"/>
+ </optional>
+ <optional>
+ <attribute name="r"/>
+ </optional>
+ <optional>
+ <attribute name="rx"/>
+ </optional>
+ <optional>
+ <attribute name="ry"/>
+ </optional>
+ <optional>
+ <attribute name="width"/>
+ </optional>
+ <optional>
+ <attribute name="height"/>
+ </optional>
+ <optional>
+ <attribute name="fill"/>
+ </optional>
+ <optional>
+ <attribute name="stroke"/>
+ </optional>
+ <optional>
+ <attribute name="stroke-width"/>
+ </optional>
+ <optional>
+ <attribute name="stroke-dasharray"/>
+ </optional>
+ <optional>
+ <attribute name="transform"/>
+ </optional>
+ <optional>
+ <attribute name="terminators"/>
+ </optional>
+ <optional>
+ <attribute name="arrowlength"/>
+ </optional>
+ <optional>
+ <attribute name="points"/>
+ </optional>
+ <optional>
+ <attribute name="showpoints"/>
+ </optional>
+ <optional>
+ <attribute name="displayedpoints"/>
+ </optional>
+ <optional>
+ <attribute name="arc"/>
+ </optional>
+ <optional>
+ <attribute name="angle1"/>
+ </optional>
+ <optional>
+ <attribute name="angle2"/>
+ </optional>
+ <optional>
+ <attribute name="arcsepA"/>
+ </optional>
+ <optional>
+ <attribute name="arcsepB"/>
+ </optional>
+ <optional>
+ <attribute name="curvature"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="PictureGroup.attributes">
+ <a:documentation>These attributes correspond roughly to SVG, but need documentation.</a:documentation>
+ <interleave>
+ <optional>
+ <attribute name="pos"/>
+ </optional>
+ <optional>
+ <attribute name="framed">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="frametype" a:defaultValue="rect">
+ <choice>
+ <value>rect</value>
+ <value>circle</value>
+ <value>oval</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fillframe">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="boxsep"/>
+ </optional>
+ <optional>
+ <attribute name="shadowbox">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="doubleline">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="picture">
+ <element name="picture">
+ <a:documentation>A picture environment.</a:documentation>
+ <interleave>
+ <ref name="picture_attributes"/>
+ <ref name="picture_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="picture_attributes">
+ <a:documentation>Attributes for \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ <ref name="Picture.attributes"/>
+ <ref name="Imageable.attributes"/>
+ <optional>
+ <attribute name="clip">
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="baseline"/>
+ </optional>
+ <optional>
+ <attribute name="unitlength"/>
+ </optional>
+ <optional>
+ <attribute name="xunitlength"/>
+ </optional>
+ <optional>
+ <attribute name="yunitlength"/>
+ </optional>
+ <optional>
+ <attribute name="tex"/>
+ </optional>
+ <optional>
+ <attribute name="content-tex"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="picture_model">
+ <a:documentation>Content model for \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="Picture.class"/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="g">
+ <element name="g">
+ <a:documentation>A graphical grouping; the content is inherits by the transformations,
+positioning and other properties.</a:documentation>
+ <interleave>
+ <ref name="g_attributes"/>
+ <ref name="g_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="g_attributes">
+ <a:documentation>Attributes for \elementref{g}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ <ref name="PictureGroup.attributes"/>
+ </interleave>
+ </define>
+ <define name="g_model">
+ <a:documentation>Content model for \elementref{g}.</a:documentation>
+ <interleave>
+ <ref name="Picture.class"/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="rect">
+ <element name="rect">
+ <a:documentation>A rectangle within a \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="rect_attributes"/>
+ <ref name="rect_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="rect_attributes">
+ <a:documentation>Attributes for \elementref{rect}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </interleave>
+ </define>
+ <define name="rect_model">
+ <a:documentation>Content model for \elementref{rect}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="line">
+ <element name="line">
+ <a:documentation>A line within a \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="line_attributes"/>
+ <ref name="line_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="line_attributes">
+ <a:documentation>Attributes for \elementref{line}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </interleave>
+ </define>
+ <define name="line_model">
+ <a:documentation>Content model for \elementref{line}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="polygon">
+ <element name="polygon">
+ <a:documentation>A polygon within a \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="polygon_attributes"/>
+ <ref name="polygon_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="polygon_attributes">
+ <a:documentation>Attributes for \elementref{polygon}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </interleave>
+ </define>
+ <define name="polygon_model">
+ <a:documentation>Content model for \elementref{polygon}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="wedge">
+ <element name="wedge">
+ <a:documentation>A wedge within a \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="wedge_attributes"/>
+ <ref name="wedge_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="wedge_attributes">
+ <a:documentation>Attributes for \elementref{wedge}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </interleave>
+ </define>
+ <define name="wedge_model">
+ <a:documentation>Content model for \elementref{wedge}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="arc">
+ <element name="arc">
+ <a:documentation>An arc within a \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="arc_attributes"/>
+ <ref name="arc_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="arc_attributes">
+ <a:documentation>Attributes for \elementref{arc}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </interleave>
+ </define>
+ <define name="arc_model">
+ <a:documentation>Content model for \elementref{arc}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="circle">
+ <element name="circle">
+ <a:documentation>A circle within a \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="circle_attributes"/>
+ <ref name="circle_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="circle_attributes">
+ <a:documentation>Attributes for \elementref{circle}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </interleave>
+ </define>
+ <define name="circle_model">
+ <a:documentation>Content model for \elementref{circle}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="ellipse">
+ <element name="ellipse">
+ <a:documentation>An ellipse within a \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="ellipse_attributes"/>
+ <ref name="ellipse_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="ellipse_attributes">
+ <a:documentation>Attributes for \elementref{ellipse}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </interleave>
+ </define>
+ <define name="ellipse_model">
+ <a:documentation>Content model for \elementref{ellipse}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="path">
+ <element name="path">
+ <a:documentation>A path within a \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="path_attributes"/>
+ <ref name="path_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="path_attributes">
+ <a:documentation>Attributes for \elementref{path}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </interleave>
+ </define>
+ <define name="path_model">
+ <a:documentation>Content model for \elementref{path}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="bezier">
+ <element name="bezier">
+ <a:documentation>A bezier curve within a \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="bezier_attributes"/>
+ <ref name="bezier_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bezier_attributes">
+ <a:documentation>Attributes for \elementref{bezier}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </interleave>
+ </define>
+ <define name="bezier_model">
+ <a:documentation>Content model for \elementref{bezier}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="curve">
+ <element name="curve">
+ <a:documentation>A curve within a \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="curve_attributes"/>
+ <ref name="curve_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="curve_attributes">
+ <a:documentation>Attributes for \elementref{curve}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </interleave>
+ </define>
+ <define name="curve_model">
+ <a:documentation>Content model for \elementref{curve}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="parabola">
+ <element name="parabola">
+ <a:documentation>A parabola curve within a \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="parabola_attributes"/>
+ <ref name="parabola_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="parabola_attributes">
+ <a:documentation>Attributes for \elementref{parabola}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </interleave>
+ </define>
+ <define name="parabola_model">
+ <a:documentation>Content model for \elementref{parabola}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="dots">
+ <element name="dots">
+ <a:documentation>A sequence of dots (?) within a \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="dots_attributes"/>
+ <ref name="dots_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="dots_attributes">
+ <a:documentation>Attributes for \elementref{dots}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </interleave>
+ </define>
+ <define name="dots_model">
+ <a:documentation>Content model for \elementref{dots}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="grid">
+ <element name="grid">
+ <a:documentation>A grid within a \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="grid_attributes"/>
+ <ref name="grid_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="grid_attributes">
+ <a:documentation>Attributes for \elementref{grid}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </interleave>
+ </define>
+ <define name="grid_model">
+ <a:documentation>Content model for \elementref{grid}.</a:documentation>
+ <empty/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="clip">
+ <element name="clip">
+ <a:documentation>Establishes a clipping region within a \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="clip_attributes"/>
+ <ref name="clip_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="clip_attributes">
+ <a:documentation>Attributes for \elementref{clip}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </interleave>
+ </define>
+ <define name="clip_model">
+ <a:documentation>Content model for \elementref{clip}.</a:documentation>
+ <zeroOrMore>
+ <ref name="clippath"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="clippath">
+ <element name="clippath">
+ <a:documentation>Establishes a clipping region within a \elementref{picture}.</a:documentation>
+ <interleave>
+ <ref name="clippath_attributes"/>
+ <ref name="clippath_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="clippath_attributes">
+ <a:documentation>Attributes for \elementref{clippath}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </interleave>
+ </define>
+ <define name="clippath_model">
+ <a:documentation>Content model for \elementref{clippath}.</a:documentation>
+ <interleave>
+ <ref name="Picture.class"/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </interleave>
+ </define>
+</grammar>
+<!-- ====================================================================== -->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-structure.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-structure.rng
new file mode 100644
index 00000000000..dae5c993de1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-structure.rng
@@ -0,0 +1,1039 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ /=====================================================================\
+ | LaTeXML-structure.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">
+ <!-- ====================================================================== -->
+ <define name="document">
+ <element name="document">
+ <a:documentation>The document root.</a:documentation>
+ <interleave>
+ <ref name="document_attributes"/>
+ <ref name="document_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="document.body.class">
+ <a:documentation>The content allowable as the main body of the document.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="paragraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsubsection"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsection"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="section"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="chapter"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="part"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="document_attributes">
+ <a:documentation>Attributes for \elementref{document}.</a:documentation>
+ <ref name="Sectional.attributes"/>
+ </define>
+ <define name="document_model">
+ <a:documentation>Content model for \elementref{document}.</a:documentation>
+ <!--
+ (FrontMatter.class & SectionalFrontMatter.class & Meta.class & titlepage*),
+ document.body.class,
+ -->
+ <ref name="BackMatter.class"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="part">
+ <element name="part">
+ <a:documentation>A part within a document.</a:documentation>
+ <interleave>
+ <ref name="part_attributes"/>
+ <ref name="part_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="part.body.class">
+ <a:documentation>The content allowable as the main body of a part.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="chapter"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="part_attributes">
+ <a:documentation>Attributes for \elementref{part}.</a:documentation>
+ <ref name="Sectional.attributes"/>
+ </define>
+ <define name="part_model">
+ <a:documentation>Content model for \elementref{part}.</a:documentation>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="part.body.class"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="chapter">
+ <element name="chapter">
+ <a:documentation>A Chapter within a document.</a:documentation>
+ <interleave>
+ <ref name="chapter_attributes"/>
+ <ref name="chapter_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="chapter.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="subparagraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="paragraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsubsection"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsection"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="section"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="chapter_attributes">
+ <a:documentation>Attributes for \elementref{chapter}.</a:documentation>
+ <ref name="Sectional.attributes"/>
+ </define>
+ <define name="chapter_model">
+ <a:documentation>Content model for \elementref{chapter}.</a:documentation>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="chapter.body.class"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="section">
+ <element name="section">
+ <a:documentation>A Section within a document.</a:documentation>
+ <interleave>
+ <ref name="section_attributes"/>
+ <ref name="section_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="section.body.class">
+ <a:documentation>The content allowable as the main body of a section.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="subparagraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="paragraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsubsection"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsection"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="section_attributes">
+ <a:documentation>Attributes for \elementref{section}.</a:documentation>
+ <ref name="Sectional.attributes"/>
+ </define>
+ <define name="section_model">
+ <a:documentation>Content model for \elementref{section}.</a:documentation>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="section.body.class"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="subsection">
+ <element name="subsection">
+ <a:documentation>A Subsection within a document.</a:documentation>
+ <interleave>
+ <ref name="subsection_attributes"/>
+ <ref name="subsection_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="subsection.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="subparagraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="paragraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsubsection"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="subsection_attributes">
+ <a:documentation>Attributes for \elementref{subsection}.</a:documentation>
+ <ref name="Sectional.attributes"/>
+ </define>
+ <define name="subsection_model">
+ <a:documentation>Content model for \elementref{subsection}.</a:documentation>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="subsection.body.class"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="subsubsection">
+ <element name="subsubsection">
+ <a:documentation>A Subsubsection within a document.</a:documentation>
+ <interleave>
+ <ref name="subsubsection_attributes"/>
+ <ref name="subsubsection_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="subsubsection.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="subparagraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="paragraph"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="subsubsection_attributes">
+ <a:documentation>Attributes for \elementref{subsubsection}.</a:documentation>
+ <ref name="Sectional.attributes"/>
+ </define>
+ <define name="subsubsection_model">
+ <a:documentation>Content model for \elementref{subsubsection}.</a:documentation>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="subsubsection.body.class"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="paragraph">
+ <element name="paragraph">
+ <a:documentation>A Paragraph within a document. This corresponds to a `formal' marked, possibly labelled
+LaTeX Paragraph, in distinction from an unlabelled logical paragraph.</a:documentation>
+ <interleave>
+ <ref name="paragraph_attributes"/>
+ <ref name="paragraph_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="paragraph.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="subparagraph"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="paragraph_attributes">
+ <a:documentation>Attributes for \elementref{paragraph}.</a:documentation>
+ <ref name="Sectional.attributes"/>
+ </define>
+ <define name="paragraph_model">
+ <a:documentation>Content model for \elementref{paragraph}.</a:documentation>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="paragraph.body.class"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="subparagraph">
+ <element name="subparagraph">
+ <a:documentation>A Subparagraph within a document.</a:documentation>
+ <interleave>
+ <ref name="subparagraph_attributes"/>
+ <ref name="subparagraph_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="subparagraph.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <ref name="Para.model"/>
+ </define>
+ <define name="subparagraph_attributes">
+ <a:documentation>Attributes for \elementref{subparagraph}.</a:documentation>
+ <ref name="Sectional.attributes"/>
+ </define>
+ <define name="subparagraph_model">
+ <a:documentation>Content model for \elementref{subparagraph}.</a:documentation>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="subparagraph.body.class"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="appendix">
+ <element name="appendix">
+ <a:documentation>An Appendix within a document.</a:documentation>
+ <interleave>
+ <ref name="appendix_attributes"/>
+ <ref name="appendix_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="appendix.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="subparagraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="paragraph"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsubsection"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsection"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="section"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="appendix_attributes">
+ <a:documentation>Attributes for \elementref{appendix}.</a:documentation>
+ <ref name="Sectional.attributes"/>
+ </define>
+ <define name="appendix_model">
+ <a:documentation>Content model for \elementref{appendix}.</a:documentation>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="appendix.body.class"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="bibliography">
+ <element name="bibliography">
+ <a:documentation>A Bibliography within a document.</a:documentation>
+ <interleave>
+ <ref name="bibliography_attributes"/>
+ <ref name="bibliography_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bibliography.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <ref name="biblist"/>
+ </interleave>
+ </define>
+ <define name="bibliography_attributes">
+ <a:documentation>Attributes for \elementref{bibliography}.</a:documentation>
+ <interleave>
+ <ref name="Sectional.attributes"/>
+ <optional>
+ <attribute name="files">
+ <a:documentation>the list of bib files used to create the bibliograph.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="bibliography_model">
+ <a:documentation>Content model for \elementref{bibliography}.</a:documentation>
+ <ref name="FrontMatter.class"/>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="bibliography.body.class"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="index">
+ <element name="index">
+ <a:documentation>An Index within a document.</a:documentation>
+ <interleave>
+ <ref name="index_attributes"/>
+ <ref name="index_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="index.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <interleave>
+ <ref name="Para.model"/>
+ <zeroOrMore>
+ <ref name="indexlist"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="index_attributes">
+ <a:documentation>Attributes for \elementref{index}.</a:documentation>
+ <ref name="Sectional.attributes"/>
+ </define>
+ <define name="index_model">
+ <a:documentation>Content model for \elementref{index}.</a:documentation>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="index.body.class"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="indexlist">
+ <element name="indexlist">
+ <a:documentation>A heirarchical index generated. Typically generated during postprocessing
+from the collection of \elementref{indexmark} in the document
+(or document collection).</a:documentation>
+ <interleave>
+ <ref name="indexlist_attributes"/>
+ <ref name="indexlist_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="indexlist_attributes">
+ <a:documentation>Attributes for \elementref{indexlist}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </interleave>
+ </define>
+ <define name="indexlist_model">
+ <a:documentation>Content model for \elementref{indexlist}.</a:documentation>
+ <zeroOrMore>
+ <ref name="indexentry"/>
+ </zeroOrMore>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="indexentry">
+ <element name="indexentry">
+ <a:documentation>An entry in an \elementref{indexlist} consisting of a phrase, references to
+points in the document where the phrase was found, and possibly
+a nested \elementref{indexlist} represented index levels below this one.</a:documentation>
+ <interleave>
+ <ref name="indexentry_attributes"/>
+ <ref name="indexentry_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="indexentry_attributes">
+ <a:documentation>Attributes for \elementref{indexentry}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </interleave>
+ </define>
+ <define name="indexentry_model">
+ <a:documentation>Content model for \elementref{indexentry}.</a:documentation>
+ <ref name="indexphrase"/>
+ <optional>
+ <ref name="indexrefs"/>
+ </optional>
+ <optional>
+ <ref name="indexlist"/>
+ </optional>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="indexrefs">
+ <element name="indexrefs">
+ <a:documentation>A container for the references (\elementref{ref}) to where an \elementref{indexphrase} was
+encountered in the document. The model is Inline to allow
+arbitrary text, in addition to the expected \elementref{ref}'s.</a:documentation>
+ <interleave>
+ <ref name="indexrefs_attributes"/>
+ <ref name="indexrefs_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="indexrefs_attributes">
+ <a:documentation>Attributes for \elementref{indexrefs}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="indexrefs_model">
+ <a:documentation>Content model for \elementref{indexrefs}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="title">
+ <element name="title">
+ <a:documentation>The title of a document, section or similar document structure container.</a:documentation>
+ <interleave>
+ <ref name="title_attributes"/>
+ <ref name="title_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="title_attributes">
+ <a:documentation>Attributes for \elementref{title}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="font">
+ <a:documentation>The font prefered for the title.</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>
+ </interleave>
+ </define>
+ <define name="title_model">
+ <a:documentation>Content model for \elementref{title},
+basically Inline.model with tag included (normally, but not necessarily, tag would come first).</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="tag"/>
+ </zeroOrMore>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </interleave>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="toctitle">
+ <element name="toctitle">
+ <a:documentation>The short form of a title, for use in tables of contents or similar.</a:documentation>
+ <interleave>
+ <ref name="toctitle_attributes"/>
+ <ref name="toctitle_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="toctitle_attributes">
+ <a:documentation>Attributes for \elementref{toctitle}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="toctitle_model">
+ <a:documentation>Content model for \elementref{toctitle}.</a:documentation>
+ <interleave>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ <zeroOrMore>
+ <ref name="tag"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="subtitle">
+ <element name="subtitle">
+ <a:documentation>A subtitle, or secondary title.</a:documentation>
+ <interleave>
+ <ref name="subtitle_attributes"/>
+ <ref name="subtitle_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="subtitle_attributes">
+ <a:documentation>Attributes for \elementref{subtitle}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="subtitle_model">
+ <a:documentation>Content model for \elementref{subtitle}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="creator">
+ <element name="creator">
+ <a:documentation>Generalized document creator.</a:documentation>
+ <interleave>
+ <ref name="creator_attributes"/>
+ <ref name="creator_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="Person.class">
+ <a:documentation>The content allowed in authors, editors, etc.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="personname"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="contact"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="creator_attributes">
+ <a:documentation>Attributes for \elementref{creator}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ <optional>
+ <attribute name="role">
+ <a:documentation>indicates the role of the person in creating the docment.
+Commonly useful values are specified, but is open-ended to support extension.</a:documentation>
+ <choice>
+ <value>author</value>
+ <value>editor</value>
+ <value>translator</value>
+ <value>contributor</value>
+ <value>translator</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="creator_model">
+ <a:documentation>Content model for \elementref{creator}.</a:documentation>
+ <interleave>
+ <ref name="Person.class"/>
+ <ref name="Misc.class"/>
+ </interleave>
+ </define>
+ <!--
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ NOTE: This should be aligned with Bibname.
+ -->
+ <define name="personname">
+ <element name="personname">
+ <a:documentation>A person's name.</a:documentation>
+ <interleave>
+ <ref name="personname_attributes"/>
+ <ref name="personname_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="personname_attributes">
+ <a:documentation>Attributes for \elementref{personname}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="personname_model">
+ <a:documentation>Content model for \elementref{personname}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="contact">
+ <element name="contact">
+ <a:documentation>Generalized contact information for a document creator.
+Note that this element can be repeated to give different types
+of contact information (using \attr{role}) for the same creator.</a:documentation>
+ <interleave>
+ <ref name="contact_attributes"/>
+ <ref name="contact_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="contact_attributes">
+ <a:documentation>Attributes for \elementref{contact}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ <optional>
+ <attribute name="role">
+ <a:documentation>indicates the type of contact information contained.
+Commonly useful values are specified, but is open-ended to support extension.</a:documentation>
+ <choice>
+ <value>affiliation</value>
+ <value>address</value>
+ <value>current_address</value>
+ <value>email</value>
+ <value>url</value>
+ <value>thanks</value>
+ <value>dedicatory</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="contact_model">
+ <a:documentation>Content model for \elementref{contact}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="date">
+ <element name="date">
+ <a:documentation>Generalized document date.
+Note that this element can be repeated to give the dates
+of different events (using \attr{role}) for the same document.</a:documentation>
+ <interleave>
+ <ref name="date_attributes"/>
+ <ref name="date_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="date_attributes">
+ <a:documentation>Attributes for \elementref{date}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ <optional>
+ <attribute name="role">
+ <a:documentation>indicates the relevance of the date to the document.
+Commonly useful values are specified, but is open-ended to support extension.</a:documentation>
+ <choice>
+ <value>creation</value>
+ <value>conversion</value>
+ <value>posted</value>
+ <value>received</value>
+ <value>revised</value>
+ <value>accepted</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="date_model">
+ <a:documentation>Content model for \elementref{date}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="abstract">
+ <element name="abstract">
+ <a:documentation>A document abstract.</a:documentation>
+ <interleave>
+ <ref name="abstract_attributes"/>
+ <ref name="abstract_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="abstract_attributes">
+ <a:documentation>Attributes for \elementref{abstract}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ </interleave>
+ </define>
+ <define name="abstract_model">
+ <a:documentation>Content model for \elementref{abstract}.</a:documentation>
+ <ref name="Block.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="acknowledgements">
+ <element name="acknowledgements">
+ <a:documentation>Acknowledgements for the document.</a:documentation>
+ <interleave>
+ <ref name="acknowledgements_attributes"/>
+ <ref name="acknowledgements_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="acknowledgements_attributes">
+ <a:documentation>Attributes for \elementref{acknowledgements}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ </interleave>
+ </define>
+ <define name="acknowledgements_model">
+ <a:documentation>Content model for \elementref{acknowledgements}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="keywords">
+ <element name="keywords">
+ <a:documentation>Keywords for the document. The content is freeform.</a:documentation>
+ <interleave>
+ <ref name="keywords_attributes"/>
+ <ref name="keywords_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="keywords_attributes">
+ <a:documentation>Attributes for \elementref{keywords}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ </interleave>
+ </define>
+ <define name="keywords_model">
+ <a:documentation>Content model for \elementref{keywords}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="classification">
+ <element name="classification">
+ <a:documentation>A classification of the document.</a:documentation>
+ <interleave>
+ <ref name="classification_attributes"/>
+ <ref name="classification_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="classification_attributes">
+ <a:documentation>Attributes for \elementref{classification}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ <optional>
+ <attribute name="scheme">
+ <a:documentation>indicates what classification scheme was used.</a:documentation>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="classification_model">
+ <a:documentation>Content model for \elementref{classification}.</a:documentation>
+ <ref name="Inline.model"/>
+ </define>
+ <!--
+ ======================================================================
+ Fallback
+ -->
+ <define name="titlepage">
+ <element name="titlepage">
+ <a:documentation>block of random stuff marked as a titlepage</a:documentation>
+ <interleave>
+ <ref name="titlepage_attributes"/>
+ <ref name="titlepage_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="titlepage_attributes">
+ <a:documentation>Attributes for \elementref{titlepage}.</a:documentation>
+ <ref name="Sectional.attributes"/>
+ </define>
+ <define name="titlepage_model">
+ <a:documentation>Content model for \elementref{titlepage}.</a:documentation>
+ <interleave>
+ <ref name="FrontMatter.class"/>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="Block.class"/>
+ </interleave>
+ </define>
+ <!--
+ ======================================================================
+ TOC & Navigation; generally added by postprocessing
+ -->
+ <define name="TOC">
+ <element name="TOC">
+ <a:documentation>(Generalized) Table Of Contents, represents table of contents
+as well as list of figures, tables, and other such things.
+This will generally be placed by a \cs{tableofcontents} command
+and filled in by postprocessing.</a:documentation>
+ <interleave>
+ <ref name="TOC_attributes"/>
+ <ref name="TOC_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="TOC_attributes">
+ <a:documentation>Attributes for \elementref{TOC}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ <optional>
+ <attribute name="role">
+ <a:documentation>indicates the kind of list</a:documentation>
+ <choice>
+ <value>contents</value>
+ <value>figures</value>
+ <value>tables</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="select">
+ <a:documentation>indicates what kind of document elements to list, in the form of
+one or more tags such as \texttt{ltx:chapter} separated by \texttt{|}
+(suggestive of an xpath expression).</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="format">
+ <a:documentation>indicates how to format the listing</a:documentation>
+ <choice>
+ <value>normal</value>
+ <value>short</value>
+ <value>veryshort</value>
+ <text/>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="TOC_model">
+ <a:documentation>Content model for \elementref{TOC}.</a:documentation>
+ <optional>
+ <ref name="toclist"/>
+ </optional>
+ </define>
+ <define name="toclist">
+ <element name="toclist">
+ <a:documentation>The actual table of contents list, filled in.</a:documentation>
+ <interleave>
+ <ref name="toclist_attributes"/>
+ <ref name="toclist_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="toclist_attributes">
+ <a:documentation>Attributes for \elementref{toclist}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="toclist_model">
+ <a:documentation>Content model for \elementref{toclist}.</a:documentation>
+ <zeroOrMore>
+ <ref name="tocentry"/>
+ </zeroOrMore>
+ </define>
+ <define name="tocentry">
+ <element name="tocentry">
+ <a:documentation>An entry in a \elementref{toclist}.</a:documentation>
+ <interleave>
+ <ref name="tocentry_attributes"/>
+ <ref name="tocentry_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="tocentry_attributes">
+ <a:documentation>Attributes for \elementref{tocentry}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="tocentry_model">
+ <a:documentation>Content model for \elementref{tocentry}.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="ref"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="toclist"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="navigation">
+ <element name="navigation">
+ <a:documentation>Records navigation cross-referencing information, links from the
+current page or document to related ones, up, down, previous, next,
+and so forth; these relations are recorded in the \attr{class} attribute
+of the \elementref{ref}.
+
+\emph{Really?}; overload the class attribute!?
+This should be \attr{role}!
+Could also use a navigation name text or something?</a:documentation>
+ <interleave>
+ <ref name="navigation_attributes"/>
+ <ref name="navigation_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="navigation_attributes">
+ <a:documentation>Attributes for \elementref{navigation}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="navigation_model">
+ <a:documentation>Content model for \elementref{navigation}.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="ref"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="TOC"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="Sectional.attributes">
+ <a:documentation>Attributes shared by all sectional elements</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ </interleave>
+ </define>
+ <define name="FrontMatter.attributes">
+ <a:documentation>Attributes for other elements that can be used in frontmatter.</a:documentation>
+ <optional>
+ <attribute name="name">
+ <a:documentation>Records the name of the type of object this is to be used when composing the
+presentation. The value of this attribute is often set by language localization packages.</a:documentation>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SectionalFrontMatter.class">
+ <a:documentation>The content allowed for the front matter of each sectional unit,
+and the document.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="title"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="toctitle"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="creator"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="FrontMatter.class">
+ <a:documentation>The content allowed (in addition to \patternref{SectionalFrontMatter.class})
+for the front matter of a document.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="subtitle"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="date"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="abstract"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="acknowledgements"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="keywords"/>
+ </zeroOrMore>
+ <ref name="classification"/>
+ </interleave>
+ </define>
+ <define name="BackMatter.class">
+ <a:documentation>The content allowed a the end of a document.
+Note that this includes random trailing Block and Para material,
+to support articles with figures and similar data appearing `at end'.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="bibliography"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="appendix"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="index"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="acknowledgements"/>
+ </zeroOrMore>
+ <ref name="Para.class"/>
+ <ref name="Meta.class"/>
+ </interleave>
+ </define>
+ <define name="Para.class" combine="interleave">
+ <interleave>
+ <zeroOrMore>
+ <ref name="TOC"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="navigation"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+</grammar>
+<!-- ====================================================================== -->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-tabular.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-tabular.rng
new file mode 100644
index 00000000000..c7c653612a4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML-tabular.rng
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ /=====================================================================\
+ | LaTeXML-tabular.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="Misc.class" combine="interleave">
+ <a:documentation>This module defines the basic tabular, or alignment, structure.
+It is roughly parallel to the HTML model.</a:documentation>
+ <zeroOrMore>
+ <ref name="tabular"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="tabular">
+ <element name="tabular">
+ <a:documentation>An alignment structure corresponding to tabular or various similar forms.
+The model is basically a copy of HTML4's table.</a:documentation>
+ <interleave>
+ <ref name="tabular_attributes"/>
+ <ref name="tabular_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="tabular_attributes">
+ <a:documentation>Attributes for \elementref{tabular}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="vattach">
+ <a:documentation>which row's baseline aligns with the container's baseline.</a:documentation>
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <a:documentation>the desired width of the tabular.</a:documentation>
+ <ref name="Length.type"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="tabular_model">
+ <a:documentation>MiKo: this can be tightened. Is it really true that we have more than one body?
+Content model for \elementref{tabular}.</a:documentation>
+ <interleave>
+ <zeroOrMore>
+ <ref name="thead"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="tfoot"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="tbody"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="tr"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="thead">
+ <element name="thead">
+ <a:documentation>A container for a set of rows that correspond to the header of the tabular.</a:documentation>
+ <interleave>
+ <ref name="thead_attributes"/>
+ <ref name="thead_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="thead_attributes">
+ <a:documentation>Attributes for \elementref{thead}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="thead_model">
+ <a:documentation>Content model for \elementref{thead}.</a:documentation>
+ <zeroOrMore>
+ <ref name="tr"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="tfoot">
+ <element name="tfoot">
+ <a:documentation>A container for a set of rows that correspond to the footer of the tabular.</a:documentation>
+ <interleave>
+ <ref name="tfoot_attributes"/>
+ <ref name="tfoot_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="tfoot_attributes">
+ <a:documentation>Attributes for \elementref{tfoot}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="tfoot_model">
+ <a:documentation>Content model for \elementref{tfoot}.</a:documentation>
+ <zeroOrMore>
+ <ref name="tr"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="tbody">
+ <element name="tbody">
+ <a:documentation>A container for a set of rows corresponding to the body of the tabular.</a:documentation>
+ <interleave>
+ <ref name="tbody_attributes"/>
+ <ref name="tbody_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="tbody_attributes">
+ <a:documentation>Attributes for \elementref{tbody}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="tbody_model">
+ <a:documentation>Content model for \elementref{tbody}.</a:documentation>
+ <zeroOrMore>
+ <ref name="tr"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="tr">
+ <element name="tr">
+ <a:documentation>A row of a tabular.</a:documentation>
+ <interleave>
+ <ref name="tr_attributes"/>
+ <ref name="tr_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="tr_attributes">
+ <a:documentation>Attributes for \elementref{tr}.</a:documentation>
+ <ref name="Common.attributes"/>
+ </define>
+ <define name="tr_model">
+ <a:documentation>Content model for \elementref{tr}.</a:documentation>
+ <zeroOrMore>
+ <ref name="td"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="td">
+ <element name="td">
+ <a:documentation>A cell in a row of a tabular.</a:documentation>
+ <interleave>
+ <ref name="td_attributes"/>
+ <ref name="td_model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="td_attributes">
+ <a:documentation>Attributes for \elementref{td}.</a:documentation>
+ <interleave>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="colspan">
+ <a:documentation>indicates how many columns this cell spans or covers.</a:documentation>
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rowspan">
+ <a:documentation>indicates how many rows this cell spans or covers.</a:documentation>
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <!--
+ This would have been clearer, but messes up conversion to dtd
+ attribute align { "left" | "right" | "center" | "justify" | text }? &
+ -->
+ <attribute name="align">
+ <a:documentation> specifies the alignment of the content.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <a:documentation>specifies the desired width for the column.</a:documentation>
+ <ref name="Length.type"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="border">
+ <a:documentation>records a sequence of t or tt, r or rr, b or bb and l or ll
+for borders or doubled borders on any side of the cell.</a:documentation>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="thead">
+ <a:documentation>whether this cell corresponds to a table head or foot.</a:documentation>
+ <data type="boolean"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="td_model">
+ <a:documentation>Content model for \elementref{td}.</a:documentation>
+ <ref name="Flow.model"/>
+ </define>
+</grammar>
+<!-- ====================================================================== -->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML.rng b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML.rng
new file mode 100644
index 00000000000..646aea4b6ce
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/LaTeXML.rng
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ /=====================================================================\
+ | LaTeXML.rnc |
+ | Document Type 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 xmlns:svg="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="LaTeXML-common.rng"/>
+ <include href="LaTeXML-inline.rng"/>
+ <include href="LaTeXML-block.rng"/>
+ <include href="LaTeXML-para.rng"/>
+ <include href="LaTeXML-math.rng"/>
+ <include href="LaTeXML-tabular.rng"/>
+ <include href="LaTeXML-picture.rng"/>
+ <include href="LaTeXML-structure.rng"/>
+ <include href="LaTeXML-bib.rng"/>
+ <define name="Inline.model">
+ <a:documentation>Combined model for inline content.</a:documentation>
+ <interleave>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </interleave>
+ </define>
+ <define name="Block.model">
+ <a:documentation>Combined model for physical block-level content.</a:documentation>
+ <interleave>
+ <ref name="Block.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </interleave>
+ </define>
+ <define name="Flow.model">
+ <a:documentation>Combined model for general flow containing both inline and block level content.</a:documentation>
+ <interleave>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Block.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </interleave>
+ </define>
+ <define name="Para.model">
+ <a:documentation>Combined model for logical block-level context.</a:documentation>
+ <interleave>
+ <ref name="Para.class"/>
+ <ref name="Meta.class"/>
+ </interleave>
+ </define>
+ <start>
+ <ref name="document"/>
+ </start>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/MARCRelators.rng b/Master/texmf-dist/source/latex/stex/schema/rng/MARCRelators.rng
new file mode 100644
index 00000000000..44a616795dd
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/MARCRelators.rng
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- the MARC relator set; see http://www.loc.gov/marc/relators -->
+ <define name="MARCRelators">
+ <choice>
+ <value>act</value>
+ <value>adp</value>
+ <value>aft</value>
+ <value>ann</value>
+ <value>ant</value>
+ <value>app</value>
+ <value>aqt</value>
+ <value>arc</value>
+ <value>arr</value>
+ <value>art</value>
+ <value>asg</value>
+ <value>asn</value>
+ <value>att</value>
+ <value>auc</value>
+ <value>aud</value>
+ <value>aui</value>
+ <value>aus</value>
+ <value>aut</value>
+ <value>bdd</value>
+ <value>bjd</value>
+ <value>bkd</value>
+ <value>bkp</value>
+ <value>bnd</value>
+ <value>bpd</value>
+ <value>bsl</value>
+ <value>ccp</value>
+ <value>chr</value>
+ <value>clb</value>
+ <value>cli</value>
+ <value>cll</value>
+ <value>clt</value>
+ <value>cmm</value>
+ <value>cmp</value>
+ <value>cmt</value>
+ <value>cnd</value>
+ <value>cns</value>
+ <value>coe</value>
+ <value>col</value>
+ <value>com</value>
+ <value>cos</value>
+ <value>cot</value>
+ <value>cov</value>
+ <value>cpc</value>
+ <value>cpe</value>
+ <value>cph</value>
+ <value>cpl</value>
+ <value>cpt</value>
+ <value>cre</value>
+ <value>crp</value>
+ <value>crr</value>
+ <value>csl</value>
+ <value>csp</value>
+ <value>cst</value>
+ <value>ctb</value>
+ <value>cte</value>
+ <value>ctg</value>
+ <value>ctr</value>
+ <value>cts</value>
+ <value>ctt</value>
+ <value>cur</value>
+ <value>cwt</value>
+ <value>dfd</value>
+ <value>dfe</value>
+ <value>dft</value>
+ <value>dgg</value>
+ <value>dis</value>
+ <value>dln</value>
+ <value>dnc</value>
+ <value>dnr</value>
+ <value>dpc</value>
+ <value>dpt</value>
+ <value>drm</value>
+ <value>drt</value>
+ <value>dsr</value>
+ <value>dst</value>
+ <value>dte</value>
+ <value>dto</value>
+ <value>dub</value>
+ <value>edt</value>
+ <value>egr</value>
+ <value>elt</value>
+ <value>eng</value>
+ <value>etr</value>
+ <value>exp</value>
+ <value>fac</value>
+ <value>flm</value>
+ <value>fmo</value>
+ <value>fnd</value>
+ <value>fpy</value>
+ <value>frg</value>
+ <value>hnr</value>
+ <value>hst</value>
+ <value>ill</value>
+ <value>ilu</value>
+ <value>ins</value>
+ <value>inv</value>
+ <value>itr</value>
+ <value>ive</value>
+ <value>ivr</value>
+ <value>lbt</value>
+ <value>lee</value>
+ <value>lel</value>
+ <value>len</value>
+ <value>let</value>
+ <value>lie</value>
+ <value>lil</value>
+ <value>lit</value>
+ <value>lsa</value>
+ <value>lse</value>
+ <value>lso</value>
+ <value>ltg</value>
+ <value>lyr</value>
+ <value>mdc</value>
+ <value>mod</value>
+ <value>mon</value>
+ <value>mrk</value>
+ <value>mte</value>
+ <value>mus</value>
+ <value>nrt</value>
+ <value>opn</value>
+ <value>org</value>
+ <value>orm</value>
+ <value>oth</value>
+ <value>own</value>
+ <value>pat</value>
+ <value>pbd</value>
+ <value>pbl</value>
+ <value>pfr</value>
+ <value>pht</value>
+ <value>plt</value>
+ <value>pop</value>
+ <value>ppm</value>
+ <value>prc</value>
+ <value>prd</value>
+ <value>prf</value>
+ <value>prg</value>
+ <value>prm</value>
+ <value>pro</value>
+ <value>prt</value>
+ <value>pta</value>
+ <value>pte</value>
+ <value>ptf</value>
+ <value>pth</value>
+ <value>ptt</value>
+ <value>rbr</value>
+ <value>rce</value>
+ <value>rcp</value>
+ <value>red</value>
+ <value>ren</value>
+ <value>res</value>
+ <value>rev</value>
+ <value>rpt</value>
+ <value>rpy</value>
+ <value>rse</value>
+ <value>rsp</value>
+ <value>rst</value>
+ <value>rth</value>
+ <value>rtm</value>
+ <value>sad</value>
+ <value>sce</value>
+ <value>scl</value>
+ <value>scr</value>
+ <value>sec</value>
+ <value>sgn</value>
+ <value>sng</value>
+ <value>spk</value>
+ <value>spn</value>
+ <value>spy</value>
+ <value>srv</value>
+ <value>stl</value>
+ <value>stn</value>
+ <value>str</value>
+ <value>ths</value>
+ <value>trc</value>
+ <value>trl</value>
+ <value>tyd</value>
+ <value>tyg</value>
+ <value>voc</value>
+ <value>wam</value>
+ <value>wdc</value>
+ <value>wde</value>
+ <value>wit</value>
+ </choice>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/Makefile b/Master/texmf-dist/source/latex/stex/schema/rng/Makefile
new file mode 100644
index 00000000000..051561e50af
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/Makefile
@@ -0,0 +1,23 @@
+RNCDIR = ../rnc
+BUT.rnc =
+OMDOC.rnc = $(shell ls $(RNCDIR)/omdoc/*rnc)
+LATEXML.rnc = $(shell ls $(RNCDIR)/LaTeXML/*rnc)
+SRC.rnc = $(RNCDIR)/omdoc+ltxml.rnc #$(filter-out $(BUT.rnc), $(shell ls $(RNCDIR)/*.rnc))
+SRC.rng = $(SRC.rnc:%.rnc=%.rng)
+
+all: $(SRC.rng) #$(TARGET.xsd)
+
+clean:
+ rm -f *~
+distclean: clean
+
+# for the moment we do not install
+# install: $(SRC.rnc) $(SRC.rng)
+# cp $(SRC.rnc) $(SRC.rng) $(HOME)/vc/svn/omdoc.org/www/rnc
+
+test:
+
+$(SRC.rng): %.rng: %.rnc $(OMDOC.rnc) $(LATEXML.rnc)
+# rnc2rng $< $@
+ trang -I rnc -O rng $< $@
+ mv ../rnc/*.rng .
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/creativecommons.rng b/Master/texmf-dist/source/latex/stex/schema/rng/creativecommons.rng
new file mode 100644
index 00000000000..3b5080e9653
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/creativecommons.rng
@@ -0,0 +1,390 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG for Creative Commons License Specifications
+ $Id: creativecommons.rnc 8550 2009-11-07 06:38:23Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/trunk/schema/rnc/pragmatic/creativecommons.rnc $
+ Copyright (c) 2008 Michael Kohlhase, released under the GNU Public License (GPL)
+-->
+<grammar ns="http://creativecommons.org/ns" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="iana.tld">
+ <choice>
+ <value>ac</value>
+ <value>ad</value>
+ <value>ae</value>
+ <value>af</value>
+ <value>ag</value>
+ <value>ai</value>
+ <value>al</value>
+ <value>am</value>
+ <value>an</value>
+ <value>ao</value>
+ <value>aq</value>
+ <value>ar</value>
+ <value>as</value>
+ <value>at</value>
+ <value>au</value>
+ <value>aw</value>
+ <value>ax</value>
+ <value>az</value>
+ <value>ba</value>
+ <value>bb</value>
+ <value>bd</value>
+ <value>be</value>
+ <value>bf</value>
+ <value>bg</value>
+ <value>bh</value>
+ <value>bi</value>
+ <value>bj</value>
+ <value>bm</value>
+ <value>bn</value>
+ <value>bo</value>
+ <value>br</value>
+ <value>bs</value>
+ <value>bt</value>
+ <value>bv</value>
+ <value>bw</value>
+ <value>by</value>
+ <value>bz</value>
+ <value>ca</value>
+ <value>cc</value>
+ <value>cd</value>
+ <value>cf</value>
+ <value>cg</value>
+ <value>ch</value>
+ <value>ci</value>
+ <value>ck</value>
+ <value>cl</value>
+ <value>cm</value>
+ <value>cn</value>
+ <value>co</value>
+ <value>cr</value>
+ <value>cs</value>
+ <value>cu</value>
+ <value>cv</value>
+ <value>cx</value>
+ <value>cy</value>
+ <value>cz</value>
+ <value>de</value>
+ <value>dj</value>
+ <value>dk</value>
+ <value>dm</value>
+ <value>do</value>
+ <value>dz</value>
+ <value>ec</value>
+ <value>ee</value>
+ <value>eg</value>
+ <value>eh</value>
+ <value>er</value>
+ <value>es</value>
+ <value>et</value>
+ <value>fi</value>
+ <value>fj</value>
+ <value>fk</value>
+ <value>fm</value>
+ <value>fo</value>
+ <value>fr</value>
+ <value>ga</value>
+ <value>gb</value>
+ <value>gd</value>
+ <value>ge</value>
+ <value>gf</value>
+ <value>gg</value>
+ <value>gh</value>
+ <value>gi</value>
+ <value>gl</value>
+ <value>gm</value>
+ <value>gn</value>
+ <value>gp</value>
+ <value>gq</value>
+ <value>gr</value>
+ <value>gs</value>
+ <value>gt</value>
+ <value>gu</value>
+ <value>gw</value>
+ <value>gy</value>
+ <value>hk</value>
+ <value>hm</value>
+ <value>hn</value>
+ <value>hr</value>
+ <value>ht</value>
+ <value>hu</value>
+ <value>id</value>
+ <value>ie</value>
+ <value>il</value>
+ <value>im</value>
+ <value>in</value>
+ <value>io</value>
+ <value>iq</value>
+ <value>ir</value>
+ <value>is</value>
+ <value>it</value>
+ <value>je</value>
+ <value>jm</value>
+ <value>jo</value>
+ <value>jp</value>
+ <value>ke</value>
+ <value>kg</value>
+ <value>kh</value>
+ <value>ki</value>
+ <value>km</value>
+ <value>kn</value>
+ <value>kp</value>
+ <value>kr</value>
+ <value>kw</value>
+ <value>ky</value>
+ <value>kz</value>
+ <value>la</value>
+ <value>lb</value>
+ <value>lc</value>
+ <value>li</value>
+ <value>lk</value>
+ <value>lr</value>
+ <value>ls</value>
+ <value>lt</value>
+ <value>lu</value>
+ <value>lv</value>
+ <value>ly</value>
+ <value>ma</value>
+ <value>mc</value>
+ <value>md</value>
+ <value>mg</value>
+ <value>mh</value>
+ <value>mk</value>
+ <value>ml</value>
+ <value>mm</value>
+ <value>mn</value>
+ <value>mo</value>
+ <value>mp</value>
+ <value>mq</value>
+ <value>mr</value>
+ <value>ms</value>
+ <value>mt</value>
+ <value>mu</value>
+ <value>mv</value>
+ <value>mw</value>
+ <value>mx</value>
+ <value>my</value>
+ <value>mz</value>
+ <value>na</value>
+ <value>nc</value>
+ <value>ne</value>
+ <value>nf</value>
+ <value>ng</value>
+ <value>ni</value>
+ <value>nl</value>
+ <value>no</value>
+ <value>np</value>
+ <value>nr</value>
+ <value>nu</value>
+ <value>nz</value>
+ <value>om</value>
+ <value>pa</value>
+ <value>pe</value>
+ <value>pf</value>
+ <value>pg</value>
+ <value>ph</value>
+ <value>pk</value>
+ <value>pl</value>
+ <value>pm</value>
+ <value>pn</value>
+ <value>pr</value>
+ <value>ps</value>
+ <value>pt</value>
+ <value>pw</value>
+ <value>py</value>
+ <value>qa</value>
+ <value>re</value>
+ <value>ro</value>
+ <value>ru</value>
+ <value>rw</value>
+ <value>sa</value>
+ <value>sb</value>
+ <value>sc</value>
+ <value>sd</value>
+ <value>se</value>
+ <value>sg</value>
+ <value>sh</value>
+ <value>si</value>
+ <value>sj</value>
+ <value>sk</value>
+ <value>sl</value>
+ <value>sm</value>
+ <value>sn</value>
+ <value>so</value>
+ <value>sr</value>
+ <value>st</value>
+ <value>sv</value>
+ <value>sy</value>
+ <value>sz</value>
+ <value>tc</value>
+ <value>td</value>
+ <value>tf</value>
+ <value>tg</value>
+ <value>th</value>
+ <value>tj</value>
+ <value>tk</value>
+ <value>tl</value>
+ <value>tm</value>
+ <value>tn</value>
+ <value>to</value>
+ <value>tp</value>
+ <value>tr</value>
+ <value>tt</value>
+ <value>tv</value>
+ <value>tw</value>
+ <value>tz</value>
+ <value>ua</value>
+ <value>ug</value>
+ <value>uk</value>
+ <value>um</value>
+ <value>us</value>
+ <value>uy</value>
+ <value>uz</value>
+ <value>va</value>
+ <value>vc</value>
+ <value>ve</value>
+ <value>vg</value>
+ <value>vi</value>
+ <value>vn</value>
+ <value>vu</value>
+ <value>wf</value>
+ <value>ws</value>
+ <value>ye</value>
+ <value>yt</value>
+ <value>yu</value>
+ <value>za</value>
+ <value>zm</value>
+ <value>zw</value>
+ </choice>
+ </define>
+ <define name="license.attribs">
+ <interleave>
+ <optional>
+ <attribute name="jurisdiction">
+ <ref name="iana.tld"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="version">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="license.model">
+ <ref name="permissions"/>
+ <ref name="prohibitions"/>
+ <ref name="requirements"/>
+ <ref name="description"/>
+ </define>
+ <define name="license">
+ <element name="license">
+ <interleave>
+ <ref name="license.attribs"/>
+ <ref name="license.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="permissions.attribs">
+ <interleave>
+ <attribute name="reproduction">
+ <choice>
+ <value>permitted</value>
+ <value> prohibited</value>
+ </choice>
+ </attribute>
+ <attribute name="distribution">
+ <choice>
+ <value>permitted</value>
+ <value> prohibited</value>
+ </choice>
+ </attribute>
+ <attribute name="derivative_works">
+ <choice>
+ <value>permitted</value>
+ <value>prohibited</value>
+ </choice>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="permissions.model">
+ <ref name="description"/>
+ </define>
+ <define name="permissions">
+ <element name="permissions">
+ <interleave>
+ <ref name="permissions.attribs"/>
+ <ref name="permissions.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="prohibitions.attribs">
+ <attribute name="commercial_use">
+ <choice>
+ <value>prohibited</value>
+ <value>permitted</value>
+ </choice>
+ </attribute>
+ </define>
+ <define name="prohibitions.model">
+ <ref name="description"/>
+ </define>
+ <define name="prohibitions">
+ <element name="prohibitions">
+ <interleave>
+ <ref name="prohibitions.attribs"/>
+ <ref name="prohibitions.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="requirements.attribs">
+ <interleave>
+ <attribute name="notice">
+ <choice>
+ <value>required</value>
+ <value>not_required</value>
+ </choice>
+ </attribute>
+ <attribute name="attribution">
+ <choice>
+ <value>required</value>
+ <value>not_required</value>
+ </choice>
+ </attribute>
+ <attribute name="copyleft">
+ <choice>
+ <value>required</value>
+ <value>not_required</value>
+ </choice>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="requirements.model">
+ <ref name="description"/>
+ </define>
+ <define name="requirements">
+ <element name="requirements">
+ <interleave>
+ <ref name="requirements.attribs"/>
+ <ref name="requirements.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="description.attribs">
+ <empty/>
+ </define>
+ <define name="description.model">
+ <text/>
+ </define>
+ <define name="description">
+ <element name="description">
+ <interleave>
+ <ref name="description.attribs"/>
+ <ref name="description.model"/>
+ </interleave>
+ </element>
+ </define>
+ <start>
+ <ref name="license"/>
+ </start>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/dublincore.rng b/Master/texmf-dist/source/latex/stex/schema/rng/dublincore.rng
new file mode 100644
index 00000000000..e9841803f4d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/dublincore.rng
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG schema for the Dublin Core elements
+ $Id: dublincore.rnc 8550 2009-11-07 06:38:23Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/trunk/schema/rnc/pragmatic/dublincore.rnc $
+ See the documentation and examples at http://www.omdoc.org
+ Copyright (c) 2004-2008 Michael Kohlhase, released under the GNU Public License (GPL)
+-->
+<grammar ns="http://purl.org/dc/elements/1.1/" xmlns:dc="http://purl.org/dc/elements/1.1/" 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="dc.person">
+ <a:documentation>the various content models, specialize for integration</a:documentation>
+ <text/>
+ </define>
+ <define name="dc.publisher">
+ <text/>
+ </define>
+ <define name="dc.text">
+ <text/>
+ </define>
+ <define name="dc.inline">
+ <text/>
+ </define>
+ <define name="dc.format">
+ <text/>
+ </define>
+ <define name="dc.source">
+ <text/>
+ </define>
+ <define name="dc.language">
+ <text/>
+ </define>
+ <define name="dc.rights">
+ <text/>
+ </define>
+ <define name="dc.relation">
+ <text/>
+ </define>
+ <define name="dc.date">
+ <data type="dateTime"/>
+ </define>
+ <define name="dc.type">
+ <text/>
+ </define>
+ <define name="dc.identifier">
+ <text/>
+ </define>
+ <!-- the model of the Dublin Metadata initiative (http://purl.org/dc) -->
+ <start>
+ <interleave>
+ <zeroOrMore>
+ <ref name="contributor"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="creator"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="rights"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subject"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="title"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="description"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="publisher"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="date"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="type"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="format"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="identifier"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="source"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="language"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="relation"/>
+ </zeroOrMore>
+ </interleave>
+ </start>
+ <define name="contributor">
+ <element name="contributor">
+ <ref name="dc.person"/>
+ </element>
+ </define>
+ <define name="creator">
+ <element name="creator">
+ <ref name="dc.person"/>
+ </element>
+ </define>
+ <define name="title">
+ <element name="title">
+ <ref name="dc.inline"/>
+ </element>
+ </define>
+ <define name="subject">
+ <element name="subject">
+ <ref name="dc.inline"/>
+ </element>
+ </define>
+ <define name="description">
+ <element name="description">
+ <ref name="dc.text"/>
+ </element>
+ </define>
+ <define name="publisher">
+ <element name="publisher">
+ <ref name="dc.publisher"/>
+ </element>
+ </define>
+ <define name="type">
+ <element name="type">
+ <ref name="dc.type"/>
+ </element>
+ </define>
+ <define name="format">
+ <element name="format">
+ <ref name="dc.format"/>
+ </element>
+ </define>
+ <define name="source">
+ <element name="source">
+ <ref name="dc.source"/>
+ </element>
+ </define>
+ <define name="language">
+ <element name="language">
+ <ref name="dc.language"/>
+ </element>
+ </define>
+ <define name="relation">
+ <element name="relation">
+ <ref name="dc.relation"/>
+ </element>
+ </define>
+ <define name="rights">
+ <element name="rights">
+ <ref name="dc.rights"/>
+ </element>
+ </define>
+ <define name="date">
+ <element name="date">
+ <ref name="dc.date"/>
+ </element>
+ </define>
+ <define name="identifier">
+ <element name="identifier">
+ <ref name="dc.identifier"/>
+ </element>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-cds-pragmatic.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-cds-pragmatic.rng
new file mode 100644
index 00000000000..4c46d7ce35d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-cds-pragmatic.rng
@@ -0,0 +1,2899 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0">
+ <define name="opel.application" combine="choice">
+ <ref name="lcm_arith1_elt"/>
+ </define>
+ <define name="lcm_arith1_elt" combine="choice">
+ <element name="m:lcm">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="lcm_arith1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="gcd_arith1_elt"/>
+ </define>
+ <define name="gcd_arith1_elt" combine="choice">
+ <element name="m:gcd">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="gcd_arith1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="plus_arith1_elt"/>
+ </define>
+ <define name="plus_arith1_elt" combine="choice">
+ <element name="m:plus">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="minus_arith1_elt"/>
+ </define>
+ <define name="minus_arith1_elt" combine="choice">
+ <element name="m:minus">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="times_arith1_elt"/>
+ </define>
+ <define name="times_arith1_elt" combine="choice">
+ <element name="m:times">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="divide_arith1_elt"/>
+ </define>
+ <define name="divide_arith1_elt" combine="choice">
+ <element name="m:divide">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="power_arith1_elt"/>
+ </define>
+ <define name="power_arith1_elt" combine="choice">
+ <element name="m:power">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="abs_arith1_elt"/>
+ </define>
+ <define name="abs_arith1_elt" combine="choice">
+ <element name="m:abs">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="root_arith1_elt"/>
+ </define>
+ <define name="root_arith1_elt" combine="choice">
+ <element name="m:root">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>real</value>
+ <value>complex</value>
+ <value>principal_branch</value>
+ <ref name="MathMLType"/>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="sum_arith1_elt"/>
+ </define>
+ <define name="sum_arith1_elt" combine="choice">
+ <element name="m:sum">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="sum_arith1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="product_arith1_elt"/>
+ </define>
+ <define name="product_arith1_elt" combine="choice">
+ <element name="m:product">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="product_arith1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="diff_calculus1_elt"/>
+ </define>
+ <define name="diff_calculus1_elt" combine="choice">
+ <element name="m:diff">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>function</value>
+ <value>algebraic</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="diff_calculus1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="partialdiff_calculus1_elt"/>
+ </define>
+ <define name="partialdiff_calculus1_elt" combine="choice">
+ <element name="m:partialdiff">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>function</value>
+ <value>algebraic</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="int_calculus1_elt"/>
+ </define>
+ <define name="int_calculus1_elt" combine="choice">
+ <element name="m:int">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="defint_calculus1_elt"/>
+ </define>
+ <define name="defint_calculus1_elt" combine="choice">
+ <element name="m:defint">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="diff_calculus3_elt"/>
+ </define>
+ <define name="diff_calculus3_elt" combine="choice">
+ <element name="m:diff">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>function</value>
+ <value>algebraic</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="diff_calculus3_elt"/>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="partialdiff_calculus3_elt"/>
+ </define>
+ <define name="partialdiff_calculus3_elt" combine="choice">
+ <element name="m:partialdiff">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>function</value>
+ <value>algebraic</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="int_calculus3_elt"/>
+ </define>
+ <define name="int_calculus3_elt" combine="choice">
+ <element name="m:int">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="defint_calculus3_elt"/>
+ </define>
+ <define name="defint_calculus3_elt" combine="choice">
+ <element name="m:defint">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="real_complex1_elt"/>
+ </define>
+ <define name="real_complex1_elt" combine="choice">
+ <element name="m:real">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="imaginary_complex1_elt"/>
+ </define>
+ <define name="imaginary_complex1_elt" combine="choice">
+ <element name="m:imaginary">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="argument_complex1_elt"/>
+ </define>
+ <define name="argument_complex1_elt" combine="choice">
+ <element name="m:arg">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="conjugate_complex1_elt"/>
+ </define>
+ <define name="conjugate_complex1_elt" combine="choice">
+ <element name="m:conjugate">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="domain_fns1_elt"/>
+ </define>
+ <define name="domain_fns1_elt" combine="choice">
+ <element name="m:domain">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="range_fns1_elt"/>
+ </define>
+ <define name="range_fns1_elt" combine="choice">
+ <element name="m:codomain">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="image_fns1_elt"/>
+ </define>
+ <define name="image_fns1_elt" combine="choice">
+ <element name="m:image">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="identity_fns1_elt"/>
+ </define>
+ <define name="identity_fns1_elt" combine="choice">
+ <element name="m:ident">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="inverse_fns1_elt"/>
+ </define>
+ <define name="inverse_fns1_elt" combine="choice">
+ <element name="m:inverse">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="left_compose_fns1_elt"/>
+ </define>
+ <define name="left_compose_fns1_elt" combine="choice">
+ <element name="m:compose">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="compose_fns1_elt"/>
+ </define>
+ <define name="compose_fns1_elt" combine="choice">
+ <element name="m:compose">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="lambda_fns1_elt"/>
+ </define>
+ <define name="lambda_fns1_elt" combine="choice">
+ <element name="m:lambda">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="lambda_fns1_elt" combine="choice">
+ <element name="m:lambda">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="container" combine="choice">
+ <ref name="lambda_fns1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="condition_fns1_elt"/>
+ </define>
+ <define name="condition_fns1_elt" combine="choice">
+ <element name="m:lambda">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="condition_fns1_elt" combine="choice">
+ <element name="m:lambda">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="container" combine="choice">
+ <ref name="condition_fns1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="factorof_integer1_elt"/>
+ </define>
+ <define name="factorof_integer1_elt" combine="choice">
+ <element name="m:factorof">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="factorial_integer1_elt"/>
+ </define>
+ <define name="factorial_integer1_elt" combine="choice">
+ <element name="m:factorial">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="quotient_integer1_elt"/>
+ </define>
+ <define name="quotient_integer1_elt" combine="choice">
+ <element name="m:quotient">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="remainder_integer1_elt"/>
+ </define>
+ <define name="remainder_integer1_elt" combine="choice">
+ <element name="m:rem">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="interval_interval1_elt"/>
+ </define>
+ <define name="interval_interval1_elt" combine="choice">
+ <element name="m:interval">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>closed</value>
+ <value>open</value>
+ <value>open-closed</value>
+ <value>closed-open</value>
+ <value>integer</value>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="interval_interval1_elt" combine="choice">
+ <element name="m:interval">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>closed</value>
+ <value>open</value>
+ <value>open-closed</value>
+ <value>closed-open</value>
+ <value>integer</value>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="container" combine="choice">
+ <ref name="interval_interval1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="interval_oo_interval1_elt"/>
+ </define>
+ <define name="interval_oo_interval1_elt" combine="choice">
+ <element name="m:interval">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="closure">
+ <value>open</value>
+ </attribute>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="interval_cc_interval1_elt"/>
+ </define>
+ <define name="interval_cc_interval1_elt" combine="choice">
+ <element name="m:interval">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="closure">
+ <value>closed</value>
+ </attribute>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="interval_oc_interval1_elt"/>
+ </define>
+ <define name="interval_oc_interval1_elt" combine="choice">
+ <element name="m:interval">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="closure">
+ <value>open-closed</value>
+ </attribute>
+ <ref name="ContExp"/>
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="interval_co_interval1_elt"/>
+ </define>
+ <define name="interval_co_interval1_elt" combine="choice">
+ <element name="m:interval">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="closure">
+ <value>closed-open</value>
+ </attribute>
+ <ref name="ContExp"/>
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="limit_limit1_elt"/>
+ </define>
+ <define name="limit_limit1_elt" combine="choice">
+ <element name="m:limit">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="limit_limit1_elt"/>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="above_limit1_elt"/>
+ </define>
+ <define name="above_limit1_elt" combine="choice">
+ <element name="m:above">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="below_limit1_elt"/>
+ </define>
+ <define name="below_limit1_elt" combine="choice">
+ <element name="m:below">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="null_limit1_elt"/>
+ </define>
+ <define name="null_limit1_elt" combine="choice">
+ <element name="m:null">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="tendsto_limit1_elt"/>
+ </define>
+ <define name="tendsto_limit1_elt" combine="choice">
+ <element name="m:tendsto">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>above</value>
+ <value>below</value>
+ <value>two-sided</value>
+ <ref name="MathMLType"/>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="vectorproduct_linalg1_elt"/>
+ </define>
+ <define name="vectorproduct_linalg1_elt" combine="choice">
+ <element name="m:vectorproduct">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="scalarproduct_linalg1_elt"/>
+ </define>
+ <define name="scalarproduct_linalg1_elt" combine="choice">
+ <element name="m:scalarproduct">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="scalarproduct_linalg1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="outerproduct_linalg1_elt"/>
+ </define>
+ <define name="outerproduct_linalg1_elt" combine="choice">
+ <element name="m:outerproduct">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="outerproduct_linalg1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="transpose_linalg1_elt"/>
+ </define>
+ <define name="transpose_linalg1_elt" combine="choice">
+ <element name="m:transpose">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="determinant_linalg1_elt"/>
+ </define>
+ <define name="determinant_linalg1_elt" combine="choice">
+ <element name="m:determinant">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="vector_selector_linalg1_elt"/>
+ </define>
+ <define name="vector_selector_linalg1_elt" combine="choice">
+ <element name="m:selector">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="vector_linalg2_elt"/>
+ </define>
+ <define name="vector_linalg2_elt" combine="choice">
+ <element name="m:vector">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>row</value>
+ <ref name="MathMLType"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="vector_linalg2_elt" combine="choice">
+ <element name="m:vector">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>row</value>
+ <ref name="MathMLType"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="container" combine="choice">
+ <ref name="vector_linalg2_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="matrixrow_linalg2_elt"/>
+ </define>
+ <define name="matrixrow_linalg2_elt" combine="choice">
+ <element name="m:matrixrow">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="matrixrow_linalg2_elt" combine="choice">
+ <element name="m:matrixrow">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="container" combine="choice">
+ <ref name="matrixrow_linalg2_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="matrix_linalg2_elt"/>
+ </define>
+ <define name="matrix_linalg2_elt" combine="choice">
+ <element name="m:matrix">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>real</value>
+ <value>complex</value>
+ <value>integer</value>
+ <value>symbolic</value>
+ <ref name="MathMLType"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="matrix_linalg2_elt" combine="choice">
+ <element name="m:matrix">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>real</value>
+ <value>complex</value>
+ <value>integer</value>
+ <value>symbolic</value>
+ <ref name="MathMLType"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="container" combine="choice">
+ <ref name="matrix_linalg2_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="vector_linalg3_elt"/>
+ </define>
+ <define name="vector_linalg3_elt" combine="choice">
+ <element name="m:vector">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>column</value>
+ <ref name="MathMLType"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="vector_linalg3_elt" combine="choice">
+ <element name="m:vector">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>column</value>
+ <ref name="MathMLType"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="container" combine="choice">
+ <ref name="vector_linalg3_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="matrixcolumn_linalg3_elt"/>
+ </define>
+ <define name="matrixcolumn_linalg3_elt" combine="choice">
+ <element name="m:matrixcolumn">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="matrix_linalg3_elt"/>
+ </define>
+ <define name="matrix_linalg3_elt" combine="choice">
+ <element name="m:matrix">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="vector_linalg6_elt"/>
+ </define>
+ <define name="vector_linalg6_elt" combine="choice">
+ <element name="m:vector">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>row</value>
+ <ref name="MathMLType"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="vector_linalg6_elt" combine="choice">
+ <element name="m:vector">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>row</value>
+ <ref name="MathMLType"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="container" combine="choice">
+ <ref name="vector_linalg6_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="matrix_linalg6_elt"/>
+ </define>
+ <define name="matrix_linalg6_elt" combine="choice">
+ <element name="m:matrix">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>real</value>
+ <value>complex</value>
+ <value>integer</value>
+ <value>symbolic</value>
+ <ref name="MathMLType"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="matrix_linalg6_elt" combine="choice">
+ <element name="m:matrix">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>real</value>
+ <value>complex</value>
+ <value>integer</value>
+ <value>symbolic</value>
+ <ref name="MathMLType"/>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="container" combine="choice">
+ <ref name="matrix_linalg6_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="list_list1_elt"/>
+ </define>
+ <define name="list_list1_elt" combine="choice">
+ <element name="m:list">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="order">
+ <choice>
+ <value>lexicographic</value>
+ <value>numeric</value>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="list_list1_elt" combine="choice">
+ <element name="m:list">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="order">
+ <choice>
+ <value>lexicographic</value>
+ <value>numeric</value>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="container" combine="choice">
+ <ref name="list_list1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="list_selector_list2_elt"/>
+ </define>
+ <define name="list_selector_list2_elt" combine="choice">
+ <element name="m:selector">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="equivalent_logic1_elt"/>
+ </define>
+ <define name="equivalent_logic1_elt" combine="choice">
+ <element name="m:equivalent">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="equivalent_logic1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="not_logic1_elt"/>
+ </define>
+ <define name="not_logic1_elt" combine="choice">
+ <element name="m:not">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="and_logic1_elt"/>
+ </define>
+ <define name="and_logic1_elt" combine="choice">
+ <element name="m:and">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="and_logic1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="xor_logic1_elt"/>
+ </define>
+ <define name="xor_logic1_elt" combine="choice">
+ <element name="m:xor">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="xor_logic1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="or_logic1_elt"/>
+ </define>
+ <define name="or_logic1_elt" combine="choice">
+ <element name="m:or">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="or_logic1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="implies_logic1_elt"/>
+ </define>
+ <define name="implies_logic1_elt" combine="choice">
+ <element name="m:implies">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="true_logic1_elt"/>
+ </define>
+ <define name="true_logic1_elt" combine="choice">
+ <element name="m:true">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="false_logic1_elt"/>
+ </define>
+ <define name="false_logic1_elt" combine="choice">
+ <element name="m:false">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.semantic-attribution" combine="choice">
+ <ref name="type_mathmltypes_elt"/>
+ </define>
+ <define name="type_mathmltypes_elt" combine="choice">
+ <element name="m:type">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="min_minmax1_elt"/>
+ </define>
+ <define name="min_minmax1_elt" combine="choice">
+ <element name="m:min">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="min_minmax1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="max_minmax1_elt"/>
+ </define>
+ <define name="max_minmax1_elt" combine="choice">
+ <element name="m:max">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="max_minmax1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="cartesian_product_multiset1_elt"/>
+ </define>
+ <define name="cartesian_product_multiset1_elt" combine="choice">
+ <element name="m:cartesianproduct">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="cartesian_product_multiset1_elt"/>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="emptyset_multiset1_elt"/>
+ </define>
+ <define name="emptyset_multiset1_elt" combine="choice">
+ <element name="m:emptyset">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="map_multiset1_elt"/>
+ </define>
+ <define name="map_multiset1_elt" combine="choice">
+ <element name="m:map">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="size_multiset1_elt"/>
+ </define>
+ <define name="size_multiset1_elt" combine="choice">
+ <element name="m:card">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="suchthat_multiset1_elt"/>
+ </define>
+ <define name="suchthat_multiset1_elt" combine="choice">
+ <element name="m:suchthat">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="multiset_multiset1_elt"/>
+ </define>
+ <define name="multiset_multiset1_elt" combine="choice">
+ <element name="m:multiset">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="multiset_multiset1_elt" combine="choice">
+ <element name="m:multiset">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="container" combine="choice">
+ <ref name="multiset_multiset1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="intersect_multiset1_elt"/>
+ </define>
+ <define name="intersect_multiset1_elt" combine="choice">
+ <element name="m:intersect">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="intersect_multiset1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="union_multiset1_elt"/>
+ </define>
+ <define name="union_multiset1_elt" combine="choice">
+ <element name="m:union">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="union_multiset1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="setdiff_multiset1_elt"/>
+ </define>
+ <define name="setdiff_multiset1_elt" combine="choice">
+ <element name="m:setdiff">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="subset_multiset1_elt"/>
+ </define>
+ <define name="subset_multiset1_elt" combine="choice">
+ <element name="m:subset">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="subset_multiset1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="in_multiset1_elt"/>
+ </define>
+ <define name="in_multiset1_elt" combine="choice">
+ <element name="m:in">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="notin_multiset1_elt"/>
+ </define>
+ <define name="notin_multiset1_elt" combine="choice">
+ <element name="m:notin">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="prsubset_multiset1_elt"/>
+ </define>
+ <define name="prsubset_multiset1_elt" combine="choice">
+ <element name="m:prsubset">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="prsubset_multiset1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="notsubset_multiset1_elt"/>
+ </define>
+ <define name="notsubset_multiset1_elt" combine="choice">
+ <element name="m:notsubset">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="notprsubset_multiset1_elt"/>
+ </define>
+ <define name="notprsubset_multiset1_elt" combine="choice">
+ <element name="m:notprsubset">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <attribute name="type">
+ <value>multiset</value>
+ </attribute>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="rational_nums1_elt"/>
+ </define>
+ <define name="rational_nums1_elt" combine="choice">
+ <element name="m:rational">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="infinity_nums1_elt"/>
+ </define>
+ <define name="infinity_nums1_elt" combine="choice">
+ <element name="m:infinity">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="e_nums1_elt"/>
+ </define>
+ <define name="e_nums1_elt" combine="choice">
+ <element name="m:exponentiale">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="i_nums1_elt"/>
+ </define>
+ <define name="i_nums1_elt" combine="choice">
+ <element name="m:imaginaryi">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="pi_nums1_elt"/>
+ </define>
+ <define name="pi_nums1_elt" combine="choice">
+ <element name="m:pi">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="gamma_nums1_elt"/>
+ </define>
+ <define name="gamma_nums1_elt" combine="choice">
+ <element name="m:eulergamma">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="NaN_nums1_elt"/>
+ </define>
+ <define name="NaN_nums1_elt" combine="choice">
+ <element name="m:notanumber">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="omtype_omtypes_elt"/>
+ </define>
+ <define name="omtype_omtypes_elt" combine="choice">
+ <element name="m:omtype">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="integer_omtypes_elt"/>
+ </define>
+ <define name="integer_omtypes_elt" combine="choice">
+ <element name="m:integer">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="float_omtypes_elt"/>
+ </define>
+ <define name="float_omtypes_elt" combine="choice">
+ <element name="m:float">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="string_omtypes_elt"/>
+ </define>
+ <define name="string_omtypes_elt" combine="choice">
+ <element name="m:string">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="bytearray_omtypes_elt"/>
+ </define>
+ <define name="bytearray_omtypes_elt" combine="choice">
+ <element name="m:bytearray">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="piecewise_piece1_elt"/>
+ </define>
+ <define name="piecewise_piece1_elt" combine="choice">
+ <element name="m:piecewise">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="piecewise_piece1_elt" combine="choice">
+ <element name="m:piecewise">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="container" combine="choice">
+ <ref name="piecewise_piece1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="piece_piece1_elt"/>
+ </define>
+ <define name="piece_piece1_elt" combine="choice">
+ <element name="m:piece">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="piece_piece1_elt" combine="choice">
+ <element name="m:piece">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="container" combine="choice">
+ <ref name="piece_piece1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="otherwise_piece1_elt"/>
+ </define>
+ <define name="otherwise_piece1_elt" combine="choice">
+ <element name="m:otherwise">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="otherwise_piece1_elt" combine="choice">
+ <element name="m:otherwise">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="container" combine="choice">
+ <ref name="otherwise_piece1_elt"/>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="forall_quant1_elt"/>
+ </define>
+ <define name="forall_quant1_elt" combine="choice">
+ <element name="m:forall">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="exists_quant1_elt"/>
+ </define>
+ <define name="exists_quant1_elt" combine="choice">
+ <element name="m:exists">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="eq_relation1_elt"/>
+ </define>
+ <define name="eq_relation1_elt" combine="choice">
+ <element name="m:eq">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="eq_relation1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="lt_relation1_elt"/>
+ </define>
+ <define name="lt_relation1_elt" combine="choice">
+ <element name="m:lt">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="lt_relation1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="gt_relation1_elt"/>
+ </define>
+ <define name="gt_relation1_elt" combine="choice">
+ <element name="m:gt">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="gt_relation1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="neq_relation1_elt"/>
+ </define>
+ <define name="neq_relation1_elt" combine="choice">
+ <element name="m:neq">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="leq_relation1_elt"/>
+ </define>
+ <define name="leq_relation1_elt" combine="choice">
+ <element name="m:leq">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="leq_relation1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="geq_relation1_elt"/>
+ </define>
+ <define name="geq_relation1_elt" combine="choice">
+ <element name="m:geq">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="geq_relation1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="approx_relation1_elt"/>
+ </define>
+ <define name="approx_relation1_elt" combine="choice">
+ <element name="m:approx">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="approx_relation1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="ceiling_rounding1_elt"/>
+ </define>
+ <define name="ceiling_rounding1_elt" combine="choice">
+ <element name="m:ceiling">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="floor_rounding1_elt"/>
+ </define>
+ <define name="floor_rounding1_elt" combine="choice">
+ <element name="m:floor">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="MathMLType"/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="trunc_rounding1_elt"/>
+ </define>
+ <define name="trunc_rounding1_elt" combine="choice">
+ <element name="m:trunc">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="round_rounding1_elt"/>
+ </define>
+ <define name="round_rounding1_elt" combine="choice">
+ <element name="m:round">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="mean_s_data1_elt"/>
+ </define>
+ <define name="mean_s_data1_elt" combine="choice">
+ <element name="m:mean">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="sdev_s_data1_elt"/>
+ </define>
+ <define name="sdev_s_data1_elt" combine="choice">
+ <element name="m:sdev">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="variance_s_data1_elt"/>
+ </define>
+ <define name="variance_s_data1_elt" combine="choice">
+ <element name="m:variance">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="mode_s_data1_elt"/>
+ </define>
+ <define name="mode_s_data1_elt" combine="choice">
+ <element name="m:mode">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="median_s_data1_elt"/>
+ </define>
+ <define name="median_s_data1_elt" combine="choice">
+ <element name="m:median">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="moment_s_data1_elt"/>
+ </define>
+ <define name="moment_s_data1_elt" combine="choice">
+ <element name="m:moment">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="mean_s_dist1_elt"/>
+ </define>
+ <define name="mean_s_dist1_elt" combine="choice">
+ <element name="m:mean">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="sdev_s_dist1_elt"/>
+ </define>
+ <define name="sdev_s_dist1_elt" combine="choice">
+ <element name="m:sdev">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="variance_s_dist1_elt"/>
+ </define>
+ <define name="variance_s_dist1_elt" combine="choice">
+ <element name="m:variance">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="moment_s_dist1_elt"/>
+ </define>
+ <define name="moment_s_dist1_elt" combine="choice">
+ <element name="m:moment">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="cartesian_product_set1_elt"/>
+ </define>
+ <define name="cartesian_product_set1_elt" combine="choice">
+ <element name="m:cartesianproduct">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="cartesian_product_set1_elt"/>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="emptyset_set1_elt"/>
+ </define>
+ <define name="emptyset_set1_elt" combine="choice">
+ <element name="m:emptyset">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="map_set1_elt"/>
+ </define>
+ <define name="map_set1_elt" combine="choice">
+ <element name="m:map">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="size_set1_elt"/>
+ </define>
+ <define name="size_set1_elt" combine="choice">
+ <element name="m:card">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="suchthat_set1_elt"/>
+ </define>
+ <define name="suchthat_set1_elt" combine="choice">
+ <element name="m:suchthat">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="set_set1_elt"/>
+ </define>
+ <define name="set_set1_elt" combine="choice">
+ <element name="m:set">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="set_set1_elt" combine="choice">
+ <element name="m:set">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="container" combine="choice">
+ <ref name="set_set1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="intersect_set1_elt"/>
+ </define>
+ <define name="intersect_set1_elt" combine="choice">
+ <element name="m:intersect">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="intersect_set1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="union_set1_elt"/>
+ </define>
+ <define name="union_set1_elt" combine="choice">
+ <element name="m:union">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="union_set1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="setdiff_set1_elt"/>
+ </define>
+ <define name="setdiff_set1_elt" combine="choice">
+ <element name="m:setdiff">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="subset_set1_elt"/>
+ </define>
+ <define name="subset_set1_elt" combine="choice">
+ <element name="m:subset">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="subset_set1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="in_set1_elt"/>
+ </define>
+ <define name="in_set1_elt" combine="choice">
+ <element name="m:in">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="notin_set1_elt"/>
+ </define>
+ <define name="notin_set1_elt" combine="choice">
+ <element name="m:notin">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="prsubset_set1_elt"/>
+ </define>
+ <define name="prsubset_set1_elt" combine="choice">
+ <element name="m:prsubset">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.binder" combine="choice">
+ <ref name="prsubset_set1_elt"/>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="notsubset_set1_elt"/>
+ </define>
+ <define name="notsubset_set1_elt" combine="choice">
+ <element name="m:notsubset">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="notprsubset_set1_elt"/>
+ </define>
+ <define name="notprsubset_set1_elt" combine="choice">
+ <element name="m:notprsubset">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>normal</value>
+ <value>multiset</value>
+ </choice>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="P_setname1_elt"/>
+ </define>
+ <define name="P_setname1_elt" combine="choice">
+ <element name="m:primes">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="N_setname1_elt"/>
+ </define>
+ <define name="N_setname1_elt" combine="choice">
+ <element name="m:naturalnumbers">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="Z_setname1_elt"/>
+ </define>
+ <define name="Z_setname1_elt" combine="choice">
+ <element name="m:integers">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="rationials_setname1_elt"/>
+ </define>
+ <define name="rationials_setname1_elt" combine="choice">
+ <element name="m:rationals">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="R_setname1_elt"/>
+ </define>
+ <define name="R_setname1_elt" combine="choice">
+ <element name="m:reals">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.constant" combine="choice">
+ <ref name="complexes_setname1_elt"/>
+ </define>
+ <define name="complexes_setname1_elt" combine="choice">
+ <element name="m:complexes">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="log_transc1_elt"/>
+ </define>
+ <define name="log_transc1_elt" combine="choice">
+ <element name="m:log">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="ln_transc1_elt"/>
+ </define>
+ <define name="ln_transc1_elt" combine="choice">
+ <element name="m:ln">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="exp_transc1_elt"/>
+ </define>
+ <define name="exp_transc1_elt" combine="choice">
+ <element name="m:exp">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="sin_transc1_elt"/>
+ </define>
+ <define name="sin_transc1_elt" combine="choice">
+ <element name="m:sin">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="cos_transc1_elt"/>
+ </define>
+ <define name="cos_transc1_elt" combine="choice">
+ <element name="m:cos">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="tan_transc1_elt"/>
+ </define>
+ <define name="tan_transc1_elt" combine="choice">
+ <element name="m:tan">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="sec_transc1_elt"/>
+ </define>
+ <define name="sec_transc1_elt" combine="choice">
+ <element name="m:sec">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="csc_transc1_elt"/>
+ </define>
+ <define name="csc_transc1_elt" combine="choice">
+ <element name="m:csc">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="cot_transc1_elt"/>
+ </define>
+ <define name="cot_transc1_elt" combine="choice">
+ <element name="m:cot">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="sinh_transc1_elt"/>
+ </define>
+ <define name="sinh_transc1_elt" combine="choice">
+ <element name="m:sinh">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="cosh_transc1_elt"/>
+ </define>
+ <define name="cosh_transc1_elt" combine="choice">
+ <element name="m:cosh">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="tanh_transc1_elt"/>
+ </define>
+ <define name="tanh_transc1_elt" combine="choice">
+ <element name="m:tanh">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="sech_transc1_elt"/>
+ </define>
+ <define name="sech_transc1_elt" combine="choice">
+ <element name="m:sech">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="csch_transc1_elt"/>
+ </define>
+ <define name="csch_transc1_elt" combine="choice">
+ <element name="m:csch">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="coth_transc1_elt"/>
+ </define>
+ <define name="coth_transc1_elt" combine="choice">
+ <element name="m:coth">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="arcsin_transc1_elt"/>
+ </define>
+ <define name="arcsin_transc1_elt" combine="choice">
+ <element name="m:arcsin">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="arccos_transc1_elt"/>
+ </define>
+ <define name="arccos_transc1_elt" combine="choice">
+ <element name="m:arccos">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="arctan_transc1_elt"/>
+ </define>
+ <define name="arctan_transc1_elt" combine="choice">
+ <element name="m:arctan">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="arcsec_transc1_elt"/>
+ </define>
+ <define name="arcsec_transc1_elt" combine="choice">
+ <element name="m:arcsec">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="arccsc_transc1_elt"/>
+ </define>
+ <define name="arccsc_transc1_elt" combine="choice">
+ <element name="m:arccsc">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="arccot_transc1_elt"/>
+ </define>
+ <define name="arccot_transc1_elt" combine="choice">
+ <element name="m:arccot">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="arcsinh_transc1_elt"/>
+ </define>
+ <define name="arcsinh_transc1_elt" combine="choice">
+ <element name="m:arcsinh">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="arccosh_transc1_elt"/>
+ </define>
+ <define name="arccosh_transc1_elt" combine="choice">
+ <element name="m:arccosh">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="arctanh_transc1_elt"/>
+ </define>
+ <define name="arctanh_transc1_elt" combine="choice">
+ <element name="m:arctanh">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="arcsech_transc1_elt"/>
+ </define>
+ <define name="arcsech_transc1_elt" combine="choice">
+ <element name="m:arcsech">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="arccsch_transc1_elt"/>
+ </define>
+ <define name="arccsch_transc1_elt" combine="choice">
+ <element name="m:arccsch">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="arccoth_transc1_elt"/>
+ </define>
+ <define name="arccoth_transc1_elt" combine="choice">
+ <element name="m:arccoth">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="divergence_veccalc1_elt"/>
+ </define>
+ <define name="divergence_veccalc1_elt" combine="choice">
+ <element name="m:divergence">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="grad_veccalc1_elt"/>
+ </define>
+ <define name="grad_veccalc1_elt" combine="choice">
+ <element name="m:grad">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="curl_veccalc1_elt"/>
+ </define>
+ <define name="curl_veccalc1_elt" combine="choice">
+ <element name="m:curl">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="opel.application" combine="choice">
+ <ref name="Laplacian_veccalc1_elt"/>
+ </define>
+ <define name="Laplacian_veccalc1_elt" combine="choice">
+ <element name="m:laplacian">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="Definition.attrib"/>
+ </optional>
+ </element>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-common.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-common.rng
new file mode 100644
index 00000000000..612e635a83d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-common.rng
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ This is the Mathematical Markup Language (MathML) 3.0, an XML
+ application for describing mathematical notation and capturing
+ both its structure and content.
+
+ Copyright 1998-2009 W3C (MIT, ERCIM, Keio)
+
+ Use and distribution of this code are permitted under the terms
+ W3C Software Notice and License
+ http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+<grammar ns="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <start>
+ <ref name="math"/>
+ </start>
+ <define name="math">
+ <element name="math">
+ <ref name="math.attributes"/>
+ <zeroOrMore>
+ <ref name="MathExpression"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="MathExpression">
+ <ref name="semantics"/>
+ </define>
+ <define name="NonMathMLAtt">
+ <attribute>
+ <anyName>
+ <except>
+ <nsName ns=""/>
+ <nsName/>
+ </except>
+ </anyName>
+ <data type="string"/>
+ </attribute>
+ </define>
+ <define name="CommonDeprecatedAtt">
+ <optional>
+ <attribute name="other"/>
+ </optional>
+ </define>
+ <define name="CommonAtt">
+ <optional>
+ <attribute name="id">
+ <data type="ID"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xref"/>
+ </optional>
+ <optional>
+ <attribute name="class">
+ <data type="NMTOKENS"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="style">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="href">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <ref name="CommonDeprecatedAtt"/>
+ <zeroOrMore>
+ <ref name="NonMathMLAtt"/>
+ </zeroOrMore>
+ </define>
+ <define name="math.attributes">
+ <ref name="CommonAtt"/>
+ <optional>
+ <attribute name="display">
+ <choice>
+ <value>block</value>
+ <value>inline</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="maxwidth">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="overflow">
+ <choice>
+ <value>linebreak</value>
+ <value>scroll</value>
+ <value>elide</value>
+ <value>truncate</value>
+ <value>scale</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="altimg">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="altimg-width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="altimg-height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="altimg-valign">
+ <choice>
+ <ref name="length"/>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="alttext"/>
+ </optional>
+ <optional>
+ <attribute name="cdgroup">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <ref name="math.deprecatedattributes"/>
+ </define>
+ <!--
+ the mathml3-presentation schema adds additional attributes
+ to the math element, all those valid on mstyle
+ -->
+ <define name="math.deprecatedattributes">
+ <optional>
+ <attribute name="mode">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="macros">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="name">
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </define>
+ <define name="cd">
+ <attribute name="cd">
+ <data type="NCName"/>
+ </attribute>
+ </define>
+ <define name="src">
+ <optional>
+ <attribute name="src">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="annotation">
+ <element name="annotation">
+ <ref name="annotation.attributes"/>
+ <text/>
+ </element>
+ </define>
+ <define name="annotation-xml.model">
+ <zeroOrMore>
+ <choice>
+ <ref name="MathExpression"/>
+ <ref name="anyElement"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="anyElement">
+ <element>
+ <anyName>
+ <except>
+ <nsName/>
+ </except>
+ </anyName>
+ <zeroOrMore>
+ <choice>
+ <attribute>
+ <anyName/>
+ </attribute>
+ <text/>
+ <ref name="anyElement"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="annotation-xml">
+ <element name="annotation-xml">
+ <ref name="annotation.attributes"/>
+ <ref name="annotation-xml.model"/>
+ </element>
+ </define>
+ <define name="annotation.attributes">
+ <ref name="CommonAtt"/>
+ <optional>
+ <ref name="cd"/>
+ </optional>
+ <optional>
+ <ref name="name"/>
+ </optional>
+ <ref name="DefEncAtt"/>
+ <optional>
+ <ref name="src"/>
+ </optional>
+ </define>
+ <define name="DefEncAtt">
+ <optional>
+ <attribute name="encoding">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="definitionURL">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="semantics">
+ <element name="semantics">
+ <ref name="semantics.attributes"/>
+ <ref name="MathExpression"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="annotation"/>
+ <ref name="annotation-xml"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="semantics.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <optional>
+ <ref name="cd"/>
+ </optional>
+ <optional>
+ <ref name="name"/>
+ </optional>
+ </define>
+ <define name="length">
+ <data type="string">
+ <param name="pattern">\s*((-?[0-9]*(\.[0-9]*)?(e[mx]|in|cm|mm|p[xtc]|%)?)|(negative)?((very){0,2}thi(n|ck)|medium)mathspace)\s*</param>
+ </data>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-content.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-content.rng
new file mode 100644
index 00000000000..f32cf7b023b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-content.rng
@@ -0,0 +1,1543 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <!--
+ This is the Mathematical Markup Language (MathML) 3.0, an XML
+ application for describing mathematical notation and capturing
+ both its structure and content.
+
+ Copyright 1998-2010 W3C (MIT, ERCIM, Keio)
+
+ Use and distribution of this code are permitted under the terms
+ W3C Software Notice and License
+ http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+ -->
+ <include href="mathml3-strict-content.rng">
+ <define name="cn.content">
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="mglyph"/>
+ <ref name="sep"/>
+ <ref name="PresentationExpression"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="cn.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <optional>
+ <attribute name="type"/>
+ </optional>
+ <optional>
+ <ref name="base"/>
+ </optional>
+ </define>
+ <define name="ci.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <optional>
+ <ref name="ci.type"/>
+ </optional>
+ </define>
+ <define name="ci.type">
+ <attribute name="type"/>
+ </define>
+ <define name="ci.content">
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="mglyph"/>
+ <ref name="PresentationExpression"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="csymbol.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <optional>
+ <attribute name="type"/>
+ </optional>
+ <optional>
+ <ref name="cd"/>
+ </optional>
+ </define>
+ <define name="csymbol.content">
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="mglyph"/>
+ <ref name="PresentationExpression"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="bvar">
+ <element name="bvar">
+ <interleave>
+ <choice>
+ <ref name="ci"/>
+ <ref name="semantics-ci"/>
+ </choice>
+ <optional>
+ <ref name="degree"/>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+ <define name="cbytes.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ </define>
+ <define name="cs.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ </define>
+ <define name="apply.content">
+ <choice>
+ <oneOrMore>
+ <ref name="ContExp"/>
+ </oneOrMore>
+ <group>
+ <ref name="ContExp"/>
+ <ref name="BvarQ"/>
+ <zeroOrMore>
+ <ref name="Qualifier"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </group>
+ </choice>
+ </define>
+ <define name="bind.content">
+ <ref name="apply.content"/>
+ </define>
+ </include>
+ <define name="base">
+ <attribute name="base"/>
+ </define>
+ <define name="sep">
+ <element name="sep">
+ <empty/>
+ </element>
+ </define>
+ <define name="PresentationExpression" combine="choice">
+ <notAllowed/>
+ </define>
+ <define name="DomainQ">
+ <zeroOrMore>
+ <choice>
+ <ref name="domainofapplication"/>
+ <ref name="condition"/>
+ <ref name="interval"/>
+ <group>
+ <ref name="lowlimit"/>
+ <optional>
+ <ref name="uplimit"/>
+ </optional>
+ </group>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="domainofapplication">
+ <element name="domainofapplication">
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="condition">
+ <element name="condition">
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="uplimit">
+ <element name="uplimit">
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="lowlimit">
+ <element name="lowlimit">
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="Qualifier">
+ <choice>
+ <ref name="DomainQ"/>
+ <ref name="degree"/>
+ <ref name="momentabout"/>
+ <ref name="logbase"/>
+ </choice>
+ </define>
+ <define name="degree">
+ <element name="degree">
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="momentabout">
+ <element name="momentabout">
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="logbase">
+ <element name="logbase">
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="type">
+ <attribute name="type"/>
+ </define>
+ <define name="order">
+ <attribute name="order">
+ <choice>
+ <value>numeric</value>
+ <value>lexicographic</value>
+ </choice>
+ </attribute>
+ </define>
+ <define name="closure">
+ <attribute name="closure"/>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="piecewise"/>
+ </define>
+ <define name="piecewise">
+ <element name="piecewise">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <interleave>
+ <zeroOrMore>
+ <ref name="piece"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="otherwise"/>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+ <define name="piece">
+ <element name="piece">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <ref name="ContExp"/>
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="otherwise">
+ <element name="otherwise">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="DeprecatedContExp">
+ <choice>
+ <ref name="reln"/>
+ <ref name="fn"/>
+ <ref name="declare"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="DeprecatedContExp"/>
+ </define>
+ <define name="reln">
+ <element name="reln">
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="fn">
+ <element name="fn">
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="declare">
+ <element name="declare">
+ <optional>
+ <attribute name="type">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="scope">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="nargs">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="occurrence">
+ <choice>
+ <value>prefix</value>
+ <value>infix</value>
+ <value>function-model</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="DefEncAtt"/>
+ <oneOrMore>
+ <ref name="ContExp"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="interval.class">
+ <ref name="interval"/>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="interval.class"/>
+ </define>
+ <define name="interval">
+ <element name="interval">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <optional>
+ <ref name="closure"/>
+ </optional>
+ <ref name="ContExp"/>
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="unary-functional.class">
+ <choice>
+ <ref name="inverse"/>
+ <ref name="ident"/>
+ <ref name="domain"/>
+ <ref name="codomain"/>
+ <ref name="image"/>
+ <ref name="ln"/>
+ <ref name="log"/>
+ <ref name="moment"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="unary-functional.class"/>
+ </define>
+ <define name="inverse">
+ <element name="inverse">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="ident">
+ <element name="ident">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="domain">
+ <element name="domain">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="codomain">
+ <element name="codomain">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="image">
+ <element name="image">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="ln">
+ <element name="ln">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="log">
+ <element name="log">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="moment">
+ <element name="moment">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="lambda.class">
+ <ref name="lambda"/>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="lambda.class"/>
+ </define>
+ <define name="lambda">
+ <element name="lambda">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <ref name="BvarQ"/>
+ <ref name="DomainQ"/>
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="nary-functional.class">
+ <ref name="compose"/>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="nary-functional.class"/>
+ </define>
+ <define name="compose">
+ <element name="compose">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="binary-arith.class">
+ <choice>
+ <ref name="quotient"/>
+ <ref name="divide"/>
+ <ref name="minus"/>
+ <ref name="power"/>
+ <ref name="rem"/>
+ <ref name="root"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="binary-arith.class"/>
+ </define>
+ <define name="quotient">
+ <element name="quotient">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="divide">
+ <element name="divide">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="minus">
+ <element name="minus">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="power">
+ <element name="power">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="rem">
+ <element name="rem">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="root">
+ <element name="root">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="unary-arith.class">
+ <choice>
+ <ref name="factorial"/>
+ <ref name="minus"/>
+ <ref name="root"/>
+ <ref name="abs"/>
+ <ref name="conjugate"/>
+ <ref name="arg"/>
+ <ref name="real"/>
+ <ref name="imaginary"/>
+ <ref name="floor"/>
+ <ref name="ceiling"/>
+ <ref name="exp"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="unary-arith.class"/>
+ </define>
+ <define name="factorial">
+ <element name="factorial">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="abs">
+ <element name="abs">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="conjugate">
+ <element name="conjugate">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="arg">
+ <element name="arg">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="real">
+ <element name="real">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="imaginary">
+ <element name="imaginary">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="floor">
+ <element name="floor">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="ceiling">
+ <element name="ceiling">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="exp">
+ <element name="exp">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="nary-minmax.class">
+ <choice>
+ <ref name="max"/>
+ <ref name="min"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="nary-minmax.class"/>
+ </define>
+ <define name="max">
+ <element name="max">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="min">
+ <element name="min">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="nary-arith.class">
+ <choice>
+ <ref name="plus"/>
+ <ref name="times"/>
+ <ref name="gcd"/>
+ <ref name="lcm"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="nary-arith.class"/>
+ </define>
+ <define name="plus">
+ <element name="plus">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="times">
+ <element name="times">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="gcd">
+ <element name="gcd">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="lcm">
+ <element name="lcm">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="nary-logical.class">
+ <choice>
+ <ref name="and"/>
+ <ref name="or"/>
+ <ref name="xor"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="nary-logical.class"/>
+ </define>
+ <define name="and">
+ <element name="and">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="or">
+ <element name="or">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="xor">
+ <element name="xor">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="unary-logical.class">
+ <ref name="not"/>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="unary-logical.class"/>
+ </define>
+ <define name="not">
+ <element name="not">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="binary-logical.class">
+ <choice>
+ <ref name="implies"/>
+ <ref name="equivalent"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="binary-logical.class"/>
+ </define>
+ <define name="implies">
+ <element name="implies">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="equivalent">
+ <element name="equivalent">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="quantifier.class">
+ <choice>
+ <ref name="forall"/>
+ <ref name="exists"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="quantifier.class"/>
+ </define>
+ <define name="forall">
+ <element name="forall">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="exists">
+ <element name="exists">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="nary-reln.class">
+ <choice>
+ <ref name="eq"/>
+ <ref name="gt"/>
+ <ref name="lt"/>
+ <ref name="geq"/>
+ <ref name="leq"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="nary-reln.class"/>
+ </define>
+ <define name="eq">
+ <element name="eq">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="gt">
+ <element name="gt">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="lt">
+ <element name="lt">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="geq">
+ <element name="geq">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="leq">
+ <element name="leq">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="binary-reln.class">
+ <choice>
+ <ref name="neq"/>
+ <ref name="approx"/>
+ <ref name="factorof"/>
+ <ref name="tendsto"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="binary-reln.class"/>
+ </define>
+ <define name="neq">
+ <element name="neq">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="approx">
+ <element name="approx">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="factorof">
+ <element name="factorof">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="tendsto">
+ <element name="tendsto">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <optional>
+ <ref name="type"/>
+ </optional>
+ <empty/>
+ </element>
+ </define>
+ <define name="int.class">
+ <ref name="int"/>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="int.class"/>
+ </define>
+ <define name="int">
+ <element name="int">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="Differential-Operator.class">
+ <ref name="diff"/>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="Differential-Operator.class"/>
+ </define>
+ <define name="diff">
+ <element name="diff">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="partialdiff.class">
+ <ref name="partialdiff"/>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="partialdiff.class"/>
+ </define>
+ <define name="partialdiff">
+ <element name="partialdiff">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="unary-veccalc.class">
+ <choice>
+ <ref name="divergence"/>
+ <ref name="grad"/>
+ <ref name="curl"/>
+ <ref name="laplacian"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="unary-veccalc.class"/>
+ </define>
+ <define name="divergence">
+ <element name="divergence">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="grad">
+ <element name="grad">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="curl">
+ <element name="curl">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="laplacian">
+ <element name="laplacian">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="nary-setlist-constructor.class">
+ <choice>
+ <ref name="set"/>
+ <ref name="list"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="nary-setlist-constructor.class"/>
+ </define>
+ <define name="set">
+ <element name="set">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <optional>
+ <ref name="type"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="BvarQ"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DomainQ"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="list">
+ <element name="list">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <optional>
+ <ref name="order"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="BvarQ"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DomainQ"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="nary-set.class">
+ <choice>
+ <ref name="union"/>
+ <ref name="intersect"/>
+ <ref name="cartesianproduct"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="nary-set.class"/>
+ </define>
+ <define name="union">
+ <element name="union">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="intersect">
+ <element name="intersect">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="cartesianproduct">
+ <element name="cartesianproduct">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="binary-set.class">
+ <choice>
+ <ref name="in"/>
+ <ref name="notin"/>
+ <ref name="notsubset"/>
+ <ref name="notprsubset"/>
+ <ref name="setdiff"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="binary-set.class"/>
+ </define>
+ <define name="in">
+ <element name="in">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="notin">
+ <element name="notin">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="notsubset">
+ <element name="notsubset">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="notprsubset">
+ <element name="notprsubset">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="setdiff">
+ <element name="setdiff">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="nary-set-reln.class">
+ <choice>
+ <ref name="subset"/>
+ <ref name="prsubset"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="nary-set-reln.class"/>
+ </define>
+ <define name="subset">
+ <element name="subset">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="prsubset">
+ <element name="prsubset">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="unary-set.class">
+ <ref name="card"/>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="unary-set.class"/>
+ </define>
+ <define name="card">
+ <element name="card">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="sum.class">
+ <ref name="sum"/>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="sum.class"/>
+ </define>
+ <define name="sum">
+ <element name="sum">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="product.class">
+ <ref name="product"/>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="product.class"/>
+ </define>
+ <define name="product">
+ <element name="product">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="limit.class">
+ <ref name="limit"/>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="limit.class"/>
+ </define>
+ <define name="limit">
+ <element name="limit">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="unary-elementary.class">
+ <choice>
+ <ref name="sin"/>
+ <ref name="cos"/>
+ <ref name="tan"/>
+ <ref name="sec"/>
+ <ref name="csc"/>
+ <ref name="cot"/>
+ <ref name="sinh"/>
+ <ref name="cosh"/>
+ <ref name="tanh"/>
+ <ref name="sech"/>
+ <ref name="csch"/>
+ <ref name="coth"/>
+ <ref name="arcsin"/>
+ <ref name="arccos"/>
+ <ref name="arctan"/>
+ <ref name="arccosh"/>
+ <ref name="arccot"/>
+ <ref name="arccoth"/>
+ <ref name="arccsc"/>
+ <ref name="arccsch"/>
+ <ref name="arcsec"/>
+ <ref name="arcsech"/>
+ <ref name="arcsinh"/>
+ <ref name="arctanh"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="unary-elementary.class"/>
+ </define>
+ <define name="sin">
+ <element name="sin">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="cos">
+ <element name="cos">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="tan">
+ <element name="tan">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="sec">
+ <element name="sec">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="csc">
+ <element name="csc">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="cot">
+ <element name="cot">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="sinh">
+ <element name="sinh">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="cosh">
+ <element name="cosh">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="tanh">
+ <element name="tanh">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="sech">
+ <element name="sech">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="csch">
+ <element name="csch">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="coth">
+ <element name="coth">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="arcsin">
+ <element name="arcsin">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="arccos">
+ <element name="arccos">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="arctan">
+ <element name="arctan">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="arccosh">
+ <element name="arccosh">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="arccot">
+ <element name="arccot">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="arccoth">
+ <element name="arccoth">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="arccsc">
+ <element name="arccsc">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="arccsch">
+ <element name="arccsch">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="arcsec">
+ <element name="arcsec">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="arcsech">
+ <element name="arcsech">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="arcsinh">
+ <element name="arcsinh">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="arctanh">
+ <element name="arctanh">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="nary-stats.class">
+ <choice>
+ <ref name="mean"/>
+ <ref name="sdev"/>
+ <ref name="variance"/>
+ <ref name="median"/>
+ <ref name="mode"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="nary-stats.class"/>
+ </define>
+ <define name="mean">
+ <element name="mean">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="sdev">
+ <element name="sdev">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="variance">
+ <element name="variance">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="median">
+ <element name="median">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="mode">
+ <element name="mode">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="nary-constructor.class">
+ <choice>
+ <ref name="vector"/>
+ <ref name="matrix"/>
+ <ref name="matrixrow"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="nary-constructor.class"/>
+ </define>
+ <define name="vector">
+ <element name="vector">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <ref name="BvarQ"/>
+ <ref name="DomainQ"/>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="matrix">
+ <element name="matrix">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <ref name="BvarQ"/>
+ <ref name="DomainQ"/>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="matrixrow">
+ <element name="matrixrow">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <ref name="BvarQ"/>
+ <ref name="DomainQ"/>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="unary-linalg.class">
+ <choice>
+ <ref name="determinant"/>
+ <ref name="transpose"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="unary-linalg.class"/>
+ </define>
+ <define name="determinant">
+ <element name="determinant">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="transpose">
+ <element name="transpose">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="nary-linalg.class">
+ <ref name="selector"/>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="nary-linalg.class"/>
+ </define>
+ <define name="selector">
+ <element name="selector">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="binary-linalg.class">
+ <choice>
+ <ref name="vectorproduct"/>
+ <ref name="scalarproduct"/>
+ <ref name="outerproduct"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="binary-linalg.class"/>
+ </define>
+ <define name="vectorproduct">
+ <element name="vectorproduct">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="scalarproduct">
+ <element name="scalarproduct">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="outerproduct">
+ <element name="outerproduct">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="constant-set.class">
+ <choice>
+ <ref name="integers"/>
+ <ref name="reals"/>
+ <ref name="rationals"/>
+ <ref name="naturalnumbers"/>
+ <ref name="complexes"/>
+ <ref name="primes"/>
+ <ref name="emptyset"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="constant-set.class"/>
+ </define>
+ <define name="integers">
+ <element name="integers">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="reals">
+ <element name="reals">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="rationals">
+ <element name="rationals">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="naturalnumbers">
+ <element name="naturalnumbers">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="complexes">
+ <element name="complexes">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="primes">
+ <element name="primes">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="emptyset">
+ <element name="emptyset">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="constant-arith.class">
+ <choice>
+ <ref name="exponentiale"/>
+ <ref name="imaginaryi"/>
+ <ref name="notanumber"/>
+ <ref name="true"/>
+ <ref name="false"/>
+ <ref name="pi"/>
+ <ref name="eulergamma"/>
+ <ref name="infinity"/>
+ </choice>
+ </define>
+ <define name="ContExp" combine="choice">
+ <ref name="constant-arith.class"/>
+ </define>
+ <define name="exponentiale">
+ <element name="exponentiale">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="imaginaryi">
+ <element name="imaginaryi">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="notanumber">
+ <element name="notanumber">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="true">
+ <element name="true">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="false">
+ <element name="false">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="pi">
+ <element name="pi">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="eulergamma">
+ <element name="eulergamma">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="infinity">
+ <element name="infinity">
+ <ref name="CommonAtt"/>
+ <ref name="DefEncAtt"/>
+ <empty/>
+ </element>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-pragmatic.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-pragmatic.rng
new file mode 100644
index 00000000000..c137293e3ca
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-pragmatic.rng
@@ -0,0 +1,290 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ This is the Mathematical Markup Language (MathML) 3.0, an XML
+ application for describing mathematical notation and capturing
+ both its structure and content.
+
+ Copyright 1998-2008 W3C (MIT, ERCIM, Keio)
+
+ Use and distribution of this code are permitted under the terms
+ W3C Software Notice and License
+ http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+
+
+ Revision: $Id: mathml3-pragmatic.rnc 8515 2009-08-17 13:51:36Z kohlhase $
+
+ Update to MathML3 and Relax NG: David Carlisle and Michael Kohlhase
+
+ This is the RelaxNG schema module for the pragmatic content part of
+ MathML (but without the presentation in token elements).
+-->
+<grammar ns="http://www.w3.org/1998/Math/MathML" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0">
+ <define name="sep">
+ <a:documentation>the content of "cn" may have &lt;sep&gt; elements in it</a:documentation>
+ <element name="sep">
+ <empty/>
+ </element>
+ </define>
+ <define name="cn.content" combine="choice">
+ <zeroOrMore>
+ <choice>
+ <ref name="sep"/>
+ <text/>
+ <ref name="Glyph-alignmark"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="cn.type.vals" combine="choice">
+ <choice>
+ <value>e-notation</value>
+ <value>rational</value>
+ <value>complex-cartesian</value>
+ <value>complex-polar</value>
+ <value>constant</value>
+ </choice>
+ </define>
+ <define name="degree">
+ <a:documentation>allow degree in bvar</a:documentation>
+ <element name="degree">
+ <ref name="MathML.Common.attrib"/>
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="logbase">
+ <element name="logbase">
+ <ref name="MathML.Common.attrib"/>
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="momentabout">
+ <element name="momentabout">
+ <ref name="MathML.Common.attrib"/>
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="bvar-head" combine="choice">
+ <choice>
+ <group>
+ <optional>
+ <ref name="degree"/>
+ </optional>
+ <ref name="ci"/>
+ </group>
+ <group>
+ <ref name="ci"/>
+ <optional>
+ <ref name="degree"/>
+ </optional>
+ </group>
+ </choice>
+ </define>
+ <define name="apply.content" combine="choice">
+ <a:documentation>allow degree to modify &lt;root/&gt;</a:documentation>
+ <ref name="root_arith1_elt"/>
+ <ref name="degree"/>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </define>
+ <define name="apply.content" combine="choice">
+ <ref name="moment_s_data1_elt"/>
+ <interleave>
+ <optional>
+ <ref name="degree"/>
+ </optional>
+ <optional>
+ <ref name="momentabout"/>
+ </optional>
+ </interleave>
+ <zeroOrMore>
+ <ref name="ContInPres"/>
+ </zeroOrMore>
+ </define>
+ <define name="apply.content" combine="choice">
+ <ref name="log_transc1_elt"/>
+ <ref name="logbase"/>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </define>
+ <define name="apply.content" combine="choice">
+ <a:documentation>allow apply to act as a binder</a:documentation>
+ <ref name="bind.content"/>
+ </define>
+ <define name="domainofapplication">
+ <element name="domainofapplication">
+ <ref name="Definition.attrib"/>
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="cdbase.attrib"/>
+ </optional>
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="lowlimit">
+ <element name="lowlimit">
+ <ref name="Definition.attrib"/>
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="cdbase.attrib"/>
+ </optional>
+ <oneOrMore>
+ <ref name="ContExp"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="uplimit">
+ <element name="uplimit">
+ <ref name="Definition.attrib"/>
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="cdbase.attrib"/>
+ </optional>
+ <oneOrMore>
+ <ref name="ContExp"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="condition">
+ <element name="condition">
+ <ref name="Definition.attrib"/>
+ <optional>
+ <ref name="cdbase.attrib"/>
+ </optional>
+ <ref name="ContExp"/>
+ </element>
+ </define>
+ <define name="qualifier" combine="choice">
+ <a:documentation>allow the non-strict qualifiers</a:documentation>
+ <choice>
+ <ref name="domainofapplication"/>
+ <group>
+ <ref name="uplimit"/>
+ <optional>
+ <ref name="lowlimit"/>
+ </optional>
+ </group>
+ <group>
+ <ref name="lowlimit"/>
+ <optional>
+ <ref name="uplimit"/>
+ </optional>
+ </group>
+ <ref name="degree"/>
+ <ref name="condition"/>
+ </choice>
+ </define>
+ <define name="opel.constant">
+ <a:documentation>we collect the operator elements by role</a:documentation>
+ <notAllowed/>
+ </define>
+ <define name="opel.binder">
+ <notAllowed/>
+ </define>
+ <define name="opel.application">
+ <notAllowed/>
+ </define>
+ <define name="opel.semantic-attribution">
+ <notAllowed/>
+ </define>
+ <define name="opel.attribution">
+ <notAllowed/>
+ </define>
+ <define name="opel.error">
+ <notAllowed/>
+ </define>
+ <define name="opels">
+ <choice>
+ <ref name="opel.constant"/>
+ <ref name="opel.binder"/>
+ <ref name="opel.application"/>
+ <ref name="opel.semantic-attribution"/>
+ <ref name="opel.attribution"/>
+ <ref name="opel.error"/>
+ </choice>
+ </define>
+ <define name="container">
+ <notAllowed/>
+ </define>
+ <define name="MathMLType" combine="choice">
+ <a:documentation>the values of the MathML type attributes; </a:documentation>
+ <choice>
+ <value>real</value>
+ <value>complex</value>
+ <value>function</value>
+ <value>algebraic</value>
+ <value>integer</value>
+ </choice>
+ </define>
+ <define name="apply-binder-head">
+ <a:documentation>we instantiate the strict content model by structure checking</a:documentation>
+ <choice>
+ <ref name="semantics-apply-binder"/>
+ <ref name="opel.binder"/>
+ </choice>
+ </define>
+ <define name="apply.content" combine="choice">
+ <ref name="apply-binder-head"/>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </define>
+ <define name="semantics-apply-binder">
+ <element name="semantics">
+ <ref name="semantics.attribs"/>
+ <ref name="apply-binder-head"/>
+ <zeroOrMore>
+ <ref name="semantics-annotation"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="apply-head" combine="choice">
+ <ref name="opel.application"/>
+ </define>
+ <define name="bind-head" combine="choice">
+ <ref name="opel.binder"/>
+ </define>
+ <define name="cerror-head" combine="choice">
+ <ref name="opel.error"/>
+ </define>
+ <define name="ContExp" combine="choice">
+ <a:documentation>allow all functions, constants, and containers to be content expressions on their own</a:documentation>
+ <choice>
+ <ref name="opel.constant"/>
+ <ref name="opel.application"/>
+ <ref name="container"/>
+ </choice>
+ </define>
+ <!-- allow no body -->
+ <define name="bind.content" combine="choice">
+ <ref name="bind-head"/>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ </define>
+ <!--
+ not sure what a sequence of things is supposed to map to in strict/OM
+ but is definitely allowed in pragmatic
+ see Content/SequencesAndSeries/product/rec-product3
+ -->
+ <define name="math.content" combine="choice">
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </define>
+ <define name="opel.content" combine="choice">
+ <choice>
+ <ref name="PresExp"/>
+ <ref name="Glyph-alignmark"/>
+ </choice>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-presentation.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-presentation.rng
new file mode 100644
index 00000000000..047524afda5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-presentation.rng
@@ -0,0 +1,2265 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ This is the Mathematical Markup Language (MathML) 3.0, an XML
+ application for describing mathematical notation and capturing
+ both its structure and content.
+
+ Copyright 1998-2010 W3C (MIT, ERCIM, Keio)
+
+ Use and distribution of this code are permitted under the terms
+ W3C Software Notice and License
+ http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+<grammar ns="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="MathExpression" combine="choice">
+ <ref name="PresentationExpression"/>
+ </define>
+ <define name="ImpliedMrow">
+ <zeroOrMore>
+ <ref name="MathExpression"/>
+ </zeroOrMore>
+ </define>
+ <define name="TableRowExpression">
+ <choice>
+ <ref name="mtr"/>
+ <ref name="mlabeledtr"/>
+ </choice>
+ </define>
+ <define name="TableCellExpression">
+ <ref name="mtd"/>
+ </define>
+ <define name="MstackExpression">
+ <choice>
+ <ref name="MathExpression"/>
+ <ref name="mscarries"/>
+ <ref name="msline"/>
+ <ref name="msrow"/>
+ <ref name="msgroup"/>
+ </choice>
+ </define>
+ <define name="MsrowExpression">
+ <choice>
+ <ref name="MathExpression"/>
+ <ref name="none"/>
+ </choice>
+ </define>
+ <define name="MultiScriptExpression">
+ <choice>
+ <ref name="MathExpression"/>
+ <ref name="none"/>
+ </choice>
+ <choice>
+ <ref name="MathExpression"/>
+ <ref name="none"/>
+ </choice>
+ </define>
+ <define name="mpadded-length">
+ <data type="string">
+ <param name="pattern">\s*([\+\-]?[0-9]*(\.[0-9]*)?\s*((%?\s*(height|depth|width)?)|e[mx]|in|cm|mm|p[xtc]|((negative)?((very){0,2}thi(n|ck)|medium)mathspace)))\s*</param>
+ </data>
+ </define>
+ <define name="linestyle">
+ <choice>
+ <value>none</value>
+ <value>solid</value>
+ <value>dashed</value>
+ </choice>
+ </define>
+ <define name="verticalalign">
+ <choice>
+ <value>top</value>
+ <value>bottom</value>
+ <value>center</value>
+ <value>baseline</value>
+ <value>axis</value>
+ </choice>
+ </define>
+ <define name="columnalignstyle">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </define>
+ <define name="notationstyle">
+ <choice>
+ <value>longdiv</value>
+ <value>actuarial</value>
+ <value>radical</value>
+ <value>box</value>
+ <value>roundedbox</value>
+ <value>circle</value>
+ <value>left</value>
+ <value>right</value>
+ <value>top</value>
+ <value>bottom</value>
+ <value>updiagonalstrike</value>
+ <value>downdiagonalstrike</value>
+ <value>verticalstrike</value>
+ <value>horizontalstrike</value>
+ <value>madruwb</value>
+ </choice>
+ </define>
+ <define name="idref">
+ <text/>
+ </define>
+ <define name="unsigned-integer">
+ <data type="unsignedLong"/>
+ </define>
+ <define name="integer">
+ <data type="integer"/>
+ </define>
+ <define name="number">
+ <data type="decimal"/>
+ </define>
+ <define name="character">
+ <data type="string">
+ <param name="pattern">\s*\S\s*</param>
+ </data>
+ </define>
+ <define name="color">
+ <data type="string">
+ <param name="pattern">\s*((#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?)|[aA][qQ][uU][aA]|[bB][lL][aA][cC][kK]|[bB][lL][uU][eE]|[fF][uU][cC][hH][sS][iI][aA]|[gG][rR][aA][yY]|[gG][rR][eE][eE][nN]|[lL][iI][mM][eE]|[mM][aA][rR][oO][oO][nN]|[nN][aA][vV][yY]|[oO][lL][iI][vV][eE]|[pP][uU][rR][pP][lL][eE]|[rR][eE][dD]|[sS][iI][lL][vV][eE][rR]|[tT][eE][aA][lL]|[wW][hH][iI][tT][eE]|[yY][eE][lL][lL][oO][wW])\s*</param>
+ </data>
+ </define>
+ <define name="group-alignment">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>decimalpoint</value>
+ </choice>
+ </define>
+ <define name="group-alignment-list">
+ <list>
+ <oneOrMore>
+ <ref name="group-alignment"/>
+ </oneOrMore>
+ </list>
+ </define>
+ <define name="group-alignment-list-list">
+ <data type="string">
+ <param name="pattern">(\s*\{\s*(left|center|right|decimalpoint)(\s+(left|center|right|decimalpoint))*\})*\s*</param>
+ </data>
+ </define>
+ <define name="positive-integer">
+ <data type="positiveInteger"/>
+ </define>
+ <define name="TokenExpression">
+ <choice>
+ <ref name="mi"/>
+ <ref name="mn"/>
+ <ref name="mo"/>
+ <ref name="mtext"/>
+ <ref name="mspace"/>
+ <ref name="ms"/>
+ </choice>
+ </define>
+ <define name="token.content">
+ <choice>
+ <ref name="mglyph"/>
+ <ref name="malignmark"/>
+ <text/>
+ </choice>
+ </define>
+ <define name="mi">
+ <element name="mi">
+ <ref name="mi.attributes"/>
+ <zeroOrMore>
+ <ref name="token.content"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="mi.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <ref name="TokenAtt"/>
+ </define>
+ <define name="mn">
+ <element name="mn">
+ <ref name="mn.attributes"/>
+ <zeroOrMore>
+ <ref name="token.content"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="mn.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <ref name="TokenAtt"/>
+ </define>
+ <define name="mo">
+ <element name="mo">
+ <ref name="mo.attributes"/>
+ <zeroOrMore>
+ <ref name="token.content"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="mo.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <ref name="TokenAtt"/>
+ <optional>
+ <attribute name="form">
+ <choice>
+ <value>prefix</value>
+ <value>infix</value>
+ <value>postfix</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fence">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="separator">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="lspace">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rspace">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="stretchy">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="symmetric">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="maxsize">
+ <choice>
+ <ref name="length"/>
+ <value>infinity</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="minsize">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="largeop">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="movablelimits">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="accent">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="linebreak">
+ <choice>
+ <value>auto</value>
+ <value>newline</value>
+ <value>nobreak</value>
+ <value>goodbreak</value>
+ <value>badbreak</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="lineleading">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="linebreakstyle">
+ <choice>
+ <value>before</value>
+ <value>after</value>
+ <value>duplicate</value>
+ <value>infixlinebreakstyle</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="linebreakmultchar"/>
+ </optional>
+ <optional>
+ <attribute name="indentalign">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>auto</value>
+ <value>id</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="indentshift">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="indenttarget">
+ <ref name="idref"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="indentalignfirst">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>auto</value>
+ <value>id</value>
+ <value>indentalign</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="indentshiftfirst">
+ <choice>
+ <ref name="length"/>
+ <value>indentshift</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="indentalignlast">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>auto</value>
+ <value>id</value>
+ <value>indentalign</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="indentshiftlast">
+ <choice>
+ <ref name="length"/>
+ <value>indentshift</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="mtext">
+ <element name="mtext">
+ <ref name="mtext.attributes"/>
+ <zeroOrMore>
+ <ref name="token.content"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="mtext.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <ref name="TokenAtt"/>
+ </define>
+ <define name="mspace">
+ <element name="mspace">
+ <ref name="mspace.attributes"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="mspace.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <ref name="TokenAtt"/>
+ <optional>
+ <attribute name="width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="depth">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="linebreak">
+ <choice>
+ <value>auto</value>
+ <value>newline</value>
+ <value>nobreak</value>
+ <value>goodbreak</value>
+ <value>badbreak</value>
+ <value>indentingnewline</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="ms">
+ <element name="ms">
+ <ref name="ms.attributes"/>
+ <zeroOrMore>
+ <ref name="token.content"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ms.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <ref name="TokenAtt"/>
+ <optional>
+ <attribute name="lquote"/>
+ </optional>
+ <optional>
+ <attribute name="rquote"/>
+ </optional>
+ </define>
+ <define name="mglyph">
+ <element name="mglyph">
+ <ref name="mglyph.attributes"/>
+ <ref name="mglyph.deprecatedattributes"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="mglyph.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="src">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="valign">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="alt"/>
+ </optional>
+ </define>
+ <define name="mglyph.deprecatedattributes">
+ <optional>
+ <attribute name="index">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mathvariant">
+ <choice>
+ <value>normal</value>
+ <value>bold</value>
+ <value>italic</value>
+ <value>bold-italic</value>
+ <value>double-struck</value>
+ <value>bold-fraktur</value>
+ <value>script</value>
+ <value>bold-script</value>
+ <value>fraktur</value>
+ <value>sans-serif</value>
+ <value>bold-sans-serif</value>
+ <value>sans-serif-italic</value>
+ <value>sans-serif-bold-italic</value>
+ <value>monospace</value>
+ <value>initial</value>
+ <value>tailed</value>
+ <value>looped</value>
+ <value>stretched</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mathsize">
+ <choice>
+ <value>small</value>
+ <value>normal</value>
+ <value>big</value>
+ <ref name="length"/>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="DeprecatedTokenAtt"/>
+ </define>
+ <define name="msline">
+ <element name="msline">
+ <ref name="msline.attributes"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="msline.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="position">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="length">
+ <ref name="unsigned-integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="leftoverhang">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rightoverhang">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mslinethickness">
+ <choice>
+ <ref name="length"/>
+ <value>thin</value>
+ <value>medium</value>
+ <value>thick</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="none">
+ <element name="none">
+ <ref name="none.attributes"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="none.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ </define>
+ <define name="mprescripts">
+ <element name="mprescripts">
+ <ref name="mprescripts.attributes"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="mprescripts.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ </define>
+ <define name="CommonPresAtt">
+ <optional>
+ <attribute name="mathcolor">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mathbackground">
+ <choice>
+ <ref name="color"/>
+ <value>transparent</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="TokenAtt">
+ <optional>
+ <attribute name="mathvariant">
+ <choice>
+ <value>normal</value>
+ <value>bold</value>
+ <value>italic</value>
+ <value>bold-italic</value>
+ <value>double-struck</value>
+ <value>bold-fraktur</value>
+ <value>script</value>
+ <value>bold-script</value>
+ <value>fraktur</value>
+ <value>sans-serif</value>
+ <value>bold-sans-serif</value>
+ <value>sans-serif-italic</value>
+ <value>sans-serif-bold-italic</value>
+ <value>monospace</value>
+ <value>initial</value>
+ <value>tailed</value>
+ <value>looped</value>
+ <value>stretched</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mathsize">
+ <choice>
+ <value>small</value>
+ <value>normal</value>
+ <value>big</value>
+ <ref name="length"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dir">
+ <choice>
+ <value>ltr</value>
+ <value>rtl</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="DeprecatedTokenAtt"/>
+ </define>
+ <define name="DeprecatedTokenAtt">
+ <optional>
+ <attribute name="fontfamily"/>
+ </optional>
+ <optional>
+ <attribute name="fontweight">
+ <choice>
+ <value>normal</value>
+ <value>bold</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fontstyle">
+ <choice>
+ <value>normal</value>
+ <value>italic</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fontsize">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="color">
+ <ref name="color"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="background">
+ <choice>
+ <ref name="color"/>
+ <value>transparent</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="MalignExpression">
+ <choice>
+ <ref name="maligngroup"/>
+ <ref name="malignmark"/>
+ </choice>
+ </define>
+ <define name="malignmark">
+ <element name="malignmark">
+ <ref name="malignmark.attributes"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="malignmark.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="edge">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="maligngroup">
+ <element name="maligngroup">
+ <ref name="maligngroup.attributes"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="maligngroup.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="groupalign">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>decimalpoint</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="PresentationExpression">
+ <choice>
+ <ref name="TokenExpression"/>
+ <ref name="MalignExpression"/>
+ <ref name="mrow"/>
+ <ref name="mfrac"/>
+ <ref name="msqrt"/>
+ <ref name="mroot"/>
+ <ref name="mstyle"/>
+ <ref name="merror"/>
+ <ref name="mpadded"/>
+ <ref name="mphantom"/>
+ <ref name="mfenced"/>
+ <ref name="menclose"/>
+ <ref name="msub"/>
+ <ref name="msup"/>
+ <ref name="msubsup"/>
+ <ref name="munder"/>
+ <ref name="mover"/>
+ <ref name="munderover"/>
+ <ref name="mmultiscripts"/>
+ <ref name="mtable"/>
+ <ref name="mstack"/>
+ <ref name="mlongdiv"/>
+ <ref name="maction"/>
+ </choice>
+ </define>
+ <define name="mrow">
+ <element name="mrow">
+ <ref name="mrow.attributes"/>
+ <zeroOrMore>
+ <ref name="MathExpression"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="mrow.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="dir">
+ <choice>
+ <value>ltr</value>
+ <value>rtl</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="mfrac">
+ <element name="mfrac">
+ <ref name="mfrac.attributes"/>
+ <ref name="MathExpression"/>
+ <ref name="MathExpression"/>
+ </element>
+ </define>
+ <define name="mfrac.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="linethickness">
+ <choice>
+ <ref name="length"/>
+ <value>thin</value>
+ <value>medium</value>
+ <value>thick</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="numalign">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="denomalign">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="bevelled">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="msqrt">
+ <element name="msqrt">
+ <ref name="msqrt.attributes"/>
+ <ref name="ImpliedMrow"/>
+ </element>
+ </define>
+ <define name="msqrt.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ </define>
+ <define name="mroot">
+ <element name="mroot">
+ <ref name="mroot.attributes"/>
+ <ref name="MathExpression"/>
+ <ref name="MathExpression"/>
+ </element>
+ </define>
+ <define name="mroot.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ </define>
+ <define name="mstyle">
+ <element name="mstyle">
+ <ref name="mstyle.attributes"/>
+ <ref name="ImpliedMrow"/>
+ </element>
+ </define>
+ <define name="mstyle.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <ref name="mstyle.specificattributes"/>
+ <ref name="mstyle.generalattributes"/>
+ <ref name="mstyle.deprecatedattributes"/>
+ </define>
+ <define name="mstyle.specificattributes">
+ <optional>
+ <attribute name="scriptlevel">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="displaystyle">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="scriptsizemultiplier">
+ <ref name="number"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="scriptminsize">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="infixlinebreakstyle">
+ <choice>
+ <value>before</value>
+ <value>after</value>
+ <value>duplicate</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="decimalpoint">
+ <ref name="character"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="mstyle.generalattributes">
+ <optional>
+ <attribute name="accent">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="accentunder">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>center</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="alignmentscope">
+ <list>
+ <oneOrMore>
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="bevelled">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="charalign">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="charspacing">
+ <choice>
+ <ref name="length"/>
+ <value>loose</value>
+ <value>medium</value>
+ <value>tight</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="close"/>
+ </optional>
+ <optional>
+ <attribute name="columnalign">
+ <list>
+ <oneOrMore>
+ <ref name="columnalignstyle"/>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="columnlines">
+ <list>
+ <oneOrMore>
+ <ref name="linestyle"/>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="columnspacing">
+ <list>
+ <oneOrMore>
+ <ref name="length"/>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="columnspan">
+ <ref name="positive-integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="columnwidth">
+ <list>
+ <oneOrMore>
+ <choice>
+ <value>auto</value>
+ <ref name="length"/>
+ <value>fit</value>
+ </choice>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="crossout">
+ <list>
+ <zeroOrMore>
+ <choice>
+ <value>none</value>
+ <value>updiagonalstrike</value>
+ <value>downdiagonalstrike</value>
+ <value>verticalstrike</value>
+ <value>horizontalstrike</value>
+ </choice>
+ </zeroOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="denomalign">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="depth">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dir">
+ <choice>
+ <value>ltr</value>
+ <value>rtl</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="edge">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="equalcolumns">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="equalrows">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fence">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="form">
+ <choice>
+ <value>prefix</value>
+ <value>infix</value>
+ <value>postfix</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="frame">
+ <ref name="linestyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="framespacing">
+ <list>
+ <ref name="length"/>
+ <ref name="length"/>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="groupalign">
+ <ref name="group-alignment-list-list"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="indentalign">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>auto</value>
+ <value>id</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="indentalignfirst">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>auto</value>
+ <value>id</value>
+ <value>indentalign</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="indentalignlast">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>auto</value>
+ <value>id</value>
+ <value>indentalign</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="indentshift">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="indentshiftfirst">
+ <choice>
+ <ref name="length"/>
+ <value>indentshift</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="indentshiftlast">
+ <choice>
+ <ref name="length"/>
+ <value>indentshift</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="indenttarget">
+ <ref name="idref"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="largeop">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="leftoverhang">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="length">
+ <ref name="unsigned-integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="linebreak">
+ <choice>
+ <value>auto</value>
+ <value>newline</value>
+ <value>nobreak</value>
+ <value>goodbreak</value>
+ <value>badbreak</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="linebreakmultchar"/>
+ </optional>
+ <optional>
+ <attribute name="linebreakstyle">
+ <choice>
+ <value>before</value>
+ <value>after</value>
+ <value>duplicate</value>
+ <value>infixlinebreakstyle</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="lineleading">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="linethickness">
+ <choice>
+ <ref name="length"/>
+ <value>thin</value>
+ <value>medium</value>
+ <value>thick</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="location">
+ <choice>
+ <value>w</value>
+ <value>nw</value>
+ <value>n</value>
+ <value>ne</value>
+ <value>e</value>
+ <value>se</value>
+ <value>s</value>
+ <value>sw</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="longdivstyle">
+ <choice>
+ <value>lefttop</value>
+ <value>stackedrightright</value>
+ <value>mediumstackedrightright</value>
+ <value>shortstackedrightright</value>
+ <value>righttop</value>
+ <value>left/\right</value>
+ <value>left)(right</value>
+ <value>:right=right</value>
+ <value>stackedleftleft</value>
+ <value>stackedleftlinetop</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="lquote"/>
+ </optional>
+ <optional>
+ <attribute name="lspace">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mathsize">
+ <choice>
+ <value>small</value>
+ <value>normal</value>
+ <value>big</value>
+ <ref name="length"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mathvariant">
+ <choice>
+ <value>normal</value>
+ <value>bold</value>
+ <value>italic</value>
+ <value>bold-italic</value>
+ <value>double-struck</value>
+ <value>bold-fraktur</value>
+ <value>script</value>
+ <value>bold-script</value>
+ <value>fraktur</value>
+ <value>sans-serif</value>
+ <value>bold-sans-serif</value>
+ <value>sans-serif-italic</value>
+ <value>sans-serif-bold-italic</value>
+ <value>monospace</value>
+ <value>initial</value>
+ <value>tailed</value>
+ <value>looped</value>
+ <value>stretched</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="maxsize">
+ <choice>
+ <ref name="length"/>
+ <value>infinity</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="minlabelspacing">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="minsize">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="movablelimits">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mslinethickness">
+ <choice>
+ <ref name="length"/>
+ <value>thin</value>
+ <value>medium</value>
+ <value>thick</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="notation"/>
+ </optional>
+ <optional>
+ <attribute name="numalign">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="open"/>
+ </optional>
+ <optional>
+ <attribute name="position">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rightoverhang">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rowalign">
+ <list>
+ <oneOrMore>
+ <ref name="verticalalign"/>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rowlines">
+ <list>
+ <oneOrMore>
+ <ref name="linestyle"/>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rowspacing">
+ <list>
+ <oneOrMore>
+ <ref name="length"/>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rowspan">
+ <ref name="positive-integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rquote"/>
+ </optional>
+ <optional>
+ <attribute name="rspace">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="selection">
+ <ref name="positive-integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="separator">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="separators"/>
+ </optional>
+ <optional>
+ <attribute name="shift">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="side">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>leftoverlap</value>
+ <value>rightoverlap</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="stackalign">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>decimalpoint</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="stretchy">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="subscriptshift">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="superscriptshift">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="symmetric">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="valign">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="mstyle.deprecatedattributes">
+ <ref name="DeprecatedTokenAtt"/>
+ <optional>
+ <attribute name="veryverythinmathspace">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="verythinmathspace">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="thinmathspace">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mediummathspace">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="thickmathspace">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="verythickmathspace">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="veryverythickmathspace">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="math.attributes" combine="interleave">
+ <ref name="CommonPresAtt"/>
+ </define>
+ <define name="math.attributes" combine="interleave">
+ <ref name="mstyle.specificattributes"/>
+ </define>
+ <define name="math.attributes" combine="interleave">
+ <ref name="mstyle.generalattributes"/>
+ </define>
+ <define name="merror">
+ <element name="merror">
+ <ref name="merror.attributes"/>
+ <ref name="ImpliedMrow"/>
+ </element>
+ </define>
+ <define name="merror.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ </define>
+ <define name="mpadded">
+ <element name="mpadded">
+ <ref name="mpadded.attributes"/>
+ <ref name="ImpliedMrow"/>
+ </element>
+ </define>
+ <define name="mpadded.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="height">
+ <ref name="mpadded-length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="depth">
+ <ref name="mpadded-length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="mpadded-length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="lspace">
+ <ref name="mpadded-length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="voffset">
+ <ref name="mpadded-length"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="mphantom">
+ <element name="mphantom">
+ <ref name="mphantom.attributes"/>
+ <ref name="ImpliedMrow"/>
+ </element>
+ </define>
+ <define name="mphantom.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ </define>
+ <define name="mfenced">
+ <element name="mfenced">
+ <ref name="mfenced.attributes"/>
+ <zeroOrMore>
+ <ref name="MathExpression"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="mfenced.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="open"/>
+ </optional>
+ <optional>
+ <attribute name="close"/>
+ </optional>
+ <optional>
+ <attribute name="separators"/>
+ </optional>
+ </define>
+ <define name="menclose">
+ <element name="menclose">
+ <ref name="menclose.attributes"/>
+ <ref name="ImpliedMrow"/>
+ </element>
+ </define>
+ <define name="menclose.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="notation"/>
+ </optional>
+ </define>
+ <define name="msub">
+ <element name="msub">
+ <ref name="msub.attributes"/>
+ <ref name="MathExpression"/>
+ <ref name="MathExpression"/>
+ </element>
+ </define>
+ <define name="msub.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="subscriptshift">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="msup">
+ <element name="msup">
+ <ref name="msup.attributes"/>
+ <ref name="MathExpression"/>
+ <ref name="MathExpression"/>
+ </element>
+ </define>
+ <define name="msup.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="superscriptshift">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="msubsup">
+ <element name="msubsup">
+ <ref name="msubsup.attributes"/>
+ <ref name="MathExpression"/>
+ <ref name="MathExpression"/>
+ <ref name="MathExpression"/>
+ </element>
+ </define>
+ <define name="msubsup.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="subscriptshift">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="superscriptshift">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="munder">
+ <element name="munder">
+ <ref name="munder.attributes"/>
+ <ref name="MathExpression"/>
+ <ref name="MathExpression"/>
+ </element>
+ </define>
+ <define name="munder.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="accentunder">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>center</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="mover">
+ <element name="mover">
+ <ref name="mover.attributes"/>
+ <ref name="MathExpression"/>
+ <ref name="MathExpression"/>
+ </element>
+ </define>
+ <define name="mover.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="accent">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>center</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="munderover">
+ <element name="munderover">
+ <ref name="munderover.attributes"/>
+ <ref name="MathExpression"/>
+ <ref name="MathExpression"/>
+ <ref name="MathExpression"/>
+ </element>
+ </define>
+ <define name="munderover.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="accent">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="accentunder">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>center</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="mmultiscripts">
+ <element name="mmultiscripts">
+ <ref name="mmultiscripts.attributes"/>
+ <ref name="MathExpression"/>
+ <zeroOrMore>
+ <ref name="MultiScriptExpression"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="mprescripts"/>
+ <zeroOrMore>
+ <ref name="MultiScriptExpression"/>
+ </zeroOrMore>
+ </optional>
+ </element>
+ </define>
+ <define name="mmultiscripts.attributes">
+ <ref name="msubsup.attributes"/>
+ </define>
+ <define name="mtable">
+ <element name="mtable">
+ <ref name="mtable.attributes"/>
+ <zeroOrMore>
+ <ref name="TableRowExpression"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="mtable.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="align">
+ <data type="string">
+ <param name="pattern">\s*(top|bottom|center|baseline|axis)\s*[0-9]*</param>
+ </data>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rowalign">
+ <list>
+ <oneOrMore>
+ <ref name="verticalalign"/>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="columnalign">
+ <list>
+ <oneOrMore>
+ <ref name="columnalignstyle"/>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="groupalign">
+ <ref name="group-alignment-list-list"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="alignmentscope">
+ <list>
+ <oneOrMore>
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="columnwidth">
+ <list>
+ <oneOrMore>
+ <choice>
+ <value>auto</value>
+ <ref name="length"/>
+ <value>fit</value>
+ </choice>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <choice>
+ <value>auto</value>
+ <ref name="length"/>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rowspacing">
+ <list>
+ <oneOrMore>
+ <ref name="length"/>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="columnspacing">
+ <list>
+ <oneOrMore>
+ <ref name="length"/>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rowlines">
+ <list>
+ <oneOrMore>
+ <ref name="linestyle"/>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="columnlines">
+ <list>
+ <oneOrMore>
+ <ref name="linestyle"/>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="frame">
+ <ref name="linestyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="framespacing">
+ <list>
+ <ref name="length"/>
+ <ref name="length"/>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="equalrows">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="equalcolumns">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="displaystyle">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="side">
+ <choice>
+ <value>left</value>
+ <value>right</value>
+ <value>leftoverlap</value>
+ <value>rightoverlap</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="minlabelspacing">
+ <ref name="length"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="mlabeledtr">
+ <element name="mlabeledtr">
+ <ref name="mlabeledtr.attributes"/>
+ <oneOrMore>
+ <ref name="TableCellExpression"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="mlabeledtr.attributes">
+ <ref name="mtr.attributes"/>
+ </define>
+ <define name="mtr">
+ <element name="mtr">
+ <ref name="mtr.attributes"/>
+ <zeroOrMore>
+ <ref name="TableCellExpression"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="mtr.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="rowalign">
+ <choice>
+ <value>top</value>
+ <value>bottom</value>
+ <value>center</value>
+ <value>baseline</value>
+ <value>axis</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="columnalign">
+ <list>
+ <oneOrMore>
+ <ref name="columnalignstyle"/>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="groupalign">
+ <ref name="group-alignment-list-list"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="mtd">
+ <element name="mtd">
+ <ref name="mtd.attributes"/>
+ <ref name="ImpliedMrow"/>
+ </element>
+ </define>
+ <define name="mtd.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="rowspan">
+ <ref name="positive-integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="columnspan">
+ <ref name="positive-integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rowalign">
+ <choice>
+ <value>top</value>
+ <value>bottom</value>
+ <value>center</value>
+ <value>baseline</value>
+ <value>axis</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="columnalign">
+ <ref name="columnalignstyle"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="groupalign">
+ <ref name="group-alignment-list"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="mstack">
+ <element name="mstack">
+ <ref name="mstack.attributes"/>
+ <zeroOrMore>
+ <ref name="MstackExpression"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="mstack.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="align">
+ <data type="string">
+ <param name="pattern">\s*(top|bottom|center|baseline|axis)\s*[0-9]*</param>
+ </data>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="stackalign">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>decimalpoint</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="charalign">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="charspacing">
+ <choice>
+ <ref name="length"/>
+ <value>loose</value>
+ <value>medium</value>
+ <value>tight</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="mlongdiv">
+ <element name="mlongdiv">
+ <ref name="mlongdiv.attributes"/>
+ <ref name="MstackExpression"/>
+ <ref name="MstackExpression"/>
+ <oneOrMore>
+ <ref name="MstackExpression"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="mlongdiv.attributes">
+ <ref name="msgroup.attributes"/>
+ <optional>
+ <attribute name="longdivstyle">
+ <choice>
+ <value>lefttop</value>
+ <value>stackedrightright</value>
+ <value>mediumstackedrightright</value>
+ <value>shortstackedrightright</value>
+ <value>righttop</value>
+ <value>left/\right</value>
+ <value>left)(right</value>
+ <value>:right=right</value>
+ <value>stackedleftleft</value>
+ <value>stackedleftlinetop</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="msgroup">
+ <element name="msgroup">
+ <ref name="msgroup.attributes"/>
+ <zeroOrMore>
+ <ref name="MstackExpression"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="msgroup.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="position">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="shift">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="msrow">
+ <element name="msrow">
+ <ref name="msrow.attributes"/>
+ <zeroOrMore>
+ <ref name="MsrowExpression"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="msrow.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="position">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="mscarries">
+ <element name="mscarries">
+ <ref name="mscarries.attributes"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="MsrowExpression"/>
+ <ref name="mscarry"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="mscarries.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="position">
+ <ref name="integer"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="location">
+ <choice>
+ <value>w</value>
+ <value>nw</value>
+ <value>n</value>
+ <value>ne</value>
+ <value>e</value>
+ <value>se</value>
+ <value>s</value>
+ <value>sw</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="crossout">
+ <list>
+ <zeroOrMore>
+ <choice>
+ <value>none</value>
+ <value>updiagonalstrike</value>
+ <value>downdiagonalstrike</value>
+ <value>verticalstrike</value>
+ <value>horizontalstrike</value>
+ </choice>
+ </zeroOrMore>
+ </list>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="scriptsizemultiplier">
+ <ref name="number"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="mscarry">
+ <element name="mscarry">
+ <ref name="mscarry.attributes"/>
+ <zeroOrMore>
+ <ref name="MsrowExpression"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="mscarry.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="location">
+ <choice>
+ <value>w</value>
+ <value>nw</value>
+ <value>n</value>
+ <value>ne</value>
+ <value>e</value>
+ <value>se</value>
+ <value>s</value>
+ <value>sw</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="crossout">
+ <list>
+ <zeroOrMore>
+ <choice>
+ <value>none</value>
+ <value>updiagonalstrike</value>
+ <value>downdiagonalstrike</value>
+ <value>verticalstrike</value>
+ <value>horizontalstrike</value>
+ </choice>
+ </zeroOrMore>
+ </list>
+ </attribute>
+ </optional>
+ </define>
+ <define name="maction">
+ <element name="maction">
+ <ref name="maction.attributes"/>
+ <oneOrMore>
+ <ref name="MathExpression"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <define name="maction.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="CommonPresAtt"/>
+ <optional>
+ <attribute name="actiontype"/>
+ </optional>
+ <optional>
+ <attribute name="selection">
+ <ref name="positive-integer"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-strict-content.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-strict-content.rng
new file mode 100644
index 00000000000..f2e3b0ea8e9
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-strict-content.rng
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ This is the Mathematical Markup Language (MathML) 3.0, an XML
+ application for describing mathematical notation and capturing
+ both its structure and content.
+
+ Copyright 1998-2009 W3C (MIT, ERCIM, Keio)
+
+ Use and distribution of this code are permitted under the terms
+ W3C Software Notice and License
+ http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+<grammar ns="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="ContExp">
+ <choice>
+ <ref name="semantics-contexp"/>
+ <ref name="cn"/>
+ <ref name="ci"/>
+ <ref name="csymbol"/>
+ <ref name="apply"/>
+ <ref name="bind"/>
+ <ref name="share"/>
+ <ref name="cerror"/>
+ <ref name="cbytes"/>
+ <ref name="cs"/>
+ </choice>
+ </define>
+ <define name="cn">
+ <element name="cn">
+ <ref name="cn.attributes"/>
+ <ref name="cn.content"/>
+ </element>
+ </define>
+ <define name="cn.content">
+ <text/>
+ </define>
+ <define name="cn.attributes">
+ <attribute name="type">
+ <choice>
+ <value>integer</value>
+ <value>real</value>
+ <value>double</value>
+ <value>hexdouble</value>
+ </choice>
+ </attribute>
+ </define>
+ <define name="semantics-ci">
+ <element name="semantics">
+ <ref name="semantics.attributes"/>
+ <choice>
+ <ref name="ci"/>
+ <ref name="semantics-ci"/>
+ </choice>
+ <zeroOrMore>
+ <choice>
+ <ref name="annotation"/>
+ <ref name="annotation-xml"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="semantics-contexp">
+ <element name="semantics">
+ <ref name="semantics.attributes"/>
+ <ref name="ContExp"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="annotation"/>
+ <ref name="annotation-xml"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ci">
+ <element name="ci">
+ <ref name="ci.attributes"/>
+ <ref name="ci.content"/>
+ </element>
+ </define>
+ <define name="ci.attributes">
+ <ref name="CommonAtt"/>
+ <optional>
+ <ref name="ci.type"/>
+ </optional>
+ </define>
+ <define name="ci.type">
+ <attribute name="type">
+ <choice>
+ <value>integer</value>
+ <value>rational</value>
+ <value>real</value>
+ <value>complex</value>
+ <value>complex-polar</value>
+ <value>complex-cartesian</value>
+ <value>constant</value>
+ <value>function</value>
+ <value>vector</value>
+ <value>list</value>
+ <value>set</value>
+ <value>matrix</value>
+ </choice>
+ </attribute>
+ </define>
+ <define name="ci.content">
+ <text/>
+ </define>
+ <define name="csymbol">
+ <element name="csymbol">
+ <ref name="csymbol.attributes"/>
+ <ref name="csymbol.content"/>
+ </element>
+ </define>
+ <define name="SymbolName">
+ <data type="NCName"/>
+ </define>
+ <define name="csymbol.attributes">
+ <ref name="CommonAtt"/>
+ <ref name="cd"/>
+ </define>
+ <define name="csymbol.content">
+ <ref name="SymbolName"/>
+ </define>
+ <define name="BvarQ">
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ </define>
+ <define name="bvar">
+ <element name="bvar">
+ <choice>
+ <ref name="ci"/>
+ <ref name="semantics-ci"/>
+ </choice>
+ </element>
+ </define>
+ <define name="apply">
+ <element name="apply">
+ <ref name="CommonAtt"/>
+ <ref name="apply.content"/>
+ </element>
+ </define>
+ <define name="apply.content">
+ <oneOrMore>
+ <ref name="ContExp"/>
+ </oneOrMore>
+ </define>
+ <define name="bind">
+ <element name="bind">
+ <ref name="CommonAtt"/>
+ <ref name="bind.content"/>
+ </element>
+ </define>
+ <define name="bind.content">
+ <ref name="ContExp"/>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <ref name="ContExp"/>
+ </define>
+ <define name="share">
+ <element name="share">
+ <ref name="CommonAtt"/>
+ <ref name="src"/>
+ <empty/>
+ </element>
+ </define>
+ <define name="cerror">
+ <element name="cerror">
+ <ref name="cerror.attributes"/>
+ <ref name="csymbol"/>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="cerror.attributes">
+ <ref name="CommonAtt"/>
+ </define>
+ <define name="cbytes">
+ <element name="cbytes">
+ <ref name="cbytes.attributes"/>
+ <ref name="base64"/>
+ </element>
+ </define>
+ <define name="cbytes.attributes">
+ <ref name="CommonAtt"/>
+ </define>
+ <define name="base64">
+ <data type="base64Binary"/>
+ </define>
+ <define name="cs">
+ <element name="cs">
+ <ref name="cs.attributes"/>
+ <text/>
+ </element>
+ </define>
+ <define name="cs.attributes">
+ <ref name="CommonAtt"/>
+ </define>
+ <define name="MathExpression" combine="choice">
+ <ref name="ContExp"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-strict.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-strict.rng
new file mode 100644
index 00000000000..be5a334c8fe
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3-strict.rng
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ This is the Mathematical Markup Language (MathML) 3.0, an XML
+ application for describing mathematical notation and capturing
+ both its structure and content.
+
+ Copyright 1998-2008 W3C (MIT, ERCIM, Keio)
+
+ Use and distribution of this code are permitted under the terms
+ W3C Software Notice and License
+ http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+
+
+ Revision: $Id: mathml3-strict.rnc 8515 2009-08-17 13:51:36Z kohlhase $
+
+ Update to MathML3 and Relax NG: David Carlisle and Michael Kohlhase
+
+ This is the RelaxNG schema module for the strict content part of MathML.
+-->
+<grammar ns="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <include href="mathml3-common.rng"/>
+ <define name="math.content" combine="choice">
+ <ref name="ContExp"/>
+ </define>
+ <!-- ednote(rnc:opel-content) What is the content of a operator element, currently all text? -->
+ <define name="opel.content">
+ <text/>
+ </define>
+ <!--
+ we want to extend this in pragmatic CMathML, so we introduce abbrevs here.
+ ednote(rnc:cn-content) What is the content of a cn?
+ -->
+ <define name="cn.content">
+ <choice>
+ <text/>
+ <group>
+ <ref name="cn"/>
+ <ref name="cn"/>
+ </group>
+ </choice>
+ </define>
+ <define name="cn.type.vals">
+ <choice>
+ <value>integer</value>
+ <value>real</value>
+ <value>double</value>
+ </choice>
+ </define>
+ <define name="cn">
+ <element name="cn">
+ <optional>
+ <attribute name="base"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="cn.type.vals"/>
+ </attribute>
+ </optional>
+ <ref name="Definition.attrib"/>
+ <ref name="MathML.Common.attrib"/>
+ <zeroOrMore>
+ <ref name="cn.content"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ci">
+ <element name="ci">
+ <optional>
+ <attribute name="type">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="nargs">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="occurrence">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <ref name="Definition.attrib"/>
+ <ref name="MathML.Common.attrib"/>
+ <ref name="opel.content"/>
+ <optional>
+ <ref name="name.attrib"/>
+ </optional>
+ </element>
+ </define>
+ <define name="cdname.attrib">
+ <attribute name="cd">
+ <data type="NCName"/>
+ </attribute>
+ </define>
+ <define name="csymbol">
+ <element name="csymbol">
+ <ref name="MathML.Common.attrib"/>
+ <ref name="Definition.attrib"/>
+ <optional>
+ <ref name="cdname.attrib"/>
+ </optional>
+ <optional>
+ <ref name="cdbase.attrib"/>
+ </optional>
+ <ref name="opel.content"/>
+ </element>
+ </define>
+ <!-- the content of the apply element, leave it empty and extend it later -->
+ <define name="apply">
+ <element name="apply">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="cdbase.attrib"/>
+ </optional>
+ <ref name="apply.content"/>
+ </element>
+ </define>
+ <define name="apply-head">
+ <choice>
+ <ref name="apply"/>
+ <ref name="bind"/>
+ <ref name="ci"/>
+ <ref name="csymbol"/>
+ <ref name="semantics-apply"/>
+ </choice>
+ </define>
+ <define name="apply.content">
+ <ref name="apply-head"/>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </define>
+ <define name="semantics-apply">
+ <element name="semantics">
+ <ref name="semantics.attribs"/>
+ <ref name="apply-head"/>
+ <zeroOrMore>
+ <ref name="semantics-annotation"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="qualifier">
+ <notAllowed/>
+ </define>
+ <!-- the content of the bind element, leave it empty and extend it later -->
+ <define name="bind">
+ <element name="bind">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="cdbase.attrib"/>
+ </optional>
+ <ref name="bind.content"/>
+ </element>
+ </define>
+ <define name="bind-head">
+ <choice>
+ <ref name="apply"/>
+ <ref name="csymbol"/>
+ <ref name="semantics-bind"/>
+ </choice>
+ </define>
+ <define name="bind.content">
+ <ref name="bind-head"/>
+ <zeroOrMore>
+ <ref name="bvar"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="qualifier"/>
+ </optional>
+ <ref name="ContExp"/>
+ </define>
+ <define name="semantics-bind">
+ <element name="semantics">
+ <ref name="semantics.attribs"/>
+ <ref name="bind-head"/>
+ <zeroOrMore>
+ <ref name="semantics-annotation"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="bvar">
+ <element name="bvar">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="cdbase.attrib"/>
+ </optional>
+ <ref name="bvar-head"/>
+ </element>
+ </define>
+ <define name="bvar-head">
+ <choice>
+ <ref name="ci"/>
+ <ref name="semantics-bvar"/>
+ </choice>
+ </define>
+ <define name="semantics-bvar">
+ <element name="semantics">
+ <ref name="semantics.attribs"/>
+ <ref name="bvar-head"/>
+ <zeroOrMore>
+ <ref name="semantics-annotation"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="share">
+ <element name="share">
+ <ref name="MathML.Common.attrib"/>
+ <attribute name="href">
+ <data type="anyURI"/>
+ </attribute>
+ </element>
+ </define>
+ <!-- the content of the cerror element, leave it empty and extend it later -->
+ <define name="cerror">
+ <element name="cerror">
+ <ref name="MathML.Common.attrib"/>
+ <optional>
+ <ref name="cdbase.attrib"/>
+ </optional>
+ <ref name="cerror.content"/>
+ </element>
+ </define>
+ <define name="cerror-head">
+ <choice>
+ <ref name="csymbol"/>
+ <ref name="apply"/>
+ <ref name="semantics-cerror"/>
+ </choice>
+ </define>
+ <define name="cerror.content">
+ <ref name="cerror-head"/>
+ <zeroOrMore>
+ <ref name="ContExp"/>
+ </zeroOrMore>
+ </define>
+ <define name="semantics-cerror">
+ <element name="semantics">
+ <ref name="semantics.attribs"/>
+ <ref name="cerror-head"/>
+ <zeroOrMore>
+ <ref name="semantics-annotation"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="semantics-cmml">
+ <element name="semantics">
+ <ref name="semantics.attribs"/>
+ <ref name="ContExp"/>
+ <zeroOrMore>
+ <ref name="semantics-annotation"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ContExp">
+ <choice>
+ <ref name="cn"/>
+ <ref name="ci"/>
+ <ref name="csymbol"/>
+ <ref name="apply"/>
+ <ref name="bind"/>
+ <ref name="share"/>
+ <ref name="cerror"/>
+ <ref name="semantics-cmml"/>
+ </choice>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/mathml3.rng b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3.rng
new file mode 100644
index 00000000000..67b0561c133
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/mathml3.rng
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ This is the Mathematical Markup Language (MathML) 3.0, an XML
+ application for describing mathematical notation and capturing
+ both its structure and content.
+
+ Copyright 1998-2009 W3C (MIT, ERCIM, Keio)
+
+ Use and distribution of this code are permitted under the terms
+ W3C Software Notice and License
+ http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="mathml3-content.rng">
+ <a:documentation>Content MathML</a:documentation>
+ </include>
+ <include href="mathml3-presentation.rng">
+ <a:documentation>Presentation MathML</a:documentation>
+ </include>
+ <include href="mathml3-common.rng">
+ <a:documentation>math and semantics common to both Content and Presentation</a:documentation>
+ </include>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/metadata.rng b/Master/texmf-dist/source/latex/stex/schema/rng/metadata.rng
new file mode 100644
index 00000000000..b85d0d4f533
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/metadata.rng
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ /=====================================================================\
+ | Metadata for LaTeXML |
+ |=====================================================================|
+ | Not Part of LaTeXML: |
+ | Copyright (c) 2005 Michael Kohlhase |
+ | Released under the Gnu Public License (GPL) |
+ |=====================================================================|
+ | Michael Kohlhase <m.kohlhase@iu-bremen.de> #_# |
+ | http://dlmf.nist.gov/LaTeXML/ (o o) |
+ \=========================================================ooo==U==ooo=/
+-->
+<grammar ns="http://dlmf.nist.gov/LaTeXML" xmlns="http://relaxng.org/ns/structure/1.0">
+ <define name="dc.class">
+ <choice>
+ <ref name="Creator"/>
+ <ref name="Contributor"/>
+ <ref name="Title"/>
+ <ref name="Subject"/>
+ <ref name="Description"/>
+ <ref name="Publisher"/>
+ <ref name="Date"/>
+ <ref name="Type"/>
+ <ref name="Identifier"/>
+ <ref name="Source"/>
+ <ref name="Language"/>
+ <ref name="Relation"/>
+ <ref name="Rights"/>
+ <ref name="license"/>
+ </choice>
+ </define>
+ <define name="metadata">
+ <element name="metadata">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <ref name="dc.class"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Creator">
+ <element name="Creator">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Contributor">
+ <element name="Contributor">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Title">
+ <element name="Title">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Subject">
+ <element name="Subject">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Description">
+ <element name="Description">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Publisher">
+ <element name="Publisher">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Date">
+ <element name="Date">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Type">
+ <element name="Type">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Identifier">
+ <element name="Identifier">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Source">
+ <element name="Source">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Language">
+ <element name="Language">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Relation">
+ <element name="Relation">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Rights">
+ <element name="Rights">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="license">
+ <element name="license">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="attribution"/>
+ <ref name="noncommercial"/>
+ <ref name="sharealike"/>
+ <ref name="noderivativeworks"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="attribution">
+ <element name="attribution">
+ <ref name="Common.attribs"/>
+ </element>
+ </define>
+ <define name="noncommercial">
+ <element name="noncommercial">
+ <ref name="Common.attribs"/>
+ </element>
+ </define>
+ <define name="sharealike">
+ <element name="sharealike">
+ <ref name="Common.attribs"/>
+ </element>
+ </define>
+ <define name="noderivativeworks">
+ <element name="noderivativeworks">
+ <ref name="Common.attribs"/>
+ </element>
+ </define>
+</grammar>
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
new file mode 100644
index 00000000000..04b411a61dd
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc+ltxml.rng
@@ -0,0 +1,436 @@
+<?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>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdoc-common.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc-common.rng
new file mode 100644
index 00000000000..17d8676e6ad
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc-common.rng
@@ -0,0 +1,317 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Common attributes
+ $Id: omdoc-common.rnc 8958 2011-09-02 06:01:13Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdoc-common.rnc $
+ See the documentation and examples at http://www.omdoc.org
+ Copyright (c) 2004-2010 Michael Kohlhase, released under the GNU Public License (GPL)
+-->
+<grammar xmlns:omdoc="http://omdoc.org/ns" 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">
+ <!--
+ all the explicitly namespaced attributes, except xml:lang, which
+ is handled explicitly
+ -->
+ <define name="nonlocal.attribs">
+ <zeroOrMore>
+ <attribute>
+ <anyName>
+ <except>
+ <nsName ns=""/>
+ <nsName ns="http://www.w3.org/XML/1998/namespace"/>
+ </except>
+ </anyName>
+ <data type="string"/>
+ </attribute>
+ </zeroOrMore>
+ </define>
+ <!-- the attributes for CSS and PRES styling -->
+ <define name="css.attribs">
+ <interleave>
+ <optional>
+ <attribute name="style">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="class">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="omdocref">
+ <data type="anyURI"/>
+ </define>
+ <!-- an URI reference pointing to an OMDoc fragment -->
+ <define name="omdocrefs">
+ <list>
+ <zeroOrMore>
+ <data type="anyURI"/>
+ </zeroOrMore>
+ </list>
+ </define>
+ <!-- a whitespace-separated list of omdocref -->
+ <define name="xref.attrib">
+ <attribute name="xref">
+ <ref name="omdocref"/>
+ </attribute>
+ </define>
+ <define name="tref">
+ <attribute name="tref">
+ <ref name="omdocref"/>
+ </attribute>
+ </define>
+ <!-- for the moment, we may get regexp at some point. -->
+ <define name="curie">
+ <data type="string"/>
+ </define>
+ <define name="curies">
+ <data type="string"/>
+ </define>
+ <define name="safecurie">
+ <data type="string"/>
+ </define>
+ <define name="about.attrib">
+ <attribute name="about">
+ <choice>
+ <data type="anyURI"/>
+ <ref name="safecurie"/>
+ </choice>
+ </attribute>
+ </define>
+ <define name="xmlbase.attrib">
+ <attribute name="xml:base">
+ <data type="anyURI"/>
+ </attribute>
+ </define>
+ <define name="xmlid.attrib">
+ <attribute name="xml:id">
+ <data type="ID"/>
+ </attribute>
+ </define>
+ <define name="idrest.attribs">
+ <interleave>
+ <ref name="css.attribs"/>
+ <ref name="nonlocal.attribs"/>
+ <optional>
+ <ref name="about.attrib"/>
+ </optional>
+ <optional>
+ <ref name="xmlbase.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="id.attribs">
+ <interleave>
+ <optional>
+ <ref name="xmlid.attrib"/>
+ </optional>
+ <ref name="idrest.attribs"/>
+ </interleave>
+ </define>
+ <define name="toplevel.attribs">
+ <ref name="id.attribs"/>
+ <optional>
+ <attribute name="generated-from">
+ <ref name="omdocref"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="iso639">
+ <choice>
+ <value>aa</value>
+ <value>ab</value>
+ <value>af</value>
+ <value>am</value>
+ <value>ar</value>
+ <value>as</value>
+ <value>ay</value>
+ <value>az</value>
+ <value>ba</value>
+ <value>be</value>
+ <value>bg</value>
+ <value>bh</value>
+ <value>bi</value>
+ <value>bn</value>
+ <value>bo</value>
+ <value>br</value>
+ <value>ca</value>
+ <value>co</value>
+ <value>cs</value>
+ <value>cy</value>
+ <value>da</value>
+ <value>de</value>
+ <value>dz</value>
+ <value>el</value>
+ <value>en</value>
+ <value>eo</value>
+ <value>es</value>
+ <value>et</value>
+ <value>eu</value>
+ <value>fa</value>
+ <value>fi</value>
+ <value>fj</value>
+ <value>fo</value>
+ <value>fr</value>
+ <value>fy</value>
+ <value>ga</value>
+ <value>gd</value>
+ <value>gl</value>
+ <value>gn</value>
+ <value>gu</value>
+ <value>ha</value>
+ <value>he</value>
+ <value>hi</value>
+ <value>hr</value>
+ <value>hu</value>
+ <value>hy</value>
+ <value>ia</value>
+ <value>ie</value>
+ <value>ik</value>
+ <value>id</value>
+ <value>is</value>
+ <value>it</value>
+ <value>iu</value>
+ <value>ja</value>
+ <value>jv</value>
+ <value>ka</value>
+ <value>kk</value>
+ <value>kl</value>
+ <value>km</value>
+ <value>kn</value>
+ <value>ko</value>
+ <value>ks</value>
+ <value>ku</value>
+ <value>ky</value>
+ <value>la</value>
+ <value>ln</value>
+ <value>lo</value>
+ <value>lt</value>
+ <value>lv</value>
+ <value>mg</value>
+ <value>mi</value>
+ <value>mk</value>
+ <value>ml</value>
+ <value>mn</value>
+ <value>mo</value>
+ <value>mr</value>
+ <value>ms</value>
+ <value>mt</value>
+ <value>my</value>
+ <value>na</value>
+ <value>ne</value>
+ <value>nl</value>
+ <value>no</value>
+ <value>oc</value>
+ <value>om</value>
+ <value>or</value>
+ <value>pa</value>
+ <value>pl</value>
+ <value>ps</value>
+ <value>pt</value>
+ <value>qu</value>
+ <value>rm</value>
+ <value>rn</value>
+ <value>ro</value>
+ <value>ru</value>
+ <value>rw</value>
+ <value>sa</value>
+ <value>sd</value>
+ <value>sg</value>
+ <value>sh</value>
+ <value>si</value>
+ <value>sk</value>
+ <value>sl</value>
+ <value>sm</value>
+ <value>sn</value>
+ <value>so</value>
+ <value>sq</value>
+ <value>sr</value>
+ <value>ss</value>
+ <value>st</value>
+ <value>su</value>
+ <value>sv</value>
+ <value>sw</value>
+ <value>ta</value>
+ <value>te</value>
+ <value>tg</value>
+ <value>th</value>
+ <value>ti</value>
+ <value>tk</value>
+ <value>tl</value>
+ <value>tn</value>
+ <value>to</value>
+ <value>tr</value>
+ <value>ts</value>
+ <value>tt</value>
+ <value>tw</value>
+ <value>ug</value>
+ <value>uk</value>
+ <value>ur</value>
+ <value>uz</value>
+ <value>vi</value>
+ <value>vo</value>
+ <value>wo</value>
+ <value>xh</value>
+ <value>yi</value>
+ <value>yo</value>
+ <value>za</value>
+ <value>zh</value>
+ <value>zu</value>
+ </choice>
+ </define>
+ <define name="xml.lang.attrib">
+ <optional>
+ <attribute name="xml:lang">
+ <ref name="iso639"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="Anything">
+ <zeroOrMore>
+ <choice>
+ <ref name="AnyElement"/>
+ <text/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="AnyElement">
+ <element>
+ <anyName/>
+ <ref name="AnyAttribute"/>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="AnyElement"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="AnyAttribute">
+ <zeroOrMore>
+ <attribute>
+ <anyName/>
+ </attribute>
+ </zeroOrMore>
+ </define>
+ <define name="inline.class">
+ <a:documentation>useful classes to be extended in the modules</a:documentation>
+ <empty/>
+ </define>
+ <define name="omdoc.class">
+ <empty/>
+ </define>
+ <define name="plike.class">
+ <empty/>
+ </define>
+ <define name="inline.model">
+ <a:documentation>mixed models </a:documentation>
+ <interleave>
+ <text/>
+ <ref name="inline.class"/>
+ </interleave>
+ </define>
+ <define name="metadata.model" combine="interleave">
+ <ref name="dublincore"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdoc-xhtml.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc-xhtml.rng
new file mode 100644
index 00000000000..83b930ecb61
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc-xhtml.rng
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!--
+ A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) without the XHTML elements
+ $Id: omdoc.rnc 8704 2010-09-21 19:44:01Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/rnc+xhtml/omdoc.rnc $
+ See the documentation and examples at http://www.omdoc.org
+ Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL)
+ -->
+ <start>
+ <ref name="omdoc"/>
+ </start>
+ <include href="omdoc-common.rng"/>
+ <include href="omdocmobj.rng"/>
+ <include href="omdocmeta.rng"/>
+ <include href="omdocdoc.rng"/>
+ <include href="omdocdc.rng"/>
+ <include href="omdoccc.rng"/>
+ <include href="omdocmtxt.rng"/>
+ <include href="omdocrt.rng"/>
+ <include href="omdocpres.rng"/>
+ <include href="omdocst.rng"/>
+ <include href="omdoccth.rng"/>
+ <include href="omdocdg.rng"/>
+ <include href="omdocpf.rng"/>
+ <include href="omdocext.rng"/>
+ <include href="omdocquiz.rng"/>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdoc.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc.rng
new file mode 100644
index 00000000000..48c9e7d9ba3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdoc.rng
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!--
+ A RelaxNG schema for Open Mathematical documents (OMDoc 1.3)
+ $Id: omdoc.rnc 8959 2011-09-02 06:01:43Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdoc.rnc $
+ See the documentation and examples at http://www.omdoc.org
+ Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL)
+ -->
+ <start>
+ <ref name="omdoc"/>
+ </start>
+ <include href="omdoc-common.rng"/>
+ <include href="omdocmobj.rng"/>
+ <include href="omdocmeta.rng"/>
+ <include href="omdocdoc.rng"/>
+ <include href="omdocdc.rng"/>
+ <include href="omdoccc.rng"/>
+ <include href="omdocmtxt.rng"/>
+ <include href="omdocrt.rng"/>
+ <include href="omdocpres.rng"/>
+ <include href="omdocst.rng"/>
+ <include href="omdoccth.rng"/>
+ <include href="omdocdg.rng"/>
+ <include href="omdocpf.rng"/>
+ <include href="omdocadt.rng"/>
+ <include href="omdocext.rng"/>
+ <include href="omdocquiz.rng"/>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocadt.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocadt.rng
new file mode 100644
index 00000000000..5fe330eb6bb
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocadt.rng
@@ -0,0 +1,229 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module ADT
+ $Id: omdocadt.rnc 8959 2011-09-02 06:01:43Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocadt.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="adt"/>
+ </zeroOrMore>
+ </define>
+ <define name="adt.sym.attrib">
+ <ref name="id.attribs"/>
+ <ref name="scope.attrib"/>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </define>
+ <!--
+ adts are abstract data types, they are short forms for groups of symbols
+ and their definitions, therefore, they have much the same attributes.
+ -->
+ <define name="adt.attribs">
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <optional>
+ <attribute name="parameters">
+ <list>
+ <zeroOrMore>
+ <data type="NCName"/>
+ </zeroOrMore>
+ </list>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="adt.class">
+ <oneOrMore>
+ <ref name="sortdef"/>
+ </oneOrMore>
+ </define>
+ <define name="adt.model">
+ <interleave>
+ <ref name="metadata.class"/>
+ <ref name="adt.class"/>
+ </interleave>
+ </define>
+ <define name="adt">
+ <element name="adt">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="adt.attribs"/>
+ <ref name="adt.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="adttype">
+ <choice>
+ <value>loose</value>
+ <value>generated</value>
+ <value>free</value>
+ </choice>
+ </define>
+ <define name="sortdef.attribs">
+ <interleave>
+ <ref name="adt.sym.attrib"/>
+ <optional>
+ <attribute name="role">
+ <value>sort</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="adttype"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="sortdef.model">
+ <interleave>
+ <ref name="metadata.class"/>
+ <zeroOrMore>
+ <ref name="constructor"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="insort"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="recognizer"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="sortdef">
+ <element name="sortdef">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="sortdef.attribs"/>
+ <ref name="sortdef.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="insort.attribs">
+ <attribute name="for">
+ <ref name="omdocref"/>
+ </attribute>
+ </define>
+ <define name="insort.model">
+ <empty/>
+ </define>
+ <define name="insort">
+ <element name="insort">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="insort.attribs"/>
+ <ref name="insort.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="constructor.attribs">
+ <interleave>
+ <ref name="adt.sym.attrib"/>
+ <optional>
+ <ref name="sym.role.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="constructor.model">
+ <interleave>
+ <ref name="metadata.class"/>
+ <zeroOrMore>
+ <ref name="argument"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="constructor">
+ <element name="constructor">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="constructor.attribs"/>
+ <ref name="constructor.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="recognizer.attribs">
+ <interleave>
+ <ref name="adt.sym.attrib"/>
+ <optional>
+ <ref name="sym.role.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="recognizer.model">
+ <ref name="metadata.class"/>
+ </define>
+ <define name="recognizer">
+ <element name="recognizer">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="recognizer.attribs"/>
+ <ref name="recognizer.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="argument.attribs">
+ <empty/>
+ </define>
+ <define name="argument.model">
+ <interleave>
+ <ref name="type"/>
+ <optional>
+ <ref name="selector"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="argument">
+ <element name="argument">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="argument.attribs"/>
+ <ref name="argument.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="selector.attribs">
+ <interleave>
+ <ref name="adt.sym.attrib"/>
+ <optional>
+ <ref name="sym.role.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="total">
+ <choice>
+ <value>yes</value>
+ <value>no</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="selector.model">
+ <ref name="metadata.class"/>
+ </define>
+ <define name="selector">
+ <element name="selector">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="selector.attribs"/>
+ <ref name="selector.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocattribs.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocattribs.rng
new file mode 100644
index 00000000000..2d66607c5c0
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocattribs.rng
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Common attributes
+ $Id: omdocattribs.rnc 8653 2010-08-18 06:57:10Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/rnc/omdocattribs.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 xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <!--
+ all the explicitly namespaced attributes, except xml:lang, which
+ is handled explicitly
+ -->
+ <define name="nonlocal-attribs">
+ <zeroOrMore>
+ <attribute>
+ <anyName>
+ <except>
+ <nsName ns=""/>
+ <nsName ns="http://www.w3.org/XML/1998/namespace"/>
+ </except>
+ </anyName>
+ <data type="string"/>
+ </attribute>
+ </zeroOrMore>
+ </define>
+ <!-- the attributes for CSS and PRES styling -->
+ <define name="css.attribs">
+ <interleave>
+ <optional>
+ <attribute name="style">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="class">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="omdocref">
+ <data type="anyURI"/>
+ </define>
+ <!-- an URI reference pointing to an OMDoc fragment -->
+ <define name="omdocrefs">
+ <list>
+ <zeroOrMore>
+ <data type="anyURI"/>
+ </zeroOrMore>
+ </list>
+ </define>
+ <!-- a whitespace-separated list of omdocref -->
+ <define name="xref.attrib">
+ <attribute name="xref">
+ <ref name="omdocref"/>
+ </attribute>
+ </define>
+ <define name="idrest.attribs">
+ <interleave>
+ <ref name="css.attribs"/>
+ <zeroOrMore>
+ <ref name="nonlocal-attribs"/>
+ </zeroOrMore>
+ <optional>
+ <attribute name="xml:base">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="about">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="id.attrib">
+ <interleave>
+ <optional>
+ <attribute name="xml:id">
+ <data type="ID"/>
+ </attribute>
+ </optional>
+ <ref name="idrest.attribs"/>
+ </interleave>
+ </define>
+ <define name="omdoc.toplevel.attribs">
+ <ref name="id.attrib"/>
+ <optional>
+ <attribute name="generated-from">
+ <ref name="omdocref"/>
+ </attribute>
+ </optional>
+ </define>
+ <!--
+ The current XML-recommendation doesn't yet support the
+ three-letter short names for languages (ISO 693-2). So
+ the following section will be using the two-letter
+ (ISO 693-1) encoding for the languages.
+
+ en : English, de : German, fr : French,
+ la : Latin, it : Italian, nl : Dutch,
+ ru : Russian, pl : Polish, es : Spanish,
+ tr : Turkish, zh : Chinese, ja : Japanese,
+ ko : Korean ...
+ -->
+ <define name="iso639">
+ <choice>
+ <value>aa</value>
+ <value>ab</value>
+ <value>af</value>
+ <value>am</value>
+ <value>ar</value>
+ <value>as</value>
+ <value>ay</value>
+ <value>az</value>
+ <value>ba</value>
+ <value>be</value>
+ <value>bg</value>
+ <value>bh</value>
+ <value>bi</value>
+ <value>bn</value>
+ <value>bo</value>
+ <value>br</value>
+ <value>ca</value>
+ <value>co</value>
+ <value>cs</value>
+ <value>cy</value>
+ <value>da</value>
+ <value>de</value>
+ <value>dz</value>
+ <value>el</value>
+ <value>en</value>
+ <value>eo</value>
+ <value>es</value>
+ <value>et</value>
+ <value>eu</value>
+ <value>fa</value>
+ <value>fi</value>
+ <value>fj</value>
+ <value>fo</value>
+ <value>fr</value>
+ <value>fy</value>
+ <value>ga</value>
+ <value>gd</value>
+ <value>gl</value>
+ <value>gn</value>
+ <value>gu</value>
+ <value>ha</value>
+ <value>he</value>
+ <value>hi</value>
+ <value>hr</value>
+ <value>hu</value>
+ <value>hy</value>
+ <value>ia</value>
+ <value>ie</value>
+ <value>ik</value>
+ <value>id</value>
+ <value>is</value>
+ <value>it</value>
+ <value>iu</value>
+ <value>ja</value>
+ <value>jv</value>
+ <value>ka</value>
+ <value>kk</value>
+ <value>kl</value>
+ <value>km</value>
+ <value>kn</value>
+ <value>ko</value>
+ <value>ks</value>
+ <value>ku</value>
+ <value>ky</value>
+ <value>la</value>
+ <value>ln</value>
+ <value>lo</value>
+ <value>lt</value>
+ <value>lv</value>
+ <value>mg</value>
+ <value>mi</value>
+ <value>mk</value>
+ <value>ml</value>
+ <value>mn</value>
+ <value>mo</value>
+ <value>mr</value>
+ <value>ms</value>
+ <value>mt</value>
+ <value>my</value>
+ <value>na</value>
+ <value>ne</value>
+ <value>nl</value>
+ <value>no</value>
+ <value>oc</value>
+ <value>om</value>
+ <value>or</value>
+ <value>pa</value>
+ <value>pl</value>
+ <value>ps</value>
+ <value>pt</value>
+ <value>qu</value>
+ <value>rm</value>
+ <value>rn</value>
+ <value>ro</value>
+ <value>ru</value>
+ <value>rw</value>
+ <value>sa</value>
+ <value>sd</value>
+ <value>sg</value>
+ <value>sh</value>
+ <value>si</value>
+ <value>sk</value>
+ <value>sl</value>
+ <value>sm</value>
+ <value>sn</value>
+ <value>so</value>
+ <value>sq</value>
+ <value>sr</value>
+ <value>ss</value>
+ <value>st</value>
+ <value>su</value>
+ <value>sv</value>
+ <value>sw</value>
+ <value>ta</value>
+ <value>te</value>
+ <value>tg</value>
+ <value>th</value>
+ <value>ti</value>
+ <value>tk</value>
+ <value>tl</value>
+ <value>tn</value>
+ <value>to</value>
+ <value>tr</value>
+ <value>ts</value>
+ <value>tt</value>
+ <value>tw</value>
+ <value>ug</value>
+ <value>uk</value>
+ <value>ur</value>
+ <value>uz</value>
+ <value>vi</value>
+ <value>vo</value>
+ <value>wo</value>
+ <value>xh</value>
+ <value>yi</value>
+ <value>yo</value>
+ <value>za</value>
+ <value>zh</value>
+ <value>zu</value>
+ </choice>
+ </define>
+ <define name="xml.lang.attrib">
+ <optional>
+ <attribute name="xml:lang">
+ <ref name="iso639"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdoccc.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdoccc.rng
new file mode 100644
index 00000000000..100d6aaa183
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdoccc.rng
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!--
+ A RelaxNG for Open Mathematical documents (OMDoc 1.3) Module CC
+ $Id: omdoccc.rnc 8959 2011-09-02 06:01:43Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdoccc.rnc $
+ See the documentation and examples at http://www.omdoc.org
+ Copyright (c) 2004-2010 Michael Kohlhase, released under the GNU Public License (GPL)
+ -->
+ <!-- we include the OMDoc version of cc metadata and specialize the description -->
+ <define name="license">
+ <grammar>
+ <include href="creativecommons.rng">
+ <define name="description">
+ <parentRef name="plike.class"/>
+ </define>
+ </include>
+ </grammar>
+ </define>
+ <define name="metadata.class" combine="interleave">
+ <zeroOrMore>
+ <ref name="license"/>
+ </zeroOrMore>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdoccth.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdoccth.rng
new file mode 100644
index 00000000000..d07a5b680dd
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdoccth.rng
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module CTH
+ $Id: omdoccth.rnc 8979 2011-11-29 04:56:59Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdoccth.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:omdoc="http://omdoc.org/ns" xmlns="http://relaxng.org/ns/structure/1.0">
+ <define name="constitutive.class" combine="interleave">
+ <zeroOrMore>
+ <ref name="inclusion"/>
+ </zeroOrMore>
+ </define>
+ <define name="imports.model" combine="interleave">
+ <interleave>
+ <optional>
+ <ref name="morphism"/>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>local</value>
+ <value>global</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="conservativity">
+ <choice>
+ <value>conservative</value>
+ <value>monomorphism</value>
+ <value>definitional</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="conservativity-just">
+ <ref name="omdocref"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="toplevel.attribs" combine="interleave">
+ <optional>
+ <attribute name="generated-via">
+ <ref name="omdocref"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="constitutive.attribs" combine="interleave">
+ <optional>
+ <attribute name="generated-via">
+ <ref name="omdocref"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="omdoc.class" combine="interleave">
+ <interleave>
+ <zeroOrMore>
+ <ref name="theory-inclusion"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="axiom-inclusion"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="theory-inclusion.justification">
+ <zeroOrMore>
+ <ref name="obligation"/>
+ </zeroOrMore>
+ </define>
+ <define name="axiom-inclusion.justification">
+ <zeroOrMore>
+ <ref name="obligation"/>
+ </zeroOrMore>
+ </define>
+ <define name="fromto.attrib">
+ <interleave>
+ <ref name="from.attrib"/>
+ <attribute name="to">
+ <ref name="omdocref"/>
+ </attribute>
+ </interleave>
+ </define>
+ <!-- attributes 'to' and 'from' are URIref -->
+ <define name="morphism.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <attribute name="hiding">
+ <ref name="omdocrefs"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="base">
+ <ref name="omdocrefs"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="morphism.model">
+ <optional>
+ <ref name="def.eq"/>
+ </optional>
+ </define>
+ <define name="morphism">
+ <element name="morphism">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="morphism.attribs"/>
+ <ref name="morphism.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <!-- base points to some other morphism it extends -->
+ <define name="inclusion.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <attribute name="via">
+ <ref name="omdocref"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="inclusion.model">
+ <empty/>
+ </define>
+ <define name="inclusion">
+ <element name="inclusion">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="inclusion.attribs"/>
+ <ref name="inclusion.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <!-- via points to a theory-inclusion -->
+ <define name="theory-inclusion.attribs">
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <ref name="fromto.attrib"/>
+ </interleave>
+ </define>
+ <define name="theory-inclusion.model">
+ <interleave>
+ <optional>
+ <ref name="metadata"/>
+ </optional>
+ <optional>
+ <ref name="morphism"/>
+ </optional>
+ <ref name="theory-inclusion.justification"/>
+ </interleave>
+ </define>
+ <define name="theory-inclusion">
+ <element name="theory-inclusion">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="theory-inclusion.attribs"/>
+ <ref name="theory-inclusion.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="axiom-inclusion.attribs">
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <ref name="fromto.attrib"/>
+ </interleave>
+ </define>
+ <define name="axiom-inclusion.model">
+ <interleave>
+ <optional>
+ <ref name="metadata"/>
+ </optional>
+ <optional>
+ <ref name="morphism"/>
+ </optional>
+ <ref name="axiom-inclusion.justification"/>
+ </interleave>
+ </define>
+ <define name="axiom-inclusion">
+ <element name="theory-inclusion">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="axiom-inclusion.attribs"/>
+ <ref name="axiom-inclusion.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="obligation.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <attribute name="induced-by">
+ <ref name="omdocref"/>
+ </attribute>
+ <attribute name="assertion">
+ <ref name="omdocref"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="obligation.model">
+ <empty/>
+ </define>
+ <define name="obligation">
+ <element name="obligation">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="obligation.attribs"/>
+ <ref name="obligation.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+</grammar>
+<!--
+ attribute 'assertion' is a URIref, points to an assertion
+ that is the proof obligation induced by the axiom or definition
+ specified by 'induced-by'.
+-->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocdc.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocdc.rng
new file mode 100644
index 00000000000..cd1cc409c60
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocdc.rng
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <!--
+ A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module DC
+ $Id: omdocdc.rnc 8968 2011-09-07 05:37:09Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocdc.rnc $
+ See the documentation and examples at http://www.omdoc.org
+ Copyright (c) 2004-2010 Michael Kohlhase, released under the GNU Public License (GPL)
+ -->
+ <!-- we include the dublin core and MARC elements, filling them with our content types -->
+ <define name="dc.common">
+ <interleave>
+ <ref name="id.attribs"/>
+ <ref name="nonlocal.attribs"/>
+ </interleave>
+ </define>
+ <define name="dc.comlang">
+ <interleave>
+ <ref name="dc.common"/>
+ <ref name="xml.lang.attrib"/>
+ </interleave>
+ </define>
+ <define name="dublincore">
+ <grammar>
+ <include href="MARCRelators.rng"/>
+ <include href="dublincore.rng">
+ <define name="dc.date">
+ <interleave>
+ <parentRef name="dc.common"/>
+ <optional>
+ <attribute name="action">
+ <data type="NMTOKEN"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="who">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <choice>
+ <data type="date"/>
+ <data type="dateTime"/>
+ </choice>
+ </interleave>
+ </define>
+ <define name="dc.identifier">
+ <choice>
+ <parentRef name="tref"/>
+ <interleave>
+ <parentRef name="dc.common"/>
+ <attribute name="scheme">
+ <data type="NMTOKEN"/>
+ </attribute>
+ <text/>
+ </interleave>
+ </choice>
+ </define>
+ <define name="dc.type">
+ <choice>
+ <parentRef name="tref"/>
+ <interleave>
+ <parentRef name="dc.common"/>
+ <choice>
+ <value>Dataset</value>
+ <value>Text</value>
+ <value>Collection</value>
+ </choice>
+ </interleave>
+ </choice>
+ </define>
+ <define name="dc.inline">
+ <choice>
+ <parentRef name="tref"/>
+ <interleave>
+ <parentRef name="dc.comlang"/>
+ <parentRef name="inline.model"/>
+ </interleave>
+ </choice>
+ </define>
+ <define name="dc.text">
+ <choice>
+ <parentRef name="tref"/>
+ <interleave>
+ <parentRef name="dc.comlang"/>
+ <parentRef name="plike.class"/>
+ </interleave>
+ </choice>
+ </define>
+ <define name="dc.person">
+ <choice>
+ <parentRef name="tref"/>
+ <interleave>
+ <parentRef name="dc.common"/>
+ <optional>
+ <attribute name="role">
+ <ref name="MARCRelators"/>
+ </attribute>
+ </optional>
+ <parentRef name="inline.model"/>
+ </interleave>
+ </choice>
+ </define>
+ <define name="dc.rights">
+ <choice>
+ <parentRef name="tref"/>
+ <interleave>
+ <parentRef name="dc.comlang"/>
+ <parentRef name="plike.class"/>
+ </interleave>
+ </choice>
+ </define>
+ <define name="dc.source">
+ <parentRef name="plike.class"/>
+ </define>
+ </include>
+ </grammar>
+ </define>
+ <define name="metadata.model" combine="interleave">
+ <ref name="dublincore"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocdg.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocdg.rng
new file mode 100644
index 00000000000..735bfd6ed89
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocdg.rng
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module CTH
+ $Id: omdocdg.rnc 8958 2011-09-02 06:01:13Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocdg.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:omdoc="http://omdoc.org/ns" xmlns="http://relaxng.org/ns/structure/1.0">
+ <define name="omdoc.class" combine="interleave">
+ <interleave>
+ <zeroOrMore>
+ <ref name="decomposition"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="path-just"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="omdoccth.theory-inclusion.justification" combine="interleave">
+ <zeroOrMore>
+ <ref name="decomposition"/>
+ </zeroOrMore>
+ </define>
+ <define name="omdoccth.axiom-inclusion.justification" combine="interleave">
+ <zeroOrMore>
+ <ref name="path-just"/>
+ </zeroOrMore>
+ </define>
+ <define name="decomposition.attribs">
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <optional>
+ <ref name="for.attrib"/>
+ </optional>
+ <attribute name="links">
+ <ref name="omdocrefs"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="decomposition.model">
+ <empty/>
+ </define>
+ <define name="decomposition">
+ <element name="decomposition">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="decomposition.attribs"/>
+ <ref name="decomposition.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <!--
+ attribute 'for' points to a 'theory-inclusion', which this
+ element justifies; attribute 'links' is an URIrefs, points to a
+ list of axiom-inlcusions and theory-inclusions
+ -->
+ <define name="path-just.attribs">
+ <interleave>
+ <optional>
+ <ref name="for.attrib"/>
+ </optional>
+ <ref name="id.attribs"/>
+ <attribute name="local">
+ <ref name="omdocref"/>
+ </attribute>
+ <attribute name="globals">
+ <ref name="omdocrefs"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="path-just.model">
+ <empty/>
+ </define>
+ <define name="path-just">
+ <element name="path-just">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="path-just.attribs"/>
+ <ref name="path-just.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+</grammar>
+<!--
+ attribute 'local' is an URIref, points to axiom-inclusion
+ 'globals' is an URIrefs, points to a list of theory-inclusions
+-->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocdoc.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocdoc.rng
new file mode 100644
index 00000000000..bac94d26352
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocdoc.rng
@@ -0,0 +1,240 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG for Open Mathematical documents (OMDoc 1.3) Module DOC
+ $Id: omdocdoc.rnc 8972 2011-09-09 11:36:34Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocdoc.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:omdoc="http://omdoc.org/ns" 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">
+ <!-- extend the stuff that can go into a mathematical text -->
+ <define name="omdoc.class" combine="interleave">
+ <interleave>
+ <zeroOrMore>
+ <ref name="ignore"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="tableofcontents"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="ignore.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <attribute name="type">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="comment">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="ignore.model">
+ <ref name="Anything"/>
+ </define>
+ <define name="ignore">
+ <element name="ignore">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="ignore.attribs"/>
+ <ref name="ignore.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="tableofcontents.attribs">
+ <optional>
+ <attribute name="level">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="tableofcontents.model">
+ <empty/>
+ </define>
+ <define name="tableofcontents">
+ <element name="tableofcontents">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="tableofcontents.attribs"/>
+ <ref name="tableofcontents.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="index.attribs">
+ <ref name="id.attribs"/>
+ </define>
+ <define name="index.model">
+ <empty/>
+ </define>
+ <define name="index">
+ <element name="index">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="index.attribs"/>
+ <ref name="index.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="bibliography.attribs">
+ <ref name="id.attribs"/>
+ <attribute name="files"/>
+ </define>
+ <define name="bibliography.model">
+ <empty/>
+ </define>
+ <define name="bibliography">
+ <element name="bibliography">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="bibliography.attribs"/>
+ <ref name="bibliography.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="group.attribs">
+ <ref name="id.attribs"/>
+ <optional>
+ <attribute name="type">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="modules">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="layout"/>
+ </optional>
+ </define>
+ <define name="frontmatter">
+ <a:documentation>The &lt;omdoc&gt; and &lt;omgroup&gt; elements allow frontmatter and backmatter,
+which we will now define</a:documentation>
+ <interleave>
+ <ref name="metadata.class"/>
+ <optional>
+ <ref name="tableofcontents"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="backmatter">
+ <interleave>
+ <optional>
+ <ref name="index"/>
+ </optional>
+ <optional>
+ <ref name="bibliography"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="docstruct.class">
+ <zeroOrMore>
+ <ref name="omgroup"/>
+ </zeroOrMore>
+ </define>
+ <define name="omdoc.class" combine="interleave">
+ <ref name="docstruct.class"/>
+ </define>
+ <define name="mainmatter">
+ <ref name="omdoc.class"/>
+ </define>
+ <define name="omgroup.attribs">
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <ref name="group.attribs"/>
+ </interleave>
+ </define>
+ <define name="omgroup.model">
+ <ref name="frontmatter"/>
+ <ref name="mainmatter"/>
+ <ref name="backmatter"/>
+ </define>
+ <define name="omgroup">
+ <element name="omgroup">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="omgroup.attribs"/>
+ <ref name="omgroup.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="omdoc.attribs">
+ <a:documentation>the model of the document root only differs from &lt;omgroup&gt; in the version attribute</a:documentation>
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <ref name="group.attribs"/>
+ <optional>
+ <attribute name="version">
+ <data type="string">
+ <param name="pattern">1.3</param>
+ </data>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="omdoc.model">
+ <ref name="frontmatter"/>
+ <ref name="mainmatter"/>
+ <ref name="backmatter"/>
+ </define>
+ <define name="omdoc">
+ <element name="omdoc">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="omdoc.attribs"/>
+ <ref name="omdoc.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <!-- the following is for legacy only, and will be removed soon. -->
+ <define name="ref.attribs">
+ <a:documentation>deprecated ################################</a:documentation>
+ <interleave>
+ <ref name="id.attribs"/>
+ <ref name="xref.attrib"/>
+ <attribute name="type">
+ <choice>
+ <value>include</value>
+ <value>cite</value>
+ </choice>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="ref.model">
+ <empty/>
+ </define>
+ <define name="ref">
+ <element name="ref">
+ <interleave>
+ <ref name="ref.attribs"/>
+ <ref name="ref.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="omdoc.class" combine="interleave">
+ <zeroOrMore>
+ <ref name="ref"/>
+ </zeroOrMore>
+ </define>
+ <define name="inline.class" combine="interleave">
+ <zeroOrMore>
+ <ref name="ref"/>
+ </zeroOrMore>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocext.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocext.rng
new file mode 100644
index 00000000000..b7672c89a65
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocext.rng
@@ -0,0 +1,330 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module EXT
+ $Id: omdocext.rnc 8958 2011-09-02 06:01:13Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocext.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="plike.class" combine="interleave">
+ <zeroOrMore>
+ <ref name="omlet"/>
+ </zeroOrMore>
+ </define>
+ <define name="omdoc.class" combine="interleave">
+ <interleave>
+ <zeroOrMore>
+ <ref name="private"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="code"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="private.attribs">
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <optional>
+ <ref name="for.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="requires">
+ <ref name="omdocref"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="reformulates">
+ <ref name="omdocref"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="private.model">
+ <interleave>
+ <ref name="metadata.class"/>
+ <oneOrMore>
+ <ref name="data"/>
+ </oneOrMore>
+ </interleave>
+ </define>
+ <define name="private">
+ <element name="private">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="private.attribs"/>
+ <ref name="private.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <!--
+ reformulates is a URIref to the omdoc elements that are reformulated by the
+ system-specific information in this element
+ -->
+ <define name="code.attribs">
+ <ref name="private.attribs"/>
+ </define>
+ <define name="code.model">
+ <interleave>
+ <ref name="metadata.class"/>
+ <zeroOrMore>
+ <ref name="data"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="input"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="output"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="effect"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="code">
+ <element name="code">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="code.attribs"/>
+ <ref name="code.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="input.attribs">
+ <ref name="id.attribs"/>
+ </define>
+ <define name="input.model">
+ <ref name="mcf.class"/>
+ </define>
+ <define name="input">
+ <element name="input">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="input.attribs"/>
+ <ref name="input.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="output.attribs">
+ <ref name="id.attribs"/>
+ </define>
+ <define name="output.model">
+ <ref name="mcf.class"/>
+ </define>
+ <define name="output">
+ <element name="output">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="output.attribs"/>
+ <ref name="output.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="effect.attribs">
+ <ref name="id.attribs"/>
+ </define>
+ <define name="effect.model">
+ <ref name="mcf.class"/>
+ </define>
+ <define name="effect">
+ <element name="effect">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="effect.attribs"/>
+ <ref name="effect.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="data.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <attribute name="href">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="size">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="pto">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="pto-version">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="original">
+ <choice>
+ <value>external</value>
+ <value>local</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="data.textformat">
+ <value>TeX</value>
+ </define>
+ <define name="data.text">
+ <interleave>
+ <ref name="data.attribs"/>
+ <optional>
+ <attribute name="format">
+ <ref name="data.textformat"/>
+ </attribute>
+ </optional>
+ <text/>
+ </interleave>
+ </define>
+ <define name="data.any">
+ <interleave>
+ <ref name="data.attribs"/>
+ <optional>
+ <attribute name="format">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <ref name="Anything"/>
+ </interleave>
+ </define>
+ <define name="data.model">
+ <choice>
+ <ref name="data.text"/>
+ <ref name="data.any"/>
+ </choice>
+ </define>
+ <define name="data">
+ <element name="data">
+ <choice>
+ <ref name="tref"/>
+ <ref name="data.model"/>
+ </choice>
+ </element>
+ </define>
+ <define name="omlet.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <attribute name="action">
+ <choice>
+ <value>display</value>
+ <value>execute</value>
+ <value>other</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="show">
+ <choice>
+ <value>new</value>
+ <value>replace</value>
+ <value>embed</value>
+ <value>other</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="actuate">
+ <choice>
+ <value>onPresent</value>
+ <value>onLoad</value>
+ <value>onRequest</value>
+ <value>other</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="omlet.param">
+ <interleave>
+ <text/>
+ <ref name="inline.class"/>
+ <zeroOrMore>
+ <ref name="param"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="omlet.data">
+ <choice>
+ <attribute name="data">
+ <data type="anyURI"/>
+ </attribute>
+ <choice>
+ <ref name="private"/>
+ <ref name="code"/>
+ </choice>
+ </choice>
+ </define>
+ <define name="omlet.model">
+ <interleave>
+ <ref name="metadata.class"/>
+ <ref name="omlet.param"/>
+ <ref name="omlet.data"/>
+ </interleave>
+ </define>
+ <define name="omlet">
+ <element name="omlet">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="omlet.attribs"/>
+ <ref name="omlet.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="param.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <attribute name="name">
+ <data type="string"/>
+ </attribute>
+ <optional>
+ <attribute name="value">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="valuetype">
+ <choice>
+ <value>data</value>
+ <value>ref</value>
+ <value>object</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="param.model">
+ <optional>
+ <ref name="mobj"/>
+ </optional>
+ </define>
+ <define name="param">
+ <element name="param">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="param.attribs"/>
+ <ref name="param.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocmeta.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocmeta.rng
new file mode 100644
index 00000000000..699dfa55937
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocmeta.rng
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG for Open Mathematical documents (OMDoc 1.3) Module META
+ $Id: omdocmeta.rnc 8958 2011-09-02 06:01:13Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocmeta.rnc $
+ See the documentation and examples at http://www.omdoc.org
+ Copyright (c) 2007-2008 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="rel.attrib">
+ <attribute name="rel">
+ <ref name="curies"/>
+ </attribute>
+ </define>
+ <define name="rev.attrib">
+ <attribute name="rev">
+ <ref name="curies"/>
+ </attribute>
+ </define>
+ <define name="content.attrib">
+ <attribute name="content">
+ <data type="string"/>
+ </attribute>
+ </define>
+ <define name="resource.attrib">
+ <attribute name="resource">
+ <choice>
+ <data type="anyURI"/>
+ <ref name="safecurie"/>
+ </choice>
+ </attribute>
+ </define>
+ <define name="property.attrib">
+ <attribute name="property">
+ <ref name="curies"/>
+ </attribute>
+ </define>
+ <define name="datatype.attrib">
+ <attribute name="datatype">
+ <ref name="curie"/>
+ </attribute>
+ </define>
+ <define name="typeof.attrib">
+ <attribute name="typeof">
+ <ref name="curies"/>
+ </attribute>
+ </define>
+ <define name="meta.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <ref name="property.attrib"/>
+ </optional>
+ <optional>
+ <ref name="datatype.attrib"/>
+ </optional>
+ <ref name="xml.lang.attrib"/>
+ </interleave>
+ </define>
+ <define name="meta.model">
+ <choice>
+ <ref name="content.attrib"/>
+ <ref name="Anything"/>
+ <interleave>
+ <ref name="content.attrib"/>
+ <ref name="Anything"/>
+ </interleave>
+ </choice>
+ </define>
+ <define name="meta">
+ <element name="meta">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="meta.attribs"/>
+ <ref name="meta.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="mlink.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <ref name="rel.attrib"/>
+ </optional>
+ <optional>
+ <ref name="rev.attrib"/>
+ </optional>
+ <optional>
+ <ref name="resource.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="mlink.class">
+ <interleave>
+ <zeroOrMore>
+ <ref name="resource"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mlink"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="meta"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="mlink.model">
+ <choice>
+ <attribute name="href">
+ <ref name="curie"/>
+ </attribute>
+ <ref name="mlink.class"/>
+ </choice>
+ </define>
+ <define name="mlink">
+ <element name="link">
+ <choice>
+ <ref name="tref"/>
+ <group>
+ <ref name="mlink.attribs"/>
+ <ref name="mlink.model"/>
+ </group>
+ </choice>
+ </element>
+ </define>
+ <define name="resource.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <ref name="typeof.attrib"/>
+ </optional>
+ <optional>
+ <ref name="about.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="resource.class">
+ <interleave>
+ <zeroOrMore>
+ <ref name="meta"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mlink"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="resource">
+ <element name="resource">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="resource.attribs"/>
+ <ref name="resource.class"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="metadata.class">
+ <interleave>
+ <optional>
+ <ref name="metadata"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="meta"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mlink"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="metadata.model">
+ <ref name="metadata.class"/>
+ </define>
+ <define name="metadata.attribs">
+ <ref name="id.attribs"/>
+ </define>
+ <define name="metadata">
+ <element name="metadata">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="metadata.attribs"/>
+ <ref name="metadata.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="rdfa.attribs">
+ <interleave>
+ <optional>
+ <ref name="rel.attrib"/>
+ </optional>
+ <optional>
+ <ref name="rev.attrib"/>
+ </optional>
+ <optional>
+ <ref name="content.attrib"/>
+ </optional>
+ <optional>
+ <ref name="about.attrib"/>
+ </optional>
+ <optional>
+ <ref name="resource.attrib"/>
+ </optional>
+ <optional>
+ <ref name="property.attrib"/>
+ </optional>
+ <optional>
+ <ref name="datatype.attrib"/>
+ </optional>
+ <optional>
+ <ref name="typeof.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="id.attribs" combine="interleave">
+ <ref name="rdfa.attribs"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocmobj.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocmobj.rng
new file mode 100644
index 00000000000..de29149f94e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocmobj.rng
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module MOBJ
+ $Id: omdocmobj.rnc 8973 2011-09-09 12:45:16Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocmobj.rnc $
+ See the documentation and examples at http://www.omdoc.org
+ Copyright (c) 2004-2009 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">
+ <!-- the legacy element, it can encapsulate the non-migrated formats -->
+ <define name="legacy.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <attribute name="formalism">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <attribute name="format">
+ <data type="anyURI"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="legacy.model">
+ <ref name="Anything"/>
+ </define>
+ <define name="legacy">
+ <element name="legacy">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="legacy.attribs"/>
+ <ref name="legacy.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="nonom.attribs">
+ <zeroOrMore>
+ <attribute>
+ <anyName>
+ <except>
+ <nsName ns=""/>
+ <nsName ns="http://www.openmath.org/OpenMath"/>
+ </except>
+ </anyName>
+ </attribute>
+ </zeroOrMore>
+ </define>
+ <define name="extom.attribs">
+ <interleave>
+ <ref name="idrest.attribs"/>
+ <ref name="nonom.attribs"/>
+ </interleave>
+ </define>
+ <define name="omobj">
+ <grammar>
+ <include href="openmath2.rng"/>
+ <define name="common.attributes" combine="interleave">
+ <parentRef name="extom.attribs"/>
+ </define>
+ </grammar>
+ </define>
+ <define name="cmml">
+ <grammar>
+ <include href="mathml3-common.rng"/>
+ <include href="mathml3-strict-content.rng"/>
+ </grammar>
+ </define>
+ <define name="mobj">
+ <choice>
+ <ref name="legacy"/>
+ <ref name="omobj"/>
+ <ref name="cmml"/>
+ </choice>
+ </define>
+</grammar>
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>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocpf.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocpf.rng
new file mode 100644
index 00000000000..e9ea40e59d8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocpf.rng
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module PF
+ $Id: omdocpf.rnc 8958 2011-09-02 06:01:13Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocpf.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:omdoc="http://omdoc.org/ns" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="omdocpf.opt.content" combine="interleave">
+ <interleave>
+ <zeroOrMore>
+ <ref name="proof"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="proofobject"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="omdoc.class" combine="interleave">
+ <interleave>
+ <zeroOrMore>
+ <ref name="proof"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="proofobject"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="proof.attribs">
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <optional>
+ <ref name="for.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="proof.model">
+ <interleave>
+ <ref name="metadata.class"/>
+ <zeroOrMore>
+ <ref name="omtext"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="symbol"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="definition"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="derive"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="hypothesis"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="proof">
+ <element name="proof">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="proof.attribs"/>
+ <ref name="proof.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="proofobject.attribs">
+ <ref name="proof.attribs"/>
+ </define>
+ <define name="proofobject.model">
+ <interleave>
+ <ref name="metadata.class"/>
+ <ref name="mobj"/>
+ </interleave>
+ </define>
+ <define name="proofobject">
+ <element name="proofobject">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="proofobject.attribs"/>
+ <ref name="proofobject.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="derive.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>conclusion</value>
+ <value>gap</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="derive.model">
+ <interleave>
+ <ref name="mcf.class"/>
+ <optional>
+ <ref name="method"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="derive">
+ <element name="derive">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="derive.attribs"/>
+ <ref name="derive.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="hypothesis.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <attribute name="inductive">
+ <choice>
+ <value>yes</value>
+ <value>no</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="hypothesis.model">
+ <ref name="mcf.class"/>
+ </define>
+ <define name="hypothesis">
+ <element name="hypothesis">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="hypothesis.attribs"/>
+ <ref name="hypothesis.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="method.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <ref name="xref.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="method.model">
+ <interleave>
+ <zeroOrMore>
+ <ref name="mobj"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="premise"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="proof"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="proofobject"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="method">
+ <element name="method">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="method.attribs"/>
+ <ref name="method.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="premise.attribs">
+ <interleave>
+ <ref name="xref.attrib"/>
+ <optional>
+ <attribute name="rank">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="premise.model">
+ <empty/>
+ </define>
+ <define name="premise">
+ <element name="premise">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="premise.attribs"/>
+ <ref name="premise.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+</grammar>
+<!--
+ The rank of a premise specifies its importance in the inference rule.
+ Rank 0 (the default) is a real premise, whereas positive rank signifies
+ sideconditions of varying degree.
+-->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocpres.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocpres.rng
new file mode 100644
index 00000000000..3f37f8cbedd
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocpres.rng
@@ -0,0 +1,386 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG for Open Mathematical documents (OMDoc 1.3) Module PRES
+ $Id: omdocpres.rnc 8973 2011-09-09 12:45:16Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocpres.rnc $
+ See the documentation and examples at http://www.omdoc.org
+ Copyright (c) 2004-2008 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" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="omdoc.class" combine="interleave">
+ <zeroOrMore>
+ <ref name="notation"/>
+ </zeroOrMore>
+ </define>
+ <define name="ic.attrib">
+ <a:documentation>we first add the ic and ec attributes for notation contexts everywhere </a:documentation>
+ <attribute name="ic"/>
+ </define>
+ <define name="ec.attrib">
+ <attribute name="ec"/>
+ </define>
+ <define name="idrest.attribs" combine="interleave">
+ <interleave>
+ <optional>
+ <ref name="ic.attrib"/>
+ </optional>
+ <optional>
+ <ref name="ec.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="prototype.attribs">
+ <empty/>
+ </define>
+ <define name="prototype.model">
+ <ref name="protoexp"/>
+ </define>
+ <define name="prototype">
+ <element name="prototype">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="prototype.attribs"/>
+ <ref name="prototype.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="protoexp">
+ <choice>
+ <grammar>
+ <include href="openmath2.rng">
+ <start>
+ <ref name="omel"/>
+ </start>
+ <define name="common.attributes">
+ <parentRef name="id.attribs"/>
+ </define>
+ </include>
+ <define name="omel" combine="choice">
+ <parentRef name="proto.class"/>
+ </define>
+ <define name="omvar" combine="choice">
+ <parentRef name="proto.class"/>
+ </define>
+ <define name="common.attributes" combine="interleave">
+ <parentRef name="ntn.attrib"/>
+ </define>
+ </grammar>
+ <grammar>
+ <include href="mathml3.rng">
+ <start>
+ <ref name="ContExp"/>
+ </start>
+ </include>
+ <define name="ContExp" combine="choice">
+ <parentRef name="proto.class"/>
+ </define>
+ <define name="ci" combine="choice">
+ <parentRef name="proto.class"/>
+ </define>
+ <define name="CommonAtt" combine="interleave">
+ <parentRef name="ntn.attrib"/>
+ </define>
+ </grammar>
+ </choice>
+ </define>
+ <define name="precedence.att">
+ <choice>
+ <attribute name="precedence">
+ <data type="integer"/>
+ </attribute>
+ <attribute name="argprec">
+ <data type="integer"/>
+ </attribute>
+ </choice>
+ </define>
+ <define name="context.att">
+ <interleave>
+ <optional>
+ <attribute name="xml:lang"/>
+ </optional>
+ <optional>
+ <attribute name="context"/>
+ </optional>
+ <optional>
+ <attribute name="variant"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="format.att">
+ <optional>
+ <attribute name="format"/>
+ </optional>
+ </define>
+ <define name="rendering.attribs">
+ <interleave>
+ <optional>
+ <ref name="precedence.att"/>
+ </optional>
+ <ref name="context.att"/>
+ <ref name="format.att"/>
+ </interleave>
+ </define>
+ <define name="rendering.model">
+ <ref name="renderexp"/>
+ </define>
+ <define name="rendering">
+ <element name="rendering">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="rendering.attribs"/>
+ <ref name="rendering.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="renderexp">
+ <choice>
+ <grammar>
+ <include href="mathml3-common.rng">
+ <start>
+ <ref name="PresentationExpression"/>
+ </start>
+ </include>
+ <include href="mathml3-presentation.rng"/>
+ <define name="PresentationExpression" combine="choice">
+ <parentRef name="render.class"/>
+ </define>
+ <define name="CommonAtt" combine="interleave">
+ <parentRef name="ntn.attrib"/>
+ </define>
+ <define name="mtable.content.class" combine="choice">
+ <parentRef name="render.class"/>
+ </define>
+ <define name="mtr.content.class" combine="choice">
+ <parentRef name="render.class"/>
+ </define>
+ </grammar>
+ <zeroOrMore>
+ <choice>
+ <ref name="pdata"/>
+ <ref name="render.class"/>
+ </choice>
+ </zeroOrMore>
+ </choice>
+ </define>
+ <define name="pdata.attribs">
+ <empty/>
+ </define>
+ <define name="pdata.model">
+ <text/>
+ </define>
+ <define name="pdata">
+ <element name="pdata">
+ <interleave>
+ <ref name="pdata.attribs"/>
+ <ref name="pdata.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="iterexp">
+ <grammar>
+ <include href="mathml3.rng">
+ <start>
+ <choice>
+ <ref name="PresentationExpression"/>
+ <ref name="mtr"/>
+ <ref name="mlabeledtr"/>
+ <ref name="mtd"/>
+ </choice>
+ </start>
+ </include>
+ <define name="PresentationExpression" combine="choice">
+ <parentRef name="render.class"/>
+ </define>
+ <define name="MathML.Common.attrib" combine="interleave">
+ <parentRef name="ntn.attrib"/>
+ </define>
+ <define name="mtable.content.class" combine="choice">
+ <parentRef name="render.class"/>
+ </define>
+ <define name="mtr.content.class" combine="choice">
+ <parentRef name="render.class"/>
+ </define>
+ </grammar>
+ </define>
+ <define name="name.attrib">
+ <optional>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="triple.att">
+ <interleave>
+ <optional>
+ <attribute name="cdbase">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <ref name="name.attrib"/>
+ <optional>
+ <attribute name="cd">
+ <data type="NCName"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="notation.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <ref name="triple.att"/>
+ </interleave>
+ </define>
+ <define name="notation.model">
+ <interleave>
+ <ref name="metadata.class"/>
+ <zeroOrMore>
+ <ref name="CMP"/>
+ </zeroOrMore>
+ <oneOrMore>
+ <ref name="prototype"/>
+ </oneOrMore>
+ <zeroOrMore>
+ <ref name="rendering"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="notation">
+ <element name="notation">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="notation.attribs"/>
+ <ref name="notation.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <!-- we extend the content and presentation models by metavariables -->
+ <define name="proto.class">
+ <choice>
+ <ref name="exprlist"/>
+ <ref name="expr"/>
+ </choice>
+ </define>
+ <define name="render.class">
+ <choice>
+ <ref name="render"/>
+ <ref name="iterate"/>
+ </choice>
+ </define>
+ <define name="ntn.attrib">
+ <interleave>
+ <optional>
+ <attribute name="cr"/>
+ </optional>
+ <optional>
+ <attribute name="egroup"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="exprlist.attribs">
+ <ref name="name.attrib"/>
+ </define>
+ <define name="exprlist.model">
+ <zeroOrMore>
+ <ref name="protoexp"/>
+ </zeroOrMore>
+ </define>
+ <define name="exprlist">
+ <element name="exprlist">
+ <interleave>
+ <ref name="exprlist.attribs"/>
+ <ref name="exprlist.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="expr.attribs">
+ <ref name="name.attrib"/>
+ </define>
+ <define name="expr.model">
+ <empty/>
+ </define>
+ <define name="expr">
+ <element name="expr">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="expr.attribs"/>
+ <ref name="expr.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="iterate.attribs">
+ <interleave>
+ <ref name="name.attrib"/>
+ <optional>
+ <ref name="precedence.att"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="iterate.model">
+ <interleave>
+ <ref name="separator"/>
+ <zeroOrMore>
+ <ref name="iterexp"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="iterate">
+ <element name="iterate">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="iterate.attribs"/>
+ <ref name="iterate.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="render.attribs">
+ <interleave>
+ <ref name="name.attrib"/>
+ <optional>
+ <ref name="precedence.att"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="render.model">
+ <empty/>
+ </define>
+ <define name="render">
+ <element name="render">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="render.attribs"/>
+ <ref name="render.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="separator.attribs">
+ <empty/>
+ </define>
+ <define name="separator.model">
+ <zeroOrMore>
+ <ref name="renderexp"/>
+ </zeroOrMore>
+ </define>
+ <define name="separator">
+ <element name="separator">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="separator.attribs"/>
+ <ref name="separator.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocquiz.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocquiz.rng
new file mode 100644
index 00000000000..d02d811edc5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocquiz.rng
@@ -0,0 +1,176 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module QUIZ
+ $Id: omdocquiz.rnc 8958 2011-09-02 06:01:13Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocquiz.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">
+ <define name="omdoc.class" combine="interleave">
+ <interleave>
+ <zeroOrMore>
+ <ref name="exercise"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="hint"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="mc"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="solution"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="plike.class" combine="interleave">
+ <zeroOrMore>
+ <ref name="hint"/>
+ </zeroOrMore>
+ </define>
+ <define name="exercise.attribs">
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <optional>
+ <ref name="for.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="exercise.model">
+ <choice>
+ <ref name="mcf.class"/>
+ <ref name="omdoc.class"/>
+ </choice>
+ </define>
+ <define name="exercise">
+ <element name="exercise">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="exercise.attribs"/>
+ <ref name="exercise.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="omdocpf.opt.content">
+ <notAllowed/>
+ </define>
+ <define name="hint.attribs">
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <optional>
+ <ref name="for.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="hint.model">
+ <ref name="mcf.class"/>
+ </define>
+ <define name="hint">
+ <element name="hint">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="hint.attribs"/>
+ <ref name="hint.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="solution.attribs">
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <optional>
+ <ref name="for.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="solution.model">
+ <choice>
+ <ref name="mcf.class"/>
+ <ref name="omdoc.class"/>
+ </choice>
+ </define>
+ <define name="solution">
+ <element name="solution">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="solution.attribs"/>
+ <ref name="solution.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="mc.attribs">
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <optional>
+ <ref name="for.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="mc.model">
+ <ref name="choice"/>
+ <optional>
+ <ref name="hint"/>
+ </optional>
+ <ref name="answer"/>
+ </define>
+ <define name="mc">
+ <element name="mc">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="mc.attribs"/>
+ <ref name="mc.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="choice.attribs">
+ <ref name="id.attribs"/>
+ </define>
+ <define name="choice.model">
+ <ref name="mcf.class"/>
+ </define>
+ <define name="choice">
+ <element name="choice">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="choice.attribs"/>
+ <ref name="choice.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="answer.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <attribute name="verdict">
+ <choice>
+ <value>true</value>
+ <value>false</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="answer.model">
+ <ref name="mcf.class"/>
+ </define>
+ <define name="answer">
+ <element name="answer">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="answer.attribs"/>
+ <ref name="answer.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocrt.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocrt.rng
new file mode 100644
index 00000000000..4ed1dcee6ed
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocrt.rng
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module RT
+ $Id: omdocrt.rnc 8973 2011-09-09 12:45:16Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocrt.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 xmlns:omdoc="http://omdoc.org/ns" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <define name="rst.attribs">
+ <optional>
+ <ref name="verbalizes.attrib"/>
+ </optional>
+ </define>
+ <define name="inline.class" combine="interleave">
+ <a:documentation>We extend the three main content models by xhtml elements</a:documentation>
+ <grammar>
+ <include href="pxhtml.rng">
+ <define name="Inline.model">
+ <interleave>
+ <text/>
+ <parentRef name="metadata.class"/>
+ <ref name="Inline.class"/>
+ </interleave>
+ </define>
+ </include>
+ <define name="Inline.class" combine="interleave">
+ <parentRef name="op.class"/>
+ </define>
+ <define name="span.attlist" combine="interleave">
+ <parentRef name="rst.attribs"/>
+ </define>
+ <start>
+ <ref name="Inline.class"/>
+ </start>
+ </grammar>
+ </define>
+ <define name="plike.class" combine="interleave">
+ <grammar>
+ <include href="pxhtml.rng">
+ <define name="Inline.model">
+ <interleave>
+ <text/>
+ <parentRef name="metadata.class"/>
+ <ref name="Inline.class"/>
+ </interleave>
+ </define>
+ </include>
+ <define name="Common.attrib" combine="interleave">
+ <interleave>
+ <parentRef name="idrest.attribs"/>
+ <parentRef name="parallel.attribs"/>
+ </interleave>
+ </define>
+ <define name="Inline.class" combine="interleave">
+ <parentRef name="op.class"/>
+ </define>
+ <define name="span.attlist" combine="interleave">
+ <parentRef name="rst.attribs"/>
+ </define>
+ <start>
+ <ref name="Block.class"/>
+ </start>
+ </grammar>
+ </define>
+ <define name="omdoc.class" combine="interleave">
+ <grammar>
+ <include href="pxhtml.rng">
+ <define name="Inline.model">
+ <interleave>
+ <text/>
+ <parentRef name="metadata.class"/>
+ <ref name="Inline.class"/>
+ </interleave>
+ </define>
+ </include>
+ <define name="Common.attrib" combine="interleave">
+ <interleave>
+ <parentRef name="idrest.attribs"/>
+ <parentRef name="parallel.attribs"/>
+ </interleave>
+ </define>
+ <define name="Inline.class" combine="interleave">
+ <parentRef name="op.class"/>
+ </define>
+ <define name="Block.cass" combine="interleave">
+ <parentRef name="plike.class"/>
+ </define>
+ <define name="Flow.model" combine="interleave">
+ <parentRef name="omdoc.class"/>
+ </define>
+ <define name="span.attlist" combine="interleave">
+ <parentRef name="rst.attribs"/>
+ </define>
+ <start>
+ <ref name="List.class"/>
+ </start>
+ </grammar>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/omdocst.rng b/Master/texmf-dist/source/latex/stex/schema/rng/omdocst.rng
new file mode 100644
index 00000000000..59e54d0f723
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/omdocst.rng
@@ -0,0 +1,634 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module ST
+ $Id: omdocst.rnc 8972 2011-09-09 11:36:34Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocst.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:omdoc="http://omdoc.org/ns" 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="omdoc.class" combine="interleave">
+ <interleave>
+ <zeroOrMore>
+ <ref name="symbol"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="axiom"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="definition"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="imports"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="assertion"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="type"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="alternative"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="example"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="theory"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="constitutive.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <attribute name="generated-from">
+ <ref name="omdocref"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="sym.role.attrib">
+ <attribute name="role">
+ <choice>
+ <value>type</value>
+ <value>sort</value>
+ <value>object</value>
+ <value>binder</value>
+ <value>attribution</value>
+ <value>application</value>
+ <value>constant</value>
+ <value>semantic-attribution</value>
+ <value>error</value>
+ </choice>
+ </attribute>
+ </define>
+ <define name="theory-unique">
+ <data type="NCName"/>
+ </define>
+ <define name="scope.attrib">
+ <optional>
+ <attribute name="scope">
+ <choice>
+ <value>global</value>
+ <value>local</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="symbol.attribs">
+ <interleave>
+ <ref name="scope.attrib"/>
+ <optional>
+ <attribute name="name">
+ <ref name="theory-unique"/>
+ </attribute>
+ </optional>
+ <ref name="constitutive.attribs"/>
+ <optional>
+ <ref name="sym.role.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="symbol.model">
+ <interleave>
+ <ref name="metadata.class"/>
+ <zeroOrMore>
+ <ref name="type"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="symbol">
+ <element name="symbol">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="symbol.attribs"/>
+ <ref name="symbol.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="forname.attrib">
+ <attribute name="for">
+ <list>
+ <oneOrMore>
+ <data type="NCName"/>
+ </oneOrMore>
+ </list>
+ </attribute>
+ </define>
+ <define name="axiom.attribs">
+ <interleave>
+ <ref name="constitutive.attribs"/>
+ <ref name="forname.attrib"/>
+ <optional>
+ <attribute name="type">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="axiom.model">
+ <interleave>
+ <ref name="metadata.class"/>
+ <ref name="mcf.class"/>
+ </interleave>
+ </define>
+ <define name="axiom">
+ <element name="axiom">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="axiom.attribs"/>
+ <ref name="axiom.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <!-- informal definitions -->
+ <define name="def.informal">
+ <optional>
+ <attribute name="type">
+ <value>informal</value>
+ </attribute>
+ </optional>
+ </define>
+ <!-- simple definitions -->
+ <define name="def.simple.attribs">
+ <attribute name="type">
+ <value>simple</value>
+ </attribute>
+ </define>
+ <define name="def.simple">
+ <interleave>
+ <ref name="def.simple.attribs"/>
+ <ref name="mobj"/>
+ </interleave>
+ </define>
+ <!-- implicit definitions -->
+ <define name="exists.attrib">
+ <attribute name="existence">
+ <ref name="omdocref"/>
+ </attribute>
+ </define>
+ <define name="unique.attrib">
+ <attribute name="uniqueness">
+ <ref name="omdocref"/>
+ </attribute>
+ </define>
+ <define name="def.implicit.attribs">
+ <interleave>
+ <attribute name="type">
+ <value>implicit</value>
+ </attribute>
+ <optional>
+ <ref name="exists.attrib"/>
+ </optional>
+ <optional>
+ <ref name="unique.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="def.implicit">
+ <interleave>
+ <ref name="def.implicit.attribs"/>
+ <zeroOrMore>
+ <ref name="FMP"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="exhaust.attrib">
+ <attribute name="exhaustivity">
+ <ref name="omdocref"/>
+ </attribute>
+ </define>
+ <define name="consist.attrib">
+ <attribute name="consistency">
+ <ref name="omdocref"/>
+ </attribute>
+ </define>
+ <define name="def.pattern.attribs">
+ <interleave>
+ <optional>
+ <attribute name="type">
+ <value>pattern</value>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="exhaust.attrib"/>
+ </optional>
+ <optional>
+ <ref name="consist.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="def.pattern.model">
+ <zeroOrMore>
+ <ref name="requation"/>
+ </zeroOrMore>
+ </define>
+ <define name="def.pattern">
+ <interleave>
+ <ref name="def.pattern.attribs"/>
+ <ref name="def.pattern.model"/>
+ </interleave>
+ </define>
+ <define name="def.inductive.attribs">
+ <interleave>
+ <optional>
+ <attribute name="type">
+ <value>inductive</value>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="exhaust.attrib"/>
+ </optional>
+ <optional>
+ <ref name="consist.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="def.inductive.model">
+ <interleave>
+ <zeroOrMore>
+ <ref name="requation"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="measure"/>
+ </optional>
+ <optional>
+ <ref name="ordering"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="def.inductive">
+ <interleave>
+ <ref name="def.inductive.attribs"/>
+ <ref name="def.inductive.model"/>
+ </interleave>
+ </define>
+ <define name="def.eq">
+ <choice>
+ <ref name="def.pattern"/>
+ <ref name="def.inductive"/>
+ </choice>
+ </define>
+ <!-- all definition forms, add more by extending this. -->
+ <define name="defs.all">
+ <choice>
+ <ref name="def.informal"/>
+ <ref name="def.simple"/>
+ <ref name="def.implicit"/>
+ <ref name="def.eq"/>
+ </choice>
+ </define>
+ <!--
+ Definitions contain CMPs, FMPs and concept specifications.
+ The latter define the set of concepts defined in this element.
+ They can be reached under this name in the content dictionary
+ of the name specified in the theory attribute of the definition.
+ -->
+ <define name="definition.attribs">
+ <interleave>
+ <ref name="constitutive.attribs"/>
+ <ref name="forname.attrib"/>
+ </interleave>
+ </define>
+ <define name="definition">
+ <element name="definition">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="definition.attribs"/>
+ <ref name="mc.class"/>
+ <ref name="defs.all"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="requation.attribs">
+ <ref name="id.attribs"/>
+ </define>
+ <define name="requation.model">
+ <ref name="mobj"/>
+ <ref name="mobj"/>
+ </define>
+ <define name="requation">
+ <element name="requation">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="requation.attribs"/>
+ <ref name="requation.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="measure.attribs">
+ <ref name="id.attribs"/>
+ </define>
+ <define name="measure.model">
+ <ref name="mobj"/>
+ </define>
+ <define name="measure">
+ <element name="measure">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="measure.attribs"/>
+ <ref name="measure.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="ordering.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <attribute name="terminating">
+ <ref name="omdocref"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="ordering.model">
+ <ref name="mobj"/>
+ </define>
+ <define name="ordering">
+ <element name="ordering">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="ordering.attribs"/>
+ <ref name="ordering.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <!-- the non-constitutive statements, they need a theory attribute -->
+ <define name="toplevel.attribs" combine="interleave">
+ <optional>
+ <attribute name="theory">
+ <ref name="omdocref"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="ded.status.class">
+ <choice>
+ <value>satisfiable</value>
+ <value>counter-satisfiable</value>
+ <value>no-consequence</value>
+ <value>theorem</value>
+ <value>conter-theorem</value>
+ <value>contradictory-axioms</value>
+ <value>tautologous-conclusion</value>
+ <value> tautology</value>
+ <value>equivalent</value>
+ <value>conunter-equivalent</value>
+ <value>unsatisfiable-conclusion</value>
+ <value>unsatisfiable</value>
+ </choice>
+ </define>
+ <define name="just-by.attrib">
+ <attribute name="just-by">
+ <ref name="omdocref"/>
+ </attribute>
+ </define>
+ <define name="assertion.attribs">
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <optional>
+ <attribute name="type">
+ <ref name="assertiontype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="status">
+ <ref name="ded.status.class"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="just-by.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="assertion.model">
+ <ref name="mcf.class"/>
+ </define>
+ <define name="assertion">
+ <element name="assertion">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="assertion.attribs"/>
+ <ref name="assertion.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <!--
+ the assertiontype has no formal meaning yet, it is solely for human consumption.
+ 'just-by' is a list of URIRefs that point to proof objects, etc that justifies the status.
+ -->
+ <define name="type.attribs">
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <optional>
+ <ref name="just-by.attrib"/>
+ </optional>
+ <optional>
+ <attribute name="system">
+ <ref name="omdocref"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="for">
+ <ref name="omdocref"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="type.model">
+ <ref name="mc.class"/>
+ <ref name="mobj"/>
+ <optional>
+ <ref name="mobj"/>
+ </optional>
+ </define>
+ <define name="type">
+ <element name="type">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="type.attribs"/>
+ <ref name="type.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="alternative.attribs">
+ <a:documentation>just-by, points to the theorem justifying well-definedness
+entailed-by, entails, point to other (equivalent definitions
+entailed-by-thm, entails-thm point to the theorems justifying
+the entailment relation)</a:documentation>
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <ref name="for.attrib"/>
+ <choice>
+ <group>
+ <attribute name="equivalence">
+ <ref name="omdocref"/>
+ </attribute>
+ <attribute name="equivalence-thm">
+ <ref name="omdocref"/>
+ </attribute>
+ </group>
+ <interleave>
+ <attribute name="entailed-by">
+ <ref name="omdocref"/>
+ </attribute>
+ <attribute name="entails">
+ <ref name="omdocref"/>
+ </attribute>
+ <attribute name="entailed-by-thm">
+ <ref name="omdocref"/>
+ </attribute>
+ <attribute name="entails-thm">
+ <ref name="omdocref"/>
+ </attribute>
+ </interleave>
+ </choice>
+ </interleave>
+ </define>
+ <define name="alternative.model">
+ <interleave>
+ <ref name="mc.class"/>
+ <ref name="defs.all"/>
+ </interleave>
+ </define>
+ <define name="alternative">
+ <element name="alternative">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="alternative.attribs"/>
+ <ref name="alternative.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="example.attribs">
+ <interleave>
+ <ref name="toplevel.attribs"/>
+ <ref name="for.attrib"/>
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>for</value>
+ <value>against</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="assertion">
+ <ref name="omdocref"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="example.model">
+ <ref name="mc.class"/>
+ <zeroOrMore>
+ <ref name="mobj"/>
+ </zeroOrMore>
+ </define>
+ <define name="example">
+ <element name="example">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="example.attribs"/>
+ <ref name="example.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="theory.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <optional>
+ <attribute name="cdurl">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="cdbase">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="cdreviewdate">
+ <data type="date"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="cdversion">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="cdrevision">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="cdstatus">
+ <choice>
+ <value>official</value>
+ <value>experimental</value>
+ <value>private</value>
+ <value>obsolete</value>
+ </choice>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="theory.model">
+ <interleave>
+ <ref name="metadata.class"/>
+ <ref name="omdoc.class"/>
+ </interleave>
+ </define>
+ <define name="theory">
+ <element name="theory">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="theory.attribs"/>
+ <ref name="theory.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+ <define name="imports.attribs">
+ <interleave>
+ <ref name="id.attribs"/>
+ <ref name="from.attrib"/>
+ </interleave>
+ </define>
+ <define name="imports.model">
+ <ref name="metadata.class"/>
+ </define>
+ <define name="imports">
+ <element name="imports">
+ <choice>
+ <ref name="tref"/>
+ <interleave>
+ <ref name="imports.attribs"/>
+ <ref name="imports.model"/>
+ </interleave>
+ </choice>
+ </element>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/openmath2.rng b/Master/texmf-dist/source/latex/stex/schema/rng/openmath2.rng
new file mode 100644
index 00000000000..af2ccdb78da
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/openmath2.rng
@@ -0,0 +1,253 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ RELAX NG Schema for OpenMath 2
+ $Id: openmath2.rnc 8959 2011-09-02 06:01:43Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/openmath2.rnc $
+ See the documentation and examples at http://www.openmath.org
+-->
+<grammar ns="http://www.openmath.org/OpenMath" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <start>
+ <ref name="OMOBJ"/>
+ </start>
+ <!-- OpenMath object constructor -->
+ <define name="OMOBJ">
+ <element name="OMOBJ">
+ <ref name="compound.attributes"/>
+ <optional>
+ <attribute name="version">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <ref name="omel"/>
+ </element>
+ </define>
+ <!-- Elements which can appear inside an OpenMath object -->
+ <define name="omel">
+ <choice>
+ <ref name="OMS"/>
+ <ref name="OMV"/>
+ <ref name="OMI"/>
+ <ref name="OMB"/>
+ <ref name="OMSTR"/>
+ <ref name="OMF"/>
+ <ref name="OMA"/>
+ <ref name="OMBIND"/>
+ <ref name="OME"/>
+ <ref name="OMATTR"/>
+ <ref name="OMR"/>
+ </choice>
+ </define>
+ <!-- things which can be variables -->
+ <define name="omvar">
+ <choice>
+ <ref name="OMV"/>
+ <ref name="attvar"/>
+ </choice>
+ </define>
+ <define name="attvar">
+ <element name="OMATTR">
+ <ref name="common.attributes"/>
+ <group>
+ <ref name="OMATP"/>
+ <choice>
+ <ref name="OMV"/>
+ <ref name="attvar"/>
+ </choice>
+ </group>
+ </element>
+ </define>
+ <define name="cdbase">
+ <optional>
+ <attribute name="cdbase">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ </define>
+ <!-- attributes common to all elements -->
+ <define name="common.attributes">
+ <optional>
+ <attribute name="id">
+ <data type="ID"/>
+ </attribute>
+ </optional>
+ </define>
+ <!-- attributes common to all elements that construct compount OM objects. -->
+ <define name="compound.attributes">
+ <ref name="common.attributes"/>
+ <ref name="cdbase"/>
+ </define>
+ <!-- symbol -->
+ <define name="OMS">
+ <element name="OMS">
+ <ref name="common.attributes"/>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ <attribute name="cd">
+ <data type="NCName"/>
+ </attribute>
+ <ref name="cdbase"/>
+ </element>
+ </define>
+ <!-- variable -->
+ <define name="OMV">
+ <element name="OMV">
+ <ref name="common.attributes"/>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </element>
+ </define>
+ <!-- integer -->
+ <define name="OMI">
+ <element name="OMI">
+ <ref name="common.attributes"/>
+ <data type="string">
+ <param name="pattern">\s*(-\s?)?[0-9]+(\s[0-9]+)*\s*</param>
+ </data>
+ </element>
+ </define>
+ <!-- byte array -->
+ <define name="OMB">
+ <element name="OMB">
+ <ref name="common.attributes"/>
+ <data type="base64Binary"/>
+ </element>
+ </define>
+ <!-- string -->
+ <define name="OMSTR">
+ <element name="OMSTR">
+ <ref name="common.attributes"/>
+ <text/>
+ </element>
+ </define>
+ <!-- IEEE floating point number -->
+ <define name="OMF">
+ <element name="OMF">
+ <ref name="common.attributes"/>
+ <choice>
+ <attribute name="dec">
+ <data type="double"/>
+ </attribute>
+ <attribute name="hex">
+ <data type="string">
+ <param name="pattern">[0-9A-F]+</param>
+ </data>
+ </attribute>
+ </choice>
+ </element>
+ </define>
+ <!-- apply constructor -->
+ <define name="OMA">
+ <element name="OMA">
+ <ref name="compound.attributes"/>
+ <oneOrMore>
+ <ref name="omel"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <!-- binding constructor -->
+ <define name="OMBIND">
+ <element name="OMBIND">
+ <ref name="compound.attributes"/>
+ <ref name="omel"/>
+ <ref name="OMBVAR"/>
+ <ref name="omel"/>
+ </element>
+ </define>
+ <!-- variables used in binding constructor -->
+ <define name="OMBVAR">
+ <element name="OMBVAR">
+ <ref name="common.attributes"/>
+ <oneOrMore>
+ <ref name="omvar"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <!-- error constructor -->
+ <define name="OME">
+ <element name="OME">
+ <ref name="common.attributes"/>
+ <ref name="OMS"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="omel"/>
+ <ref name="OMFOREIGN"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <!-- attribution constructor and attribute pair constructor -->
+ <define name="OMATTR">
+ <element name="OMATTR">
+ <ref name="compound.attributes"/>
+ <ref name="OMATP"/>
+ <ref name="omel"/>
+ </element>
+ </define>
+ <define name="OMATP">
+ <element name="OMATP">
+ <ref name="compound.attributes"/>
+ <oneOrMore>
+ <ref name="OMS"/>
+ <choice>
+ <ref name="omel"/>
+ <ref name="OMFOREIGN"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <!-- foreign constructor -->
+ <define name="OMFOREIGN">
+ <element name="OMFOREIGN">
+ <ref name="compound.attributes"/>
+ <optional>
+ <attribute name="encoding">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <choice>
+ <ref name="omel"/>
+ <ref name="notom"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <!--
+ Any elements not in the om namespace
+ (valid om is allowed as a descendant)
+ -->
+ <define name="notom">
+ <choice>
+ <element>
+ <anyName>
+ <except>
+ <nsName/>
+ </except>
+ </anyName>
+ <zeroOrMore>
+ <attribute>
+ <anyName/>
+ </attribute>
+ </zeroOrMore>
+ <zeroOrMore>
+ <choice>
+ <ref name="omel"/>
+ <ref name="notom"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ <text/>
+ </choice>
+ </define>
+ <!-- reference constructor -->
+ <define name="OMR">
+ <element name="OMR">
+ <ref name="common.attributes"/>
+ <attribute name="href">
+ <data type="anyURI"/>
+ </attribute>
+ </element>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/openmath3.rng b/Master/texmf-dist/source/latex/stex/schema/rng/openmath3.rng
new file mode 100644
index 00000000000..6d1ac08e7c7
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/openmath3.rng
@@ -0,0 +1,247 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ RELAX NG Schema for OpenMath 2
+ $Id: openmath3.rnc 7618 2008-06-03 06:32:15Z kohlhase $
+ $HeadURL: https://svn.omdoc.org/repos/omdoc/trunk/schema/rnc/openmath3.rnc $
+ See the documentation and examples at http://www.openmath.org
+-->
+<grammar ns="http://www.openmath.org/OpenMath" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <start>
+ <ref name="OMOBJ"/>
+ </start>
+ <!-- OpenMath object constructor -->
+ <define name="OMOBJ">
+ <element name="OMOBJ">
+ <ref name="compound.attributes"/>
+ <optional>
+ <attribute name="version">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <ref name="omel"/>
+ </element>
+ </define>
+ <!-- Elements which can appear inside an OpenMath object -->
+ <define name="omel">
+ <choice>
+ <ref name="OMS"/>
+ <ref name="OMV"/>
+ <ref name="OMI"/>
+ <ref name="OMB"/>
+ <ref name="OMSTR"/>
+ <ref name="OMF"/>
+ <ref name="OMA"/>
+ <ref name="OMBIND"/>
+ <ref name="OME"/>
+ <ref name="OMATTR"/>
+ <ref name="OMR"/>
+ </choice>
+ </define>
+ <!-- things which can be variables -->
+ <define name="omvar">
+ <choice>
+ <ref name="OMV"/>
+ <ref name="attvar"/>
+ </choice>
+ </define>
+ <define name="attvar">
+ <element name="OMATTR">
+ <ref name="common.attributes"/>
+ <group>
+ <ref name="OMATP"/>
+ <choice>
+ <ref name="OMV"/>
+ <ref name="attvar"/>
+ </choice>
+ </group>
+ </element>
+ </define>
+ <define name="cdbase">
+ <optional>
+ <attribute name="cdbase">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ </define>
+ <!-- attributes common to all elements -->
+ <define name="common.attributes">
+ <optional>
+ <attribute name="id">
+ <data type="ID"/>
+ </attribute>
+ </optional>
+ </define>
+ <!-- attributes common to all elements that construct compount OM objects. -->
+ <define name="compound.attributes">
+ <ref name="common.attributes"/>
+ <ref name="cdbase"/>
+ </define>
+ <!-- symbol -->
+ <define name="OMS">
+ <element name="OMS">
+ <ref name="common.attributes"/>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ <attribute name="cd">
+ <data type="NCName"/>
+ </attribute>
+ <ref name="cdbase"/>
+ </element>
+ </define>
+ <!-- variable -->
+ <define name="OMV">
+ <element name="OMV">
+ <ref name="common.attributes"/>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ </element>
+ </define>
+ <!-- integer -->
+ <define name="OMI">
+ <element name="OMI">
+ <ref name="common.attributes"/>
+ <data type="string">
+ <param name="pattern">\s*(-\s?)?[0-9]+(\s[0-9]+)*\s*</param>
+ </data>
+ </element>
+ </define>
+ <!-- byte array -->
+ <define name="OMB">
+ <element name="OMB">
+ <ref name="common.attributes"/>
+ <data type="base64Binary"/>
+ </element>
+ </define>
+ <!-- string -->
+ <define name="OMSTR">
+ <element name="OMSTR">
+ <ref name="common.attributes"/>
+ <text/>
+ </element>
+ </define>
+ <!-- IEEE floating point number -->
+ <define name="OMF">
+ <element name="OMF">
+ <ref name="common.attributes"/>
+ <choice>
+ <attribute name="dec">
+ <data type="double"/>
+ </attribute>
+ <attribute name="hex">
+ <data type="string">
+ <param name="pattern">[0-9A-F]+</param>
+ </data>
+ </attribute>
+ </choice>
+ </element>
+ </define>
+ <!-- apply constructor -->
+ <define name="OMA">
+ <element name="OMA">
+ <ref name="compound.attributes"/>
+ <oneOrMore>
+ <ref name="omel"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <!-- binding constructor -->
+ <define name="OMBIND">
+ <element name="OMBIND">
+ <ref name="compound.attributes"/>
+ <ref name="omel"/>
+ <ref name="OMBVAR"/>
+ <optional>
+ <ref name="OMC"/>
+ </optional>
+ <ref name="omel"/>
+ </element>
+ </define>
+ <!-- the condition element -->
+ <define name="OMC">
+ <element name="OMC">
+ <ref name="common.attributes"/>
+ <ref name="omel"/>
+ </element>
+ </define>
+ <!-- variables used in binding constructor -->
+ <define name="OMBVAR">
+ <element name="OMBVAR">
+ <ref name="common.attributes"/>
+ <oneOrMore>
+ <ref name="omvar"/>
+ </oneOrMore>
+ </element>
+ </define>
+ <!-- error constructor -->
+ <define name="OME">
+ <element name="OME">
+ <ref name="common.attributes"/>
+ <ref name="OMS"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="omel"/>
+ <ref name="OMFOREIGN"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <!-- attribution constructor and attribute pair constructor -->
+ <define name="OMATTR">
+ <element name="OMATTR">
+ <ref name="compound.attributes"/>
+ <ref name="OMATP"/>
+ <ref name="omel"/>
+ </element>
+ </define>
+ <define name="OMATP">
+ <element name="OMATP">
+ <ref name="compound.attributes"/>
+ <oneOrMore>
+ <ref name="OMS"/>
+ <choice>
+ <ref name="omel"/>
+ <ref name="OMFOREIGN"/>
+ </choice>
+ </oneOrMore>
+ </element>
+ </define>
+ <!-- foreign constructor -->
+ <define name="OMFOREIGN">
+ <element name="OMFOREIGN">
+ <ref name="compound.attributes"/>
+ <optional>
+ <attribute name="encoding">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <choice>
+ <ref name="omel"/>
+ <ref name="notom"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <!--
+ Any elements not in the om namespace
+ (valid om is allowed as a descendant)
+ -->
+ <define name="notom">
+ <text/>
+ </define>
+ <!--
+ (element * - om:* {attribute * { text }*,(omel|notom)*}
+ | text)
+ -->
+ <!-- reference constructor -->
+ <define name="OMR">
+ <element name="OMR">
+ <ref name="common.attributes"/>
+ <attribute name="href">
+ <data type="anyURI"/>
+ </attribute>
+ </element>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/owl.rng b/Master/texmf-dist/source/latex/stex/schema/rng/owl.rng
new file mode 100644
index 00000000000..f32cf39c02d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/owl.rng
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A simplified RelaxNG for OWL (so that we can generate OWL from sTeX
+ https://kwarc.info/repos/kwarc/repos/stex/rnc/omdoc+ltxml.rnc
+ (c) 2010 Michael Kohlhase, released under the GNU Public License (GPL)
+-->
+<grammar xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="nonlocal-attribs">
+ <attribute>
+ <anyName>
+ <except>
+ <nsName ns=""/>
+ <nsName ns="http://www.w3.org/2002/07/owl#"/>
+ <nsName ns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
+ <nsName ns="http://www.w3.org/2000/01/rdf-schema#"/>
+ </except>
+ </anyName>
+ <data type="string"/>
+ </attribute>
+ </define>
+ <start>
+ <ref name="RDF"/>
+ </start>
+ <define name="RDF">
+ <element name="rdf:RDF">
+ <interleave>
+ <ref name="nonlocal-attribs"/>
+ <ref name="Ontology"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="Ontology.attribs">
+ <interleave>
+ <zeroOrMore>
+ <ref name="nonlocal-attribs"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="about.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="Ontology.model">
+ <interleave>
+ <zeroOrMore>
+ <ref name="Class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="Property"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="Ontology">
+ <element name="owl:Ontology">
+ <interleave>
+ <ref name="Ontology.attribs"/>
+ <ref name="Ontology.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="about.attrib">
+ <attribute name="rdf:about">
+ <data type="anyURI"/>
+ </attribute>
+ </define>
+ <define name="resource.attrib">
+ <attribute name="rdf:resource">
+ <data type="anyURI"/>
+ </attribute>
+ </define>
+ <define name="label.attrib">
+ <attribute name="rdfs:label"/>
+ </define>
+ <define name="comment.attrib">
+ <attribute name="rdfs:comment"/>
+ </define>
+ <define name="Class.attribs">
+ <interleave>
+ <zeroOrMore>
+ <ref name="nonlocal-attribs"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="about.attrib"/>
+ </optional>
+ <optional>
+ <ref name="label.attrib"/>
+ </optional>
+ <optional>
+ <ref name="comment.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="Class.model">
+ <interleave>
+ <zeroOrMore>
+ <ref name="rdftype"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subClassOf"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="disjointWith"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="isDefinedBy"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="Class">
+ <element name="rdfs:Class">
+ <interleave>
+ <ref name="Class.attribs"/>
+ <ref name="Class.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="Property.attribs">
+ <interleave>
+ <zeroOrMore>
+ <ref name="nonlocal-attribs"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="about.attrib"/>
+ </optional>
+ <optional>
+ <ref name="label.attrib"/>
+ </optional>
+ <optional>
+ <ref name="comment.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="Property.model">
+ <interleave>
+ <zeroOrMore>
+ <ref name="rdftype"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="domain"/>
+ </optional>
+ <ref name="range"/>
+ <optional>
+ <ref name="isDefinedBy"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="Property">
+ <element name="rdf:Property">
+ <interleave>
+ <ref name="Property.attribs"/>
+ <ref name="Property.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="rdftype.attribs">
+ <interleave>
+ <zeroOrMore>
+ <ref name="nonlocal-attribs"/>
+ </zeroOrMore>
+ <ref name="resource.attrib"/>
+ </interleave>
+ </define>
+ <!-- rdftype.model = notAllowed -->
+ <define name="rdftype">
+ <element name="rdf:type">
+ <ref name="rdftype.attribs"/>
+ </element>
+ </define>
+ <define name="subClassOf">
+ <element name="rdfs:subClassOf">
+ <ref name="resource.attrib"/>
+ </element>
+ </define>
+ <define name="isDefinedBy">
+ <element name="rdfs:isDefinedBy">
+ <ref name="resource.attrib"/>
+ </element>
+ </define>
+ <define name="disjointWith">
+ <element name="owl:disjointWith">
+ <ref name="resource.attrib"/>
+ </element>
+ </define>
+ <define name="range">
+ <element name="rdfs:range">
+ <ref name="resource.attrib"/>
+ </element>
+ </define>
+ <define name="domain">
+ <element name="rdfs:domain">
+ <ref name="resource.attrib"/>
+ </element>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/owl2+ltxml.rng b/Master/texmf-dist/source/latex/stex/schema/rng/owl2+ltxml.rng
new file mode 100644
index 00000000000..e4fdff503b1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/owl2+ltxml.rng
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A simplified RelaxNG for OWL2 (so that we can generate OWL from sTeX
+ https://kwarc.info/repos/kwarc/repos/stex/rnc/omdoc+ltxml.rnc
+ (c) 2010 Michael Kohlhase, released under the GNU Public License (GPL)
+-->
+<grammar xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="owl2xml.rng"/>
+ <define name="LTXML.Math">
+ <grammar>
+ <include href="LaTeXML-common.rng"/>
+ <include href="LaTeXML-math.rng"/>
+ <start>
+ <ref name="Math"/>
+ </start>
+ </grammar>
+ </define>
+ <define name="Ontology.model" combine="interleave">
+ <interleave>
+ <ref name="LTXML.Math"/>
+ <ref name="axiom"/>
+ </interleave>
+ </define>
+ <define name="axiom">
+ <element name="owl:Axiom">
+ <interleave>
+ <ref name="LTXML.Math"/>
+ <ref name="Annotation"/>
+ </interleave>
+ </element>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/owl2-xml.rng b/Master/texmf-dist/source/latex/stex/schema/rng/owl2-xml.rng
new file mode 100644
index 00000000000..fc1cb64cd14
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/owl2-xml.rng
@@ -0,0 +1,1321 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ From: http://www.w3.org/TR/rdf-sparql-query/#grammar
+ The entities implement productions [95] (PN_CHARS_BASE), [96] (PN_CHARS_U), [98] (PN_CHARS), [99] (PN_PREFIX),
+ [100] (PN_LOCAL), [71] (PNAME_NS), [72] (PNAME_LN) and [68] (PrefixedName)
+
+ PN_PREFIX is roughly equivalent to NCName.
+-->
+<grammar ns="http://www.w3.org/2002/07/owl#" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <!-- The ontology -->
+ <define name="Prefix.type">
+ <attribute name="name">
+ <data type="string">
+ <param name="pattern">([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿])(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]|\.)*([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀] ))?|</param>
+ </data>
+ </attribute>
+ <attribute name="IRI">
+ <data type="anyURI"/>
+ </attribute>
+ </define>
+ <start combine="choice">
+ <ref name="Prefix"/>
+ </start>
+ <define name="Prefix">
+ <element name="Prefix">
+ <ref name="Prefix.type"/>
+ </element>
+ </define>
+ <define name="Import.type">
+ <attribute name="specialAttrs"/>
+ </define>
+ <start combine="choice">
+ <ref name="Import"/>
+ </start>
+ <define name="Import">
+ <element name="Import">
+ <ref name="Import.type"/>
+ </element>
+ </define>
+ <define name="Ontology.type">
+ <zeroOrMore>
+ <ref name="Prefix"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="Import"/>
+ </zeroOrMore>
+ <ref name="ontologyAnnotations"/>
+ <zeroOrMore>
+ <ref name="Axiom"/>
+ </zeroOrMore>
+ <optional>
+ <attribute name="ontologyIRI">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="versionIRI">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <attribute name="specialAttrs"/>
+ </define>
+ <start combine="choice">
+ <ref name="Ontology"/>
+ </start>
+ <define name="Ontology">
+ <element name="Ontology">
+ <ref name="Ontology.type"/>
+ </element>
+ </define>
+ <!-- Entities, anonymous individuals, and literals -->
+ <!--
+ Note that the "Entity" group does not have a corresponding abstract type.
+ This is due to the fact that XML Schema does not support multiple inheritence.
+ "owl:Class" is both an entity and a class expression. The authors of this schema
+ determined it was more useful to be able to retrieve "owl:Class" in such queries
+ as schema(*, owl:ClassExpression).
+ -->
+ <define name="Entity">
+ <choice>
+ <ref name="Class"/>
+ <ref name="Datatype"/>
+ <ref name="ObjectProperty"/>
+ <ref name="DataProperty"/>
+ <ref name="AnnotationProperty"/>
+ <ref name="NamedIndividual"/>
+ </choice>
+ </define>
+ <!-- This is the type for the attribute. The complex type for the element is capitalized. -->
+ <define name="abbreviatedIRI">
+ <data type="string">
+ <param name="pattern">(((([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿])(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]|\.)*([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀] ))?)?:)(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|[0-9])(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]|\.)*([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]))?))|((([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿])(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]|\.)*([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀] ))?)?:)</param>
+ </data>
+ </define>
+ <define name="Class.type">
+ <ref name="ClassExpression"/>
+ <optional>
+ <attribute name="IRI">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="abbreviatedIRI">
+ <ref name="abbreviatedIRI"/>
+ </attribute>
+ </optional>
+ </define>
+ <start combine="choice">
+ <ref name="Class"/>
+ </start>
+ <define name="Class">
+ <element name="Class">
+ <ref name="Class.type"/>
+ </element>
+ </define>
+ <define name="Datatype.type">
+ <ref name="DataRange"/>
+ <optional>
+ <attribute name="IRI">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="abbreviatedIRI">
+ <ref name="abbreviatedIRI"/>
+ </attribute>
+ </optional>
+ </define>
+ <start combine="choice">
+ <ref name="Datatype"/>
+ </start>
+ <define name="Datatype">
+ <element name="Datatype">
+ <ref name="Datatype.type"/>
+ </element>
+ </define>
+ <define name="ObjectProperty.type">
+ <ref name="ObjectPropertyExpression"/>
+ <optional>
+ <attribute name="IRI">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="abbreviatedIRI">
+ <ref name="abbreviatedIRI"/>
+ </attribute>
+ </optional>
+ </define>
+ <start combine="choice">
+ <ref name="ObjectProperty"/>
+ </start>
+ <define name="ObjectProperty">
+ <element name="ObjectProperty">
+ <ref name="ObjectProperty.type"/>
+ </element>
+ </define>
+ <define name="DataProperty.type">
+ <ref name="DataPropertyExpression"/>
+ <optional>
+ <attribute name="IRI">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="abbreviatedIRI">
+ <ref name="abbreviatedIRI"/>
+ </attribute>
+ </optional>
+ </define>
+ <start combine="choice">
+ <ref name="DataProperty"/>
+ </start>
+ <define name="DataProperty">
+ <element name="DataProperty">
+ <ref name="DataProperty.type"/>
+ </element>
+ </define>
+ <define name="AnnotationProperty.type">
+ <optional>
+ <attribute name="IRI">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="abbreviatedIRI">
+ <ref name="abbreviatedIRI"/>
+ </attribute>
+ </optional>
+ <attribute name="specialAttrs"/>
+ </define>
+ <start combine="choice">
+ <ref name="AnnotationProperty"/>
+ </start>
+ <define name="AnnotationProperty">
+ <element name="AnnotationProperty">
+ <ref name="AnnotationProperty.type"/>
+ </element>
+ </define>
+ <define name="Individual">
+ <attribute name="specialAttrs"/>
+ <choice>
+ <ref name="NamedIndividual"/>
+ <ref name="AnonymousIndividual"/>
+ </choice>
+ </define>
+ <define name="NamedIndividual.type">
+ <ref name="Individual"/>
+ <optional>
+ <attribute name="IRI">
+ <data type="anyURI"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="abbreviatedIRI">
+ <ref name="abbreviatedIRI"/>
+ </attribute>
+ </optional>
+ </define>
+ <start combine="choice">
+ <ref name="NamedIndividual"/>
+ </start>
+ <define name="NamedIndividual">
+ <element name="NamedIndividual">
+ <ref name="NamedIndividual.type"/>
+ </element>
+ </define>
+ <define name="AnonymousIndividual.type">
+ <ref name="Individual"/>
+ <attribute name="nodeID">
+ <data type="NCName"/>
+ </attribute>
+ </define>
+ <start combine="choice">
+ <ref name="AnonymousIndividual"/>
+ </start>
+ <define name="AnonymousIndividual">
+ <element name="AnonymousIndividual">
+ <ref name="AnonymousIndividual.type"/>
+ </element>
+ </define>
+ <define name="Literal.type">
+ <attribute name="datatypeIRI">
+ <data type="anyURI"/>
+ </attribute>
+ <attribute name="specialAttrs"/>
+ </define>
+ <start combine="choice">
+ <ref name="Literal"/>
+ </start>
+ <define name="Literal">
+ <element name="Literal">
+ <ref name="Literal.type"/>
+ </element>
+ </define>
+ <!-- Declarations -->
+ <define name="Declaration.type">
+ <ref name="Axiom"/>
+ <ref name="Entity"/>
+ </define>
+ <start combine="choice">
+ <ref name="Declaration"/>
+ </start>
+ <define name="Declaration">
+ <element name="Declaration">
+ <ref name="Declaration.type"/>
+ </element>
+ </define>
+ <!-- Object property expressions -->
+ <define name="ObjectPropertyExpression">
+ <attribute name="specialAttrs"/>
+ <choice>
+ <ref name="ObjectProperty"/>
+ <ref name="ObjectInverseOf"/>
+ </choice>
+ </define>
+ <define name="ObjectInverseOf.type">
+ <ref name="ObjectPropertyExpression"/>
+ <ref name="ObjectProperty"/>
+ </define>
+ <start combine="choice">
+ <ref name="ObjectInverseOf"/>
+ </start>
+ <define name="ObjectInverseOf">
+ <element name="ObjectInverseOf">
+ <ref name="ObjectInverseOf.type"/>
+ </element>
+ </define>
+ <!-- Data property expressions -->
+ <define name="DataPropertyExpression">
+ <attribute name="specialAttrs"/>
+ <ref name="DataProperty"/>
+ </define>
+ <!-- Data ranges -->
+ <define name="DataRange">
+ <attribute name="specialAttrs"/>
+ <choice>
+ <ref name="Datatype"/>
+ <ref name="DataIntersectionOf"/>
+ <ref name="DataUnionOf"/>
+ <ref name="DataComplementOf"/>
+ <ref name="DataOneOf"/>
+ <ref name="DatatypeRestriction"/>
+ </choice>
+ </define>
+ <define name="DataIntersectionOf.type">
+ <ref name="DataRange"/>
+ <oneOrMore>
+ <ref name="DataRange"/>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="DataIntersectionOf"/>
+ </start>
+ <define name="DataIntersectionOf">
+ <element name="DataIntersectionOf">
+ <ref name="DataIntersectionOf.type"/>
+ </element>
+ </define>
+ <define name="DataUnionOf.type">
+ <ref name="DataRange"/>
+ <oneOrMore>
+ <ref name="DataRange"/>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="DataUnionOf"/>
+ </start>
+ <define name="DataUnionOf">
+ <element name="DataUnionOf">
+ <ref name="DataUnionOf.type"/>
+ </element>
+ </define>
+ <define name="DataComplementOf.type">
+ <ref name="DataRange"/>
+ <ref name="DataRange"/>
+ </define>
+ <start combine="choice">
+ <ref name="DataComplementOf"/>
+ </start>
+ <define name="DataComplementOf">
+ <element name="DataComplementOf">
+ <ref name="DataComplementOf.type"/>
+ </element>
+ </define>
+ <define name="DataOneOf.type">
+ <ref name="DataRange"/>
+ <oneOrMore>
+ <ref name="Literal"/>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="DataOneOf"/>
+ </start>
+ <define name="DataOneOf">
+ <element name="DataOneOf">
+ <ref name="DataOneOf.type"/>
+ </element>
+ </define>
+ <define name="DatatypeRestriction.type">
+ <ref name="DataRange"/>
+ <ref name="Datatype"/>
+ <oneOrMore>
+ <element name="FacetRestriction">
+ <ref name="FacetRestriction"/>
+ </element>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="DatatypeRestriction"/>
+ </start>
+ <define name="DatatypeRestriction">
+ <element name="DatatypeRestriction">
+ <ref name="DatatypeRestriction.type"/>
+ </element>
+ </define>
+ <define name="FacetRestriction">
+ <ref name="Literal"/>
+ <attribute name="facet">
+ <data type="anyURI"/>
+ </attribute>
+ <attribute name="specialAttrs"/>
+ </define>
+ <!-- Class expressions -->
+ <define name="ClassExpression">
+ <attribute name="specialAttrs"/>
+ <choice>
+ <ref name="Class"/>
+ <ref name="ObjectIntersectionOf"/>
+ <ref name="ObjectUnionOf"/>
+ <ref name="ObjectComplementOf"/>
+ <ref name="ObjectOneOf"/>
+ <ref name="ObjectSomeValuesFrom"/>
+ <ref name="ObjectAllValuesFrom"/>
+ <ref name="ObjectHasValue"/>
+ <ref name="ObjectHasSelf"/>
+ <ref name="ObjectMinCardinality"/>
+ <ref name="ObjectMaxCardinality"/>
+ <ref name="ObjectExactCardinality"/>
+ <ref name="DataSomeValuesFrom"/>
+ <ref name="DataAllValuesFrom"/>
+ <ref name="DataHasValue"/>
+ <ref name="DataMinCardinality"/>
+ <ref name="DataMaxCardinality"/>
+ <ref name="DataExactCardinality"/>
+ </choice>
+ </define>
+ <define name="ObjectIntersectionOf.type">
+ <ref name="ClassExpression"/>
+ <oneOrMore>
+ <ref name="ClassExpression"/>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="ObjectIntersectionOf"/>
+ </start>
+ <define name="ObjectIntersectionOf">
+ <element name="ObjectIntersectionOf">
+ <ref name="ObjectIntersectionOf.type"/>
+ </element>
+ </define>
+ <define name="ObjectUnionOf.type">
+ <ref name="ClassExpression"/>
+ <oneOrMore>
+ <ref name="ClassExpression"/>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="ObjectUnionOf"/>
+ </start>
+ <define name="ObjectUnionOf">
+ <element name="ObjectUnionOf">
+ <ref name="ObjectUnionOf.type"/>
+ </element>
+ </define>
+ <define name="ObjectComplementOf.type">
+ <ref name="ClassExpression"/>
+ <ref name="ClassExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="ObjectComplementOf"/>
+ </start>
+ <define name="ObjectComplementOf">
+ <element name="ObjectComplementOf">
+ <ref name="ObjectComplementOf.type"/>
+ </element>
+ </define>
+ <define name="ObjectOneOf.type">
+ <ref name="ClassExpression"/>
+ <oneOrMore>
+ <ref name="Individual"/>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="ObjectOneOf"/>
+ </start>
+ <define name="ObjectOneOf">
+ <element name="ObjectOneOf">
+ <ref name="ObjectOneOf.type"/>
+ </element>
+ </define>
+ <define name="ObjectSomeValuesFrom.type">
+ <ref name="ClassExpression"/>
+ <ref name="ObjectPropertyExpression"/>
+ <ref name="ClassExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="ObjectSomeValuesFrom"/>
+ </start>
+ <define name="ObjectSomeValuesFrom">
+ <element name="ObjectSomeValuesFrom">
+ <ref name="ObjectSomeValuesFrom.type"/>
+ </element>
+ </define>
+ <define name="ObjectAllValuesFrom.type">
+ <ref name="ClassExpression"/>
+ <ref name="ObjectPropertyExpression"/>
+ <ref name="ClassExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="ObjectAllValuesFrom"/>
+ </start>
+ <define name="ObjectAllValuesFrom">
+ <element name="ObjectAllValuesFrom">
+ <ref name="ObjectAllValuesFrom.type"/>
+ </element>
+ </define>
+ <define name="ObjectHasValue.type">
+ <ref name="ClassExpression"/>
+ <ref name="ObjectPropertyExpression"/>
+ <ref name="Individual"/>
+ </define>
+ <start combine="choice">
+ <ref name="ObjectHasValue"/>
+ </start>
+ <define name="ObjectHasValue">
+ <element name="ObjectHasValue">
+ <ref name="ObjectHasValue.type"/>
+ </element>
+ </define>
+ <define name="ObjectHasSelf.type">
+ <ref name="ClassExpression"/>
+ <ref name="ObjectPropertyExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="ObjectHasSelf"/>
+ </start>
+ <define name="ObjectHasSelf">
+ <element name="ObjectHasSelf">
+ <ref name="ObjectHasSelf.type"/>
+ </element>
+ </define>
+ <define name="ObjectMinCardinality.type">
+ <ref name="ClassExpression"/>
+ <ref name="ObjectPropertyExpression"/>
+ <optional>
+ <ref name="ClassExpression"/>
+ </optional>
+ <attribute name="cardinality">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </define>
+ <start combine="choice">
+ <ref name="ObjectMinCardinality"/>
+ </start>
+ <define name="ObjectMinCardinality">
+ <element name="ObjectMinCardinality">
+ <ref name="ObjectMinCardinality.type"/>
+ </element>
+ </define>
+ <define name="ObjectMaxCardinality.type">
+ <ref name="ClassExpression"/>
+ <ref name="ObjectPropertyExpression"/>
+ <optional>
+ <ref name="ClassExpression"/>
+ </optional>
+ <attribute name="cardinality">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </define>
+ <start combine="choice">
+ <ref name="ObjectMaxCardinality"/>
+ </start>
+ <define name="ObjectMaxCardinality">
+ <element name="ObjectMaxCardinality">
+ <ref name="ObjectMaxCardinality.type"/>
+ </element>
+ </define>
+ <define name="ObjectExactCardinality.type">
+ <ref name="ClassExpression"/>
+ <ref name="ObjectPropertyExpression"/>
+ <optional>
+ <ref name="ClassExpression"/>
+ </optional>
+ <attribute name="cardinality">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </define>
+ <start combine="choice">
+ <ref name="ObjectExactCardinality"/>
+ </start>
+ <define name="ObjectExactCardinality">
+ <element name="ObjectExactCardinality">
+ <ref name="ObjectExactCardinality.type"/>
+ </element>
+ </define>
+ <define name="DataSomeValuesFrom.type">
+ <ref name="ClassExpression"/>
+ <oneOrMore>
+ <ref name="DataPropertyExpression"/>
+ </oneOrMore>
+ <ref name="DataRange"/>
+ </define>
+ <start combine="choice">
+ <ref name="DataSomeValuesFrom"/>
+ </start>
+ <define name="DataSomeValuesFrom">
+ <element name="DataSomeValuesFrom">
+ <ref name="DataSomeValuesFrom.type"/>
+ </element>
+ </define>
+ <define name="DataAllValuesFrom.type">
+ <ref name="ClassExpression"/>
+ <oneOrMore>
+ <ref name="DataPropertyExpression"/>
+ </oneOrMore>
+ <ref name="DataRange"/>
+ </define>
+ <start combine="choice">
+ <ref name="DataAllValuesFrom"/>
+ </start>
+ <define name="DataAllValuesFrom">
+ <element name="DataAllValuesFrom">
+ <ref name="DataAllValuesFrom.type"/>
+ </element>
+ </define>
+ <define name="DataHasValue.type">
+ <ref name="ClassExpression"/>
+ <ref name="DataPropertyExpression"/>
+ <ref name="Literal"/>
+ </define>
+ <start combine="choice">
+ <ref name="DataHasValue"/>
+ </start>
+ <define name="DataHasValue">
+ <element name="DataHasValue">
+ <ref name="DataHasValue.type"/>
+ </element>
+ </define>
+ <define name="DataMinCardinality.type">
+ <ref name="ClassExpression"/>
+ <ref name="DataPropertyExpression"/>
+ <optional>
+ <ref name="DataRange"/>
+ </optional>
+ <attribute name="cardinality">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </define>
+ <start combine="choice">
+ <ref name="DataMinCardinality"/>
+ </start>
+ <define name="DataMinCardinality">
+ <element name="DataMinCardinality">
+ <ref name="DataMinCardinality.type"/>
+ </element>
+ </define>
+ <define name="DataMaxCardinality.type">
+ <ref name="ClassExpression"/>
+ <ref name="DataPropertyExpression"/>
+ <optional>
+ <ref name="DataRange"/>
+ </optional>
+ <attribute name="cardinality">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </define>
+ <start combine="choice">
+ <ref name="DataMaxCardinality"/>
+ </start>
+ <define name="DataMaxCardinality">
+ <element name="DataMaxCardinality">
+ <ref name="DataMaxCardinality.type"/>
+ </element>
+ </define>
+ <define name="DataExactCardinality.type">
+ <ref name="ClassExpression"/>
+ <ref name="DataPropertyExpression"/>
+ <optional>
+ <ref name="DataRange"/>
+ </optional>
+ <attribute name="cardinality">
+ <data type="nonNegativeInteger"/>
+ </attribute>
+ </define>
+ <start combine="choice">
+ <ref name="DataExactCardinality"/>
+ </start>
+ <define name="DataExactCardinality">
+ <element name="DataExactCardinality">
+ <ref name="DataExactCardinality.type"/>
+ </element>
+ </define>
+ <!-- Axioms -->
+ <define name="Axiom">
+ <ref name="axiomAnnotations"/>
+ <attribute name="specialAttrs"/>
+ <choice>
+ <ref name="Declaration"/>
+ <ref name="ClassAxiom"/>
+ <ref name="ObjectPropertyAxiom"/>
+ <ref name="DataPropertyAxiom"/>
+ <ref name="DatatypeDefinition"/>
+ <ref name="HasKey"/>
+ <ref name="Assertion"/>
+ <ref name="AnnotationAxiom"/>
+ </choice>
+ </define>
+ <!-- Class expression axioms -->
+ <define name="ClassAxiom">
+ <choice>
+ <ref name="Axiom"/>
+ <ref name="SubClassOf"/>
+ <ref name="EquivalentClasses"/>
+ <ref name="DisjointClasses"/>
+ <ref name="DisjointUnion"/>
+ </choice>
+ </define>
+ <define name="SubClassOf.type">
+ <ref name="ClassAxiom"/>
+ <ref name="ClassExpression"/>
+ <!-- This is the subexpression -->
+ <ref name="ClassExpression"/>
+ </define>
+ <!-- This is the superexpression -->
+ <start combine="choice">
+ <ref name="SubClassOf"/>
+ </start>
+ <define name="SubClassOf">
+ <element name="SubClassOf">
+ <ref name="SubClassOf.type"/>
+ </element>
+ </define>
+ <define name="EquivalentClasses.type">
+ <ref name="ClassAxiom"/>
+ <oneOrMore>
+ <ref name="ClassExpression"/>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="EquivalentClasses"/>
+ </start>
+ <define name="EquivalentClasses">
+ <element name="EquivalentClasses">
+ <ref name="EquivalentClasses.type"/>
+ </element>
+ </define>
+ <define name="DisjointClasses.type">
+ <ref name="ClassAxiom"/>
+ <oneOrMore>
+ <ref name="ClassExpression"/>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="DisjointClasses"/>
+ </start>
+ <define name="DisjointClasses">
+ <element name="DisjointClasses">
+ <ref name="DisjointClasses.type"/>
+ </element>
+ </define>
+ <define name="DisjointUnion.type">
+ <ref name="ClassAxiom"/>
+ <ref name="Class"/>
+ <oneOrMore>
+ <ref name="ClassExpression"/>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="DisjointUnion"/>
+ </start>
+ <define name="DisjointUnion">
+ <element name="DisjointUnion">
+ <ref name="DisjointUnion.type"/>
+ </element>
+ </define>
+ <!-- Object property axioms -->
+ <define name="ObjectPropertyAxiom">
+ <choice>
+ <ref name="Axiom"/>
+ <ref name="SubObjectPropertyOf"/>
+ <ref name="EquivalentObjectProperties"/>
+ <ref name="DisjointObjectProperties"/>
+ <ref name="InverseObjectProperties"/>
+ <ref name="ObjectPropertyDomain"/>
+ <ref name="ObjectPropertyRange"/>
+ <ref name="FunctionalObjectProperty"/>
+ <ref name="InverseFunctionalObjectProperty"/>
+ <ref name="ReflexiveObjectProperty"/>
+ <ref name="IrreflexiveObjectProperty"/>
+ <ref name="SymmetricObjectProperty"/>
+ <ref name="AsymmetricObjectProperty"/>
+ <ref name="TransitiveObjectProperty"/>
+ </choice>
+ </define>
+ <define name="SubObjectPropertyOf.type">
+ <ref name="ObjectPropertyAxiom"/>
+ <choice>
+ <!-- This is the subproperty expression or the property chain -->
+ <ref name="ObjectPropertyExpression"/>
+ <element name="ObjectPropertyChain">
+ <ref name="ObjectPropertyChain.type"/>
+ </element>
+ </choice>
+ <ref name="ObjectPropertyExpression"/>
+ </define>
+ <!-- This is the superproperty expression -->
+ <start combine="choice">
+ <ref name="SubObjectPropertyOf"/>
+ </start>
+ <define name="SubObjectPropertyOf">
+ <element name="SubObjectPropertyOf">
+ <ref name="SubObjectPropertyOf.type"/>
+ </element>
+ </define>
+ <define name="ObjectPropertyChain.type">
+ <oneOrMore>
+ <ref name="ObjectPropertyExpression"/>
+ </oneOrMore>
+ <attribute name="specialAttrs"/>
+ </define>
+ <define name="EquivalentObjectProperties.type">
+ <ref name="ObjectPropertyAxiom"/>
+ <oneOrMore>
+ <ref name="ObjectPropertyExpression"/>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="EquivalentObjectProperties"/>
+ </start>
+ <define name="EquivalentObjectProperties">
+ <element name="EquivalentObjectProperties">
+ <ref name="EquivalentObjectProperties.type"/>
+ </element>
+ </define>
+ <define name="DisjointObjectProperties.type">
+ <ref name="ObjectPropertyAxiom"/>
+ <oneOrMore>
+ <ref name="ObjectPropertyExpression"/>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="DisjointObjectProperties"/>
+ </start>
+ <define name="DisjointObjectProperties">
+ <element name="DisjointObjectProperties">
+ <ref name="DisjointObjectProperties.type"/>
+ </element>
+ </define>
+ <define name="ObjectPropertyDomain.type">
+ <ref name="ObjectPropertyAxiom"/>
+ <ref name="ObjectPropertyExpression"/>
+ <ref name="ClassExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="ObjectPropertyDomain"/>
+ </start>
+ <define name="ObjectPropertyDomain">
+ <element name="ObjectPropertyDomain">
+ <ref name="ObjectPropertyDomain.type"/>
+ </element>
+ </define>
+ <define name="ObjectPropertyRange.type">
+ <ref name="ObjectPropertyAxiom"/>
+ <ref name="ObjectPropertyExpression"/>
+ <ref name="ClassExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="ObjectPropertyRange"/>
+ </start>
+ <define name="ObjectPropertyRange">
+ <element name="ObjectPropertyRange">
+ <ref name="ObjectPropertyRange.type"/>
+ </element>
+ </define>
+ <define name="InverseObjectProperties.type">
+ <ref name="ObjectPropertyAxiom"/>
+ <ref name="ObjectPropertyExpression"/>
+ <ref name="ObjectPropertyExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="InverseObjectProperties"/>
+ </start>
+ <define name="InverseObjectProperties">
+ <element name="InverseObjectProperties">
+ <ref name="InverseObjectProperties.type"/>
+ </element>
+ </define>
+ <define name="FunctionalObjectProperty.type">
+ <ref name="ObjectPropertyAxiom"/>
+ <ref name="ObjectPropertyExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="FunctionalObjectProperty"/>
+ </start>
+ <define name="FunctionalObjectProperty">
+ <element name="FunctionalObjectProperty">
+ <ref name="FunctionalObjectProperty.type"/>
+ </element>
+ </define>
+ <define name="InverseFunctionalObjectProperty.type">
+ <ref name="ObjectPropertyAxiom"/>
+ <ref name="ObjectPropertyExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="InverseFunctionalObjectProperty"/>
+ </start>
+ <define name="InverseFunctionalObjectProperty">
+ <element name="InverseFunctionalObjectProperty">
+ <ref name="InverseFunctionalObjectProperty.type"/>
+ </element>
+ </define>
+ <define name="ReflexiveObjectProperty.type">
+ <ref name="ObjectPropertyAxiom"/>
+ <ref name="ObjectPropertyExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="ReflexiveObjectProperty"/>
+ </start>
+ <define name="ReflexiveObjectProperty">
+ <element name="ReflexiveObjectProperty">
+ <ref name="ReflexiveObjectProperty.type"/>
+ </element>
+ </define>
+ <define name="IrreflexiveObjectProperty.type">
+ <ref name="ObjectPropertyAxiom"/>
+ <ref name="ObjectPropertyExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="IrreflexiveObjectProperty"/>
+ </start>
+ <define name="IrreflexiveObjectProperty">
+ <element name="IrreflexiveObjectProperty">
+ <ref name="IrreflexiveObjectProperty.type"/>
+ </element>
+ </define>
+ <define name="SymmetricObjectProperty.type">
+ <ref name="ObjectPropertyAxiom"/>
+ <ref name="ObjectPropertyExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="SymmetricObjectProperty"/>
+ </start>
+ <define name="SymmetricObjectProperty">
+ <element name="SymmetricObjectProperty">
+ <ref name="SymmetricObjectProperty.type"/>
+ </element>
+ </define>
+ <define name="AsymmetricObjectProperty.type">
+ <ref name="ObjectPropertyAxiom"/>
+ <ref name="ObjectPropertyExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="AsymmetricObjectProperty"/>
+ </start>
+ <define name="AsymmetricObjectProperty">
+ <element name="AsymmetricObjectProperty">
+ <ref name="AsymmetricObjectProperty.type"/>
+ </element>
+ </define>
+ <define name="TransitiveObjectProperty.type">
+ <ref name="ObjectPropertyAxiom"/>
+ <ref name="ObjectPropertyExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="TransitiveObjectProperty"/>
+ </start>
+ <define name="TransitiveObjectProperty">
+ <element name="TransitiveObjectProperty">
+ <ref name="TransitiveObjectProperty.type"/>
+ </element>
+ </define>
+ <!-- Data property axioms -->
+ <define name="DataPropertyAxiom">
+ <choice>
+ <ref name="Axiom"/>
+ <ref name="SubDataPropertyOf"/>
+ <ref name="EquivalentDataProperties"/>
+ <ref name="DisjointDataProperties"/>
+ <ref name="DataPropertyDomain"/>
+ <ref name="DataPropertyRange"/>
+ <ref name="FunctionalDataProperty"/>
+ </choice>
+ </define>
+ <define name="SubDataPropertyOf.type">
+ <ref name="DataPropertyAxiom"/>
+ <ref name="DataPropertyExpression"/>
+ <!-- This is the subproperty expression -->
+ <ref name="DataPropertyExpression"/>
+ </define>
+ <!-- This is the superproperty expression -->
+ <start combine="choice">
+ <ref name="SubDataPropertyOf"/>
+ </start>
+ <define name="SubDataPropertyOf">
+ <element name="SubDataPropertyOf">
+ <ref name="SubDataPropertyOf.type"/>
+ </element>
+ </define>
+ <define name="EquivalentDataProperties.type">
+ <ref name="DataPropertyAxiom"/>
+ <oneOrMore>
+ <ref name="DataPropertyExpression"/>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="EquivalentDataProperties"/>
+ </start>
+ <define name="EquivalentDataProperties">
+ <element name="EquivalentDataProperties">
+ <ref name="EquivalentDataProperties.type"/>
+ </element>
+ </define>
+ <define name="DisjointDataProperties.type">
+ <ref name="DataPropertyAxiom"/>
+ <oneOrMore>
+ <ref name="DataPropertyExpression"/>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="DisjointDataProperties"/>
+ </start>
+ <define name="DisjointDataProperties">
+ <element name="DisjointDataProperties">
+ <ref name="DisjointDataProperties.type"/>
+ </element>
+ </define>
+ <define name="DataPropertyDomain.type">
+ <ref name="DataPropertyAxiom"/>
+ <ref name="DataPropertyExpression"/>
+ <ref name="ClassExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="DataPropertyDomain"/>
+ </start>
+ <define name="DataPropertyDomain">
+ <element name="DataPropertyDomain">
+ <ref name="DataPropertyDomain.type"/>
+ </element>
+ </define>
+ <define name="DataPropertyRange.type">
+ <ref name="DataPropertyAxiom"/>
+ <ref name="DataPropertyExpression"/>
+ <ref name="DataRange"/>
+ </define>
+ <start combine="choice">
+ <ref name="DataPropertyRange"/>
+ </start>
+ <define name="DataPropertyRange">
+ <element name="DataPropertyRange">
+ <ref name="DataPropertyRange.type"/>
+ </element>
+ </define>
+ <define name="FunctionalDataProperty.type">
+ <ref name="DataPropertyAxiom"/>
+ <ref name="DataPropertyExpression"/>
+ </define>
+ <start combine="choice">
+ <ref name="FunctionalDataProperty"/>
+ </start>
+ <define name="FunctionalDataProperty">
+ <element name="FunctionalDataProperty">
+ <ref name="FunctionalDataProperty.type"/>
+ </element>
+ </define>
+ <!-- Datatype definitions -->
+ <define name="DatatypeDefinition.type">
+ <ref name="Axiom"/>
+ <ref name="Datatype"/>
+ <ref name="DataRange"/>
+ </define>
+ <start combine="choice">
+ <ref name="DatatypeDefinition"/>
+ </start>
+ <define name="DatatypeDefinition">
+ <element name="DatatypeDefinition">
+ <ref name="DatatypeDefinition.type"/>
+ </element>
+ </define>
+ <!-- Key axioms -->
+ <define name="HasKey.type">
+ <ref name="Axiom"/>
+ <ref name="ClassExpression"/>
+ <zeroOrMore>
+ <ref name="ObjectPropertyExpression"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DataPropertyExpression"/>
+ </zeroOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="HasKey"/>
+ </start>
+ <define name="HasKey">
+ <element name="HasKey">
+ <ref name="HasKey.type"/>
+ </element>
+ </define>
+ <!-- Assertions -->
+ <define name="Assertion">
+ <choice>
+ <ref name="Axiom"/>
+ <ref name="SameIndividual"/>
+ <ref name="DifferentIndividuals"/>
+ <ref name="ClassAssertion"/>
+ <ref name="ObjectPropertyAssertion"/>
+ <ref name="NegativeObjectPropertyAssertion"/>
+ <ref name="DataPropertyAssertion"/>
+ <ref name="NegativeDataPropertyAssertion"/>
+ </choice>
+ </define>
+ <define name="SameIndividual.type">
+ <ref name="Assertion"/>
+ <oneOrMore>
+ <ref name="Individual"/>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="SameIndividual"/>
+ </start>
+ <define name="SameIndividual">
+ <element name="SameIndividual">
+ <ref name="SameIndividual.type"/>
+ </element>
+ </define>
+ <define name="DifferentIndividuals.type">
+ <ref name="Assertion"/>
+ <oneOrMore>
+ <ref name="Individual"/>
+ </oneOrMore>
+ </define>
+ <start combine="choice">
+ <ref name="DifferentIndividuals"/>
+ </start>
+ <define name="DifferentIndividuals">
+ <element name="DifferentIndividuals">
+ <ref name="DifferentIndividuals.type"/>
+ </element>
+ </define>
+ <define name="ClassAssertion.type">
+ <ref name="Assertion"/>
+ <ref name="ClassExpression"/>
+ <ref name="Individual"/>
+ </define>
+ <start combine="choice">
+ <ref name="ClassAssertion"/>
+ </start>
+ <define name="ClassAssertion">
+ <element name="ClassAssertion">
+ <ref name="ClassAssertion.type"/>
+ </element>
+ </define>
+ <define name="ObjectPropertyAssertion.type">
+ <ref name="Assertion"/>
+ <ref name="ObjectPropertyExpression"/>
+ <ref name="Individual"/>
+ <!-- This is the source invididual -->
+ <ref name="Individual"/>
+ </define>
+ <!-- This is the target individual -->
+ <start combine="choice">
+ <ref name="ObjectPropertyAssertion"/>
+ </start>
+ <define name="ObjectPropertyAssertion">
+ <element name="ObjectPropertyAssertion">
+ <ref name="ObjectPropertyAssertion.type"/>
+ </element>
+ </define>
+ <define name="NegativeObjectPropertyAssertion.type">
+ <ref name="Assertion"/>
+ <ref name="ObjectPropertyExpression"/>
+ <ref name="Individual"/>
+ <!-- This is the source invididual -->
+ <ref name="Individual"/>
+ </define>
+ <!-- This is the target individual -->
+ <start combine="choice">
+ <ref name="NegativeObjectPropertyAssertion"/>
+ </start>
+ <define name="NegativeObjectPropertyAssertion">
+ <element name="NegativeObjectPropertyAssertion">
+ <ref name="NegativeObjectPropertyAssertion.type"/>
+ </element>
+ </define>
+ <define name="DataPropertyAssertion.type">
+ <ref name="Assertion"/>
+ <ref name="DataPropertyExpression"/>
+ <ref name="Individual"/>
+ <!-- This is the source invididual -->
+ <ref name="Literal"/>
+ </define>
+ <!-- This is the target individual -->
+ <start combine="choice">
+ <ref name="DataPropertyAssertion"/>
+ </start>
+ <define name="DataPropertyAssertion">
+ <element name="DataPropertyAssertion">
+ <ref name="DataPropertyAssertion.type"/>
+ </element>
+ </define>
+ <define name="NegativeDataPropertyAssertion.type">
+ <ref name="Assertion"/>
+ <ref name="DataPropertyExpression"/>
+ <ref name="Individual"/>
+ <!-- This is the source invididual -->
+ <ref name="Literal"/>
+ </define>
+ <!-- This is the target individual -->
+ <start combine="choice">
+ <ref name="NegativeDataPropertyAssertion"/>
+ </start>
+ <define name="NegativeDataPropertyAssertion">
+ <element name="NegativeDataPropertyAssertion">
+ <ref name="NegativeDataPropertyAssertion.type"/>
+ </element>
+ </define>
+ <!-- Annotations -->
+ <define name="IRI.type">
+ <attribute name="specialAttrs"/>
+ </define>
+ <start combine="choice">
+ <ref name="IRI"/>
+ </start>
+ <define name="IRI">
+ <element name="IRI">
+ <ref name="IRI.type"/>
+ </element>
+ </define>
+ <define name="AbbreviatedIRI.type">
+ <attribute name="specialAttrs"/>
+ </define>
+ <start combine="choice">
+ <ref name="AbbreviatedIRI"/>
+ </start>
+ <define name="AbbreviatedIRI">
+ <element name="AbbreviatedIRI">
+ <ref name="AbbreviatedIRI.type"/>
+ </element>
+ </define>
+ <define name="AnnotationSubject">
+ <choice>
+ <ref name="IRI"/>
+ <ref name="AbbreviatedIRI"/>
+ <ref name="AnonymousIndividual"/>
+ </choice>
+ </define>
+ <define name="AnnotationValue">
+ <choice>
+ <ref name="IRI"/>
+ <ref name="AbbreviatedIRI"/>
+ <ref name="AnonymousIndividual"/>
+ <ref name="Literal"/>
+ </choice>
+ </define>
+ <define name="Annotation.type">
+ <ref name="annotationAnnotations"/>
+ <ref name="AnnotationProperty"/>
+ <ref name="AnnotationValue"/>
+ <attribute name="specialAttrs"/>
+ </define>
+ <start combine="choice">
+ <ref name="Annotation"/>
+ </start>
+ <define name="Annotation">
+ <element name="Annotation">
+ <ref name="Annotation.type"/>
+ </element>
+ </define>
+ <define name="axiomAnnotations">
+ <zeroOrMore>
+ <ref name="Annotation"/>
+ </zeroOrMore>
+ </define>
+ <define name="ontologyAnnotations">
+ <zeroOrMore>
+ <ref name="Annotation"/>
+ </zeroOrMore>
+ </define>
+ <define name="annotationAnnotations">
+ <zeroOrMore>
+ <ref name="Annotation"/>
+ </zeroOrMore>
+ </define>
+ <!-- Annotation axioms -->
+ <define name="AnnotationAxiom">
+ <choice>
+ <ref name="Axiom"/>
+ <ref name="AnnotationAssertion"/>
+ <ref name="SubAnnotationPropertyOf"/>
+ <ref name="AnnotationPropertyDomain"/>
+ <ref name="AnnotationPropertyRange"/>
+ </choice>
+ </define>
+ <define name="AnnotationAssertion.type">
+ <ref name="AnnotationAxiom"/>
+ <ref name="AnnotationProperty"/>
+ <ref name="AnnotationSubject"/>
+ <ref name="AnnotationValue"/>
+ </define>
+ <start combine="choice">
+ <ref name="AnnotationAssertion"/>
+ </start>
+ <define name="AnnotationAssertion">
+ <element name="AnnotationAssertion">
+ <ref name="AnnotationAssertion.type"/>
+ </element>
+ </define>
+ <define name="SubAnnotationPropertyOf.type">
+ <ref name="AnnotationAxiom"/>
+ <ref name="AnnotationProperty"/>
+ <!-- This is the subproperty -->
+ <ref name="AnnotationProperty"/>
+ </define>
+ <!-- This is the superproperty -->
+ <start combine="choice">
+ <ref name="SubAnnotationPropertyOf"/>
+ </start>
+ <define name="SubAnnotationPropertyOf">
+ <element name="SubAnnotationPropertyOf">
+ <ref name="SubAnnotationPropertyOf.type"/>
+ </element>
+ </define>
+ <define name="AnnotationPropertyDomain.type">
+ <ref name="AnnotationAxiom"/>
+ <ref name="AnnotationProperty"/>
+ <ref name="IRI"/>
+ <ref name="AbbreviatedIRI"/>
+ </define>
+ <start combine="choice">
+ <ref name="AnnotationPropertyDomain"/>
+ </start>
+ <define name="AnnotationPropertyDomain">
+ <element name="AnnotationPropertyDomain">
+ <ref name="AnnotationPropertyDomain.type"/>
+ </element>
+ </define>
+ <define name="AnnotationPropertyRange.type">
+ <ref name="AnnotationAxiom"/>
+ <ref name="AnnotationProperty"/>
+ <ref name="IRI"/>
+ <ref name="AbbreviatedIRI"/>
+ </define>
+ <start combine="choice">
+ <ref name="AnnotationPropertyRange"/>
+ </start>
+ <define name="AnnotationPropertyRange">
+ <element name="AnnotationPropertyRange">
+ <ref name="AnnotationPropertyRange.type"/>
+ </element>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng b/Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng
new file mode 100644
index 00000000000..4510c3776fd
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/owl2xml.rng
@@ -0,0 +1,809 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ A simplified RelaxNG for OWL2 (so that we can generate OWL from sTeX
+ https://kwarc.info/repos/kwarc/repos/stex/rnc/omdoc+ltxml.rnc
+ (c) 2010 Michael Kohlhase, released under the GNU Public License (GPL)
+-->
+<grammar ns="http://www.w3.org/2002/07/owl#" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="nonlocal-attribs">
+ <attribute>
+ <anyName>
+ <except>
+ <nsName ns=""/>
+ <nsName/>
+ </except>
+ </anyName>
+ <data type="string"/>
+ </attribute>
+ </define>
+ <start>
+ <ref name="Ontology"/>
+ </start>
+ <define name="base.attrib">
+ <element name="xml:base">
+ <data type="anyURI"/>
+ </element>
+ </define>
+ <define name="ontologyIRI.attrib">
+ <attribute name="ontologyIRI">
+ <data type="anyURI"/>
+ </attribute>
+ </define>
+ <define name="IRI.attrib">
+ <choice>
+ <attribute name="IRI"/>
+ <attribute name="abbreviatedIRI"/>
+ </choice>
+ </define>
+ <define name="datatypeIRI.attrib">
+ <attribute name="datatypeIRI"/>
+ </define>
+ <define name="name.attrib">
+ <attribute name="name"/>
+ </define>
+ <define name="facet.attrib">
+ <attribute name="facet">
+ <data type="anyURI"/>
+ </attribute>
+ </define>
+ <define name="cardinality.attrib">
+ <attribute name="cardinality">
+ <data type="integer"/>
+ </attribute>
+ </define>
+ <define name="Ontology.attribs">
+ <interleave>
+ <optional>
+ <ref name="ontologyIRI.attrib"/>
+ </optional>
+ <optional>
+ <ref name="base.attrib"/>
+ </optional>
+ </interleave>
+ </define>
+ <define name="Ontology.model">
+ <interleave>
+ <zeroOrMore>
+ <ref name="Prefix"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="Declaration"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="Import"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="Axioms"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="Axioms">
+ <interleave>
+ <zeroOrMore>
+ <ref name="AnnotationAssertion"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DatatypeDefinition"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="HasKey"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SubClassOf"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="EquivalentClasses"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ObjectProperties"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DataProperties"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DisjointClasses"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DifferentIndividuals"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SameIndividual"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ObjectPropertyAssertion"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DataPropertyAssertion"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ClassAssertion"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="NegativeObjectPropertyAssertion"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="NegativeDataPropertyAssertion"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="NegativeClassAssertion"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="Ontology">
+ <element name="Ontology">
+ <interleave>
+ <ref name="Ontology.attribs"/>
+ <ref name="Ontology.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="Prefix">
+ <element name="Prefix">
+ <interleave>
+ <ref name="name.attrib"/>
+ <ref name="IRI.attrib"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="Import">
+ <element name="Import">
+ <data type="anyURI"/>
+ </element>
+ </define>
+ <define name="ObjectProperties">
+ <interleave>
+ <zeroOrMore>
+ <ref name="SymmetricObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="AsymmetricObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ReflexiveObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="IrreflexiveObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="FunctionalObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="InverseObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DisjointObjectProperties"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="InverseFunctionalObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="TransitiveObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="TransitiveObjectProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ObjectPropertyDomain"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ObjectPropertyRange"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="InverseObjectProperties"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SubObjectPropertyOf"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="EquivalentObjectProperties"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="DataProperties">
+ <interleave>
+ <zeroOrMore>
+ <ref name="SymmetricDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="AsymmetricDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ReflexiveDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="IrreflexiveDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="FunctionalDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="InverseDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DisjointDataProperties"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="InverseFunctionalDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="TransitiveDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="TransitiveDataProperty"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DataPropertyDomain"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DataPropertyRange"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="InverseDataProperties"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SubDataPropertyOf"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="EquivalentDataProperties"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="Declaration.model">
+ <choice>
+ <ref name="Class.model"/>
+ <ref name="Data.model"/>
+ </choice>
+ </define>
+ <define name="Declaration">
+ <element name="Declaration">
+ <ref name="Declaration.model"/>
+ </element>
+ </define>
+ <define name="NamedIndividual">
+ <element name="NamedIndividual">
+ <ref name="IRI.attrib"/>
+ </element>
+ </define>
+ <define name="ClassAssertion">
+ <element name="ClassAssertion">
+ <ref name="Class.model"/>
+ <ref name="Ind.class"/>
+ </element>
+ </define>
+ <define name="NegativeClassAssertion">
+ <element name="NegativeClassAssertion">
+ <ref name="Class.model"/>
+ <ref name="Ind.class"/>
+ </element>
+ </define>
+ <define name="ObjectProperty">
+ <element name="ObjectProperty">
+ <ref name="IRI.attrib"/>
+ </element>
+ </define>
+ <define name="SymmetricObjectProperty">
+ <element name="SymmetricObjectProperty">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="AsymmetricObjectProperty">
+ <element name="AsymmetricObjectProperty">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DisjointObjectProperties">
+ <element name="DisjointObjectProperties">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ReflexiveObjectProperty">
+ <element name="ReflexiveObjectProperty">
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="IrreflexiveObjectProperty">
+ <element name="IrreflexiveObjectProperty">
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="FunctionalObjectProperty">
+ <element name="FunctionalObjectProperty">
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="InverseFunctionalObjectProperty">
+ <element name="InverseFunctionalObjectProperty">
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="InverseObjectProperty">
+ <element name="InverseObjectProperty">
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="InverseObjectProperties">
+ <element name="InverseObjectProperties">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="TransitiveObjectProperty">
+ <element name="TransitiveObjectProperty">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="EquivalentObjectProperties">
+ <element name="EquivalentObjectProperties">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectPropertyDomain">
+ <element name="ObjectPropertyDomain">
+ <ref name="ObjectProperty"/>
+ <ref name="Class"/>
+ </element>
+ </define>
+ <define name="ObjectPropertyRange">
+ <element name="ObjectPropertyRange">
+ <ref name="ObjectProperty"/>
+ <ref name="Class"/>
+ </element>
+ </define>
+ <define name="SubObjectPropertyOf">
+ <element name="SubObjectPropertyOf">
+ <choice>
+ <ref name="ObjectProperty"/>
+ <ref name="ObjectPropertyChain"/>
+ </choice>
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="ObjectPropertyChain">
+ <element name="ObjectPropertyChain">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectPropertyAssertion">
+ <element name="ObjectPropertyAssertion">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ <ref name="Ind.class"/>
+ <ref name="Ind.class"/>
+ </element>
+ </define>
+ <define name="NegativeObjectPropertyAssertion">
+ <element name="NegativeObjectPropertyAssertion">
+ <zeroOrMore>
+ <ref name="ObjectProperty"/>
+ </zeroOrMore>
+ <ref name="Ind.class"/>
+ <ref name="Ind.class"/>
+ </element>
+ </define>
+ <define name="SymmetricDataProperty">
+ <element name="SymmetricDataProperty">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="AsymmetricDataProperty">
+ <element name="AsymmetricDataProperty">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DisjointDataProperties">
+ <element name="DisjointDataProperties">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ReflexiveDataProperty">
+ <element name="ReflexiveDataProperty">
+ <ref name="DataProperty"/>
+ </element>
+ </define>
+ <define name="IrreflexiveDataProperty">
+ <element name="IrreflexiveDataProperty">
+ <ref name="DataProperty"/>
+ </element>
+ </define>
+ <define name="FunctionalDataProperty">
+ <element name="FunctionalDataProperty">
+ <ref name="DataProperty"/>
+ </element>
+ </define>
+ <define name="InverseFunctionalDataProperty">
+ <element name="InverseFunctionalDataProperty">
+ <ref name="DataProperty"/>
+ </element>
+ </define>
+ <define name="InverseDataProperty">
+ <element name="InverseDataProperty">
+ <ref name="DataProperty"/>
+ </element>
+ </define>
+ <define name="InverseDataProperties">
+ <element name="InverseDataProperties">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="TransitiveDataProperty">
+ <element name="TransitiveDataProperty">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="EquivalentDataProperties">
+ <element name="EquivalentDataProperties">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DataPropertyDomain">
+ <element name="DataPropertyDomain">
+ <ref name="DataProperty"/>
+ <ref name="Class"/>
+ </element>
+ </define>
+ <define name="DataPropertyRange">
+ <element name="DataPropertyRange">
+ <ref name="DataProperty"/>
+ <ref name="Datatype"/>
+ </element>
+ </define>
+ <define name="SubDataPropertyOf">
+ <element name="SubDataPropertyOf">
+ <choice>
+ <ref name="DataProperty"/>
+ <ref name="DataPropertyChain"/>
+ </choice>
+ <ref name="DataProperty"/>
+ </element>
+ </define>
+ <define name="DataPropertyChain">
+ <element name="DataPropertyChain">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DataPropertyAssertion">
+ <element name="DataPropertyAssertion">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ <ref name="Ind.class"/>
+ <ref name="Literal"/>
+ </element>
+ </define>
+ <define name="NegativeDataPropertyAssertion">
+ <element name="NegativeDataPropertyAssertion">
+ <zeroOrMore>
+ <ref name="DataProperty"/>
+ </zeroOrMore>
+ <ref name="Ind.class"/>
+ <ref name="Literal"/>
+ </element>
+ </define>
+ <define name="DataProperty">
+ <element name="DataProperty">
+ <ref name="IRI.attrib"/>
+ </element>
+ </define>
+ <define name="Datatype">
+ <element name="Datatype">
+ <ref name="IRI.attrib"/>
+ </element>
+ </define>
+ <define name="Class">
+ <element name="Class">
+ <ref name="IRI.attrib"/>
+ </element>
+ </define>
+ <define name="Annotation">
+ <element name="Annotation">
+ <interleave>
+ <ref name="AnnotationProperty"/>
+ <ref name="Literal"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="AnnotationAssertion">
+ <element name="AnnotationAssertion">
+ <ref name="AnnotationProperty"/>
+ <ref name="IRI"/>
+ <ref name="Literal"/>
+ </element>
+ </define>
+ <define name="AnnotationProperty">
+ <element name="AnnotationProperty">
+ <ref name="IRI.attrib"/>
+ </element>
+ </define>
+ <define name="IRI">
+ <element name="IRI">
+ <data type="anyURI"/>
+ </element>
+ </define>
+ <define name="Literal">
+ <element name="Literal">
+ <interleave>
+ <optional>
+ <ref name="datatypeIRI.attrib"/>
+ </optional>
+ <text/>
+ </interleave>
+ </element>
+ </define>
+ <define name="DatatypeDefinition.model">
+ <interleave>
+ <zeroOrMore>
+ <ref name="Datatype"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DatatypeRestriction"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DataComplementOf"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DataIntersectionOf"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="DataOneOf"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="DatatypeDefinition">
+ <element name="DatatypeDefinition">
+ <ref name="DatatypeDefinition.model"/>
+ </element>
+ </define>
+ <define name="DatatypeRestriction">
+ <element name="DatatypeRestriction">
+ <interleave>
+ <ref name="Datatype"/>
+ <zeroOrMore>
+ <ref name="FacetRestriction"/>
+ </zeroOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="FacetRestriction">
+ <element name="FacetRestriction">
+ <interleave>
+ <ref name="facet.attrib"/>
+ <ref name="Literal"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="DataIntersectionOf">
+ <element name="DataIntersectionOf">
+ <zeroOrMore>
+ <ref name="Data.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DataComplementOf">
+ <element name="DataComplementOf">
+ <zeroOrMore>
+ <ref name="Data.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DataOneOf">
+ <element name="DataOneOf">
+ <zeroOrMore>
+ <ref name="Literal"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DataSomeValuesFrom">
+ <element name="DataSomeValuesFrom">
+ <zeroOrMore>
+ <ref name="Data.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DataAllValuesFrom">
+ <element name="DataAllValuesFrom">
+ <zeroOrMore>
+ <ref name="Data.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Data.model">
+ <choice>
+ <ref name="DataProperty"/>
+ <ref name="Datatype"/>
+ <ref name="DataOneOf"/>
+ <ref name="DataSomeValuesFrom"/>
+ <ref name="DataAllValuesFrom"/>
+ <ref name="DataComplementOf"/>
+ <ref name="DatatypeRestriction"/>
+ </choice>
+ </define>
+ <define name="HasKey">
+ <element name="HasKey">
+ <ref name="Class"/>
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="SubClassOf">
+ <element name="SubClassOf">
+ <zeroOrMore>
+ <ref name="Annotation"/>
+ </zeroOrMore>
+ <ref name="Class.model"/>
+ <choice>
+ <ref name="Data.model"/>
+ <ref name="Class.model"/>
+ </choice>
+ </element>
+ </define>
+ <define name="EquivalentClasses">
+ <element name="EquivalentClasses">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectIntersectionOf">
+ <element name="ObjectIntersectionOf">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectComplementOf">
+ <element name="ObjectComplementOf">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectSomeValuesFrom">
+ <element name="ObjectSomeValuesFrom">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectAllValuesFrom">
+ <element name="ObjectAllValuesFrom">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectOneOf">
+ <element name="ObjectOneOf">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectInverseOf">
+ <element name="ObjectInverseOf">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="ObjectMaxCardinality">
+ <element name="ObjectMaxCardinality">
+ <interleave>
+ <ref name="cardinality.attrib"/>
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="ObjectMinCardinality">
+ <element name="ObjectMinCardinality">
+ <interleave>
+ <ref name="cardinality.attrib"/>
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="ObjectExactCardinality">
+ <element name="ObjectExactCardinality">
+ <interleave>
+ <ref name="cardinality.attrib"/>
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="ObjectHasValue">
+ <element name="ObjectHasValue">
+ <ref name="ObjectProperty"/>
+ <ref name="Ind.class"/>
+ </element>
+ </define>
+ <define name="ObjectHasSelf">
+ <element name="ObjectHasSelf">
+ <ref name="ObjectProperty"/>
+ </element>
+ </define>
+ <define name="ObjectUnionOf">
+ <element name="ObjectUnionOf">
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Class.model">
+ <choice>
+ <ref name="Class"/>
+ <ref name="ObjectIntersectionOf"/>
+ <ref name="ObjectComplementOf"/>
+ <ref name="ObjectSomeValuesFrom"/>
+ <ref name="ObjectAllValuesFrom"/>
+ <ref name="ObjectOneOf"/>
+ <ref name="Ind.class"/>
+ <ref name="ObjectInverseOf"/>
+ <ref name="ObjectProperty"/>
+ <ref name="ObjectMaxCardinality"/>
+ <ref name="ObjectMinCardinality"/>
+ <ref name="ObjectExactCardinality"/>
+ <ref name="ObjectHasValue"/>
+ <ref name="ObjectHasSelf"/>
+ <ref name="ObjectUnionOf"/>
+ </choice>
+ </define>
+ <define name="DisjointClasses">
+ <element name="DisjointClasses">
+ <optional>
+ <ref name="Annotation"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="Class.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="DifferentIndividuals">
+ <element name="DifferentIndividuals">
+ <zeroOrMore>
+ <ref name="Ind.class"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="SameIndividual">
+ <element name="SameIndividual">
+ <zeroOrMore>
+ <ref name="Ind.class"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="Ind.class">
+ <ref name="NamedIndividual"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/pxhtml.rng b/Master/texmf-dist/source/latex/stex/schema/rng/pxhtml.rng
new file mode 100644
index 00000000000..721c22c0da2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/pxhtml.rng
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ XHTML for paragraphs in OMDoc
+ this is a subset of the xhtml RelaxNG schema for XHTML we use it for paragraphs in OMDoc1.3
+-->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <include href="xhtml-datatypes.rng"/>
+ <include href="xhtml-attribs.rng"/>
+ <include href="xhtml-text.rng"/>
+ <include href="xhtml-hypertext.rng"/>
+ <include href="xhtml-list.rng"/>
+ <include href="xhtml-image.rng"/>
+ <include href="xhtml-param.rng"/>
+ <include href="xhtml-object.rng"/>
+ <include href="xhtml-bdo.rng"/>
+ <include href="xhtml-applet.rng"/>
+ <include href="xhtml-table.rng"/>
+ <include href="xhtml-inlstyle.rng"/>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/statements.rng b/Master/texmf-dist/source/latex/stex/schema/rng/statements.rng
new file mode 100644
index 00000000000..c678f7f8d7d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/statements.rng
@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ /=====================================================================\
+ | Mathematical Statements for LaTeXML |
+ |=====================================================================|
+ | Not Part of LaTeXML: |
+ | Copyright (c) 2005 Michael Kohlhase |
+ | Released under the Gnu Public License (GPL) |
+ |=====================================================================|
+ | Michael Kohlhase <m.kohlhase@iu-bremen.de> #_# |
+ | http://dlmf.nist.gov/LaTeXML/ (o o) |
+ \=========================================================ooo==U==ooo=/
+-->
+<grammar ns="http://dlmf.nist.gov/LaTeXML" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <define name="statement.model">
+ <choice>
+ <text/>
+ <ref name="Flow.class"/>
+ </choice>
+ </define>
+ <define name="example">
+ <element name="example">
+ <ref name="Common.attribs"/>
+ <attribute name="for">
+ <data type="string"/>
+ </attribute>
+ <optional>
+ <ref name="metadata"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="statement.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="definition">
+ <element name="definition">
+ <ref name="Common.attribs"/>
+ <attribute name="for">
+ <data type="string"/>
+ </attribute>
+ <optional>
+ <ref name="metadata"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="statement.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="definiens">
+ <element name="definiens">
+ <attribute name="name">
+ <data type="string"/>
+ </attribute>
+ <zeroOrMore>
+ <ref name="statement.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="termin">
+ <element name="termin">
+ <attribute name="cd">
+ <data type="NCName"/>
+ </attribute>
+ <attribute name="name">
+ <data type="NCName"/>
+ </attribute>
+ <zeroOrMore>
+ <choice>
+ <ref name="statement.model"/>
+ <ref name="Math"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="notation">
+ <element name="notation">
+ <ref name="Common.attribs"/>
+ <attribute name="for">
+ <data type="string"/>
+ </attribute>
+ <zeroOrMore>
+ <ref name="statement.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="notemph">
+ <element name="notemph">
+ <zeroOrMore>
+ <choice>
+ <ref name="statement.model"/>
+ <ref name="Math"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="statement-group">
+ <element name="statement-group">
+ <ref name="Common.attribs"/>
+ <optional>
+ <ref name="metadata"/>
+ </optional>
+ <zeroOrMore>
+ <choice>
+ <ref name="omtext"/>
+ <ref name="example"/>
+ <ref name="definition"/>
+ <ref name="symbol"/>
+ <ref name="assertion"/>
+ <ref name="notation"/>
+ <ref name="itemize"/>
+ <ref name="enumerate"/>
+ <ref name="description"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="symbol">
+ <element name="symbol">
+ <attribute name="name">
+ <data type="string"/>
+ </attribute>
+ </element>
+ </define>
+ <define name="assertion">
+ <element name="assertion">
+ <ref name="Common.attribs"/>
+ <optional>
+ <attribute name="type">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="metadata"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="statement.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="axiom">
+ <element name="axiom">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <ref name="statement.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="proof.model">
+ <choice>
+ <ref name="omtext"/>
+ <ref name="step"/>
+ <ref name="cases"/>
+ </choice>
+ </define>
+ <define name="proof">
+ <element name="proof">
+ <ref name="Common.attribs"/>
+ <optional>
+ <attribute name="for">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="metadata"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="proof.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="cases">
+ <element name="cases">
+ <zeroOrMore>
+ <choice>
+ <ref name="case"/>
+ <ref name="omtext"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="case">
+ <element name="case">
+ <ref name="Common.attribs"/>
+ <optional>
+ <attribute name="for">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <zeroOrMore>
+ <ref name="proof.model"/>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="step">
+ <element name="step">
+ <ref name="Common.attribs"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="statement.model"/>
+ <ref name="method"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="method">
+ <element name="method">
+ <ref name="Common.attribs"/>
+ <attribute name="xref">
+ <data type="string"/>
+ </attribute>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Math"/>
+ <ref name="proof"/>
+ <ref name="premise"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="premise">
+ <element name="premise">
+ <ref name="Common.attribs"/>
+ <attribute name="xref">
+ <data type="string"/>
+ </attribute>
+ </element>
+ </define>
+ <define name="omtext">
+ <element name="omtext">
+ <ref name="Common.attribs"/>
+ <optional>
+ <attribute name="for">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="from">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <data type="string"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="metadata"/>
+ </optional>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Flow.class"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+ <define name="statements.Block.class" combine="choice">
+ <choice>
+ <ref name="example"/>
+ <ref name="definition"/>
+ <ref name="notation"/>
+ <ref name="symbol"/>
+ <ref name="assertion"/>
+ <ref name="proof"/>
+ <ref name="axiom"/>
+ <ref name="omtext"/>
+ <ref name="statement-group"/>
+ </choice>
+ </define>
+ <define name="statements.Inline.class" combine="choice">
+ <choice>
+ <ref name="definiens"/>
+ <ref name="notemph"/>
+ <ref name="termin"/>
+ <ref name="method"/>
+ </choice>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-animation.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-animation.rng
new file mode 100644
index 00000000000..918313a71fe
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-animation.rng
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Animation Module
+ file: svg-animation.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-animation.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Animation
+
+ animate, set, animateMotion, animateColor, animateTransform, mpath
+
+ This module declares markup to provide support for animation.
+ </a:documentation>
+ <a:documentation>
+ SVG.Animation.class
+ </a:documentation>
+ <define name="SVG.Animation.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Animation.class" combine="choice">
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ <ref name="animateMotion"/>
+ <ref name="animateColor"/>
+ <ref name="animateTransform"/>
+ <ref name="SVG.Animation.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ SVG.Animation.attrib
+ </a:documentation>
+ <define name="SVG.Animation.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Animation.attrib">
+ <ref name="SVG.XLink.attrib"/>
+ <ref name="SVG.Animation.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.AnimationAttribute.attrib
+ </a:documentation>
+ <define name="SVG.AnimationAttribute.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.AnimationAttribute.attrib">
+ <attribute name="attributeName"/>
+ <optional>
+ <attribute name="attributeType"/>
+ </optional>
+ <ref name="SVG.AnimationAttribute.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.AnimationTiming.attrib
+ </a:documentation>
+ <define name="SVG.AnimationTiming.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.AnimationTiming.attrib">
+ <optional>
+ <attribute name="begin"/>
+ </optional>
+ <optional>
+ <attribute name="dur"/>
+ </optional>
+ <optional>
+ <attribute name="end"/>
+ </optional>
+ <optional>
+ <attribute name="min"/>
+ </optional>
+ <optional>
+ <attribute name="max"/>
+ </optional>
+ <optional>
+ <attribute name="restart" a:defaultValue="always">
+ <choice>
+ <value>always</value>
+ <value>never</value>
+ <value>whenNotActive</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="repeatCount"/>
+ </optional>
+ <optional>
+ <attribute name="repeatDur"/>
+ </optional>
+ <optional>
+ <attribute name="fill" a:defaultValue="remove">
+ <choice>
+ <value>remove</value>
+ <value>freeze</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="SVG.AnimationTiming.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.AnimationValue.attrib
+ </a:documentation>
+ <define name="SVG.AnimationValue.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.AnimationValue.attrib">
+ <optional>
+ <attribute name="calcMode" a:defaultValue="linear">
+ <choice>
+ <value>discrete</value>
+ <value>linear</value>
+ <value>paced</value>
+ <value>spline</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="values"/>
+ </optional>
+ <optional>
+ <attribute name="keyTimes"/>
+ </optional>
+ <optional>
+ <attribute name="keySplines"/>
+ </optional>
+ <optional>
+ <attribute name="from"/>
+ </optional>
+ <optional>
+ <attribute name="to"/>
+ </optional>
+ <optional>
+ <attribute name="by"/>
+ </optional>
+ <ref name="SVG.AnimationValue.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.AnimationAddtion.attrib
+ </a:documentation>
+ <define name="SVG.AnimationAddtion.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.AnimationAddtion.attrib">
+ <optional>
+ <attribute name="additive" a:defaultValue="replace">
+ <choice>
+ <value>replace</value>
+ <value>sum</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="accumulate" a:defaultValue="none">
+ <choice>
+ <value>none</value>
+ <value>sum</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="SVG.AnimationAddtion.extra.attrib"/>
+ </define>
+ <a:documentation>
+ animate: Animate Element
+ </a:documentation>
+ <define name="SVG.animate.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="animate">
+ <element name="animate">
+ <ref name="attlist.animate"/>
+ <ref name="SVG.animate.content"/>
+ </element>
+ </define>
+ <define name="attlist.animate" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.AnimationEvents.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <ref name="SVG.Animation.attrib"/>
+ <ref name="SVG.AnimationAttribute.attrib"/>
+ <ref name="SVG.AnimationTiming.attrib"/>
+ <ref name="SVG.AnimationValue.attrib"/>
+ <ref name="SVG.AnimationAddtion.attrib"/>
+ </define>
+ <a:documentation>
+ set: Set Element
+ </a:documentation>
+ <define name="SVG.set.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="set">
+ <element name="set">
+ <ref name="attlist.set"/>
+ <ref name="SVG.set.content"/>
+ </element>
+ </define>
+ <define name="attlist.set" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.AnimationEvents.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <ref name="SVG.Animation.attrib"/>
+ <ref name="SVG.AnimationAttribute.attrib"/>
+ <ref name="SVG.AnimationTiming.attrib"/>
+ <optional>
+ <attribute name="to"/>
+ </optional>
+ </define>
+ <a:documentation>
+ animateMotion: Animate Motion Element
+ </a:documentation>
+ <define name="SVG.animateMotion.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="mpath"/>
+ </optional>
+ </define>
+ <define name="animateMotion">
+ <element name="animateMotion">
+ <ref name="attlist.animateMotion"/>
+ <ref name="SVG.animateMotion.content"/>
+ </element>
+ </define>
+ <define name="attlist.animateMotion" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.AnimationEvents.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <ref name="SVG.Animation.attrib"/>
+ <ref name="SVG.AnimationTiming.attrib"/>
+ <ref name="SVG.AnimationAddtion.attrib"/>
+ <optional>
+ <attribute name="calcMode" a:defaultValue="paced">
+ <choice>
+ <value>discrete</value>
+ <value>linear</value>
+ <value>paced</value>
+ <value>spline</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="values"/>
+ </optional>
+ <optional>
+ <attribute name="keyTimes"/>
+ </optional>
+ <optional>
+ <attribute name="keySplines"/>
+ </optional>
+ <optional>
+ <attribute name="from"/>
+ </optional>
+ <optional>
+ <attribute name="to"/>
+ </optional>
+ <optional>
+ <attribute name="by"/>
+ </optional>
+ <optional>
+ <attribute name="path"/>
+ </optional>
+ <optional>
+ <attribute name="keyPoints"/>
+ </optional>
+ <optional>
+ <attribute name="rotate"/>
+ </optional>
+ <optional>
+ <attribute name="origin"/>
+ </optional>
+ </define>
+ <a:documentation>
+ animateColor: Animate Color Element
+ </a:documentation>
+ <define name="SVG.animateColor.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="animateColor">
+ <element name="animateColor">
+ <ref name="attlist.animateColor"/>
+ <ref name="SVG.animateColor.content"/>
+ </element>
+ </define>
+ <define name="attlist.animateColor" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.AnimationEvents.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <ref name="SVG.Animation.attrib"/>
+ <ref name="SVG.AnimationAttribute.attrib"/>
+ <ref name="SVG.AnimationTiming.attrib"/>
+ <ref name="SVG.AnimationValue.attrib"/>
+ <ref name="SVG.AnimationAddtion.attrib"/>
+ </define>
+ <a:documentation>
+ animateTransform: Animate Transform Element
+ </a:documentation>
+ <define name="SVG.animateTransform.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="animateTransform">
+ <element name="animateTransform">
+ <ref name="attlist.animateTransform"/>
+ <ref name="SVG.animateTransform.content"/>
+ </element>
+ </define>
+ <define name="attlist.animateTransform" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.AnimationEvents.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <ref name="SVG.Animation.attrib"/>
+ <ref name="SVG.AnimationAttribute.attrib"/>
+ <ref name="SVG.AnimationTiming.attrib"/>
+ <ref name="SVG.AnimationValue.attrib"/>
+ <ref name="SVG.AnimationAddtion.attrib"/>
+ <optional>
+ <attribute name="type" a:defaultValue="translate">
+ <choice>
+ <value>translate</value>
+ <value>scale</value>
+ <value>rotate</value>
+ <value>skewX</value>
+ <value>skewY</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ mpath: Motion Path Element
+ </a:documentation>
+ <define name="SVG.mpath.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="mpath">
+ <element name="mpath">
+ <ref name="attlist.mpath"/>
+ <ref name="SVG.mpath.content"/>
+ </element>
+ </define>
+ <define name="attlist.mpath" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.XLinkRequired.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-animevents-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-animevents-attrib.rng
new file mode 100644
index 00000000000..164414fe0fc
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-animevents-attrib.rng
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Animation Events Attribute Module
+ file: svg-animevents-attrib.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-animevents-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Animation Events Attribute
+
+ onbegin, onend, onrepeat, onload
+
+ This module defines the AnimationEvents attribute set.
+ </a:documentation>
+ <define name="SVG.onbegin.attrib">
+ <optional>
+ <attribute name="onbegin">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onend.attrib">
+ <optional>
+ <attribute name="onend">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onrepeat.attrib">
+ <optional>
+ <attribute name="onrepeat">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.AnimationEvents.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.AnimationEvents.attrib" combine="interleave">
+ <ref name="SVG.onbegin.attrib"/>
+ <ref name="SVG.onend.attrib"/>
+ <ref name="SVG.onrepeat.attrib"/>
+ <ref name="SVG.onload.attrib"/>
+ <ref name="SVG.AnimationEvents.extra.attrib"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-clip.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-clip.rng
new file mode 100644
index 00000000000..0bb1333829f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-clip.rng
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" 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">
+ <a:documentation>
+ SVG 1.1 Basic Clip Module
+ file: svg-basic-clip.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-basic-clip.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Basic Clip
+
+ clipPath
+
+ This module declares markup to provide support for clipping.
+ </a:documentation>
+ <a:documentation>
+ Datatypes
+ </a:documentation>
+ <define name="ClipPathValue.datatype">
+ <data type="string"/>
+ </define>
+ <a:documentation>
+ SVG.Clip.attrib
+ </a:documentation>
+ <define name="SVG.Clip.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Clip.attrib" combine="interleave">
+ <optional>
+ <attribute name="clip-path">
+ <ref name="ClipPathValue.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="clip-rule">
+ <ref name="ClipFillRule.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="SVG.Clip.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.Clip.class
+ </a:documentation>
+ <define name="SVG.Clip.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Clip.class" combine="choice">
+ <choice>
+ <ref name="clipPath"/>
+ <ref name="SVG.Clip.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ clipPath: Clip Path Element
+ </a:documentation>
+ <define name="SVG.clipPath.class">
+ <choice>
+ <ref name="rect"/>
+ <ref name="SVG.Animation.class"/>
+ <ref name="SVG.Use.class"/>
+ </choice>
+ </define>
+ <define name="SVG.clipPath.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SVG.clipPath.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="clipPath">
+ <element name="clipPath">
+ <ref name="attlist.clipPath"/>
+ <ref name="SVG.clipPath.content"/>
+ </element>
+ </define>
+ <define name="attlist.clipPath" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Text.attrib"/>
+ <ref name="SVG.TextContent.attrib"/>
+ <ref name="SVG.Font.attrib"/>
+ <ref name="SVG.Paint.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Opacity.attrib"/>
+ <ref name="SVG.Graphics.attrib"/>
+ <ref name="SVG.Clip.attrib"/>
+ <ref name="SVG.Mask.attrib"/>
+ <ref name="SVG.Filter.attrib"/>
+ <ref name="SVG.Cursor.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="clipPathUnits">
+ <choice>
+ <value>userSpaceOnUse</value>
+ <value>objectBoundingBox</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-filter.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-filter.rng
new file mode 100644
index 00000000000..6e9a39b50fa
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-filter.rng
@@ -0,0 +1,779 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" 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">
+ <a:documentation>
+ SVG 1.1 Basic Filter Module
+ file: svg-basic-filter.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-basic-filter.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Basic Filter
+
+ filter, feBlend, feColorMatrix, feComponentTransfer, feComposite,
+ feFlood, feGaussianBlur, feImage, feMerge, feMergeNode, feOffset,
+ feTile, feFuncR, feFuncG, feFuncB, feFuncA
+
+ This module declares markup to provide support for filter effect.
+ </a:documentation>
+ <a:documentation>
+ Datatypes
+ </a:documentation>
+ <define name="FilterValue.datatype">
+ <data type="string"/>
+ </define>
+ <define name="NumberOptionalNumber.datatype">
+ <data type="string"/>
+ </define>
+ <a:documentation>
+ SVG.Filter.attrib
+ </a:documentation>
+ <define name="SVG.Filter.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Filter.attrib" combine="interleave">
+ <optional>
+ <attribute name="filter">
+ <ref name="FilterValue.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="SVG.Filter.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.FilterColor.attrib
+ </a:documentation>
+ <define name="SVG.FilterColor.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.FilterColor.attrib" combine="interleave">
+ <optional>
+ <attribute name="color-interpolation-filters">
+ <choice>
+ <value>auto</value>
+ <value>sRGB</value>
+ <value>linearRGB</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="SVG.FilterColor.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.Filter.class
+ </a:documentation>
+ <define name="SVG.Filter.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Filter.class" combine="choice">
+ <choice>
+ <ref name="filter"/>
+ <ref name="SVG.Filter.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ SVG.FilterPrimitive.class
+ </a:documentation>
+ <define name="SVG.FilterPrimitive.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.FilterPrimitive.class">
+ <choice>
+ <ref name="feBlend"/>
+ <ref name="feColorMatrix"/>
+ <ref name="feComponentTransfer"/>
+ <ref name="feComposite"/>
+ <ref name="feFlood"/>
+ <ref name="feGaussianBlur"/>
+ <ref name="feImage"/>
+ <ref name="feMerge"/>
+ <ref name="feOffset"/>
+ <ref name="feTile"/>
+ <ref name="SVG.FilterPrimitive.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ SVG.FilterPrimitive.attrib
+ </a:documentation>
+ <define name="SVG.FilterPrimitive.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.FilterPrimitive.attrib">
+ <optional>
+ <attribute name="x">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="result"/>
+ </optional>
+ <ref name="SVG.FilterPrimitive.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.FilterPrimitiveWithIn.attrib
+ </a:documentation>
+ <define name="SVG.FilterPrimitiveWithIn.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.FilterPrimitiveWithIn.attrib">
+ <ref name="SVG.FilterPrimitive.attrib"/>
+ <optional>
+ <attribute name="in"/>
+ </optional>
+ <ref name="SVG.FilterPrimitiveWithIn.extra.attrib"/>
+ </define>
+ <a:documentation>
+ filter: Filter Element
+ </a:documentation>
+ <define name="SVG.filter.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ <ref name="SVG.FilterPrimitive.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="filter">
+ <element name="filter">
+ <ref name="attlist.filter"/>
+ <ref name="SVG.filter.content"/>
+ </element>
+ </define>
+ <define name="attlist.filter" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <ref name="SVG.XLink.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="x">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="filterRes">
+ <ref name="NumberOptionalNumber.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="filterUnits">
+ <choice>
+ <value>userSpaceOnUse</value>
+ <value>objectBoundingBox</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="primitiveUnits">
+ <choice>
+ <value>userSpaceOnUse</value>
+ <value>objectBoundingBox</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feBlend: Filter Effect Blend Element
+ </a:documentation>
+ <define name="SVG.feBlend.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feBlend">
+ <element name="feBlend">
+ <ref name="attlist.feBlend"/>
+ <ref name="SVG.feBlend.content"/>
+ </element>
+ </define>
+ <define name="attlist.feBlend" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
+ <attribute name="in2"/>
+ <optional>
+ <attribute name="mode" a:defaultValue="normal">
+ <choice>
+ <value>normal</value>
+ <value>multiply</value>
+ <value>screen</value>
+ <value>darken</value>
+ <value>lighten</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feColorMatrix: Filter Effect Color Matrix Element
+ </a:documentation>
+ <define name="SVG.feColorMatrix.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feColorMatrix">
+ <element name="feColorMatrix">
+ <ref name="attlist.feColorMatrix"/>
+ <ref name="SVG.feColorMatrix.content"/>
+ </element>
+ </define>
+ <define name="attlist.feColorMatrix" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
+ <optional>
+ <attribute name="type" a:defaultValue="matrix">
+ <choice>
+ <value>matrix</value>
+ <value>saturate</value>
+ <value>hueRotate</value>
+ <value>luminanceToAlpha</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="values"/>
+ </optional>
+ </define>
+ <a:documentation>
+ feComponentTransfer: Filter Effect Component Transfer Element
+ </a:documentation>
+ <define name="SVG.feComponentTransfer.content">
+ <optional>
+ <ref name="feFuncR"/>
+ </optional>
+ <optional>
+ <ref name="feFuncG"/>
+ </optional>
+ <optional>
+ <ref name="feFuncB"/>
+ </optional>
+ <optional>
+ <ref name="feFuncA"/>
+ </optional>
+ </define>
+ <define name="feComponentTransfer">
+ <element name="feComponentTransfer">
+ <ref name="attlist.feComponentTransfer"/>
+ <ref name="SVG.feComponentTransfer.content"/>
+ </element>
+ </define>
+ <define name="attlist.feComponentTransfer" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
+ </define>
+ <a:documentation>
+ feComposite: Filter Effect Composite Element
+ </a:documentation>
+ <define name="SVG.feComposite.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feComposite">
+ <element name="feComposite">
+ <ref name="attlist.feComposite"/>
+ <ref name="SVG.feComposite.content"/>
+ </element>
+ </define>
+ <define name="attlist.feComposite" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
+ <attribute name="in2"/>
+ <optional>
+ <attribute name="operator" a:defaultValue="over">
+ <choice>
+ <value>over</value>
+ <value>in</value>
+ <value>out</value>
+ <value>atop</value>
+ <value>xor</value>
+ <value>arithmetic</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="k1">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="k2">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="k3">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="k4">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feFlood: Filter Effect Flood Element
+ </a:documentation>
+ <define name="SVG.feFlood.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ <ref name="animateColor"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feFlood">
+ <element name="feFlood">
+ <ref name="attlist.feFlood"/>
+ <ref name="SVG.feFlood.content"/>
+ </element>
+ </define>
+ <define name="attlist.feFlood" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
+ <optional>
+ <attribute name="flood-color">
+ <ref name="SVGColor.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="flood-opacity">
+ <ref name="OpacityValue.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feGaussianBlur: Filter Effect Gaussian Blur Element
+ </a:documentation>
+ <define name="SVG.feGaussianBlur.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feGaussianBlur">
+ <element name="feGaussianBlur">
+ <ref name="attlist.feGaussianBlur"/>
+ <ref name="SVG.feGaussianBlur.content"/>
+ </element>
+ </define>
+ <define name="attlist.feGaussianBlur" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
+ <optional>
+ <attribute name="stdDeviation">
+ <ref name="NumberOptionalNumber.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feImage: Filter Effect Image Element
+ </a:documentation>
+ <define name="SVG.feImage.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ <ref name="animateTransform"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feImage">
+ <element name="feImage">
+ <ref name="attlist.feImage"/>
+ <ref name="SVG.feImage.content"/>
+ </element>
+ </define>
+ <define name="attlist.feImage" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <ref name="SVG.FilterPrimitive.attrib"/>
+ <ref name="SVG.XLinkEmbed.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="preserveAspectRatio" a:defaultValue="xMidYMid meet">
+ <ref name="PreserveAspectRatioSpec.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feMerge: Filter Effect Merge Element
+ </a:documentation>
+ <define name="SVG.feMerge.content">
+ <zeroOrMore>
+ <ref name="feMergeNode"/>
+ </zeroOrMore>
+ </define>
+ <define name="feMerge">
+ <element name="feMerge">
+ <ref name="attlist.feMerge"/>
+ <ref name="SVG.feMerge.content"/>
+ </element>
+ </define>
+ <define name="attlist.feMerge" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.FilterPrimitive.attrib"/>
+ </define>
+ <a:documentation>
+ feMergeNode: Filter Effect Merge Node Element
+ </a:documentation>
+ <define name="SVG.feMergeNode.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feMergeNode">
+ <element name="feMergeNode">
+ <ref name="attlist.feMergeNode"/>
+ <ref name="SVG.feMergeNode.content"/>
+ </element>
+ </define>
+ <define name="attlist.feMergeNode" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <optional>
+ <attribute name="in"/>
+ </optional>
+ </define>
+ <a:documentation>
+ feOffset: Filter Effect Offset Element
+ </a:documentation>
+ <define name="SVG.feOffset.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feOffset">
+ <element name="feOffset">
+ <ref name="attlist.feOffset"/>
+ <ref name="SVG.feOffset.content"/>
+ </element>
+ </define>
+ <define name="attlist.feOffset" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
+ <optional>
+ <attribute name="dx">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dy">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feTile: Filter Effect Tile Element
+ </a:documentation>
+ <define name="SVG.feTile.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feTile">
+ <element name="feTile">
+ <ref name="attlist.feTile"/>
+ <ref name="SVG.feTile.content"/>
+ </element>
+ </define>
+ <define name="attlist.feTile" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
+ </define>
+ <a:documentation>
+ feFuncR: Filter Effect Function Red Element
+ </a:documentation>
+ <define name="SVG.feFuncR.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feFuncR">
+ <element name="feFuncR">
+ <ref name="attlist.feFuncR"/>
+ <ref name="SVG.feFuncR.content"/>
+ </element>
+ </define>
+ <define name="attlist.feFuncR" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <attribute name="type">
+ <choice>
+ <value>identity</value>
+ <value>table</value>
+ <value>discrete</value>
+ <value>linear</value>
+ <value>gamma</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="tableValues"/>
+ </optional>
+ <optional>
+ <attribute name="slope">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="intercept">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="amplitude">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="exponent">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="offset">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feFuncG: Filter Effect Function Green Element
+ </a:documentation>
+ <define name="SVG.feFuncG.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feFuncG">
+ <element name="feFuncG">
+ <ref name="attlist.feFuncG"/>
+ <ref name="SVG.feFuncG.content"/>
+ </element>
+ </define>
+ <define name="attlist.feFuncG" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <attribute name="type">
+ <choice>
+ <value>identity</value>
+ <value>table</value>
+ <value>discrete</value>
+ <value>linear</value>
+ <value>gamma</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="tableValues"/>
+ </optional>
+ <optional>
+ <attribute name="slope">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="intercept">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="amplitude">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="exponent">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="offset">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feFuncB: Filter Effect Function Blue Element
+ </a:documentation>
+ <define name="SVG.feFuncB.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feFuncB">
+ <element name="feFuncB">
+ <ref name="attlist.feFuncB"/>
+ <ref name="SVG.feFuncB.content"/>
+ </element>
+ </define>
+ <define name="attlist.feFuncB" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <attribute name="type">
+ <choice>
+ <value>identity</value>
+ <value>table</value>
+ <value>discrete</value>
+ <value>linear</value>
+ <value>gamma</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="tableValues"/>
+ </optional>
+ <optional>
+ <attribute name="slope">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="intercept">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="amplitude">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="exponent">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="offset">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feFuncA: Filter Effect Function Alpha Element
+ </a:documentation>
+ <define name="SVG.feFuncA.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feFuncA">
+ <element name="feFuncA">
+ <ref name="attlist.feFuncA"/>
+ <ref name="SVG.feFuncA.content"/>
+ </element>
+ </define>
+ <define name="attlist.feFuncA" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <attribute name="type">
+ <choice>
+ <value>identity</value>
+ <value>table</value>
+ <value>discrete</value>
+ <value>linear</value>
+ <value>gamma</value>
+ </choice>
+ </attribute>
+ <optional>
+ <attribute name="tableValues"/>
+ </optional>
+ <optional>
+ <attribute name="slope">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="intercept">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="amplitude">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="exponent">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="offset">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-font.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-font.rng
new file mode 100644
index 00000000000..da67018545f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-font.rng
@@ -0,0 +1,490 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Basic Font Module
+ file: svg-basic-font.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-basic-font.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Basic Font
+
+ font, font-face, glyph, missing-glyph, hkern, vkern, font-face-src,
+ font-face-uri, font-face-name
+
+ This module declares markup to provide support for template.
+ </a:documentation>
+ <a:documentation>
+ SVG.Font.class
+ </a:documentation>
+ <define name="SVG.Font.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Font.class" combine="choice">
+ <choice>
+ <ref name="font"/>
+ <ref name="font-face"/>
+ <ref name="SVG.Font.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ font: Font Element
+ </a:documentation>
+ <define name="SVG.font.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <ref name="font-face"/>
+ <ref name="missing-glyph"/>
+ <zeroOrMore>
+ <choice>
+ <ref name="glyph"/>
+ <ref name="hkern"/>
+ <ref name="vkern"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="font">
+ <element name="font">
+ <ref name="attlist.font"/>
+ <ref name="SVG.font.content"/>
+ </element>
+ </define>
+ <define name="attlist.font" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="horiz-origin-x">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="horiz-origin-y">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <attribute name="horiz-adv-x">
+ <ref name="Number.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="vert-origin-x">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="vert-origin-y">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="vert-adv-y">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ font-face: Font Face Element
+ </a:documentation>
+ <define name="SVG.font-face.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.font-face.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <optional>
+ <ref name="font-face-src"/>
+ </optional>
+ <ref name="SVG.font-face.extra.class"/>
+ </define>
+ <define name="font-face">
+ <element name="font-face">
+ <ref name="attlist.font-face"/>
+ <ref name="SVG.font-face.content"/>
+ </element>
+ </define>
+ <define name="attlist.font-face" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <optional>
+ <attribute name="font-family"/>
+ </optional>
+ <optional>
+ <attribute name="font-style"/>
+ </optional>
+ <optional>
+ <attribute name="font-variant"/>
+ </optional>
+ <optional>
+ <attribute name="font-weight"/>
+ </optional>
+ <optional>
+ <attribute name="font-stretch"/>
+ </optional>
+ <optional>
+ <attribute name="font-size"/>
+ </optional>
+ <optional>
+ <attribute name="unicode-range"/>
+ </optional>
+ <optional>
+ <attribute name="units-per-em">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="panose-1"/>
+ </optional>
+ <optional>
+ <attribute name="stemv">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="stemh">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="slope">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="cap-height">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="x-height">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="accent-height">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="ascent">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="descent">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="widths"/>
+ </optional>
+ <optional>
+ <attribute name="bbox"/>
+ </optional>
+ <optional>
+ <attribute name="ideographic">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="alphabetic">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="mathematical">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="hanging">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="v-ideographic">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="v-alphabetic">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="v-mathematical">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="v-hanging">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="underline-position">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="underline-thickness">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="strikethrough-position">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="strikethrough-thickness">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="overline-position">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="overline-thickness">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ glyph: Glyph Element
+ </a:documentation>
+ <define name="SVG.glyph.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.glyph.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SVG.glyph.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="glyph">
+ <element name="glyph">
+ <ref name="attlist.glyph"/>
+ <ref name="SVG.glyph.content"/>
+ </element>
+ </define>
+ <define name="attlist.glyph" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <optional>
+ <attribute name="unicode"/>
+ </optional>
+ <optional>
+ <attribute name="glyph-name"/>
+ </optional>
+ <optional>
+ <attribute name="d">
+ <ref name="PathData.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="orientation"/>
+ </optional>
+ <optional>
+ <attribute name="arabic-form"/>
+ </optional>
+ <optional>
+ <attribute name="lang">
+ <ref name="LanguageCodes.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="horiz-adv-x">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="vert-origin-x">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="vert-origin-y">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="vert-adv-y">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ missing-glyph: Missing Glyph Element
+ </a:documentation>
+ <define name="SVG.missing-glyph.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.missing-glyph.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SVG.missing-glyph.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="missing-glyph">
+ <element name="missing-glyph">
+ <ref name="attlist.missing-glyph"/>
+ <ref name="SVG.missing-glyph.content"/>
+ </element>
+ </define>
+ <define name="attlist.missing-glyph" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <optional>
+ <attribute name="d">
+ <ref name="PathData.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="horiz-adv-x">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="vert-origin-x">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="vert-origin-y">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="vert-adv-y">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ hkern: Horizontal Kerning Element
+ </a:documentation>
+ <define name="SVG.hkern.content">
+ <empty/>
+ </define>
+ <define name="hkern">
+ <element name="hkern">
+ <ref name="attlist.hkern"/>
+ <ref name="SVG.hkern.content"/>
+ </element>
+ </define>
+ <define name="attlist.hkern" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <optional>
+ <attribute name="u1"/>
+ </optional>
+ <optional>
+ <attribute name="g1"/>
+ </optional>
+ <optional>
+ <attribute name="u2"/>
+ </optional>
+ <optional>
+ <attribute name="g2"/>
+ </optional>
+ <attribute name="k">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </define>
+ <a:documentation>
+ vkern: Vertical Kerning Element
+ </a:documentation>
+ <define name="SVG.vkern.content">
+ <empty/>
+ </define>
+ <define name="vkern">
+ <element name="vkern">
+ <ref name="attlist.vkern"/>
+ <ref name="SVG.vkern.content"/>
+ </element>
+ </define>
+ <define name="attlist.vkern" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <optional>
+ <attribute name="u1"/>
+ </optional>
+ <optional>
+ <attribute name="g1"/>
+ </optional>
+ <optional>
+ <attribute name="u2"/>
+ </optional>
+ <optional>
+ <attribute name="g2"/>
+ </optional>
+ <attribute name="k">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </define>
+ <a:documentation>
+ font-face-src: Font Face Source Element
+ </a:documentation>
+ <define name="SVG.font-face-src.content">
+ <oneOrMore>
+ <choice>
+ <ref name="font-face-uri"/>
+ <ref name="font-face-name"/>
+ </choice>
+ </oneOrMore>
+ </define>
+ <define name="font-face-src">
+ <element name="font-face-src">
+ <ref name="attlist.font-face-src"/>
+ <ref name="SVG.font-face-src.content"/>
+ </element>
+ </define>
+ <define name="attlist.font-face-src" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ </define>
+ <a:documentation>
+ font-face-uri: Font Face URI Element
+ </a:documentation>
+ <define name="SVG.font-face-uri.content">
+ <empty/>
+ </define>
+ <define name="font-face-uri">
+ <element name="font-face-uri">
+ <ref name="attlist.font-face-uri"/>
+ <ref name="SVG.font-face-uri.content"/>
+ </element>
+ </define>
+ <define name="attlist.font-face-uri" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.XLinkRequired.attrib"/>
+ </define>
+ <a:documentation>
+ font-face-name: Font Face Name Element
+ </a:documentation>
+ <define name="SVG.font-face-name.content">
+ <empty/>
+ </define>
+ <define name="font-face-name">
+ <element name="font-face-name">
+ <ref name="attlist.font-face-name"/>
+ <ref name="SVG.font-face-name.content"/>
+ </element>
+ </define>
+ <define name="attlist.font-face-name" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <optional>
+ <attribute name="name"/>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-graphics-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-graphics-attrib.rng
new file mode 100644
index 00000000000..20c40b3648c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-graphics-attrib.rng
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Basic Graphics Attribute Module
+ file: svg-basic-graphics-attrib.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-basic-graphics-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Basic Graphics Attribute
+
+ display, visibility
+
+ This module defines the Graphics attribute set.
+ </a:documentation>
+ <define name="SVG.display.attrib">
+ <optional>
+ <attribute name="display">
+ <choice>
+ <value>inline</value>
+ <value>block</value>
+ <value>list-item</value>
+ <value>run-in</value>
+ <value>compact</value>
+ <value>marker</value>
+ <value>table</value>
+ <value>inline-table</value>
+ <value>table-row-group</value>
+ <value>table-header-group</value>
+ <value>table-footer-group</value>
+ <value>table-row</value>
+ <value>table-column-group</value>
+ <value>table-column</value>
+ <value>table-cell</value>
+ <value>table-caption</value>
+ <value>none</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.visibility.attrib">
+ <optional>
+ <attribute name="visibility">
+ <choice>
+ <value>visible</value>
+ <value>hidden</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.Graphics.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Graphics.attrib" combine="interleave">
+ <ref name="SVG.display.attrib"/>
+ <ref name="SVG.visibility.attrib"/>
+ <ref name="SVG.Graphics.extra.attrib"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-structure.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-structure.rng
new file mode 100644
index 00000000000..65ee4f172f4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-structure.rng
@@ -0,0 +1,565 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" 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">
+ <a:documentation>
+ SVG 1.1 Basic Structure Module
+ file: svg-basic-structure.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-basic-structure.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Basic Structure
+
+ svg, g, defs, desc, title, metadata, use
+
+ This module declares the major structural elements and their attributes.
+ </a:documentation>
+ <start>
+ <a:documentation>
+ The root element is "svg".
+ </a:documentation>
+ <ref name="svg"/>
+ </start>
+ <div>
+ <a:documentation>
+ Include core set of modules
+ </a:documentation>
+ <include href="svg-datatypes.rng">
+ <a:documentation>
+ Datatypes Module
+ </a:documentation>
+ </include>
+ <include href="svg-core-attrib.rng">
+ <a:documentation>
+ Core Attribute Module
+ </a:documentation>
+ </include>
+ </div>
+ <a:documentation>
+ Content Models (Default)
+ </a:documentation>
+ <define name="SVG.Profile.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Gradient.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Pattern.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Clip.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Mask.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Filter.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Cursor.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Marker.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.View.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Script.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Font.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Extensibility.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Conditional.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Image.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Style.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Shape.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Text.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Hyperlink.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Animation.class">
+ <notAllowed/>
+ </define>
+ <a:documentation>
+ Attribute Collections (Default)
+ </a:documentation>
+ <define name="SVG.Container.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Viewport.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Text.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.TextContent.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Opacity.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Marker.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Profile.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Gradient.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Clip.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Mask.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Filter.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.FilterColor.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Cursor.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.External.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Conditional.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Color.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Paint.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Graphics.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.DocumentEvents.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.GraphicalEvents.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.onload.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.AnimationEvents.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.XLink.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.XLinkRequired.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.XLinkEmbed.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.XLinkReplace.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Style.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Font.attrib">
+ <empty/>
+ </define>
+ <a:documentation>
+ SVG.Description.class
+ </a:documentation>
+ <define name="SVG.Description.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Description.class">
+ <choice>
+ <ref name="desc"/>
+ <ref name="title"/>
+ <ref name="metadata"/>
+ <ref name="SVG.Description.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ SVG.Use.class
+ </a:documentation>
+ <define name="SVG.Use.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Use.class">
+ <choice>
+ <ref name="use"/>
+ <ref name="SVG.Use.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ SVG.Structure.class
+ </a:documentation>
+ <define name="SVG.Structure.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Structure.class">
+ <choice>
+ <ref name="svg"/>
+ <ref name="g"/>
+ <ref name="defs"/>
+ <ref name="SVG.Use.class"/>
+ <ref name="SVG.Structure.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ SVG.Presentation.attrib
+ </a:documentation>
+ <define name="SVG.Presentation.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Presentation.attrib">
+ <ref name="SVG.Container.attrib"/>
+ <ref name="SVG.Viewport.attrib"/>
+ <ref name="SVG.Text.attrib"/>
+ <ref name="SVG.TextContent.attrib"/>
+ <ref name="SVG.Font.attrib"/>
+ <ref name="SVG.Paint.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Opacity.attrib"/>
+ <ref name="SVG.Graphics.attrib"/>
+ <ref name="SVG.Marker.attrib"/>
+ <ref name="SVG.Profile.attrib"/>
+ <ref name="SVG.Gradient.attrib"/>
+ <ref name="SVG.Clip.attrib"/>
+ <ref name="SVG.Mask.attrib"/>
+ <ref name="SVG.Filter.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.Cursor.attrib"/>
+ <optional>
+ <attribute name="flood-color">
+ <ref name="SVGColor.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="flood-opacity">
+ <ref name="OpacityValue.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="lighting-color">
+ <ref name="SVGColor.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="SVG.Presentation.extra.attrib"/>
+ </define>
+ <a:documentation>
+ svg: SVG Document Element
+ </a:documentation>
+ <define name="SVG.svg.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="SVG.Description.class"/>
+ <ref name="SVG.Animation.class"/>
+ <ref name="SVG.Structure.class"/>
+ <ref name="SVG.Conditional.class"/>
+ <ref name="SVG.Image.class"/>
+ <ref name="SVG.Style.class"/>
+ <ref name="SVG.Shape.class"/>
+ <ref name="SVG.Text.class"/>
+ <ref name="SVG.Marker.class"/>
+ <ref name="SVG.Profile.class"/>
+ <ref name="SVG.Gradient.class"/>
+ <ref name="SVG.Pattern.class"/>
+ <ref name="SVG.Clip.class"/>
+ <ref name="SVG.Mask.class"/>
+ <ref name="SVG.Filter.class"/>
+ <ref name="SVG.Cursor.class"/>
+ <ref name="SVG.Hyperlink.class"/>
+ <ref name="SVG.View.class"/>
+ <ref name="SVG.Script.class"/>
+ <ref name="SVG.Font.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="svg">
+ <element name="svg">
+ <ref name="attlist.svg"/>
+ <ref name="SVG.svg.content"/>
+ </element>
+ </define>
+ <define name="attlist.svg" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <ref name="SVG.DocumentEvents.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="x">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="viewBox">
+ <ref name="ViewBoxSpec.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="preserveAspectRatio" a:defaultValue="xMidYMid meet">
+ <ref name="PreserveAspectRatioSpec.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="zoomAndPan" a:defaultValue="magnify">
+ <choice>
+ <value>disable</value>
+ <value>magnify</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="version" a:defaultValue="1.1">
+ <value type="string">1.1</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="baseProfile">
+ <ref name="Text.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="contentScriptType" a:defaultValue="text/ecmascript">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="contentStyleType" a:defaultValue="text/css">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ g: Group Element
+ </a:documentation>
+ <define name="SVG.g.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="SVG.Description.class"/>
+ <ref name="SVG.Animation.class"/>
+ <ref name="SVG.Structure.class"/>
+ <ref name="SVG.Conditional.class"/>
+ <ref name="SVG.Image.class"/>
+ <ref name="SVG.Style.class"/>
+ <ref name="SVG.Shape.class"/>
+ <ref name="SVG.Text.class"/>
+ <ref name="SVG.Marker.class"/>
+ <ref name="SVG.Profile.class"/>
+ <ref name="SVG.Gradient.class"/>
+ <ref name="SVG.Pattern.class"/>
+ <ref name="SVG.Clip.class"/>
+ <ref name="SVG.Mask.class"/>
+ <ref name="SVG.Filter.class"/>
+ <ref name="SVG.Cursor.class"/>
+ <ref name="SVG.Hyperlink.class"/>
+ <ref name="SVG.View.class"/>
+ <ref name="SVG.Script.class"/>
+ <ref name="SVG.Font.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="g">
+ <element name="g">
+ <ref name="attlist.g"/>
+ <ref name="SVG.g.content"/>
+ </element>
+ </define>
+ <define name="attlist.g" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ defs: Definisions Element
+ </a:documentation>
+ <define name="SVG.defs.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="SVG.Description.class"/>
+ <ref name="SVG.Animation.class"/>
+ <ref name="SVG.Structure.class"/>
+ <ref name="SVG.Conditional.class"/>
+ <ref name="SVG.Image.class"/>
+ <ref name="SVG.Style.class"/>
+ <ref name="SVG.Shape.class"/>
+ <ref name="SVG.Text.class"/>
+ <ref name="SVG.Marker.class"/>
+ <ref name="SVG.Profile.class"/>
+ <ref name="SVG.Gradient.class"/>
+ <ref name="SVG.Pattern.class"/>
+ <ref name="SVG.Clip.class"/>
+ <ref name="SVG.Mask.class"/>
+ <ref name="SVG.Filter.class"/>
+ <ref name="SVG.Cursor.class"/>
+ <ref name="SVG.Hyperlink.class"/>
+ <ref name="SVG.View.class"/>
+ <ref name="SVG.Script.class"/>
+ <ref name="SVG.Font.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="defs">
+ <element name="defs">
+ <ref name="attlist.defs"/>
+ <ref name="SVG.defs.content"/>
+ </element>
+ </define>
+ <define name="attlist.defs" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ desc: Description Element
+ </a:documentation>
+ <define name="SVG.desc.content">
+ <text/>
+ </define>
+ <define name="desc">
+ <element name="desc">
+ <ref name="attlist.desc"/>
+ <ref name="SVG.desc.content"/>
+ </element>
+ </define>
+ <define name="attlist.desc" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ </define>
+ <a:documentation>
+ title: Title Element
+ </a:documentation>
+ <define name="SVG.title.content">
+ <text/>
+ </define>
+ <define name="title">
+ <element name="title">
+ <ref name="attlist.title"/>
+ <ref name="SVG.title.content"/>
+ </element>
+ </define>
+ <define name="attlist.title" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ </define>
+ <a:documentation>
+ metadata: Metadata Element
+ </a:documentation>
+ <define name="SVG.metadata.content">
+ <text/>
+ </define>
+ <define name="metadata">
+ <element name="metadata">
+ <ref name="attlist.metadata"/>
+ <ref name="SVG.metadata.content"/>
+ </element>
+ </define>
+ <define name="attlist.metadata" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ </define>
+ <a:documentation>
+ use: Use Element
+ </a:documentation>
+ <define name="SVG.use.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SVG.Animation.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="use">
+ <element name="use">
+ <ref name="attlist.use"/>
+ <ref name="SVG.use.content"/>
+ </element>
+ </define>
+ <define name="attlist.use" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.XLinkEmbed.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="x">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-text.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-text.rng
new file mode 100644
index 00000000000..14771acea25
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-basic-text.rng
@@ -0,0 +1,236 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" 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">
+ <a:documentation>
+ SVG 1.1 Basic Text Module
+ file: svg-basic-text.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-basic-text.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Basic Text
+
+ text, altGlyph, altGlyphDef, glyphRef
+
+ This module declares markup to provide support for text.
+ </a:documentation>
+ <a:documentation>
+ Datatypes
+ </a:documentation>
+ <define name="FontFamilyValue.datatype">
+ <data type="string"/>
+ </define>
+ <define name="FontSizeValue.datatype">
+ <data type="string"/>
+ </define>
+ <a:documentation>
+ SVG.Font.attrib
+ </a:documentation>
+ <define name="SVG.Font.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Font.attrib" combine="interleave">
+ <optional>
+ <attribute name="font-family">
+ <ref name="FontFamilyValue.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="font-size">
+ <ref name="FontSizeValue.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="font-style">
+ <choice>
+ <value>normal</value>
+ <value>italic</value>
+ <value>oblique</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="font-weight">
+ <choice>
+ <value>normal</value>
+ <value>bold</value>
+ <value>bolder</value>
+ <value>lighter</value>
+ <value>100</value>
+ <value>200</value>
+ <value>300</value>
+ <value>400</value>
+ <value>500</value>
+ <value>600</value>
+ <value>700</value>
+ <value>800</value>
+ <value>900</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="SVG.Font.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.Text.class
+ </a:documentation>
+ <define name="SVG.Text.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Text.class" combine="choice">
+ <choice>
+ <ref name="text"/>
+ <ref name="SVG.Text.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ SVG.TextContent.class
+ </a:documentation>
+ <define name="SVG.TextContent.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.TextContent.class">
+ <choice>
+ <ref name="altGlyph"/>
+ <ref name="SVG.TextContent.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ text: Text Element
+ </a:documentation>
+ <define name="SVG.text.class">
+ <choice>
+ <text/>
+ <ref name="SVG.Description.class"/>
+ <ref name="SVG.Animation.class"/>
+ <!-- <ref name="SVG.TextContent.extra.class"/> -->
+ <ref name="SVG.Hyperlink.class"/>
+ </choice>
+ </define>
+ <define name="SVG.text.content">
+ <zeroOrMore>
+ <ref name="SVG.text.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="text">
+ <element name="text">
+ <ref name="attlist.text"/>
+ <ref name="SVG.text.content"/>
+ </element>
+ </define>
+ <define name="attlist.text" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Font.attrib"/>
+ <ref name="SVG.Paint.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Opacity.attrib"/>
+ <ref name="SVG.Graphics.attrib"/>
+ <ref name="SVG.Clip.attrib"/>
+ <ref name="SVG.Mask.attrib"/>
+ <ref name="SVG.Filter.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.Cursor.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="x">
+ <ref name="Coordinates.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Coordinates.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rotate">
+ <ref name="Numbers.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ altGlyph: Alternate Glyph Element
+ </a:documentation>
+ <define name="SVG.altGlyph.content">
+ <text/>
+ </define>
+ <define name="altGlyph">
+ <element name="altGlyph">
+ <ref name="attlist.altGlyph"/>
+ <ref name="SVG.altGlyph.content"/>
+ </element>
+ </define>
+ <define name="attlist.altGlyph" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Font.attrib"/>
+ <ref name="SVG.Paint.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Opacity.attrib"/>
+ <ref name="SVG.Graphics.attrib"/>
+ <ref name="SVG.Clip.attrib"/>
+ <ref name="SVG.Mask.attrib"/>
+ <ref name="SVG.Filter.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.Cursor.attrib"/>
+ <ref name="SVG.XLink.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="glyphRef"/>
+ </optional>
+ <optional>
+ <attribute name="format"/>
+ </optional>
+ </define>
+ <a:documentation>
+ altGlyphDef: Alternate Glyph Definition Element
+ </a:documentation>
+ <define name="SVG.altGlyphDef.content">
+ <oneOrMore>
+ <ref name="glyphRef"/>
+ </oneOrMore>
+ </define>
+ <define name="altGlyphDef">
+ <element name="altGlyphDef">
+ <ref name="attlist.altGlyphDef"/>
+ <ref name="SVG.altGlyphDef.content"/>
+ </element>
+ </define>
+ <define name="attlist.altGlyphDef" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ </define>
+ <a:documentation>
+ glyphRef: Glyph Reference Element
+ </a:documentation>
+ <define name="SVG.glyphRef.content">
+ <empty/>
+ </define>
+ <define name="glyphRef">
+ <element name="glyphRef">
+ <ref name="attlist.glyphRef"/>
+ <ref name="SVG.glyphRef.content"/>
+ </element>
+ </define>
+ <define name="attlist.glyphRef" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Font.attrib"/>
+ <ref name="SVG.XLink.attrib"/>
+ <optional>
+ <attribute name="glyphRef"/>
+ </optional>
+ <optional>
+ <attribute name="format"/>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-clip.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-clip.rng
new file mode 100644
index 00000000000..180cdd58e23
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-clip.rng
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" xmlns:ns1="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Clip Module
+ file: svg-clip.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-clip.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Clip
+
+ clipPath
+
+ This module declares markup to provide support for clipping.
+ </a:documentation>
+ <include href="svg-basic-clip.rng"/>
+ <define name="SVG.clipPath.class" combine="choice">
+ <a:documentation>
+ extend content model of clipPath
+ </a:documentation>
+ <choice>
+ <ref name="SVG.Shape.class"/>
+ <ref name="SVG.Text.class"/>
+ </choice>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-conditional.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-conditional.rng
new file mode 100644
index 00000000000..8bfddf61491
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-conditional.rng
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" 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">
+ <a:documentation>
+ SVG 1.1 Conditional Processing Module
+ file: svg-conditional.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-conditional.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Conditional Processing
+
+ switch
+
+ This module declares markup to provide support for conditional processing.
+ </a:documentation>
+ <a:documentation>
+ Datatypes
+ </a:documentation>
+ <define name="ExtensionList.datatype">
+ <data type="string"/>
+ </define>
+ <define name="FeatureList.datatype">
+ <data type="string"/>
+ </define>
+ <a:documentation>
+ SVG.Conditional.attrib
+ </a:documentation>
+ <define name="SVG.Conditional.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Conditional.attrib" combine="interleave">
+ <optional>
+ <attribute name="requiredFeatures">
+ <ref name="FeatureList.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="requiredExtensions">
+ <ref name="ExtensionList.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="systemLanguage">
+ <ref name="LanguageCodes.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="SVG.Conditional.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.Conditional.class
+ </a:documentation>
+ <define name="SVG.Conditional.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Conditional.class" combine="choice">
+ <choice>
+ <ref name="switch"/>
+ <ref name="SVG.Conditional.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ switch: Switch Element
+ </a:documentation>
+ <define name="SVG.switch.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <choice>
+ <ref name="svg"/>
+ <ref name="g"/>
+ <ref name="use"/>
+ <ref name="text"/>
+ <ref name="SVG.Animation.class"/>
+ <ref name="SVG.Conditional.class"/>
+ <ref name="SVG.Image.class"/>
+ <ref name="SVG.Shape.class"/>
+ <ref name="SVG.Hyperlink.class"/>
+ <ref name="SVG.Extensibility.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="switch">
+ <element name="switch">
+ <ref name="attlist.switch"/>
+ <ref name="SVG.switch.content"/>
+ </element>
+ </define>
+ <define name="attlist.switch" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-container-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-container-attrib.rng
new file mode 100644
index 00000000000..01847b07a90
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-container-attrib.rng
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" 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">
+ <a:documentation>
+ SVG 1.1 Container Attribute Module
+ file: svg-container-attrib.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-container-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Container Attribute
+
+ enable-background
+
+ This module defines the Container attribute set.
+ </a:documentation>
+ <define name="EnableBackgroundValue.datatype">
+ <a:documentation>
+ 'enable-background' property/attribute value (e.g., 'new', 'accumulate')
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="SVG.enable-background.attrib">
+ <optional>
+ <attribute name="enable-background">
+ <ref name="EnableBackgroundValue.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.Container.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Container.attrib" combine="interleave">
+ <ref name="SVG.enable-background.attrib"/>
+ <ref name="SVG.Container.extra.attrib"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-core-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-core-attrib.rng
new file mode 100644
index 00000000000..cf3e64fafd1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-core-attrib.rng
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" 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">
+ <a:documentation>
+ SVG 1.1 Core Attribute Module
+ file: svg-core-attrib.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-core-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Core Attribute
+
+ id, xml:base, xml:lang, xml:space
+
+ This module defines the core set of attributes that can be present on
+ any element.
+ </a:documentation>
+ <define name="SVG.id.attrib">
+ <optional>
+ <attribute name="id">
+ <data type="ID"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.base.attrib">
+ <optional>
+ <attribute name="xml:base">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.lang.attrib">
+ <optional>
+ <attribute name="xml:lang">
+ <ref name="LanguageCode.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.space.attrib">
+ <optional>
+ <attribute name="xml:space">
+ <choice>
+ <value>default</value>
+ <value>preserve</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.Core.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Core.attrib">
+ <ref name="SVG.id.attrib"/>
+ <ref name="SVG.base.attrib"/>
+ <ref name="SVG.lang.attrib"/>
+ <ref name="SVG.space.attrib"/>
+ <ref name="SVG.Core.extra.attrib"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-cursor.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-cursor.rng
new file mode 100644
index 00000000000..e3207ed6c92
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-cursor.rng
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" 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">
+ <a:documentation>
+ SVG 1.1 Cursor Module
+ file: svg-cursor.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-cursor.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Cursor
+
+ cursor
+
+ This module declares markup to provide support for cursor.
+ </a:documentation>
+ <a:documentation>
+ Datatypes
+ </a:documentation>
+ <define name="CursorValue.datatype">
+ <data type="string"/>
+ </define>
+ <a:documentation>
+ SVG.Cursor.attrib
+ </a:documentation>
+ <define name="SVG.Cursor.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Cursor.attrib" combine="interleave">
+ <optional>
+ <attribute name="cursor">
+ <ref name="CursorValue.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="SVG.Cursor.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.Cursor.class
+ </a:documentation>
+ <define name="SVG.Cursor.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Cursor.class" combine="choice">
+ <choice>
+ <ref name="cursor"/>
+ <ref name="SVG.Cursor.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ cursor: Cursor Element
+ </a:documentation>
+ <define name="SVG.cursor.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="cursor">
+ <element name="cursor">
+ <ref name="attlist.cursor"/>
+ <ref name="SVG.cursor.content"/>
+ </element>
+ </define>
+ <define name="attlist.cursor" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.XLinkRequired.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="x">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-datatypes.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-datatypes.rng
new file mode 100644
index 00000000000..dba1588d8d4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-datatypes.rng
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" 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">
+ <a:documentation>
+ SVG 1.1 Datatypes Module
+ file: svg-datatypes.mod
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-datatypes.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Datatypes
+
+ This module declares common data types for properties and attributes.
+ </a:documentation>
+ <a:documentation>
+ feature specification
+ </a:documentation>
+ <define name="Boolean.datatype">
+ <choice>
+ <value>false</value>
+ <value>true</value>
+ </choice>
+ </define>
+ <define name="ClipFillRule.datatype">
+ <a:documentation>
+ 'clip-rule' or 'fill-rule' property/attribute value
+ </a:documentation>
+ <choice>
+ <value>nonzero</value>
+ <value>evenodd</value>
+ <value>inherit</value>
+ </choice>
+ </define>
+ <define name="ContentType.datatype">
+ <a:documentation>
+ media type, as per [RFC2045]
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="Coordinate.datatype">
+ <a:documentation>
+ a &lt;coordinate&gt;
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="Coordinates.datatype">
+ <a:documentation>
+ a list of &lt;coordinate&gt;s
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="Color.datatype">
+ <a:documentation>
+ a &lt;color&gt; value
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="Integer.datatype">
+ <a:documentation>
+ a &lt;integer&gt;
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="LanguageCode.datatype">
+ <a:documentation>
+ a language code, as per [RFC3066]
+ </a:documentation>
+ <data type="language"/>
+ </define>
+ <define name="LanguageCodes.datatype">
+ <a:documentation>
+ comma-separated list of language codes, as per [RFC3066]
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="Length.datatype">
+ <a:documentation>
+ a &lt;ength&gt;
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="Lengths.datatype">
+ <a:documentation>
+ a list of &lt;length&gt;s
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="Number.datatype">
+ <a:documentation>
+ a &lt;number&gt;
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="Numbers.datatype">
+ <a:documentation>
+ a list of &lt;number&gt;s
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="OpacityValue.datatype">
+ <a:documentation>
+ opacity value (e.g., &lt;number&gt;)
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="PathData.datatype">
+ <a:documentation>
+ a path data specification
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="PreserveAspectRatioSpec.datatype">
+ <a:documentation>
+ 'preserveAspectRatio' attribute specification
+ </a:documentation>
+ <data type="string">
+ <param name="pattern">\s*(none|xMinYMin|xMidYMin|xMaxYMin|xMinYMid|xMidYMid|xMaxYMid|xMinYMax|xMidYMax|xMaxYMax)\s+(meet|slice)?\s*</param>
+ </data>
+ </define>
+ <define name="Script.datatype">
+ <a:documentation>
+ script expression
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="SVGColor.datatype">
+ <a:documentation>
+ An SVG color value (RGB plus optional ICC)
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="Text.datatype">
+ <a:documentation>
+ arbitrary text string
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="TransformList.datatype">
+ <a:documentation>
+ list of transforms
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="URI.datatype">
+ <a:documentation>
+ a Uniform Resource Identifier, see [URI]
+ </a:documentation>
+ <data type="anyURI"/>
+ </define>
+ <define name="ViewBoxSpec.datatype">
+ <a:documentation>
+ 'viewBox' attribute specification
+ </a:documentation>
+ <data type="string"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-docevents-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-docevents-attrib.rng
new file mode 100644
index 00000000000..3d2eecea923
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-docevents-attrib.rng
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Document Events Attribute Module
+ file: svg-docevents-attrib.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-docevents-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Document Events Attribute
+
+ onunload, onabort, onerror, onresize, onscroll, onzoom
+
+ This module defines the DocumentEvents attribute set.
+ </a:documentation>
+ <define name="SVG.onunload.attrib">
+ <optional>
+ <attribute name="onunload">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onabort.attrib">
+ <optional>
+ <attribute name="onabort">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onerror.attrib">
+ <optional>
+ <attribute name="onerror">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onresize.attrib">
+ <optional>
+ <attribute name="onresize">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onscroll.attrib">
+ <optional>
+ <attribute name="onscroll">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onzoom.attrib">
+ <optional>
+ <attribute name="onzoom">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.DocumentEvents.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.DocumentEvents.attrib" combine="interleave">
+ <ref name="SVG.onunload.attrib"/>
+ <ref name="SVG.onabort.attrib"/>
+ <ref name="SVG.onerror.attrib"/>
+ <ref name="SVG.onresize.attrib"/>
+ <ref name="SVG.onscroll.attrib"/>
+ <ref name="SVG.onzoom.attrib"/>
+ <ref name="SVG.DocumentEvents.extra.attrib"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-extensibility.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-extensibility.rng
new file mode 100644
index 00000000000..d63acf3deae
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-extensibility.rng
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar ns="http://www.w3.org/2000/svg" xmlns:ns1="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Extensibility Module
+ file: svg-extensibility.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-extensibility.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+
+</a:documentation>
+ <a:documentation>
+ Extensibility
+
+ foreignObject
+
+ This module declares markup to provide support for extensibility.
+ </a:documentation>
+ <a:documentation>
+ SVG.Extensibility.class
+ </a:documentation>
+ <define name="SVG.Extensibility.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Extensibility.class" combine="choice">
+ <choice>
+ <ref name="foreignObject"/>
+ <ref name="SVG.Extensibility.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ foreignObject: Foreign Object Element
+ </a:documentation>
+ <define name="SVG.foreignObject.content">
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="svg"/>
+ </choice>
+ <!-- ref name="foreignElement"/ -->
+ </zeroOrMore>
+ </define>
+ <define name="foreignObject">
+ <element name="foreignObject">
+ <ref name="attlist.foreignObject"/>
+ <ref name="SVG.foreignObject.content"/>
+ </element>
+ </define>
+ <define name="attlist.foreignObject" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="x">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="foreignElement">
+ <a:documentation>
+ any element in foreign namespace
+ </a:documentation>
+ <element>
+ <anyName>
+ <except>
+ <nsName/>
+ </except>
+ </anyName>
+ <zeroOrMore>
+ <choice>
+ <attribute>
+ <anyName>
+ <except>
+ <nsName/>
+ </except>
+ </anyName>
+ </attribute>
+ <text/>
+ <ref name="foreignElement"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-extresources-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-extresources-attrib.rng
new file mode 100644
index 00000000000..1fa08bfe7ba
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-extresources-attrib.rng
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 External Resources Attribute Module
+ file: svg-extresources-attrib.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-extresources-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ External Resources Attribute
+
+ externalResourcesRequired
+
+ This module defines the External attribute set.
+ </a:documentation>
+ <define name="SVG.externalResourcesRequired.attrib">
+ <optional>
+ <attribute name="externalResourcesRequired">
+ <ref name="Boolean.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.External.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.External.attrib" combine="interleave">
+ <ref name="SVG.externalResourcesRequired.attrib"/>
+ <ref name="SVG.External.extra.attrib"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-filter.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-filter.rng
new file mode 100644
index 00000000000..72bc2c37c50
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-filter.rng
@@ -0,0 +1,468 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Filter Module
+ file: svg-filter.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-filter.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Filter
+
+ filter, feBlend, feColorMatrix, feComponentTransfer, feComposite,
+ feConvolveMatrix, feDiffuseLighting, feDisplacementMap, feFlood,
+ feGaussianBlur, feImage, feMerge, feMergeNode, feMorphology, feOffset,
+ feSpecularLighting, feTile, feTurbulence, feDistantLight, fePointLight,
+ feSpotLight, feFuncR, feFuncG, feFuncB, feFuncA
+
+ This module declares markup to provide support for filter effect.
+ </a:documentation>
+ <include href="svg-basic-filter.rng"/>
+ <define name="SVG.FilterPrimitive.class" combine="choice">
+ <a:documentation>
+ extend SVG.FilterPrimitive.class
+ </a:documentation>
+ <choice>
+ <ref name="feConvolveMatrix"/>
+ <ref name="feDiffuseLighting"/>
+ <ref name="feDisplacementMap"/>
+ <ref name="feMorphology"/>
+ <ref name="feSpecularLighting"/>
+ <ref name="feTurbulence"/>
+ </choice>
+ </define>
+ <a:documentation>
+ feConvolveMatrix: Filter Effect Convolve Matrix Element
+ </a:documentation>
+ <define name="SVG.feConvolveMatrix.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feConvolveMatrix">
+ <element name="feConvolveMatrix">
+ <ref name="attlist.feConvolveMatrix"/>
+ <ref name="SVG.feConvolveMatrix.content"/>
+ </element>
+ </define>
+ <define name="attlist.feConvolveMatrix" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
+ <attribute name="order">
+ <ref name="NumberOptionalNumber.datatype"/>
+ </attribute>
+ <attribute name="kernelMatrix"/>
+ <optional>
+ <attribute name="divisor">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="bias">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="targetX">
+ <ref name="Integer.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="targetY">
+ <ref name="Integer.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="edgeMode" a:defaultValue="duplicate">
+ <choice>
+ <value>duplicate</value>
+ <value>wrap</value>
+ <value>none</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="kernelUnitLength">
+ <ref name="NumberOptionalNumber.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="preserveAlpha">
+ <ref name="Boolean.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feDiffuseLighting: Filter Effect Diffuse Lighting Element
+ </a:documentation>
+ <define name="SVG.feDiffuseLighting.content">
+ <choice>
+ <ref name="feDistantLight"/>
+ <ref name="fePointLight"/>
+ <ref name="feSpotLight"/>
+ </choice>
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ <ref name="animateColor"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feDiffuseLighting">
+ <element name="feDiffuseLighting">
+ <ref name="attlist.feDiffuseLighting"/>
+ <ref name="SVG.feDiffuseLighting.content"/>
+ </element>
+ </define>
+ <define name="attlist.feDiffuseLighting" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
+ <optional>
+ <attribute name="lighting-color">
+ <ref name="SVGColor.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="surfaceScale">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="diffuseConstant">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="kernelUnitLength">
+ <ref name="NumberOptionalNumber.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feDisplacementMap: Filter Effect Displacement Map Element
+ </a:documentation>
+ <define name="SVG.feDisplacementMap.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feDisplacementMap">
+ <element name="feDisplacementMap">
+ <ref name="attlist.feDisplacementMap"/>
+ <ref name="SVG.feDisplacementMap.content"/>
+ </element>
+ </define>
+ <define name="attlist.feDisplacementMap" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
+ <attribute name="in2"/>
+ <optional>
+ <attribute name="scale">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xChannelSelector" a:defaultValue="A">
+ <choice>
+ <value>R</value>
+ <value>G</value>
+ <value>B</value>
+ <value>A</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="yChannelSelector" a:defaultValue="A">
+ <choice>
+ <value>R</value>
+ <value>G</value>
+ <value>B</value>
+ <value>A</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feMorphology: Filter Effect Morphology Element
+ </a:documentation>
+ <define name="SVG.feMorphology.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feMorphology">
+ <element name="feMorphology">
+ <ref name="attlist.feMorphology"/>
+ <ref name="SVG.feMorphology.content"/>
+ </element>
+ </define>
+ <define name="attlist.feMorphology" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
+ <optional>
+ <attribute name="operator" a:defaultValue="erode">
+ <choice>
+ <value>erode</value>
+ <value>dilate</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="radius">
+ <ref name="NumberOptionalNumber.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feSpecularLighting: Filter Effect Specular Lighting Element
+ </a:documentation>
+ <define name="SVG.feSpecularLighting.content">
+ <choice>
+ <ref name="feDistantLight"/>
+ <ref name="fePointLight"/>
+ <ref name="feSpotLight"/>
+ </choice>
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ <ref name="animateColor"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feSpecularLighting">
+ <element name="feSpecularLighting">
+ <ref name="attlist.feSpecularLighting"/>
+ <ref name="SVG.feSpecularLighting.content"/>
+ </element>
+ </define>
+ <define name="attlist.feSpecularLighting" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.FilterPrimitiveWithIn.attrib"/>
+ <optional>
+ <attribute name="lighting-color">
+ <ref name="SVGColor.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="surfaceScale">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="specularConstant">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="specularExponent">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="kernelUnitLength">
+ <ref name="NumberOptionalNumber.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feTurbulence: Filter Effect Turbulence Element
+ </a:documentation>
+ <define name="SVG.feTurbulence.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feTurbulence">
+ <element name="feTurbulence">
+ <ref name="attlist.feTurbulence"/>
+ <ref name="SVG.feTurbulence.content"/>
+ </element>
+ </define>
+ <define name="attlist.feTurbulence" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.FilterColor.attrib"/>
+ <ref name="SVG.FilterPrimitive.attrib"/>
+ <optional>
+ <attribute name="baseFrequency">
+ <ref name="NumberOptionalNumber.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="numOctaves">
+ <ref name="Integer.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="seed">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="stitchTiles" a:defaultValue="noStitch">
+ <choice>
+ <value>stitch</value>
+ <value>noStitch</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type" a:defaultValue="turbulence">
+ <choice>
+ <value>fractalNoise</value>
+ <value>turbulence</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feDistantLight: Filter Effect Distant Light Element
+ </a:documentation>
+ <define name="SVG.feDistantLight.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feDistantLight">
+ <element name="feDistantLight">
+ <ref name="attlist.feDistantLight"/>
+ <ref name="SVG.feDistantLight.content"/>
+ </element>
+ </define>
+ <define name="attlist.feDistantLight" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <optional>
+ <attribute name="azimuth">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="elevation">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ fePointLight: Filter Effect Point Light Element
+ </a:documentation>
+ <define name="SVG.fePointLight.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="fePointLight">
+ <element name="fePointLight">
+ <ref name="attlist.fePointLight"/>
+ <ref name="SVG.fePointLight.content"/>
+ </element>
+ </define>
+ <define name="attlist.fePointLight" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <optional>
+ <attribute name="x">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="z">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ feSpotLight: Filter Effect Spot Light Element
+ </a:documentation>
+ <define name="SVG.feSpotLight.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="feSpotLight">
+ <element name="feSpotLight">
+ <ref name="attlist.feSpotLight"/>
+ <ref name="SVG.feSpotLight.content"/>
+ </element>
+ </define>
+ <define name="attlist.feSpotLight" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <optional>
+ <attribute name="x">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="z">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="pointsAtX">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="pointsAtY">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="pointsAtZ">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="specularExponent">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="limitingConeAngle">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-font.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-font.rng
new file mode 100644
index 00000000000..f5da47c17ed
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-font.rng
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Font Module
+ file: svg-font.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-font.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Font
+
+ font, font-face, glyph, missing-glyph, hkern, vkern, font-face-src,
+ font-face-uri, font-face-format, font-face-name, definition-src
+
+ This module declares markup to provide support for template.
+ </a:documentation>
+ <include href="svg-basic-font.rng"/>
+ <a:documentation>
+ font-face: Font Face Element
+ </a:documentation>
+ <define name="SVG.font-face.extra.class" combine="interleave">
+ <optional>
+ <ref name="definition-src"/>
+ </optional>
+ </define>
+ <a:documentation>
+ glyph: Glyph Element
+ </a:documentation>
+ <define name="SVG.glyph.class" combine="choice">
+ <choice>
+ <ref name="SVG.Animation.class"/>
+ <ref name="SVG.Structure.class"/>
+ <ref name="SVG.Conditional.class"/>
+ <ref name="SVG.Image.class"/>
+ <ref name="SVG.Style.class"/>
+ <ref name="SVG.Shape.class"/>
+ <ref name="SVG.Text.class"/>
+ <ref name="SVG.Marker.class"/>
+ <ref name="SVG.Profile.class"/>
+ <ref name="SVG.Gradient.class"/>
+ <ref name="SVG.Pattern.class"/>
+ <ref name="SVG.Clip.class"/>
+ <ref name="SVG.Mask.class"/>
+ <ref name="SVG.Filter.class"/>
+ <ref name="SVG.Cursor.class"/>
+ <ref name="SVG.Hyperlink.class"/>
+ <ref name="SVG.View.class"/>
+ <ref name="SVG.Script.class"/>
+ <ref name="SVG.Font.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ missing-glyph: Missing Glyph Element
+ </a:documentation>
+ <define name="SVG.missing-glyph.class" combine="choice">
+ <choice>
+ <ref name="SVG.Animation.class"/>
+ <ref name="SVG.Structure.class"/>
+ <ref name="SVG.Conditional.class"/>
+ <ref name="SVG.Image.class"/>
+ <ref name="SVG.Style.class"/>
+ <ref name="SVG.Shape.class"/>
+ <ref name="SVG.Text.class"/>
+ <ref name="SVG.Marker.class"/>
+ <ref name="SVG.Profile.class"/>
+ <ref name="SVG.Gradient.class"/>
+ <ref name="SVG.Pattern.class"/>
+ <ref name="SVG.Clip.class"/>
+ <ref name="SVG.Mask.class"/>
+ <ref name="SVG.Filter.class"/>
+ <ref name="SVG.Cursor.class"/>
+ <ref name="SVG.Hyperlink.class"/>
+ <ref name="SVG.View.class"/>
+ <ref name="SVG.Script.class"/>
+ <ref name="SVG.Font.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ font-face-uri: Font Face URI Element
+ </a:documentation>
+ <define name="SVG.font-face-uri.content" combine="choice">
+ <zeroOrMore>
+ <ref name="font-face-format"/>
+ </zeroOrMore>
+ </define>
+ <a:documentation>
+ font-face-format: Font Face Format Element
+ </a:documentation>
+ <define name="SVG.font-face-format.content">
+ <empty/>
+ </define>
+ <define name="font-face-format">
+ <element name="font-face-format">
+ <ref name="attlist.font-face-format"/>
+ <ref name="SVG.font-face-format.content"/>
+ </element>
+ </define>
+ <define name="attlist.font-face-format" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <optional>
+ <attribute name="string"/>
+ </optional>
+ </define>
+ <a:documentation>
+ definition-src: Definition Source Element
+ </a:documentation>
+ <define name="SVG.definition-src.content">
+ <empty/>
+ </define>
+ <define name="definition-src">
+ <element name="definition-src">
+ <ref name="attlist.definition-src"/>
+ <ref name="SVG.definition-src.content"/>
+ </element>
+ </define>
+ <define name="attlist.definition-src" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.XLinkRequired.attrib"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-gradient.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-gradient.rng
new file mode 100644
index 00000000000..a13c68f8341
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-gradient.rng
@@ -0,0 +1,233 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" 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">
+ <a:documentation>
+ SVG 1.1 Gradient Module
+ file: svg-gradient.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-gradient.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Gradient
+
+ linearGradient, radialGradient, stop
+
+ This module declares markup to provide support for gradient fill.
+ </a:documentation>
+ <a:documentation>
+ Datatypes
+ </a:documentation>
+ <define name="NumberOrPercentage.datatype">
+ <data type="string"/>
+ </define>
+ <a:documentation>
+ SVG.Gradient.attrib
+ </a:documentation>
+ <define name="SVG.Gradient.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Gradient.attrib" combine="interleave">
+ <optional>
+ <attribute name="stop-color">
+ <ref name="SVGColor.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="stop-opacity">
+ <ref name="OpacityValue.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="SVG.Gradient.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.Gradient.class
+ </a:documentation>
+ <define name="SVG.Gradient.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Gradient.class" combine="choice">
+ <choice>
+ <ref name="linearGradient"/>
+ <ref name="radialGradient"/>
+ <ref name="SVG.Gradient.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ linearGradient: Linear Gradient Element
+ </a:documentation>
+ <define name="SVG.linearGradient.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <choice>
+ <ref name="stop"/>
+ <ref name="animate"/>
+ <ref name="set"/>
+ <ref name="animateTransform"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="linearGradient">
+ <element name="linearGradient">
+ <ref name="attlist.linearGradient"/>
+ <ref name="SVG.linearGradient.content"/>
+ </element>
+ </define>
+ <define name="attlist.linearGradient" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Gradient.attrib"/>
+ <ref name="SVG.XLink.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="x1">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y1">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="x2">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y2">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="gradientUnits">
+ <choice>
+ <value>userSpaceOnUse</value>
+ <value>objectBoundingBox</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="gradientTransform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="spreadMethod">
+ <choice>
+ <value>pad</value>
+ <value>reflect</value>
+ <value>repeat</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ radialGradient: Radial Gradient Element
+ </a:documentation>
+ <define name="SVG.radialGradient.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <choice>
+ <ref name="stop"/>
+ <ref name="animate"/>
+ <ref name="set"/>
+ <ref name="animateTransform"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="radialGradient">
+ <element name="radialGradient">
+ <ref name="attlist.radialGradient"/>
+ <ref name="SVG.radialGradient.content"/>
+ </element>
+ </define>
+ <define name="attlist.radialGradient" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Gradient.attrib"/>
+ <ref name="SVG.XLink.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="cx">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="cy">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="r">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fx">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="fy">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="gradientUnits">
+ <choice>
+ <value>userSpaceOnUse</value>
+ <value>objectBoundingBox</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="gradientTransform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="spreadMethod">
+ <choice>
+ <value>pad</value>
+ <value>reflect</value>
+ <value>repeat</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ stop: Stop Element
+ </a:documentation>
+ <define name="SVG.stop.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ <ref name="animateColor"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="stop">
+ <element name="stop">
+ <ref name="attlist.stop"/>
+ <ref name="SVG.stop.content"/>
+ </element>
+ </define>
+ <define name="attlist.stop" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Gradient.attrib"/>
+ <attribute name="offset">
+ <ref name="NumberOrPercentage.datatype"/>
+ </attribute>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-graphevents-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-graphevents-attrib.rng
new file mode 100644
index 00000000000..4a69371858f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-graphevents-attrib.rng
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Graphical Element Events Attribute Module
+ file: svg-graphevents-attrib.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-graphevents-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Graphical Element Events Attribute
+
+ onfocusin, onfocusout, onactivate, onclick, onmousedown, onmouseup,
+ onmouseover, onmousemove, onmouseout, onload
+
+ This module defines the GraphicalEvents attribute set.
+ </a:documentation>
+ <define name="SVG.onfocusin.attrib">
+ <optional>
+ <attribute name="onfocusin">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onfocusout.attrib">
+ <optional>
+ <attribute name="onfocusout">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onactivate.attrib">
+ <optional>
+ <attribute name="onactivate">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onclick.attrib">
+ <optional>
+ <attribute name="onclick">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onmousedown.attrib">
+ <optional>
+ <attribute name="onmousedown">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onmouseup.attrib">
+ <optional>
+ <attribute name="onmouseup">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onmouseover.attrib">
+ <optional>
+ <attribute name="onmouseover">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onmousemove.attrib">
+ <optional>
+ <attribute name="onmousemove">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onmouseout.attrib">
+ <optional>
+ <attribute name="onmouseout">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.onload.attrib" combine="interleave">
+ <optional>
+ <attribute name="onload">
+ <ref name="Script.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.GraphicalEvents.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.GraphicalEvents.attrib" combine="interleave">
+ <ref name="SVG.onfocusin.attrib"/>
+ <ref name="SVG.onfocusout.attrib"/>
+ <ref name="SVG.onactivate.attrib"/>
+ <ref name="SVG.onclick.attrib"/>
+ <ref name="SVG.onmousedown.attrib"/>
+ <ref name="SVG.onmouseup.attrib"/>
+ <ref name="SVG.onmouseover.attrib"/>
+ <ref name="SVG.onmousemove.attrib"/>
+ <ref name="SVG.onmouseout.attrib"/>
+ <ref name="SVG.onload.attrib"/>
+ <ref name="SVG.GraphicalEvents.extra.attrib"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-graphics-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-graphics-attrib.rng
new file mode 100644
index 00000000000..307dcd62754
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-graphics-attrib.rng
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" xmlns:ns1="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Graphics Attribute Module
+ file: svg-graphics-attrib.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-graphics-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Graphics Attribute
+
+ display, image-rendering, pointer-events, shape-rendering,
+ text-rendering, visibility
+
+ This module defines the Graphics attribute set.
+ </a:documentation>
+ <include href="svg-basic-graphics-attrib.rng"/>
+ <define name="SVG.image-rendering.attrib">
+ <optional>
+ <attribute name="image-rendering">
+ <choice>
+ <value>auto</value>
+ <value>optimizeSpeed</value>
+ <value>optimizeQuality</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.pointer-events.attrib">
+ <optional>
+ <attribute name="pointer-events">
+ <choice>
+ <value>visiblePainted</value>
+ <value>visibleFill</value>
+ <value>visibleStroke</value>
+ <value>visible</value>
+ <value>painted</value>
+ <value>fill</value>
+ <value>stroke</value>
+ <value>all</value>
+ <value>none</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.shape-rendering.attrib">
+ <optional>
+ <attribute name="shape-rendering">
+ <choice>
+ <value>auto</value>
+ <value>optimizeSpeed</value>
+ <value>crispEdges</value>
+ <value>geometricPrecision</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.text-rendering.attrib">
+ <optional>
+ <attribute name="text-rendering">
+ <choice>
+ <value>auto</value>
+ <value>optimizeSpeed</value>
+ <value>optimizeLegibility</value>
+ <value>geometricPrecision</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.Graphics.attrib" combine="interleave">
+ <ref name="SVG.image-rendering.attrib"/>
+ <ref name="SVG.pointer-events.attrib"/>
+ <ref name="SVG.shape-rendering.attrib"/>
+ <ref name="SVG.text-rendering.attrib"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-hyperlink.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-hyperlink.rng
new file mode 100644
index 00000000000..1e0c1807091
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-hyperlink.rng
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" 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">
+ <a:documentation>
+ SVG 1.1 Hyperlinking Module
+ file: svg-hyperlink.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-hyperlink.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Hyperlinking
+
+ a
+
+ This module declares markup to provide support for hyper linking.
+ </a:documentation>
+ <define name="LinkTarget.datatype">
+ <a:documentation>
+ link to this target
+ </a:documentation>
+ <data type="NMTOKEN"/>
+ </define>
+ <a:documentation>
+ SVG.Hyperlink.class
+ </a:documentation>
+ <define name="SVG.Hyperlink.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Hyperlink.class" combine="choice">
+ <choice>
+ <ref name="a"/>
+ <ref name="SVG.Hyperlink.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ a: Anchor Element
+ </a:documentation>
+ <define name="SVG.a.content">
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="SVG.Description.class"/>
+ <ref name="SVG.Animation.class"/>
+ <ref name="SVG.Structure.class"/>
+ <ref name="SVG.Conditional.class"/>
+ <ref name="SVG.Image.class"/>
+ <ref name="SVG.Style.class"/>
+ <ref name="SVG.Shape.class"/>
+ <ref name="SVG.Text.class"/>
+ <ref name="SVG.Marker.class"/>
+ <ref name="SVG.Profile.class"/>
+ <ref name="SVG.Gradient.class"/>
+ <ref name="SVG.Pattern.class"/>
+ <ref name="SVG.Clip.class"/>
+ <ref name="SVG.Mask.class"/>
+ <ref name="SVG.Filter.class"/>
+ <ref name="SVG.Cursor.class"/>
+ <ref name="SVG.Hyperlink.class"/>
+ <ref name="SVG.View.class"/>
+ <ref name="SVG.Script.class"/>
+ <ref name="SVG.Font.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="a">
+ <element name="a">
+ <ref name="attlist.a"/>
+ <ref name="SVG.a.content"/>
+ </element>
+ </define>
+ <define name="attlist.a" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.XLinkReplace.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="target">
+ <ref name="LinkTarget.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-image.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-image.rng
new file mode 100644
index 00000000000..8b02c532890
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-image.rng
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Image Module
+ file: svg-image.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-image.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Image
+
+ image
+
+ This module declares markup to provide support for image.
+ </a:documentation>
+ <a:documentation>
+ SVG.Image.class
+ </a:documentation>
+ <define name="SVG.Image.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Image.class" combine="choice">
+ <choice>
+ <ref name="image"/>
+ <ref name="SVG.Image.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ image: Image Element
+ </a:documentation>
+ <define name="SVG.image.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SVG.Animation.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="image">
+ <element name="image">
+ <ref name="attlist.image"/>
+ <ref name="SVG.image.content"/>
+ </element>
+ </define>
+ <define name="attlist.image" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Viewport.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Opacity.attrib"/>
+ <ref name="SVG.Graphics.attrib"/>
+ <ref name="SVG.Profile.attrib"/>
+ <ref name="SVG.Clip.attrib"/>
+ <ref name="SVG.Mask.attrib"/>
+ <ref name="SVG.Filter.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.Cursor.attrib"/>
+ <ref name="SVG.XLinkEmbed.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="x">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="preserveAspectRatio" a:defaultValue="xMidYMid meet">
+ <ref name="PreserveAspectRatioSpec.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-marker.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-marker.rng
new file mode 100644
index 00000000000..ef30e1d60c1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-marker.rng
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" 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">
+ <a:documentation>
+ SVG 1.1 Marker Module
+ file: svg-marker.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-marker.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Marker
+
+ marker
+
+ This module declares markup to provide support for marker.
+ </a:documentation>
+ <a:documentation>
+ Datatypes
+ </a:documentation>
+ <define name="MarkerValue.datatype">
+ <data type="string"/>
+ </define>
+ <a:documentation>
+ SVG.Marker.attrib
+ </a:documentation>
+ <define name="SVG.Marker.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Marker.attrib" combine="interleave">
+ <optional>
+ <attribute name="marker-start">
+ <ref name="MarkerValue.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="marker-mid">
+ <ref name="MarkerValue.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="marker-end">
+ <ref name="MarkerValue.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="SVG.Marker.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.Marker.class
+ </a:documentation>
+ <define name="SVG.Marker.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Marker.class" combine="choice">
+ <choice>
+ <ref name="marker"/>
+ <ref name="SVG.Marker.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ marker: Marker Element
+ </a:documentation>
+ <define name="SVG.marker.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="SVG.Description.class"/>
+ <ref name="SVG.Animation.class"/>
+ <ref name="SVG.Structure.class"/>
+ <ref name="SVG.Conditional.class"/>
+ <ref name="SVG.Image.class"/>
+ <ref name="SVG.Style.class"/>
+ <ref name="SVG.Shape.class"/>
+ <ref name="SVG.Text.class"/>
+ <ref name="SVG.Marker.class"/>
+ <ref name="SVG.Profile.class"/>
+ <ref name="SVG.Gradient.class"/>
+ <ref name="SVG.Pattern.class"/>
+ <ref name="SVG.Clip.class"/>
+ <ref name="SVG.Mask.class"/>
+ <ref name="SVG.Filter.class"/>
+ <ref name="SVG.Cursor.class"/>
+ <ref name="SVG.Hyperlink.class"/>
+ <ref name="SVG.View.class"/>
+ <ref name="SVG.Script.class"/>
+ <ref name="SVG.Font.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="marker">
+ <element name="marker">
+ <ref name="attlist.marker"/>
+ <ref name="SVG.marker.content"/>
+ </element>
+ </define>
+ <define name="attlist.marker" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="refX">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="refY">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="markerUnits">
+ <choice>
+ <value>strokeWidth</value>
+ <value>userSpaceOnUse</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="markerWidth">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="markerHeight">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="orient"/>
+ </optional>
+ <optional>
+ <attribute name="viewBox">
+ <ref name="ViewBoxSpec.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="preserveAspectRatio" a:defaultValue="xMidYMid meet">
+ <ref name="PreserveAspectRatioSpec.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-mask.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-mask.rng
new file mode 100644
index 00000000000..ca25e47915d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-mask.rng
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" 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">
+ <a:documentation>
+ SVG 1.1 Mask Module
+ file: svg-mask.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-mask.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Mask
+
+ mask
+
+ This module declares markup to provide support for masking.
+ </a:documentation>
+ <a:documentation>
+ Datatypes
+ </a:documentation>
+ <define name="MaskValue.datatype">
+ <data type="string"/>
+ </define>
+ <a:documentation>
+ SVG.Mask.attrib
+ </a:documentation>
+ <define name="SVG.Mask.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Mask.attrib" combine="interleave">
+ <optional>
+ <attribute name="mask">
+ <ref name="MaskValue.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="SVG.Mask.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.Mask.class
+ </a:documentation>
+ <define name="SVG.Mask.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Mask.class" combine="choice">
+ <choice>
+ <ref name="mask"/>
+ <ref name="SVG.Mask.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ mask: Mask Element
+ </a:documentation>
+ <define name="SVG.mask.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="SVG.Description.class"/>
+ <ref name="SVG.Animation.class"/>
+ <ref name="SVG.Structure.class"/>
+ <ref name="SVG.Conditional.class"/>
+ <ref name="SVG.Image.class"/>
+ <ref name="SVG.Style.class"/>
+ <ref name="SVG.Shape.class"/>
+ <ref name="SVG.Text.class"/>
+ <ref name="SVG.Marker.class"/>
+ <ref name="SVG.Profile.class"/>
+ <ref name="SVG.Gradient.class"/>
+ <ref name="SVG.Pattern.class"/>
+ <ref name="SVG.Clip.class"/>
+ <ref name="SVG.Mask.class"/>
+ <ref name="SVG.Filter.class"/>
+ <ref name="SVG.Cursor.class"/>
+ <ref name="SVG.Hyperlink.class"/>
+ <ref name="SVG.View.class"/>
+ <ref name="SVG.Script.class"/>
+ <ref name="SVG.Font.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="mask">
+ <element name="mask">
+ <ref name="attlist.mask"/>
+ <ref name="SVG.mask.content"/>
+ </element>
+ </define>
+ <define name="attlist.mask" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="x">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="maskUnits">
+ <choice>
+ <value>userSpaceOnUse</value>
+ <value>objectBoundingBox</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="maskContentUnits">
+ <choice>
+ <value>userSpaceOnUse</value>
+ <value>objectBoundingBox</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-opacity-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-opacity-attrib.rng
new file mode 100644
index 00000000000..44458f8b805
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-opacity-attrib.rng
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Paint Opacity Attribute Module
+ file: svg-opacity-attrib.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-opacity-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Paint Opacity Attribute
+
+ opacity, fill-opacity, stroke-opacity
+
+ This module defines the Opacity attribute set.
+ </a:documentation>
+ <define name="SVG.opacity.attrib">
+ <optional>
+ <attribute name="opacity">
+ <ref name="OpacityValue.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.fill-opacity.attrib">
+ <optional>
+ <attribute name="fill-opacity">
+ <ref name="OpacityValue.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.stroke-opacity.attrib">
+ <optional>
+ <attribute name="stroke-opacity">
+ <ref name="OpacityValue.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.Opacity.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Opacity.attrib" combine="interleave">
+ <ref name="SVG.opacity.attrib"/>
+ <ref name="SVG.fill-opacity.attrib"/>
+ <ref name="SVG.stroke-opacity.attrib"/>
+ <ref name="SVG.Opacity.extra.attrib"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-paint-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-paint-attrib.rng
new file mode 100644
index 00000000000..fe9d499edca
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-paint-attrib.rng
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" 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">
+ <a:documentation>
+ SVG 1.1 Paint Attribute Module
+ file: svg-paint-attrib.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-paint-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Paint Attribute
+
+ fill, fill-rule, stroke, stroke-dasharray, stroke-dashoffset,
+ stroke-linecap, stroke-linejoin, stroke-miterlimit, stroke-width, color,
+ color-interpolation, color-rendering
+
+ This module defines the Paint and Color attribute sets.
+ </a:documentation>
+ <define name="Paint.datatype">
+ <a:documentation>
+ a 'fill' or 'stroke' property/attribute value: &lt;paint&gt;
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="StrokeDashArrayValue.datatype">
+ <a:documentation>
+ 'stroke-dasharray' property/attribute value
+ (e.g., 'none', list of &lt;number&gt;s)
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="StrokeDashOffsetValue.datatype">
+ <a:documentation>
+ 'stroke-dashoffset' property/attribute value (e.g., 'none', &lt;legnth&gt;)
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="StrokeMiterLimitValue.datatype">
+ <a:documentation>
+ 'stroke-miterlimit' property/attribute value (e.g., &lt;number&gt;)
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="StrokeWidthValue.datatype">
+ <a:documentation>
+ 'stroke-width' property/attribute value (e.g., &lt;length&gt;)
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="SVG.fill.attrib">
+ <optional>
+ <attribute name="fill">
+ <ref name="Paint.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.fill-rule.attrib">
+ <optional>
+ <attribute name="fill-rule">
+ <ref name="ClipFillRule.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.stroke.attrib">
+ <optional>
+ <attribute name="stroke">
+ <ref name="Paint.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.stroke-dasharray.attrib">
+ <optional>
+ <attribute name="stroke-dasharray">
+ <ref name="StrokeDashArrayValue.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.stroke-dashoffset.attrib">
+ <optional>
+ <attribute name="stroke-dashoffset">
+ <ref name="StrokeDashOffsetValue.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.stroke-linecap.attrib">
+ <optional>
+ <attribute name="stroke-linecap">
+ <choice>
+ <value>butt</value>
+ <value>round</value>
+ <value>square</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.stroke-linejoin.attrib">
+ <optional>
+ <attribute name="stroke-linejoin">
+ <choice>
+ <value>miter</value>
+ <value>round</value>
+ <value>bevel</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.stroke-miterlimit.attrib">
+ <optional>
+ <attribute name="stroke-miterlimit">
+ <ref name="StrokeMiterLimitValue.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.stroke-width.attrib">
+ <optional>
+ <attribute name="stroke-width">
+ <ref name="StrokeWidthValue.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.Paint.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Paint.attrib" combine="interleave">
+ <ref name="SVG.fill.attrib"/>
+ <ref name="SVG.fill-rule.attrib"/>
+ <ref name="SVG.stroke.attrib"/>
+ <ref name="SVG.stroke-dasharray.attrib"/>
+ <ref name="SVG.stroke-dashoffset.attrib"/>
+ <ref name="SVG.stroke-linecap.attrib"/>
+ <ref name="SVG.stroke-linejoin.attrib"/>
+ <ref name="SVG.stroke-miterlimit.attrib"/>
+ <ref name="SVG.stroke-width.attrib"/>
+ <ref name="SVG.Paint.extra.attrib"/>
+ </define>
+ <define name="SVG.color.attrib">
+ <optional>
+ <attribute name="color">
+ <ref name="Color.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.color-interpolation.attrib">
+ <optional>
+ <attribute name="color-interpolation">
+ <choice>
+ <value>auto</value>
+ <value>sRGB</value>
+ <value>linearRGB</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.color-rendering.attrib">
+ <optional>
+ <attribute name="color-rendering">
+ <choice>
+ <value>auto</value>
+ <value>optimizeSpeed</value>
+ <value>optimizeQuality</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.Color.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Color.attrib" combine="interleave">
+ <ref name="SVG.color.attrib"/>
+ <ref name="SVG.color-interpolation.attrib"/>
+ <ref name="SVG.color-rendering.attrib"/>
+ <ref name="SVG.Color.extra.attrib"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-pattern.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-pattern.rng
new file mode 100644
index 00000000000..371521b1688
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-pattern.rng
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Pattern Module
+ file: svg-pattern.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-pattern.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Pattern
+
+ pattern
+
+ This module declares markup to provide support for pattern fill.
+ </a:documentation>
+ <a:documentation>
+ SVG.Pattern.class
+ </a:documentation>
+ <define name="SVG.Pattern.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Pattern.class" combine="choice">
+ <choice>
+ <ref name="pattern"/>
+ <ref name="SVG.Pattern.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ pattern: Pattern Element
+ </a:documentation>
+ <define name="SVG.pattern.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="SVG.Description.class"/>
+ <ref name="SVG.Animation.class"/>
+ <ref name="SVG.Structure.class"/>
+ <ref name="SVG.Conditional.class"/>
+ <ref name="SVG.Image.class"/>
+ <ref name="SVG.Style.class"/>
+ <ref name="SVG.Shape.class"/>
+ <ref name="SVG.Text.class"/>
+ <ref name="SVG.Marker.class"/>
+ <ref name="SVG.Profile.class"/>
+ <ref name="SVG.Gradient.class"/>
+ <ref name="SVG.Pattern.class"/>
+ <ref name="SVG.Clip.class"/>
+ <ref name="SVG.Mask.class"/>
+ <ref name="SVG.Filter.class"/>
+ <ref name="SVG.Cursor.class"/>
+ <ref name="SVG.Hyperlink.class"/>
+ <ref name="SVG.View.class"/>
+ <ref name="SVG.Script.class"/>
+ <ref name="SVG.Font.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="pattern">
+ <element name="pattern">
+ <ref name="attlist.pattern"/>
+ <ref name="SVG.pattern.content"/>
+ </element>
+ </define>
+ <define name="attlist.pattern" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <ref name="SVG.XLink.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="x">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="patternUnits">
+ <choice>
+ <value>userSpaceOnUse</value>
+ <value>objectBoundingBox</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="patternContentUnits">
+ <choice>
+ <value>userSpaceOnUse</value>
+ <value>objectBoundingBox</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="patternTransform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="viewBox">
+ <ref name="ViewBoxSpec.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="preserveAspectRatio" a:defaultValue="xMidYMid meet">
+ <ref name="PreserveAspectRatioSpec.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-profile.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-profile.rng
new file mode 100644
index 00000000000..11834192f0f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-profile.rng
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Color Profile Module
+ file: svg-profile.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-profile.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Color Profile
+
+ color-profile
+
+ This module declares markup to provide support for color profile.
+ </a:documentation>
+ <a:documentation>
+ SVG.Profile.attrib
+ </a:documentation>
+ <define name="SVG.Profile.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Profile.attrib" combine="interleave">
+ <optional>
+ <attribute name="color-profile"/>
+ </optional>
+ <ref name="SVG.Profile.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.Profile.class
+ </a:documentation>
+ <define name="SVG.Profile.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Profile.class" combine="choice">
+ <choice>
+ <ref name="color-profile"/>
+ <ref name="SVG.Profile.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ color-profile: Color Profile Element
+ </a:documentation>
+ <define name="SVG.color-profile.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="color-profile">
+ <element name="color-profile">
+ <ref name="attlist.color-profile"/>
+ <ref name="SVG.color-profile.content"/>
+ </element>
+ </define>
+ <define name="attlist.color-profile" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.XLink.attrib"/>
+ <optional>
+ <attribute name="local"/>
+ </optional>
+ <attribute name="name"/>
+ <optional>
+ <attribute name="rendering-intent" a:defaultValue="auto">
+ <choice>
+ <value>auto</value>
+ <value>perceptual</value>
+ <value>relative-colorimetric</value>
+ <value>saturation</value>
+ <value>absolute-colorimetric</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-script.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-script.rng
new file mode 100644
index 00000000000..4e21020a398
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-script.rng
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Scripting Module
+ file: svg-script.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-script.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Scripting
+
+ script
+
+ This module declares markup to provide support for scripting.
+ </a:documentation>
+ <a:documentation>
+ SVG.Script.class
+ </a:documentation>
+ <define name="SVG.Script.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Script.class" combine="choice">
+ <choice>
+ <ref name="script"/>
+ <ref name="SVG.Script.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ script: Script Element
+ </a:documentation>
+ <define name="SVG.script.content">
+ <text/>
+ </define>
+ <define name="script">
+ <element name="script">
+ <ref name="attlist.script"/>
+ <ref name="SVG.script.content"/>
+ </element>
+ </define>
+ <define name="attlist.script" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.XLink.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <attribute name="type">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-shape.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-shape.rng
new file mode 100644
index 00000000000..c931bab7ae2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-shape.rng
@@ -0,0 +1,395 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" 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">
+ <a:documentation>
+ SVG 1.1 Shape Module
+ file: svg-shape.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-shape.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Shape
+
+ path, rect, circle, line, ellipse, polyline, polygon
+
+ This module declares markup to provide support for graphical shapes.
+ </a:documentation>
+ <define name="Points.datatype">
+ <a:documentation>
+ a list of points
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <a:documentation>
+ SVG.Shape.class
+ </a:documentation>
+ <define name="SVG.Shape.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Shape.class" combine="choice">
+ <choice>
+ <ref name="path"/>
+ <ref name="rect"/>
+ <ref name="circle"/>
+ <ref name="line"/>
+ <ref name="ellipse"/>
+ <ref name="polyline"/>
+ <ref name="polygon"/>
+ <ref name="SVG.Shape.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ path: Path Element
+ </a:documentation>
+ <define name="SVG.path.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SVG.Animation.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="path">
+ <element name="path">
+ <ref name="attlist.path"/>
+ <ref name="SVG.path.content"/>
+ </element>
+ </define>
+ <define name="attlist.path" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Paint.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Opacity.attrib"/>
+ <ref name="SVG.Graphics.attrib"/>
+ <ref name="SVG.Marker.attrib"/>
+ <ref name="SVG.Clip.attrib"/>
+ <ref name="SVG.Mask.attrib"/>
+ <ref name="SVG.Filter.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.Cursor.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <attribute name="d">
+ <ref name="PathData.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="pathLength">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ rect: Rectangle Element
+ </a:documentation>
+ <define name="SVG.rect.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SVG.Animation.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="rect">
+ <element name="rect">
+ <ref name="attlist.rect"/>
+ <ref name="SVG.rect.content"/>
+ </element>
+ </define>
+ <define name="attlist.rect" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Paint.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Opacity.attrib"/>
+ <ref name="SVG.Graphics.attrib"/>
+ <ref name="SVG.Clip.attrib"/>
+ <ref name="SVG.Mask.attrib"/>
+ <ref name="SVG.Filter.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.Cursor.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="x">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="rx">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="ry">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ circle: Circle Element
+ </a:documentation>
+ <define name="SVG.circle.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SVG.Animation.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="circle">
+ <element name="circle">
+ <ref name="attlist.circle"/>
+ <ref name="SVG.circle.content"/>
+ </element>
+ </define>
+ <define name="attlist.circle" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Paint.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Opacity.attrib"/>
+ <ref name="SVG.Graphics.attrib"/>
+ <ref name="SVG.Clip.attrib"/>
+ <ref name="SVG.Mask.attrib"/>
+ <ref name="SVG.Filter.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.Cursor.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="cx">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="cy">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <attribute name="r">
+ <ref name="Length.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ line: Line Element
+ </a:documentation>
+ <define name="SVG.line.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SVG.Animation.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="line">
+ <element name="line">
+ <ref name="attlist.line"/>
+ <ref name="SVG.line.content"/>
+ </element>
+ </define>
+ <define name="attlist.line" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Paint.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Opacity.attrib"/>
+ <ref name="SVG.Graphics.attrib"/>
+ <ref name="SVG.Marker.attrib"/>
+ <ref name="SVG.Clip.attrib"/>
+ <ref name="SVG.Mask.attrib"/>
+ <ref name="SVG.Filter.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.Cursor.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="x1">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y1">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="x2">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y2">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ ellipse: Ellipse Element
+ </a:documentation>
+ <define name="SVG.ellipse.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SVG.Animation.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="ellipse">
+ <element name="ellipse">
+ <ref name="attlist.ellipse"/>
+ <ref name="SVG.ellipse.content"/>
+ </element>
+ </define>
+ <define name="attlist.ellipse" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Paint.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Opacity.attrib"/>
+ <ref name="SVG.Graphics.attrib"/>
+ <ref name="SVG.Clip.attrib"/>
+ <ref name="SVG.Mask.attrib"/>
+ <ref name="SVG.Filter.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.Cursor.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="cx">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="cy">
+ <ref name="Coordinate.datatype"/>
+ </attribute>
+ </optional>
+ <attribute name="rx">
+ <ref name="Length.datatype"/>
+ </attribute>
+ <attribute name="ry">
+ <ref name="Length.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ polyline: Polyline Element
+ </a:documentation>
+ <define name="SVG.polyline.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SVG.Animation.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="polyline">
+ <element name="polyline">
+ <ref name="attlist.polyline"/>
+ <ref name="SVG.polyline.content"/>
+ </element>
+ </define>
+ <define name="attlist.polyline" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Paint.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Opacity.attrib"/>
+ <ref name="SVG.Graphics.attrib"/>
+ <ref name="SVG.Marker.attrib"/>
+ <ref name="SVG.Clip.attrib"/>
+ <ref name="SVG.Mask.attrib"/>
+ <ref name="SVG.Filter.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.Cursor.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <attribute name="points">
+ <ref name="Points.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ polygon: Polygon Element
+ </a:documentation>
+ <define name="SVG.polygon.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SVG.Animation.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="polygon">
+ <element name="polygon">
+ <ref name="attlist.polygon"/>
+ <ref name="SVG.polygon.content"/>
+ </element>
+ </define>
+ <define name="attlist.polygon" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Paint.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Opacity.attrib"/>
+ <ref name="SVG.Graphics.attrib"/>
+ <ref name="SVG.Marker.attrib"/>
+ <ref name="SVG.Clip.attrib"/>
+ <ref name="SVG.Mask.attrib"/>
+ <ref name="SVG.Filter.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.Cursor.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <attribute name="points">
+ <ref name="Points.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="transform">
+ <ref name="TransformList.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-structure.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-structure.rng
new file mode 100644
index 00000000000..533d3462646
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-structure.rng
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 Structure Module
+ file: svg-structure.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-structure.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Structure
+
+ svg, g, defs, desc, title, metadata, symbol, use
+
+ This module declares the major structural elements and their attributes.
+ </a:documentation>
+ <include href="svg-basic-structure.rng"/>
+ <define name="SVG.Structure.class" combine="choice">
+ <a:documentation>
+ extend SVG.Structure.class
+ </a:documentation>
+ <ref name="symbol"/>
+ </define>
+ <a:documentation>
+ symbol: Symbol Element
+ </a:documentation>
+ <define name="SVG.symbol.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="SVG.Description.class"/>
+ <ref name="SVG.Animation.class"/>
+ <ref name="SVG.Structure.class"/>
+ <ref name="SVG.Conditional.class"/>
+ <ref name="SVG.Image.class"/>
+ <ref name="SVG.Style.class"/>
+ <ref name="SVG.Shape.class"/>
+ <ref name="SVG.Text.class"/>
+ <ref name="SVG.Marker.class"/>
+ <ref name="SVG.Profile.class"/>
+ <ref name="SVG.Gradient.class"/>
+ <ref name="SVG.Pattern.class"/>
+ <ref name="SVG.Clip.class"/>
+ <ref name="SVG.Mask.class"/>
+ <ref name="SVG.Filter.class"/>
+ <ref name="SVG.Cursor.class"/>
+ <ref name="SVG.Hyperlink.class"/>
+ <ref name="SVG.View.class"/>
+ <ref name="SVG.Script.class"/>
+ <ref name="SVG.Font.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="symbol">
+ <element name="symbol">
+ <ref name="attlist.symbol"/>
+ <ref name="SVG.symbol.content"/>
+ </element>
+ </define>
+ <define name="attlist.symbol" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.Presentation.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="viewBox">
+ <ref name="ViewBoxSpec.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="preserveAspectRatio" a:defaultValue="xMidYMid meet">
+ <ref name="PreserveAspectRatioSpec.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-style.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-style.rng
new file mode 100644
index 00000000000..bc9b9a736f6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-style.rng
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" 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">
+ <a:documentation>
+ SVG 1.1 Style Module
+ file: svg-style.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-style.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Style
+
+ style
+
+ This module declares markup to provide support for stylesheet.
+ </a:documentation>
+ <a:documentation>
+ Datatypes
+ </a:documentation>
+ <define name="ClassList.datatype">
+ <data type="NMTOKENS"/>
+ </define>
+ <define name="StyleSheet.datatype">
+ <data type="string"/>
+ </define>
+ <define name="MediaDesc.datatype">
+ <a:documentation>
+ comma-separated list of media descriptors.
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <a:documentation>
+ SVG.Style.attrib
+ </a:documentation>
+ <define name="SVG.Style.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Style.attrib" combine="interleave">
+ <optional>
+ <attribute name="style">
+ <ref name="StyleSheet.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="class">
+ <ref name="ClassList.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="SVG.Style.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.Style.class
+ </a:documentation>
+ <define name="SVG.Style.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.Style.class" combine="choice">
+ <choice>
+ <ref name="style"/>
+ <ref name="SVG.Style.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ style: Style Element
+ </a:documentation>
+ <define name="SVG.style.content">
+ <text/>
+ </define>
+ <define name="style">
+ <element name="style">
+ <ref name="attlist.style"/>
+ <ref name="SVG.style.content"/>
+ </element>
+ </define>
+ <define name="attlist.style" combine="interleave">
+ <optional>
+ <attribute name="xml:space" a:defaultValue="preserve">
+ <value>preserve</value>
+ </attribute>
+ </optional>
+ <ref name="SVG.id.attrib"/>
+ <ref name="SVG.base.attrib"/>
+ <ref name="SVG.lang.attrib"/>
+ <ref name="SVG.Core.extra.attrib"/>
+ <attribute name="type">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="media">
+ <ref name="MediaDesc.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="title">
+ <ref name="Text.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-text.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-text.rng
new file mode 100644
index 00000000000..d0740889641
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-text.rng
@@ -0,0 +1,572 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" 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">
+ <a:documentation>
+ SVG 1.1 Text Module
+ file: svg-text.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-text.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Text
+
+ text, tspan, tref, textPath, altGlyph, altGlyphDef, altGlyphItem,
+ glyphRef
+
+ This module declares markup to provide support for alternate glyph.
+ </a:documentation>
+ <include href="svg-basic-text.rng"/>
+ <a:documentation>
+ Datatypes
+ </a:documentation>
+ <define name="BaselineShiftValue.datatype">
+ <data type="string"/>
+ </define>
+ <define name="FontSizeAdjustValue.datatype">
+ <data type="string"/>
+ </define>
+ <define name="GlyphOrientationHorizontalValue.datatype">
+ <data type="string"/>
+ </define>
+ <define name="GlyphOrientationVerticalValue.datatype">
+ <data type="string"/>
+ </define>
+ <define name="KerningValue.datatype">
+ <data type="string"/>
+ </define>
+ <define name="SpacingValue.datatype">
+ <data type="string"/>
+ </define>
+ <define name="TextDecorationValue.datatype">
+ <data type="string"/>
+ </define>
+ <a:documentation>
+ SVG.Text.attrib
+ </a:documentation>
+ <define name="SVG.Text.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Text.attrib" combine="interleave">
+ <optional>
+ <attribute name="writing-mode">
+ <choice>
+ <value>lr-tb</value>
+ <value>rl-tb</value>
+ <value>tb-rl</value>
+ <value>lr</value>
+ <value>rl</value>
+ <value>tb</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ <ref name="SVG.Text.extra.attrib"/>
+ </define>
+ <a:documentation>
+ SVG.TextContent.attrib
+ </a:documentation>
+ <define name="SVG.TextContent.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.TextContent.attrib" combine="interleave">
+ <optional>
+ <attribute name="alignment-baseline">
+ <choice>
+ <value>auto</value>
+ <value>baseline</value>
+ <value>before-edge</value>
+ <value>text-before-edge</value>
+ <value>middle</value>
+ <value>central</value>
+ <value>after-edge</value>
+ <value>text-after-edge</value>
+ <value>ideographic</value>
+ <value>alphabetic</value>
+ <value>hanging</value>
+ <value>mathematical</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="baseline-shift">
+ <ref name="BaselineShiftValue.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="direction">
+ <choice>
+ <value>ltr</value>
+ <value>rtl</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dominant-baseline">
+ <choice>
+ <value>auto</value>
+ <value>use-script</value>
+ <value>no-change</value>
+ <value>reset-size</value>
+ <value>ideographic</value>
+ <value>alphabetic</value>
+ <value>hanging</value>
+ <value>mathematical</value>
+ <value>central</value>
+ <value>middle</value>
+ <value>text-after-edge</value>
+ <value>text-before-edge</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="glyph-orientation-horizontal">
+ <ref name="GlyphOrientationHorizontalValue.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="glyph-orientation-vertical">
+ <ref name="GlyphOrientationVerticalValue.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="kerning">
+ <ref name="KerningValue.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="letter-spacing">
+ <ref name="SpacingValue.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text-anchor">
+ <choice>
+ <value>start</value>
+ <value>middle</value>
+ <value>end</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="text-decoration">
+ <ref name="TextDecorationValue.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="unicode-bidi">
+ <choice>
+ <value>normal</value>
+ <value>embed</value>
+ <value>bidi-override</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="word-spacing">
+ <ref name="SpacingValue.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="SVG.TextContent.extra.attrib"/>
+ </define>
+ <define name="SVG.Font.attrib" combine="interleave">
+ <optional>
+ <attribute name="font-size-adjust">
+ <ref name="FontSizeAdjustValue.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="font-stretch">
+ <choice>
+ <value>normal</value>
+ <value>wider</value>
+ <value>narrower</value>
+ <value>ultra-condensed</value>
+ <value>extra-condensed</value>
+ <value>condensed</value>
+ <value>semi-condensed</value>
+ <value>semi-expanded</value>
+ <value>expanded</value>
+ <value>extra-expanded</value>
+ <value>ultra-expanded</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="font-variant">
+ <choice>
+ <value>normal</value>
+ <value>small-caps</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.Text.class" combine="choice">
+ <a:documentation>
+ extend SVG.Text.class
+ </a:documentation>
+ <ref name="altGlyphDef"/>
+ </define>
+ <define name="SVG.TextContent.class" combine="choice">
+ <a:documentation>
+ extend SVG.TextContent.class
+ </a:documentation>
+ <choice>
+ <ref name="tspan"/>
+ <ref name="tref"/>
+ <ref name="textPath"/>
+ </choice>
+ </define>
+ <a:documentation>
+ text: Text Element
+ </a:documentation>
+ <define name="SVG.text.class" combine="choice">
+ <ref name="SVG.TextContent.class"/>
+ </define>
+ <define name="attlist.text" combine="interleave">
+ <ref name="SVG.Text.attrib"/>
+ <ref name="SVG.TextContent.attrib"/>
+ <optional>
+ <attribute name="dx">
+ <ref name="Lengths.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dy">
+ <ref name="Lengths.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="textLength">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="lengthAdjust">
+ <choice>
+ <value>spacing</value>
+ <value>spacingAndGlyphs</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ tspan: Text Span Element
+ </a:documentation>
+ <define name="SVG.tspan.content">
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="tspan"/>
+ <ref name="tref"/>
+ <ref name="altGlyph"/>
+ <ref name="animate"/>
+ <ref name="set"/>
+ <ref name="animateColor"/>
+ <ref name="SVG.Description.class"/>
+ <ref name="SVG.Hyperlink.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="tspan">
+ <element name="tspan">
+ <ref name="attlist.tspan"/>
+ <ref name="SVG.tspan.content"/>
+ </element>
+ </define>
+ <define name="attlist.tspan" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.TextContent.attrib"/>
+ <ref name="SVG.Font.attrib"/>
+ <ref name="SVG.Paint.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Opacity.attrib"/>
+ <ref name="SVG.Graphics.attrib"/>
+ <ref name="SVG.Clip.attrib"/>
+ <ref name="SVG.Mask.attrib"/>
+ <ref name="SVG.Filter.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.Cursor.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="x">
+ <ref name="Coordinates.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Coordinates.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dx">
+ <ref name="Lengths.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dy">
+ <ref name="Lengths.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rotate">
+ <ref name="Numbers.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="textLength">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="lengthAdjust">
+ <choice>
+ <value>spacing</value>
+ <value>spacingAndGlyphs</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ tref: Text Reference Element
+ </a:documentation>
+ <define name="SVG.tref.content">
+ <zeroOrMore>
+ <choice>
+ <ref name="animate"/>
+ <ref name="set"/>
+ <ref name="animateColor"/>
+ <ref name="SVG.Description.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="tref">
+ <element name="tref">
+ <ref name="attlist.tref"/>
+ <ref name="SVG.tref.content"/>
+ </element>
+ </define>
+ <define name="attlist.tref" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.TextContent.attrib"/>
+ <ref name="SVG.Font.attrib"/>
+ <ref name="SVG.Paint.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Opacity.attrib"/>
+ <ref name="SVG.Graphics.attrib"/>
+ <ref name="SVG.Clip.attrib"/>
+ <ref name="SVG.Mask.attrib"/>
+ <ref name="SVG.Filter.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.Cursor.attrib"/>
+ <ref name="SVG.XLinkRequired.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="x">
+ <ref name="Coordinates.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Coordinates.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dx">
+ <ref name="Lengths.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dy">
+ <ref name="Lengths.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rotate">
+ <ref name="Numbers.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="textLength">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="lengthAdjust">
+ <choice>
+ <value>spacing</value>
+ <value>spacingAndGlyphs</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ textPath: Text Path Element
+ </a:documentation>
+ <define name="SVG.textPath.content">
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="tspan"/>
+ <ref name="tref"/>
+ <ref name="altGlyph"/>
+ <ref name="animate"/>
+ <ref name="set"/>
+ <ref name="animateColor"/>
+ <ref name="SVG.Description.class"/>
+ <ref name="SVG.Hyperlink.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="textPath">
+ <element name="textPath">
+ <ref name="attlist.textPath"/>
+ <ref name="SVG.textPath.content"/>
+ </element>
+ </define>
+ <define name="attlist.textPath" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.Conditional.attrib"/>
+ <ref name="SVG.Style.attrib"/>
+ <ref name="SVG.TextContent.attrib"/>
+ <ref name="SVG.Font.attrib"/>
+ <ref name="SVG.Paint.attrib"/>
+ <ref name="SVG.Color.attrib"/>
+ <ref name="SVG.Opacity.attrib"/>
+ <ref name="SVG.Graphics.attrib"/>
+ <ref name="SVG.Clip.attrib"/>
+ <ref name="SVG.Mask.attrib"/>
+ <ref name="SVG.Filter.attrib"/>
+ <ref name="SVG.GraphicalEvents.attrib"/>
+ <ref name="SVG.Cursor.attrib"/>
+ <ref name="SVG.XLinkRequired.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="startOffset">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="textLength">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="lengthAdjust">
+ <choice>
+ <value>spacing</value>
+ <value>spacingAndGlyphs</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="method">
+ <choice>
+ <value>align</value>
+ <value>stretch</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="spacing">
+ <choice>
+ <value>auto</value>
+ <value>exact</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ altGlyph: Alternate Glyph Element
+ </a:documentation>
+ <define name="attlist.altGlyph" combine="interleave">
+ <ref name="SVG.TextContent.attrib"/>
+ <optional>
+ <attribute name="x">
+ <ref name="Coordinates.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Coordinates.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dx">
+ <ref name="Lengths.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dy">
+ <ref name="Lengths.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rotate">
+ <ref name="Numbers.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <a:documentation>
+ altGlyphDef: Alternate Glyph Definition Element
+ </a:documentation>
+ <define name="SVG.altGlyphDef.content" combine="choice">
+ <oneOrMore>
+ <ref name="altGlyphItem"/>
+ </oneOrMore>
+ </define>
+ <a:documentation>
+ altGlyphItem: Alternate Glyph Item Element
+ </a:documentation>
+ <define name="SVG.altGlyphItem.content">
+ <oneOrMore>
+ <ref name="glyphRef"/>
+ </oneOrMore>
+ </define>
+ <define name="altGlyphItem">
+ <element name="altGlyphItem">
+ <ref name="attlist.altGlyphItem"/>
+ <ref name="SVG.altGlyphItem.content"/>
+ </element>
+ </define>
+ <define name="attlist.altGlyphItem" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ </define>
+ <a:documentation>
+ glyphRef: Glyph Reference Element
+ </a:documentation>
+ <define name="attlist.glyphRef" combine="interleave">
+ <optional>
+ <attribute name="x">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="y">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dx">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="dy">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-view.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-view.rng
new file mode 100644
index 00000000000..2b26547d2f8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-view.rng
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" ns="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 View Module
+ file: svg-view.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-view.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ View
+
+ view
+
+ This module declares markup to provide support for view.
+ </a:documentation>
+ <a:documentation>
+ SVG.View.class
+ </a:documentation>
+ <define name="SVG.View.extra.class">
+ <notAllowed/>
+ </define>
+ <define name="SVG.View.class" combine="choice">
+ <choice>
+ <ref name="view"/>
+ <ref name="SVG.View.extra.class"/>
+ </choice>
+ </define>
+ <a:documentation>
+ view: View Element
+ </a:documentation>
+ <define name="SVG.view.content">
+ <zeroOrMore>
+ <ref name="SVG.Description.class"/>
+ </zeroOrMore>
+ </define>
+ <define name="view">
+ <element name="view">
+ <ref name="attlist.view"/>
+ <ref name="SVG.view.content"/>
+ </element>
+ </define>
+ <define name="attlist.view" combine="interleave">
+ <ref name="SVG.Core.attrib"/>
+ <ref name="SVG.External.attrib"/>
+ <optional>
+ <attribute name="viewBox">
+ <ref name="ViewBoxSpec.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="preserveAspectRatio" a:defaultValue="xMidYMid meet">
+ <ref name="PreserveAspectRatioSpec.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="zoomAndPan" a:defaultValue="magnify">
+ <choice>
+ <value>disable</value>
+ <value>magnify</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="viewTarget"/>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-viewport-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-viewport-attrib.rng
new file mode 100644
index 00000000000..1578d27ceb3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-viewport-attrib.rng
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" 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">
+ <a:documentation>
+ SVG 1.1 Viewport Attribute Module
+ file: svg-viewport-attrib.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-viewport-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ Viewport Attribute
+
+ clip, overflow
+
+ This module defines the Viewport attribute set.
+ </a:documentation>
+ <define name="ClipValue.datatype">
+ <a:documentation>
+ 'clip' property/attribute value (e.g., 'auto', rect(...))
+ </a:documentation>
+ <data type="string"/>
+ </define>
+ <define name="SVG.clip.attrib">
+ <optional>
+ <attribute name="clip">
+ <ref name="ClipValue.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.overflow.attrib">
+ <optional>
+ <attribute name="overflow">
+ <choice>
+ <value>visible</value>
+ <value>hidden</value>
+ <value>scroll</value>
+ <value>auto</value>
+ <value>inherit</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="SVG.Viewport.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.Viewport.attrib" combine="interleave">
+ <ref name="SVG.clip.attrib"/>
+ <ref name="SVG.overflow.attrib"/>
+ <ref name="SVG.Viewport.extra.attrib"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg-xlink-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg-xlink-attrib.rng
new file mode 100644
index 00000000000..0f1a65dffef
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg-xlink-attrib.rng
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ SVG 1.1 XLink Attribute Module
+ file: svg-xlink-attrib.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+
+ $Id: svg-xlink-attrib.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+ </a:documentation>
+ <a:documentation>
+ XLink Attribute
+
+ type, href, role, arcrole, title, show, actuate
+
+ This module defines the XLink, XLinkRequired, XLinkEmbed, and
+ XLinkReplace attribute set.
+ </a:documentation>
+ <define name="SVG.XLink.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.XLink.attrib" combine="interleave">
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <value>simple</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:href">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:role">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:arcrole">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:title"/>
+ </optional>
+ <optional>
+ <attribute name="xlink:show" a:defaultValue="other">
+ <value>other</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate" a:defaultValue="onLoad">
+ <value>onLoad</value>
+ </attribute>
+ </optional>
+ <ref name="SVG.XLink.extra.attrib"/>
+ </define>
+ <define name="SVG.XLinkRequired.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.XLinkRequired.attrib" combine="interleave">
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <value>simple</value>
+ </attribute>
+ </optional>
+ <attribute name="xlink:href">
+ <ref name="URI.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:role">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:arcrole">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:title"/>
+ </optional>
+ <optional>
+ <attribute name="xlink:show" a:defaultValue="other">
+ <value>other</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate" a:defaultValue="onLoad">
+ <value>onLoad</value>
+ </attribute>
+ </optional>
+ <ref name="SVG.XLinkRequired.extra.attrib"/>
+ </define>
+ <define name="SVG.XLinkEmbed.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.XLinkEmbed.attrib" combine="interleave">
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <value>simple</value>
+ </attribute>
+ </optional>
+ <attribute name="xlink:href">
+ <ref name="URI.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:role">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:arcrole">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:title"/>
+ </optional>
+ <optional>
+ <attribute name="xlink:show" a:defaultValue="embed">
+ <value>embed</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate" a:defaultValue="onLoad">
+ <value>onLoad</value>
+ </attribute>
+ </optional>
+ <ref name="SVG.XLinkEmbed.extra.attrib"/>
+ </define>
+ <define name="SVG.XLinkReplace.extra.attrib">
+ <empty/>
+ </define>
+ <define name="SVG.XLinkReplace.attrib" combine="interleave">
+ <optional>
+ <attribute name="xlink:type" a:defaultValue="simple">
+ <value>simple</value>
+ </attribute>
+ </optional>
+ <attribute name="xlink:href">
+ <ref name="URI.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="xlink:role">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:arcrole">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:title"/>
+ </optional>
+ <optional>
+ <attribute name="xlink:show" a:defaultValue="replace">
+ <choice>
+ <value>new</value>
+ <value>replace</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="xlink:actuate" a:defaultValue="onRequest">
+ <value>onRequest</value>
+ </attribute>
+ </optional>
+ <ref name="SVG.XLinkReplace.extra.attrib"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/svg11.rng b/Master/texmf-dist/source/latex/stex/schema/rng/svg11.rng
new file mode 100644
index 00000000000..76600ad1f31
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/svg11.rng
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" xmlns:ns1="http://www.w3.org/2000/svg" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://relaxng.org/ns/structure/1.0">
+ <a:documentation>
+ RELAX NG schema for SVG 1.1
+ file: svg11.rng
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+
+ The Scalable Vector Graphics (SVG)
+ Copyright 2001, 2002 World Wide Web Consortium
+ (Massachusetts Institute of Technology, Institut National de
+ Recherche en Informatique et en Automatique, Keio University).
+ All Rights Reserved.
+
+ Permission to use, copy, modify and distribute this RELAX NG schema
+ for SVG and its accompanying documentation for any purpose and without
+ fee is hereby granted in perpetuity, provided that the above copyright
+ notice and this paragraph appear in all copies. The copyright holders
+ nor the author make no representation about the suitability of this
+ RELAX NG schema for any purpose.
+
+ It is provided "as is" without expressed or implied warranty.
+
+ Author: Masayasu Ishikawa (mimasa@w3.org)
+ $Id: svg11.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+
+ This is the driver file for version 1.1 of the SVG RELAX NG schema.
+
+ The DTD version is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"
+
+ Use this URI to identify the default namespace:
+
+ "http://www.w3.org/2000/svg"
+ </a:documentation>
+ <include href="svg-container-attrib.rng">
+ <a:documentation>
+ Container Attribute Module
+ </a:documentation>
+ </include>
+ <include href="svg-viewport-attrib.rng">
+ <a:documentation>
+ Viewport Attribute Module
+ </a:documentation>
+ </include>
+ <include href="svg-paint-attrib.rng">
+ <a:documentation>
+ Paint Attribute Module
+ </a:documentation>
+ </include>
+ <include href="svg-opacity-attrib.rng">
+ <a:documentation>
+ Paint Opacity Attribute Module
+ </a:documentation>
+ </include>
+ <include href="svg-graphics-attrib.rng">
+ <a:documentation>
+ Graphics Attribute Module
+ </a:documentation>
+ </include>
+ <include href="svg-docevents-attrib.rng">
+ <a:documentation>
+ Document Events Attribute Module
+ </a:documentation>
+ </include>
+ <include href="svg-graphevents-attrib.rng">
+ <a:documentation>
+ Graphical Element Events Attribute Module
+ </a:documentation>
+ </include>
+ <include href="svg-animevents-attrib.rng">
+ <a:documentation>
+ Animation Events Attribute Module
+ </a:documentation>
+ </include>
+ <include href="svg-xlink-attrib.rng">
+ <a:documentation>
+ XLink Attribute Module
+ </a:documentation>
+ </include>
+ <include href="svg-extresources-attrib.rng">
+ <a:documentation>
+ External Resources Attribute Module
+ </a:documentation>
+ </include>
+ <include href="svg-structure.rng">
+ <a:documentation>
+ Structure Module (required)
+ </a:documentation>
+ </include>
+ <include href="svg-conditional.rng">
+ <a:documentation>
+ Conditional Processing Module
+ </a:documentation>
+ </include>
+ <include href="svg-image.rng">
+ <a:documentation>
+ Image Module
+ </a:documentation>
+ </include>
+ <include href="svg-style.rng">
+ <a:documentation>
+ Style Module
+ </a:documentation>
+ </include>
+ <include href="svg-shape.rng">
+ <a:documentation>
+ Shape Module
+ </a:documentation>
+ </include>
+ <include href="svg-text.rng">
+ <a:documentation>
+ Text Module
+ </a:documentation>
+ </include>
+ <include href="svg-marker.rng">
+ <a:documentation>
+ Marker Module
+ </a:documentation>
+ </include>
+ <include href="svg-profile.rng">
+ <a:documentation>
+ Color Profile Module
+ </a:documentation>
+ </include>
+ <include href="svg-gradient.rng">
+ <a:documentation>
+ Gradient Module
+ </a:documentation>
+ </include>
+ <include href="svg-pattern.rng">
+ <a:documentation>
+ Pattern Module
+ </a:documentation>
+ </include>
+ <include href="svg-clip.rng">
+ <a:documentation>
+ Clip Module
+ </a:documentation>
+ </include>
+ <include href="svg-mask.rng">
+ <a:documentation>
+ Mask Module
+ </a:documentation>
+ </include>
+ <include href="svg-filter.rng">
+ <a:documentation>
+ Filter Module
+ </a:documentation>
+ </include>
+ <include href="svg-cursor.rng">
+ <a:documentation>
+ Cursor Module
+ </a:documentation>
+ </include>
+ <include href="svg-hyperlink.rng">
+ <a:documentation>
+ Hyperlinking Module
+ </a:documentation>
+ </include>
+ <include href="svg-view.rng">
+ <a:documentation>
+ View Module
+ </a:documentation>
+ </include>
+ <include href="svg-script.rng">
+ <a:documentation>
+ Scripting Module
+ </a:documentation>
+ </include>
+ <include href="svg-animation.rng">
+ <a:documentation>
+ Animation Module
+ </a:documentation>
+ </include>
+ <include href="svg-font.rng">
+ <a:documentation>
+ Font Module
+ </a:documentation>
+ </include>
+ <include href="svg-extensibility.rng">
+ <a:documentation>
+ Extensibility Module
+ </a:documentation>
+ </include>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-applet.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-applet.rng
new file mode 100644
index 00000000000..5913d0b3339
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-applet.rng
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- Applet Module -->
+ <define name="applet">
+ <element name="applet">
+ <ref name="applet.attlist"/>
+ <zeroOrMore>
+ <!-- No restrictions on mixed content in TREX. -->
+ <ref name="param"/>
+ </zeroOrMore>
+ <ref name="Flow.model"/>
+ </element>
+ </define>
+ <define name="applet.attlist">
+ <interleave>
+ <ref name="Core.attrib"/>
+ <attribute name="alt">
+ <ref name="Text.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="archive"/>
+ </optional>
+ <optional>
+ <attribute name="code"/>
+ </optional>
+ <optional>
+ <attribute name="codebase">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="object"/>
+ </optional>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </interleave>
+ </define>
+ <define name="Inline.class" combine="interleave">
+ <zeroOrMore>
+ <ref name="applet"/>
+ </zeroOrMore>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-attribs.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-attribs.rng
new file mode 100644
index 00000000000..c2f8edfa754
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-attribs.rng
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- Common Attributes Module -->
+ <define name="id.attrib">
+ <optional>
+ <attribute name="id">
+ <ref name="ID.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="class.attrib">
+ <optional>
+ <attribute name="class">
+ <ref name="NMTOKENS.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="title.attrib">
+ <optional>
+ <attribute name="title">
+ <ref name="Text.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="Core.attrib">
+ <interleave>
+ <ref name="id.attrib"/>
+ <ref name="class.attrib"/>
+ <ref name="title.attrib"/>
+ </interleave>
+ </define>
+ <define name="lang.attrib">
+ <optional>
+ <attribute name="xml:lang">
+ <ref name="LanguageCode.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="I18n.attrib">
+ <ref name="lang.attrib"/>
+ </define>
+ <define name="Common.attrib">
+ <interleave>
+ <ref name="Core.attrib"/>
+ <ref name="I18n.attrib"/>
+ </interleave>
+ </define>
+ <define name="CommonIdRequired.attrib">
+ <interleave>
+ <attribute name="id">
+ <ref name="ID.datatype"/>
+ </attribute>
+ <ref name="class.attrib"/>
+ <ref name="title.attrib"/>
+ <ref name="I18n.attrib"/>
+ </interleave>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-base.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-base.rng
new file mode 100644
index 00000000000..468bfcd25d6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-base.rng
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- Base Module -->
+ <define name="base">
+ <element name="base">
+ <ref name="base.attlist"/>
+ </element>
+ </define>
+ <define name="base.attlist">
+ <attribute name="href">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </define>
+ <define name="head.content" combine="interleave">
+ <optional>
+ <ref name="base"/>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-basic-table.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-basic-table.rng
new file mode 100644
index 00000000000..ab51f61c17f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-basic-table.rng
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- Basic Tables Module -->
+ <define name="table">
+ <element name="table">
+ <interleave>
+ <ref name="table.attlist"/>
+ <optional>
+ <ref name="caption"/>
+ </optional>
+ <oneOrMore>
+ <ref name="tr"/>
+ </oneOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="table.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="summary">
+ <ref name="Text.datatype"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="caption">
+ <element name="caption">
+ <ref name="caption.attlist"/>
+ <ref name="Inline.model"/>
+ </element>
+ </define>
+ <define name="caption.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="tr">
+ <element name="tr">
+ <interleave>
+ <ref name="tr.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="th"/>
+ <ref name="td"/>
+ </choice>
+ </oneOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="tr.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <ref name="CellHAlign.attrib"/>
+ <ref name="CellVAlign.attrib"/>
+ </interleave>
+ </define>
+ <define name="th">
+ <element name="th">
+ <interleave>
+ <ref name="th.attlist"/>
+ <ref name="Flow.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="th.attlist">
+ <ref name="Cell.attrib"/>
+ </define>
+ <define name="td">
+ <element name="td">
+ <interleave>
+ <ref name="td.attlist"/>
+ <ref name="Flow.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="td.attlist">
+ <ref name="Cell.attrib"/>
+ </define>
+ <define name="Cell.attrib">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="abbr">
+ <ref name="Text.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="axis"/>
+ </optional>
+ <optional>
+ <attribute name="headers">
+ <ref name="IDREFS.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="scope.attrib"/>
+ <optional>
+ <attribute name="rowspan">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="colspan">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="CellHAlign.attrib"/>
+ <ref name="CellVAlign.attrib"/>
+ </interleave>
+ </define>
+ <define name="CellHAlign.attrib">
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="CellVAlign.attrib">
+ <optional>
+ <attribute name="valign">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="scope.attrib">
+ <optional>
+ <attribute name="scope">
+ <choice>
+ <value>row</value>
+ <value>col</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="Block.class" combine="interleave">
+ <zeroOrMore>
+ <ref name="table"/>
+ </zeroOrMore>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-bdo.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-bdo.rng
new file mode 100644
index 00000000000..0ae52c536d7
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-bdo.rng
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- Bi-directional Module -->
+ <define name="bdo">
+ <element name="bdo">
+ <interleave>
+ <ref name="bdo.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="bdo.attlist">
+ <interleave>
+ <ref name="Core.attrib"/>
+ <ref name="lang.attrib"/>
+ <ref name="dir.attrib"/>
+ </interleave>
+ </define>
+ <define name="dir.attrib">
+ <attribute name="dir">
+ <choice>
+ <value>ltr</value>
+ <value>rtl</value>
+ </choice>
+ </attribute>
+ </define>
+ <define name="I18n.attrib" combine="interleave">
+ <optional>
+ <ref name="dir.attrib"/>
+ </optional>
+ </define>
+ <define name="Inline.class" combine="interleave">
+ <zeroOrMore>
+ <ref name="bdo"/>
+ </zeroOrMore>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-datatypes.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-datatypes.rng
new file mode 100644
index 00000000000..21c1816c665
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-datatypes.rng
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <!-- Datatypes Module -->
+ <!-- Length defined for cellpadding/cellspacing -->
+ <!-- nn for pixels or nn% for percentage length -->
+ <define name="Length.datatype">
+ <text/>
+ </define>
+ <!-- space-separated list of link types -->
+ <define name="LinkTypes.datatype">
+ <ref name="NMTOKENS.datatype"/>
+ </define>
+ <!-- single or comma-separated list of media descriptors -->
+ <define name="MediaDesc.datatype">
+ <text/>
+ </define>
+ <!-- pixel, percentage, or relative -->
+ <define name="MultiLength.datatype">
+ <text/>
+ </define>
+ <!-- one or more digits (NUMBER) -->
+ <define name="Number.datatype">
+ <text/>
+ </define>
+ <!-- integer representing length in pixels -->
+ <define name="Pixels.datatype">
+ <text/>
+ </define>
+ <!-- script expression -->
+ <define name="Script.datatype">
+ <text/>
+ </define>
+ <!-- textual content -->
+ <define name="Text.datatype">
+ <text/>
+ </define>
+ <!-- Imported Datatypes ................................ -->
+ <!-- a single character from [ISO10646] -->
+ <define name="Character.datatype">
+ <text/>
+ </define>
+ <!-- a character encoding, as per [RFC2045] -->
+ <define name="Charset.datatype">
+ <text/>
+ </define>
+ <!-- a space separated list of character encodings, as per [RFC2045] -->
+ <define name="Charsets.datatype">
+ <text/>
+ </define>
+ <!-- media type, as per [RFC2045] -->
+ <define name="ContentType.datatype">
+ <text/>
+ </define>
+ <!-- comma-separated list of media types, as per [RFC2045] -->
+ <define name="ContentTypes.datatype">
+ <text/>
+ </define>
+ <!-- date and time information. ISO date format -->
+ <define name="Datetime.datatype">
+ <text/>
+ </define>
+ <!-- formal public identifier, as per [ISO8879] -->
+ <define name="FPI.datatype">
+ <text/>
+ </define>
+ <!-- a language code, as per [RFC1766] -->
+ <define name="LanguageCode.datatype">
+ <data type="language"/>
+ </define>
+ <!-- a Uniform Resource Identifier, see [URI] -->
+ <define name="URI.datatype">
+ <data type="anyURI"/>
+ </define>
+ <!-- a space-separated list of Uniform Resource Identifiers, see [URI] -->
+ <define name="URIs.datatype">
+ <text/>
+ </define>
+ <define name="NMTOKEN.datatype">
+ <data type="NMTOKEN"/>
+ </define>
+ <define name="NMTOKENS.datatype">
+ <data type="NMTOKENS"/>
+ </define>
+ <define name="ID.datatype">
+ <data type="ID"/>
+ </define>
+ <define name="IDREF.datatype">
+ <data type="IDREF"/>
+ </define>
+ <define name="IDREFS.datatype">
+ <data type="IDREFS"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-hypertext.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-hypertext.rng
new file mode 100644
index 00000000000..c926915bb7d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-hypertext.rng
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- Hypertext Module -->
+ <!-- Depends on text module. -->
+ <define name="a">
+ <element name="a">
+ <interleave>
+ <ref name="a.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="a.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="href">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="charset">
+ <ref name="Charset.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="hreflang">
+ <ref name="LanguageCode.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rel">
+ <ref name="LinkTypes.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rev">
+ <ref name="LinkTypes.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="accesskey">
+ <ref name="Character.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="tabindex">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="Inline.class" combine="interleave">
+ <zeroOrMore>
+ <ref name="a"/>
+ </zeroOrMore>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-image.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-image.rng
new file mode 100644
index 00000000000..562eae86c96
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-image.rng
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- Image Module -->
+ <define name="img">
+ <element name="img">
+ <ref name="img.attlist"/>
+ </element>
+ </define>
+ <define name="img.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <attribute name="src">
+ <ref name="URI.datatype"/>
+ </attribute>
+ <attribute name="alt">
+ <ref name="Text.datatype"/>
+ </attribute>
+ <optional>
+ <attribute name="longdesc">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="Inline.class" combine="interleave">
+ <zeroOrMore>
+ <ref name="img"/>
+ </zeroOrMore>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-inlstyle.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-inlstyle.rng
new file mode 100644
index 00000000000..887146be00c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-inlstyle.rng
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- Inline Style Module -->
+ <define name="Core.attrib" combine="interleave">
+ <optional>
+ <attribute name="style"/>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-link.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-link.rng
new file mode 100644
index 00000000000..309e66f38cb
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-link.rng
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- Link Module -->
+ <define name="link">
+ <element name="link">
+ <ref name="link.attlist"/>
+ </element>
+ </define>
+ <define name="link.attlist">
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="charset">
+ <ref name="Charset.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="href">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="hreflang">
+ <ref name="LanguageCode.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rel">
+ <ref name="LinkTypes.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="rev">
+ <ref name="LinkTypes.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="media">
+ <ref name="MediaDesc.datatype"/>
+ </attribute>
+ </optional>
+ </define>
+ <define name="head.content" combine="interleave">
+ <zeroOrMore>
+ <ref name="link"/>
+ </zeroOrMore>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-list.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-list.rng
new file mode 100644
index 00000000000..81ae3ba03a1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-list.rng
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- List Module -->
+ <define name="dl">
+ <element name="dl">
+ <interleave>
+ <ref name="dl.attlist"/>
+ <oneOrMore>
+ <choice>
+ <ref name="dt"/>
+ <ref name="dd"/>
+ </choice>
+ </oneOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="dl.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="dt">
+ <element name="dt">
+ <interleave>
+ <ref name="dt.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="dt.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="dd">
+ <element name="dd">
+ <interleave>
+ <ref name="dd.attlist"/>
+ <ref name="Flow.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="dd.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="ol">
+ <element name="ol">
+ <interleave>
+ <ref name="ol.attlist"/>
+ <oneOrMore>
+ <ref name="li"/>
+ </oneOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="ol.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="ul">
+ <element name="ul">
+ <interleave>
+ <ref name="ul.attlist"/>
+ <oneOrMore>
+ <ref name="li"/>
+ </oneOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="ul.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="li">
+ <element name="li">
+ <interleave>
+ <ref name="li.attlist"/>
+ <ref name="Flow.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="li.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="List.class">
+ <interleave>
+ <zeroOrMore>
+ <ref name="ul"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="ol"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="dl"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="Block.class" combine="interleave">
+ <ref name="List.class"/>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-object.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-object.rng
new file mode 100644
index 00000000000..118dbc6163e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-object.rng
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- Object Module -->
+ <define name="object">
+ <element name="object">
+ <ref name="object.attlist"/>
+ <zeroOrMore>
+ <!-- No restrictions on mixed content in TREX. -->
+ <ref name="param"/>
+ </zeroOrMore>
+ <ref name="Flow.model"/>
+ </element>
+ </define>
+ <define name="object.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="declare">
+ <value>declare</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="classid">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="codebase">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="data">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="codetype">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="archive">
+ <ref name="URIs.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="standby">
+ <ref name="Text.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="height">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="name"/>
+ </optional>
+ <optional>
+ <attribute name="tabindex">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="Inline.class" combine="interleave">
+ <zeroOrMore>
+ <ref name="object"/>
+ </zeroOrMore>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-param.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-param.rng
new file mode 100644
index 00000000000..22b8df19182
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-param.rng
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- Param Module -->
+ <define name="param">
+ <element name="param">
+ <ref name="param.attlist"/>
+ </element>
+ </define>
+ <define name="param.attlist">
+ <interleave>
+ <ref name="id.attrib"/>
+ <attribute name="name"/>
+ <optional>
+ <attribute name="value"/>
+ </optional>
+ <optional>
+ <attribute name="valuetype">
+ <choice>
+ <value>data</value>
+ <value>ref</value>
+ <value>object</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="type">
+ <ref name="ContentType.datatype"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-table.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-table.rng
new file mode 100644
index 00000000000..89d5acc42a5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-table.rng
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- Tables Module -->
+ <!--
+ This builds on the basic tables module, unlike with the DTD
+ implementation.
+ -->
+ <include href="xhtml-basic-table.rng">
+ <define name="table">
+ <element name="table">
+ <ref name="table.attlist"/>
+ <optional>
+ <ref name="caption"/>
+ </optional>
+ <choice>
+ <zeroOrMore>
+ <ref name="col"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="colgroup"/>
+ </zeroOrMore>
+ </choice>
+ <choice>
+ <group>
+ <optional>
+ <ref name="thead"/>
+ </optional>
+ <optional>
+ <ref name="tfoot"/>
+ </optional>
+ <oneOrMore>
+ <ref name="tbody"/>
+ </oneOrMore>
+ </group>
+ <oneOrMore>
+ <ref name="tr"/>
+ </oneOrMore>
+ </choice>
+ </element>
+ </define>
+ <define name="th">
+ <element name="th">
+ <interleave>
+ <ref name="th.attlist"/>
+ <ref name="Flow.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="td">
+ <element name="td">
+ <interleave>
+ <ref name="td.attlist"/>
+ <ref name="Flow.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="CellHAlign.attrib">
+ <interleave>
+ <optional>
+ <attribute name="align">
+ <choice>
+ <value>left</value>
+ <value>center</value>
+ <value>right</value>
+ <value>justify</value>
+ <value>char</value>
+ </choice>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="char">
+ <ref name="Character.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="charoff">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="CellVAlign.attrib">
+ <optional>
+ <attribute name="valign">
+ <choice>
+ <value>top</value>
+ <value>middle</value>
+ <value>bottom</value>
+ <value>baseline</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="scope.attrib">
+ <optional>
+ <attribute name="scope">
+ <choice>
+ <value>row</value>
+ <value>col</value>
+ <value>rowgroup</value>
+ <value>colgroup</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ </include>
+ <define name="table.attlist" combine="interleave">
+ <interleave>
+ <optional>
+ <attribute name="width">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="border">
+ <ref name="Pixels.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="frame.attrib"/>
+ <ref name="rules.attrib"/>
+ <optional>
+ <attribute name="cellspacing">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="cellpadding">
+ <ref name="Length.datatype"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="col">
+ <element name="col">
+ <ref name="col.attlist"/>
+ </element>
+ </define>
+ <define name="col.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="span">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="MultiLength.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="CellHAlign.attrib"/>
+ <ref name="CellVAlign.attrib"/>
+ </interleave>
+ </define>
+ <define name="colgroup">
+ <element name="colgroup">
+ <interleave>
+ <ref name="colgroup.attlist"/>
+ <zeroOrMore>
+ <ref name="col"/>
+ </zeroOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="colgroup.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="span">
+ <ref name="Number.datatype"/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="width">
+ <ref name="MultiLength.datatype"/>
+ </attribute>
+ </optional>
+ <ref name="CellHAlign.attrib"/>
+ <ref name="CellVAlign.attrib"/>
+ </interleave>
+ </define>
+ <define name="tbody">
+ <element name="tbody">
+ <interleave>
+ <ref name="tbody.attlist"/>
+ <oneOrMore>
+ <ref name="tr"/>
+ </oneOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="tbody.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <ref name="CellHAlign.attrib"/>
+ <ref name="CellVAlign.attrib"/>
+ </interleave>
+ </define>
+ <define name="thead">
+ <element name="thead">
+ <interleave>
+ <ref name="thead.attlist"/>
+ <oneOrMore>
+ <ref name="tr"/>
+ </oneOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="thead.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <ref name="CellHAlign.attrib"/>
+ <ref name="CellVAlign.attrib"/>
+ </interleave>
+ </define>
+ <define name="tfoot">
+ <element name="tfoot">
+ <interleave>
+ <ref name="tfoot.attlist"/>
+ <oneOrMore>
+ <ref name="tr"/>
+ </oneOrMore>
+ </interleave>
+ </element>
+ </define>
+ <define name="tfoot.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <ref name="CellHAlign.attrib"/>
+ <ref name="CellVAlign.attrib"/>
+ </interleave>
+ </define>
+ <define name="frame.attrib">
+ <optional>
+ <attribute name="frame">
+ <choice>
+ <value>void</value>
+ <value>above</value>
+ <value>below</value>
+ <value>hsides</value>
+ <value>lhs</value>
+ <value>rhs</value>
+ <value>vsides</value>
+ <value>box</value>
+ <value>border</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+ <define name="rules.attrib">
+ <optional>
+ <attribute name="rules">
+ <choice>
+ <value>none</value>
+ <value>groups</value>
+ <value>rows</value>
+ <value>cols</value>
+ <value>all</value>
+ </choice>
+ </attribute>
+ </optional>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-text.rng b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-text.rng
new file mode 100644
index 00000000000..ac6fb26901c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rng/xhtml-text.rng
@@ -0,0 +1,307 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+ <!-- Text Module -->
+ <define name="br">
+ <element name="br">
+ <interleave>
+ <ref name="br.attlist"/>
+ <empty/>
+ </interleave>
+ </element>
+ </define>
+ <define name="br.attlist">
+ <ref name="Core.attrib"/>
+ </define>
+ <define name="span">
+ <element name="span">
+ <interleave>
+ <ref name="span.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="span.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="abbr">
+ <element name="abbr">
+ <interleave>
+ <ref name="abbr.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="abbr.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="acronym">
+ <element name="acronym">
+ <interleave>
+ <ref name="acronym.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="acronym.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="cite">
+ <element name="cite">
+ <interleave>
+ <ref name="cite.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="cite.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="code">
+ <element name="code">
+ <interleave>
+ <ref name="code.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="code.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="dfn">
+ <element name="dfn">
+ <interleave>
+ <ref name="dfn.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="dfn.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="em">
+ <element name="em">
+ <interleave>
+ <ref name="em.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="em.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="kbd">
+ <element name="kbd">
+ <interleave>
+ <ref name="kbd.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="kbd.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="q">
+ <element name="q">
+ <interleave>
+ <ref name="q.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="q.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="cite">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="samp">
+ <element name="samp">
+ <interleave>
+ <ref name="samp.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="samp.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="strong">
+ <element name="strong">
+ <interleave>
+ <ref name="strong.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="strong.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="var">
+ <element name="var">
+ <interleave>
+ <ref name="var.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="var.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="div">
+ <element name="div">
+ <interleave>
+ <ref name="div.attlist"/>
+ <ref name="Flow.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="div.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="p">
+ <element name="p">
+ <interleave>
+ <ref name="p.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="p.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="address">
+ <element name="address">
+ <interleave>
+ <ref name="address.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="address.attlist">
+ <ref name="Common.attrib"/>
+ </define>
+ <define name="blockquote">
+ <element name="blockquote">
+ <interleave>
+ <ref name="blockquote.attlist"/>
+ <ref name="Block.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="blockquote.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="cite">
+ <ref name="URI.datatype"/>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="pre">
+ <element name="pre">
+ <interleave>
+ <ref name="pre.attlist"/>
+ <ref name="Inline.model"/>
+ </interleave>
+ </element>
+ </define>
+ <define name="pre.attlist">
+ <interleave>
+ <ref name="Common.attrib"/>
+ <optional>
+ <attribute name="xml:space">
+ <value>preserve</value>
+ </attribute>
+ </optional>
+ </interleave>
+ </define>
+ <define name="Block.class">
+ <interleave>
+ <zeroOrMore>
+ <ref name="address"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="blockquote"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="div"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="p"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="pre"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="Inline.class">
+ <interleave>
+ <zeroOrMore>
+ <ref name="abbr"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="acronym"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="br"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="cite"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="code"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="dfn"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="em"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="kbd"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="q"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="samp"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="span"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="strong"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="var"/>
+ </zeroOrMore>
+ </interleave>
+ </define>
+ <define name="Inline.model">
+ <interleave>
+ <text/>
+ <ref name="Inline.class"/>
+ </interleave>
+ </define>
+ <!-- This is redefined by the legacy module to include inlines. -->
+ <define name="Block.mix">
+ <ref name="Block.class"/>
+ </define>
+ <define name="Block.model">
+ <oneOrMore>
+ <ref name="Block.mix"/>
+ </oneOrMore>
+ </define>
+ <define name="Flow.model">
+ <interleave>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Block.class"/>
+ </interleave>
+ </define>
+</grammar>