summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/stex/schema/rnc
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-03-30 23:23:02 +0000
committerKarl Berry <karl@freefriends.org>2012-03-30 23:23:02 +0000
commit849996eca72af498b48b10fbea7f14c4b9d21b8f (patch)
tree2d40d42dfc9fc0b0622212cc220868f98345305f /Master/texmf-dist/source/latex/stex/schema/rnc
parentd82e1c23973fd0271f93686f487bd1cee8dcd947 (diff)
restore stex (ca. 28jan12)
git-svn-id: svn://tug.org/texlive/trunk@25792 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/stex/schema/rnc')
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-bib.rnc491
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-bib.rng774
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rnc305
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rng479
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-common.rnc150
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-common.rng229
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-inline.rnc308
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-inline.rng444
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-math.rnc374
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-math.rng557
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-para.rnc193
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-para.rng312
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-picture.rnc285
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-picture.rng496
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-structure.rnc513
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-structure.rng916
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-tabular.rnc124
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-tabular.rng189
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML.rnc41
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML.rng70
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/TAGS33
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animation.rnc208
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animation.rng364
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animevents-attrib.rnc33
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animevents-attrib.rng50
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-clip.rnc64
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-clip.rng110
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-filter.rnc338
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-filter.rng779
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-font.rnc196
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-font.rng490
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-graphics-attrib.rnc49
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-graphics-attrib.rng64
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-structure.rnc293
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-structure.rng565
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-text.rnc137
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-text.rng236
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-clip.rnc30
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-clip.rng29
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-conditional.rnc62
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-conditional.rng105
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-container-attrib.rnc33
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-container-attrib.rng39
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-core-attrib.rnc35
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-core-attrib.rng61
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-cursor.rnc47
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-cursor.rng81
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-datatypes.rnc135
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-datatypes.rng158
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-docevents-attrib.rnc38
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-docevents-attrib.rng73
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extensibility.rnc62
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extensibility.rng104
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extresources-attrib.rnc28
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extresources-attrib.rng33
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-filter.rnc214
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-filter.rng468
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-font.rnc108
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-font.rng123
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-gradient.rnc99
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-gradient.rng233
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphevents-attrib.rnc47
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphevents-attrib.rng106
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphics-attrib.rnc64
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphics-attrib.rng83
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-hyperlink.rnc66
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-hyperlink.rng92
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-image.rnc56
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-image.rng91
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-marker.rnc76
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-marker.rng143
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-mask.rnc74
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-mask.rng129
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-opacity-attrib.rnc34
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-opacity-attrib.rng49
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-paint-attrib.rnc97
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-paint-attrib.rng180
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-pattern.rnc76
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-pattern.rng125
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-profile.rnc58
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-profile.rng76
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-qname.rng98
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-script.rnc38
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-script.rng51
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-shape.rnc207
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-shape.rng395
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-structure.rnc62
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-structure.rng78
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-style.rnc56
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-style.rng101
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-text.rnc275
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-text.rng572
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-view.rnc42
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-view.rng70
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-viewport-attrib.rnc36
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-viewport-attrib.rng53
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-xlink-attrib.rnc67
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-xlink-attrib.rng173
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11-basic.rng213
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11-tiny.rng159
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11.rnc193
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11.rng188
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/Makefile6
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/metadata.rnc41
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc+ltxml.rnc149
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/MARCRelators.rnc23
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/Makefile11
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/README3
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/arith1.omdoc1672
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/creativecommons.rnc48
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/dublincore.rnc42
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-common.rnc84
-rwxr-xr-xMaster/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-content.rnc373
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-presentation.rnc536
-rwxr-xr-xMaster/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-strict-content.rnc60
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-strict.rnc80
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3.rnc21
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mocksoap.rnc39
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcd2.rnc59
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcdgroup2.rnc33
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcdsig2.rnc32
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoc-common.rnc66
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoc.rnc24
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocadt.rnc49
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoccc.rnc10
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoccth.rnc53
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdc.rnc29
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdg.rnc28
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdoc.rnc62
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocext.rnc64
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmeta.rnc39
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmobj.rnc27
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmtxt.rnc105
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocpf.rnc39
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocphys.rnc47
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocpres.rnc91
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocquiz.rnc37
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocrt.rnc32
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocst.rnc135
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/openmath2.rnc89
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/pxhtml.rnc17
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/schemas.xml4
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/todo3
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/todo.txt2
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-applet.rnc19
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-attribs.rnc14
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-basic-table.rnc28
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-bdo.rnc7
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-datatypes.rnc47
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-hypertext.rnc16
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-image.rnc11
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-inlstyle.rnc3
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-list.rnc16
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-object.rnc24
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-param.rnc9
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-table.rnc67
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-text.rnc86
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/owl.rnc44
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/owl2+ltxml.rnc15
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/owl2-xml.rnc532
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/owl2xml.rnc138
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/schemas.xml6
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/statements.rnc50
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-animation.rnc208
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-animevents-attrib.rnc33
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-clip.rnc64
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-filter.rnc338
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-font.rnc196
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-graphics-attrib.rnc49
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-structure.rnc293
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-text.rnc137
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-clip.rnc30
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-conditional.rnc62
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-container-attrib.rnc33
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-core-attrib.rnc35
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-cursor.rnc47
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-datatypes.rnc135
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-docevents-attrib.rnc38
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-extensibility.rnc62
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-extresources-attrib.rnc28
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-filter.rnc214
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-font.rnc108
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-gradient.rnc99
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-graphevents-attrib.rnc47
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-graphics-attrib.rnc64
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-hyperlink.rnc66
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-image.rnc56
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-marker.rnc76
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-mask.rnc74
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-opacity-attrib.rnc34
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-paint-attrib.rnc97
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-pattern.rnc76
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-profile.rnc58
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-qname.rnc116
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-script.rnc38
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-shape.rnc207
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-structure.rnc62
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-style.rnc56
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-text.rnc275
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-view.rnc42
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-viewport-attrib.rnc36
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-xlink-attrib.rnc67
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11-basic.rnc183
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11-tiny.rnc138
-rw-r--r--Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11.rnc193
205 files changed, 28272 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-bib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-bib.rnc
new file mode 100644
index 00000000000..effee37dec8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-bib.rnc
@@ -0,0 +1,491 @@
+# /=====================================================================\
+# | 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=/
+
+default namespace = "http://dlmf.nist.gov/LaTeXML"
+
+# 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.
+
+biblist =
+## A list of bibliographic \elementref{bibentry} or \elementref{bibitem}.
+element biblist { biblist_attributes & biblist_model }
+
+## Attributes for \elementref{biblist}.
+biblist_attributes = Common.attributes
+
+## Content model for \elementref{biblist}.
+biblist_model = bibentry* & bibitem*
+
+# ======================================================================
+# bibitem is the formatted, presentation, form, typically information has been lost;
+# it basically contains a biblabel and several bibblock's
+# ======================================================================
+
+bibitem =
+## 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.
+element bibitem { bibitem_attributes & bibitem_model }
+
+## Attributes for \elementref{bibitem}.
+bibitem_attributes =
+ Common.attributes &
+ ID.attributes &
+ ## The unique key for this object; this key is referenced by the
+ ## \attr{bibrefs} attribute of \elementref{bibref}.
+ attribute key { text }?
+
+## Content model for \elementref{bibitem}.
+bibitem_model = bibtag*, bibblock*
+
+#----------------------------------------------------------------------
+
+bibtag =
+## 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}).
+element bibtag { bibtag_attributes & bibtag_model }
+
+## Attributes for \elementref{bibtag}.
+bibtag_attributes =
+ attribute role { ("number"|"authors"|"fullauthors"|"key"|"year"|"bibtype"|"title"|text) }? &
+ ## A delimiter for formatting the refnum in the bibliography
+ attribute open { text }? &
+ ## A delimiter for formatting the refnum in the bibliography
+ attribute close { text }?
+
+## Content model for \elementref{bibtag}.
+bibtag_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bibblock =
+## A block of data appearing within a \elementref{bibitem}.
+element bibblock { bibblock_attributes & bibblock_model }
+
+## Attributes for \elementref{bibblock}.
+bibblock_attributes = empty
+
+## Content model for \elementref{bibblock}.
+bibblock_model = Flow.model
+
+# bibblock's model was this:
+# Inline.model }
+
+# ======================================================================
+# bibentry is the (more) semantic form, typically extracted from bibtex.
+# ======================================================================
+
+bibentry =
+## Semantic representation of a bibliography entry,
+## typically resulting from parsing BibTeX
+element bibentry { bibentry_attributes & bibentry_model }
+
+bibentry.type = "article" | "book" | "booklet" | "conference" | "inbook"
+ | "incollection" | "inproceedings" | "manual" | "mastersthesis"
+ | "misc" | "phdthesis" | "proceedings" | "techreport" | "unpublished"
+ | "report" | "thesis" | "website" | "software" | "periodical"
+ | "collection" | "collection.article" | "proceedings.article"
+ | text
+
+## Attributes for \elementref{bibentry}.
+bibentry_attributes =
+ Common.attributes &
+ ID.attributes &
+
+ ## The unique key for this object; this key is referenced by the
+ ## \attr{bibrefs} attribute of \elementref{bibref}.
+ attribute key { text } &
+
+ ## The type of the referenced object. The values are a superset of
+ ## those types recognized by BibTeX, but is also open-ended for extensibility.
+ attribute type { bibentry.type }
+
+## Content model for \elementref{bibentry}.
+bibentry_model = Bibentry.class
+
+#======================================================================
+
+# Name related information
+bib-name =
+## Name of some participant in creating a bibliographic entry.
+element bib-name { bib-name_attributes & bib-name_model }
+
+## Attributes for \elementref{bib-name}.
+bib-name_attributes =
+ Common.attributes &
+ ## The role that this participant played in creating the entry.
+ attribute role { ("author" | "editor" | "translator" | text) }?
+
+## Content model for \elementref{bib-name}.
+bib-name_model = Bibname.model
+
+## The content model of the bibliographic name fields (\elementref{bib-name})
+Bibname.model = surname & givenname? & lineage?
+
+#----------------------------------------------------------------------
+
+surname =
+## Surname of a participant (\elementref{bib-name}).
+element surname { surname_attributes & surname_model }
+
+## Attributes for \elementref{surname}.
+surname_attributes = empty
+
+## Content model for \elementref{surname}.
+surname_model = Inline.model
+
+#----------------------------------------------------------------------
+
+givenname =
+## Given name of a participant (\elementref{bib-name}).
+element givenname { givenname_attributes & givenname_model }
+
+## Attributes for \elementref{givenname}.
+givenname_attributes = empty
+
+## Content model for \elementref{givenname}.
+givenname_model = Inline.model
+
+#----------------------------------------------------------------------
+
+lineage =
+## Lineage of a participant (\elementref{bib-name}), eg. Jr. or similar.
+element lineage { lineage_attributes & lineage_model }
+
+## Attributes for \elementref{lineage}.
+lineage_attributes = empty
+
+## Content model for \elementref{lineage}.
+lineage_model = Inline.model
+
+#======================================================================
+
+# Title related information
+bib-title =
+## Title of a bibliographic entry.
+element bib-title { bib-title_attributes & bib-title_model }
+
+## Attributes for \elementref{bib-title}.
+bib-title_attributes = Common.attributes
+
+## Content model for \elementref{bib-title}.
+bib-title_model = Inline.model
+#----------------------------------------------------------------------
+
+bib-subtitle =
+## Subtitle of a bibliographic entry.
+element bib-subtitle { bib-subtitle_attributes & bib-subtitle_model }
+
+## Attributes for \elementref{bib-subtitle}.
+bib-subtitle_attributes = Common.attributes
+
+## Content model for \elementref{bib-subtitle}.
+bib-subtitle_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bib-key =
+## Unique key of a bibliographic entry.
+element bib-key { bib-key_attributes & bib-key_model }
+
+## Attributes for \elementref{bib-key}.
+bib-key_attributes = Common.attributes
+
+## Content model for \elementref{bib-key}.
+bib-key_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bib-type =
+## Type of a bibliographic entry.
+element bib-type { bib-type_attributes & bib-type_model }
+
+## Attributes for \elementref{bib-type}.
+bib-type_attributes = Common.attributes
+
+## Content model for \elementref{bib-type}.
+bib-type_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bib-date =
+## Date of a bibliographic entry.
+element bib-date { bib-date_attributes & bib-date_model }
+
+## Attributes for \elementref{bib-date}.
+bib-date_attributes =
+ Common.attributes &
+ ## characterizes what happened on the given date
+ attribute role { ("publication" | "copyright" | text) }?
+
+## Content model for \elementref{bib-date}.
+bib-date_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bib-publisher =
+## Publisher of a bibliographic entry.
+element bib-publisher { bib-publisher_attributes & bib-publisher_model }
+
+## Attributes for \elementref{bib-publisher}.
+bib-publisher_attributes = Common.attributes
+
+## Content model for \elementref{bib-publisher}.
+bib-publisher_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bib-organization =
+## Organization responsible for a bibliographic entry.
+element bib-organization { bib-organization_attributes & bib-organization_model }
+
+## Attributes for \elementref{bib-organization}.
+bib-organization_attributes = Common.attributes
+
+## Content model for \elementref{bib-organization}.
+bib-organization_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bib-place =
+## Location of publisher or event
+element bib-place { bib-place_attributes & bib-place_model }
+
+## Attributes for \elementref{bib-place}.
+bib-place_attributes = Common.attributes
+
+## Content model for \elementref{bib-place}.
+bib-place_model = Inline.model
+
+# ---------------------------------------------------------------------
+bib-related =
+## A Related bibliographic object, such as the book or journal
+## that the current item is related to.
+element bib-related { bib-related_attributes & bib-related_model }
+
+## Attributes for \elementref{bib-related}.
+bib-related_attributes =
+ Common.attributes &
+ ## The type of this related entry.
+ attribute type { bibentry.type }? &
+ ## 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.
+ attribute role { ("host" | "event" | "original" | text) }? &
+ ## 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.
+ attribute bibrefs { text }?
+
+## Content model for \elementref{bib-related}.
+bib-related_model = Bibentry.class
+
+# ---------------------------------------------------------------------
+
+bib-part =
+## Describes how the current object is related to a related (\elementref{bib-related})
+## object, in particular page, part, volume numbers and similar.
+element bib-part { bib-part_attributes & bib-part_model }
+
+## Attributes for \elementref{bib-part}.
+bib-part_attributes =
+ Common.attributes &
+ ## indicates how the value partitions the containing object.
+ attribute role { ("pages" | "part" | "volume" | "issue" | "number"
+ | "chapter" | "section" | "paragraph" | text) }?
+
+## Content model for \elementref{bib-part}.
+bib-part_model = Inline.model
+
+# ---------------------------------------------------------------------
+#
+
+bib-edition =
+## Edition of a bibliographic entry.
+element bib-edition { bib-edition_attributes & bib-edition_model }
+
+## Attributes for \elementref{bib-edition}.
+bib-edition_attributes = Common.attributes
+
+## Content model for \elementref{bib-edition}.
+bib-edition_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bib-status =
+## Status of a bibliographic entry.
+element bib-status { bib-status_attributes & bib-status_model }
+
+## Attributes for \elementref{bib-status}.
+bib-status_attributes = Common.attributes
+
+## Content model for \elementref{bib-status}.
+bib-status_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bib-identifier =
+## Some form of document identfier. The content is descriptive.
+element bib-identifier { bib-identifier_attributes & bib-identifier_model }
+
+## Attributes for \elementref{bib-identifier}.
+bib-identifier_attributes =
+ Common.attributes &
+ ## indicates what sort of identifier it is; it is open-ended for extensibility.
+ attribute scheme { "doi" | "issn" | "isbn" | "mr" | text }? &
+ ## the identifier.
+ attribute id { text}? &
+ ## a url to the document, if available
+ attribute href { text}?
+
+## Content model for \elementref{bib-identifier}.
+bib-identifier_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bib-review =
+## Review of a bibliographic entry. The content is descriptive.
+element bib-review { bib-review_attributes & bib-review_model }
+
+## Attributes for \elementref{bib-review}.
+bib-review_attributes =
+ Common.attributes &
+ ## indicates what sort of identifier it is; it is open-ended for extensibility.
+ attribute scheme { "doi" | "issn" | "isbn" | "mr" | text }? &
+ ## the identifier.
+ attribute id { text}? &
+ ## a url to the review, if available
+ attribute href { text}?
+
+## Content model for \elementref{bib-review}.
+bib-review_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bib-links =
+## Links to other things like preprints, source code, etc.
+element bib-links { bib-links_attributes & bib-links_model }
+
+## Attributes for \elementref{bib-links}.
+bib-links_attributes = Common.attributes
+
+## Content model for \elementref{bib-links}.
+bib-links_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bib-language =
+## Language of a bibliographic entry.
+element bib-language { bib-language_attributes & bib-language_model }
+
+## Attributes for \elementref{bib-language}.
+bib-language_attributes = Common.attributes
+
+## Content model for \elementref{bib-language}.
+bib-language_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bib-url =
+## A URL for a bibliographic entry. The content is descriptive
+element bib-url { bib-url_attributes & bib-url_model }
+
+## Attributes for \elementref{bib-url}.
+bib-url_attributes =
+ Common.attributes &
+ attribute href { text }?
+
+## Content model for \elementref{bib-url}.
+bib-url_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bib-extract =
+## An extract from the referenced object.
+element bib-extract { bib-extract_attributes & bib-extract_model }
+
+## Attributes for \elementref{bib-extract}.
+bib-extract_attributes =
+ Common.attributes &
+ ## Classify what kind of extract
+ attribute role { ("keywords" | "abstract" | "contents" | text) }?
+
+## Content model for \elementref{bib-extract}.
+bib-extract_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bib-note =
+## Notes about a bibliographic entry.
+element bib-note { bib-note_attributes & bib-note_model }
+
+## Attributes for \elementref{bib-note}.
+bib-note_attributes =
+ Common.attributes &
+ ## Classify the kind of note
+ attribute role { ("annotation" | "publication" | text) }?
+
+## Content model for \elementref{bib-note}.
+bib-note_model = Inline.model
+
+#----------------------------------------------------------------------
+
+bib-data =
+## Random data, not necessarily even text.
+## (future questions: should model be text or ANY? maybe should have encoding attribute?).
+element bib-data { bib-data_attributes & bib-data_model }
+
+## Attributes for \elementref{bib-data}.
+bib-data_attributes =
+ Common.attributes &
+ ## Classify the relationship of the data to the entry.
+ attribute role { text }? &
+ ## Classify the type of the data.
+ attribute type { text }?
+
+## Content model for \elementref{bib-data}.
+bib-data_model = Inline.model
+
+#======================================================================
+
+Bibentry.class =
+ bib-name*
+ & bib-title*
+ & bib-subtitle*
+ & bib-key*
+ & bib-type*
+ & bib-date*
+ & bib-publisher*
+ & bib-organization*
+ & bib-place*
+ & bib-part*
+ & bib-related*
+ & bib-edition*
+ & bib-status*
+ & bib-language*
+ & bib-url*
+ & bib-note*
+ & bib-extract*
+ & bib-identifier*
+ & bib-review*
+ & bib-links*
+ & bib-data*
+
+#======================================================================
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-bib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-bib.rng
new file mode 100644
index 00000000000..83f70a1c76d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-bib.rng
@@ -0,0 +1,774 @@
+<?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>
+ <ref name="biblist_attributes"/>
+ <ref name="biblist_model"/>
+ </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>
+ <zeroOrMore>
+ <choice>
+ <ref name="bibentry"/>
+ <ref name="bibitem"/>
+ </choice>
+ </zeroOrMore>
+ </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>
+ <ref name="bibitem_attributes"/>
+ <ref name="bibitem_model"/>
+ </element>
+ </define>
+ <define name="bibitem_attributes">
+ <a:documentation>Attributes for \elementref{bibitem}.</a:documentation>
+ <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>
+ </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>
+ <ref name="bibtag_attributes"/>
+ <ref name="bibtag_model"/>
+ </element>
+ </define>
+ <define name="bibtag_attributes">
+ <a:documentation>Attributes for \elementref{bibtag}.</a:documentation>
+ <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>
+ </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>
+ <ref name="bibblock_attributes"/>
+ <ref name="bibblock_model"/>
+ </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>
+ <ref name="bibentry_attributes"/>
+ <ref name="bibentry_model"/>
+ </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>
+ <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>
+ </define>
+ <define name="bibentry_model">
+ <a:documentation>Content model for \elementref{bibentry}.</a:documentation>
+ <zeroOrMore>
+ <ref name="Bibentry.class"/>
+ </zeroOrMore>
+ </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>
+ <ref name="bib-name_attributes"/>
+ <ref name="bib-name_model"/>
+ </element>
+ </define>
+ <define name="bib-name_attributes">
+ <a:documentation>Attributes for \elementref{bib-name}.</a:documentation>
+ <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>
+ </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>
+ <ref name="surname"/>
+ <optional>
+ <ref name="givenname"/>
+ </optional>
+ <optional>
+ <ref name="lineage"/>
+ </optional>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="surname">
+ <element name="surname">
+ <a:documentation>Surname of a participant (\elementref{bib-name}).</a:documentation>
+ <ref name="surname_attributes"/>
+ <ref name="surname_model"/>
+ </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>
+ <ref name="givenname_attributes"/>
+ <ref name="givenname_model"/>
+ </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>
+ <ref name="lineage_attributes"/>
+ <ref name="lineage_model"/>
+ </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>
+ <ref name="bib-title_attributes"/>
+ <ref name="bib-title_model"/>
+ </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>
+ <ref name="bib-subtitle_attributes"/>
+ <ref name="bib-subtitle_model"/>
+ </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>
+ <ref name="bib-key_attributes"/>
+ <ref name="bib-key_model"/>
+ </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>
+ <ref name="bib-type_attributes"/>
+ <ref name="bib-type_model"/>
+ </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>
+ <ref name="bib-date_attributes"/>
+ <ref name="bib-date_model"/>
+ </element>
+ </define>
+ <define name="bib-date_attributes">
+ <a:documentation>Attributes for \elementref{bib-date}.</a:documentation>
+ <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>
+ </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>
+ <ref name="bib-publisher_attributes"/>
+ <ref name="bib-publisher_model"/>
+ </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>
+ <ref name="bib-organization_attributes"/>
+ <ref name="bib-organization_model"/>
+ </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>
+ <ref name="bib-place_attributes"/>
+ <ref name="bib-place_model"/>
+ </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>
+ <ref name="bib-related_attributes"/>
+ <ref name="bib-related_model"/>
+ </element>
+ </define>
+ <define name="bib-related_attributes">
+ <a:documentation>Attributes for \elementref{bib-related}.</a:documentation>
+ <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>
+ </define>
+ <define name="bib-related_model">
+ <a:documentation>Content model for \elementref{bib-related}.</a:documentation>
+ <zeroOrMore>
+ <ref name="Bibentry.class"/>
+ </zeroOrMore>
+ </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>
+ <ref name="bib-part_attributes"/>
+ <ref name="bib-part_model"/>
+ </element>
+ </define>
+ <define name="bib-part_attributes">
+ <a:documentation>Attributes for \elementref{bib-part}.</a:documentation>
+ <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>
+ </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>
+ <ref name="bib-edition_attributes"/>
+ <ref name="bib-edition_model"/>
+ </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>
+ <ref name="bib-status_attributes"/>
+ <ref name="bib-status_model"/>
+ </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>
+ <ref name="bib-identifier_attributes"/>
+ <ref name="bib-identifier_model"/>
+ </element>
+ </define>
+ <define name="bib-identifier_attributes">
+ <a:documentation>Attributes for \elementref{bib-identifier}.</a:documentation>
+ <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>
+ </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>
+ <ref name="bib-review_attributes"/>
+ <ref name="bib-review_model"/>
+ </element>
+ </define>
+ <define name="bib-review_attributes">
+ <a:documentation>Attributes for \elementref{bib-review}.</a:documentation>
+ <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>
+ </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>
+ <ref name="bib-links_attributes"/>
+ <ref name="bib-links_model"/>
+ </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>
+ <ref name="bib-language_attributes"/>
+ <ref name="bib-language_model"/>
+ </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>
+ <ref name="bib-url_attributes"/>
+ <ref name="bib-url_model"/>
+ </element>
+ </define>
+ <define name="bib-url_attributes">
+ <a:documentation>Attributes for \elementref{bib-url}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="href"/>
+ </optional>
+ </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>
+ <ref name="bib-extract_attributes"/>
+ <ref name="bib-extract_model"/>
+ </element>
+ </define>
+ <define name="bib-extract_attributes">
+ <a:documentation>Attributes for \elementref{bib-extract}.</a:documentation>
+ <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>
+ </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>
+ <ref name="bib-note_attributes"/>
+ <ref name="bib-note_model"/>
+ </element>
+ </define>
+ <define name="bib-note_attributes">
+ <a:documentation>Attributes for \elementref{bib-note}.</a:documentation>
+ <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>
+ </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>
+ <ref name="bib-data_attributes"/>
+ <ref name="bib-data_model"/>
+ </element>
+ </define>
+ <define name="bib-data_attributes">
+ <a:documentation>Attributes for \elementref{bib-data}.</a:documentation>
+ <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>
+ </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">
+ <choice>
+ <ref name="bib-name"/>
+ <ref name="bib-title"/>
+ <ref name="bib-subtitle"/>
+ <ref name="bib-key"/>
+ <ref name="bib-type"/>
+ <ref name="bib-date"/>
+ <ref name="bib-publisher"/>
+ <ref name="bib-organization"/>
+ <ref name="bib-place"/>
+ <ref name="bib-part"/>
+ <ref name="bib-related"/>
+ <ref name="bib-edition"/>
+ <ref name="bib-status"/>
+ <ref name="bib-language"/>
+ <ref name="bib-url"/>
+ <ref name="bib-note"/>
+ <ref name="bib-extract"/>
+ <ref name="bib-identifier"/>
+ <ref name="bib-review"/>
+ <ref name="bib-links"/>
+ <ref name="bib-data"/>
+ </choice>
+ </define>
+</grammar>
+<!-- ====================================================================== -->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rnc
new file mode 100644
index 00000000000..a8ccd452b7b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rnc
@@ -0,0 +1,305 @@
+# /=====================================================================\
+# | 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=/
+
+default namespace = "http://dlmf.nist.gov/LaTeXML"
+
+## The block module defines the following `physical' block elements.
+Block.class &=
+ p* & equation* & equationgroup* & quote* & block* & listingblock*
+ & itemize* & enumerate* & description*
+
+
+## Additionally, it defines these miscellaneous elements that can appear
+## in both inline and block contexts.
+Misc.class &= inline-block* & verbatim* & break* & graphics* & svg*
+
+## Additional Metadata that can be present in equations.
+EquationMeta.class = constraint
+
+#======================================================================
+
+p =
+## A physical paragraph.
+element p { p_attributes & p_model }
+
+## Attributes for \elementref{p}.
+p_attributes = Common.attributes & ID.attributes & Positionable.attributes
+
+## Content model for \elementref{p}.
+p_model = Inline.model
+
+#======================================================================
+
+constraint =
+## A constraint upon an equation.
+element constraint { constraint_attributes & constraint_model }
+
+## Attributes for \elementref{constraint}.
+constraint_attributes =
+ attribute hidden { xsd:boolean }?
+
+## Content model for \elementref{constraint}.
+constraint_model = Inline.model
+
+#======================================================================
+
+equation =
+## 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
+element equation { equation_attributes & equation_model }
+
+## Attributes for \elementref{equation}.
+equation_attributes = Common.attributes & Labelled.attributes
+
+## Content model for \elementref{equation}.
+equation_model = Math* & MathFork* & \text* & tabular* & Meta.class & EquationMeta.class
+
+#======================================================================
+
+equationgroup =
+## A group of equations, perhaps aligned (Though this is nowhere recorded).
+element equationgroup { equationgroup_attributes & equationgroup_model }
+
+## Attributes for \elementref{equationgroup}.
+equationgroup_attributes = Common.attributes & Labelled.attributes
+
+## Content model for \elementref{equationgroup}.
+equationgroup_model = equationgroup* & equation* & p* & Meta.class & EquationMeta.class
+
+#======================================================================
+
+MathFork =
+## 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.
+element MathFork { MathFork_attributes & MathFork_model }
+
+## Attributes for \elementref{MathFork}.
+MathFork_attributes = Common.attributes
+
+## Content model for \elementref{MathFork}.
+MathFork_model = Math, MathBranch*
+
+#======================================================================
+
+MathBranch =
+## A container for an alternatively formatted math representation.
+element MathBranch { MathBranch_attributes & MathBranch_model }
+
+## Attributes for \elementref{MathBranch}.
+MathBranch_attributes =
+ Common.attributes &
+ attribute format { text }?
+
+## Content model for \elementref{MathBranch}.
+MathBranch_model = Math* & tr* & td*
+
+#======================================================================
+
+quote =
+## A quotation.
+element quote { quote_attributes & quote_model }
+
+## Attributes for \elementref{quote}.
+quote_attributes = Common.attributes & ID.attributes
+
+## Content model for \elementref{quote}.
+quote_model = Block.model
+# 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?
+
+#======================================================================
+
+block =
+## A generic block (fallback).
+element block { block_attributes & block_model }
+
+## Attributes for \elementref{block}.
+block_attributes = Common.attributes & ID.attributes & Positionable.attributes
+
+## Content model for \elementref{block}.
+block_model = Inline.model
+
+#======================================================================
+
+listingblock =
+## An in-block Listing, without caption
+element listingblock { listingblock_attributes & listingblock_model }
+
+## Attributes for \elementref{listingblock}.
+listingblock_attributes = Common.attributes & Labelled.attributes
+
+## Content model for \elementref{listingblock}.
+listingblock_model = Block.model*
+
+#======================================================================
+
+break =
+## A forced line break.
+element break { break_attributes & break_model }
+
+## Attributes for \elementref{break}.
+break_attributes = Common.attributes
+
+## Content model for \elementref{break}.
+break_model = empty
+
+#======================================================================
+
+inline-block =
+## An inline block. Actually, can appear in inline or block mode, but
+## typesets its contents as a block.
+element inline-block { inline-block_attributes & inline-block_model }
+
+## Attributes for \elementref{inline-block}.
+inline-block_attributes = Common.attributes & ID.attributes & Positionable.attributes
+
+## Content model for \elementref{inline-block}.
+inline-block_model = Block.model
+
+#======================================================================
+
+verbatim =
+## Verbatim content
+element verbatim { verbatim_attributes & verbatim_model }
+
+## Attributes for \elementref{verbatim}.
+verbatim_attributes =
+ Common.attributes &
+ ID.attributes &
+ ## the font to use; generally typewriter.
+ attribute font { text }? &
+
+ ## Indicates the text size to use. (See \elementref{text})
+ attribute size { "Huge" | "huge" | "LARGE" | "Large" | "large" | "normal"
+ | "small" | "footnote" | "tiny" | text }? &
+
+ ## the color to use; any CSS compatible color specification.
+ attribute color { text }?
+
+## Content model for \elementref{verbatim}.
+verbatim_model = Inline.model
+
+#======================================================================
+
+itemize =
+## An itemized list.
+element itemize { itemize_attributes & itemize_model }
+
+## Attributes for \elementref{itemize}.
+itemize_attributes = Common.attributes & ID.attributes
+
+## Content model for \elementref{itemize}.
+itemize_model = item*
+
+#======================================================================
+
+enumerate =
+## An enumerated list.
+element enumerate { enumerate_attributes & enumerate_model }
+
+## Attributes for \elementref{enumerate}.
+enumerate_attributes = Common.attributes & ID.attributes
+
+## Content model for \elementref{enumerate}.
+enumerate_model = item*
+
+#======================================================================
+
+description =
+## 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}.
+element description { description_attributes & description_model }
+
+## Attributes for \elementref{description}.
+description_attributes = Common.attributes & ID.attributes
+
+## Content model for \elementref{description}.
+description_model = item*
+
+#======================================================================
+
+item =
+## An item within a list.
+element item { item_attributes & item_model }
+
+## Attributes for \elementref{item}.
+item_attributes = Common.attributes & Labelled.attributes
+
+## Content model for \elementref{item}.
+item_model = tag? & Para.model
+
+#======================================================================
+
+tag =
+## A tag within an item indicating the term or bullet for a given item.
+element tag { tag_attributes & tag_model }
+
+## Attributes for \elementref{tag}.
+tag_attributes =
+ Common.attributes &
+
+ ## specifies an open delimiters used to display the tag.
+ attribute open { text }? &
+
+ ## specifies an close delimiters used to display the tag.
+ attribute close { text }?
+
+## Content model for \elementref{tag}.
+tag_model = Inline.model
+
+#======================================================================
+
+graphics =
+## A graphical insertion of an external file.
+element graphics { graphics_attributes & graphics_model }
+
+## Attributes for \elementref{graphics}.
+graphics_attributes =
+ Common.attributes &
+ ID.attributes &
+ Imageable.attributes &
+
+ ## 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.
+ attribute graphic { text }? &
+
+ ## 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.
+ attribute candidates { text }? &
+
+ ## an encoding of the scaling and positioning options
+ ## to be used in processing the graphic.
+ attribute options { text }?
+
+
+## Content model for \elementref{graphics}.
+graphics_model = empty
+
+#======================================================================
+
+svg =
+## An SVG (Scalable Vector Graphics) object
+## [eventually must adapt to put LaTeXML objects in foreignObject]
+grammar {
+ include "svg11.rnc"
+ { SVG.foreignObject.content = parent Flow.model }
+}
+#======================================================================
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rng
new file mode 100644
index 00000000000..52721622c6b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-block.rng
@@ -0,0 +1,479 @@
+<?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="choice">
+ <a:documentation>The block module defines the following `physical' block elements.</a:documentation>
+ <choice>
+ <ref name="p"/>
+ <ref name="equation"/>
+ <ref name="equationgroup"/>
+ <ref name="quote"/>
+ <ref name="block"/>
+ <ref name="listingblock"/>
+ <ref name="itemize"/>
+ <ref name="enumerate"/>
+ <ref name="description"/>
+ </choice>
+ </define>
+ <define name="Misc.class" combine="choice">
+ <a:documentation>Additionally, it defines these miscellaneous elements that can appear
+in both inline and block contexts.</a:documentation>
+ <choice>
+ <ref name="inline-block"/>
+ <ref name="verbatim"/>
+ <ref name="break"/>
+ <ref name="graphics"/>
+ <ref name="svg"/>
+ </choice>
+ </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>
+ <ref name="p_attributes"/>
+ <ref name="p_model"/>
+ </element>
+ </define>
+ <define name="p_attributes">
+ <a:documentation>Attributes for \elementref{p}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ <ref name="Positionable.attributes"/>
+ </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>
+ <ref name="constraint_attributes"/>
+ <ref name="constraint_model"/>
+ </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>
+ <ref name="equation_attributes"/>
+ <ref name="equation_model"/>
+ </element>
+ </define>
+ <define name="equation_attributes">
+ <a:documentation>Attributes for \elementref{equation}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ </define>
+ <define name="equation_model">
+ <a:documentation>Content model for \elementref{equation}.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <ref name="Math"/>
+ <ref name="MathFork"/>
+ <ref name="text"/>
+ <ref name="tabular"/>
+ <ref name="Meta.class"/>
+ <ref name="EquationMeta.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="equationgroup">
+ <element name="equationgroup">
+ <a:documentation>A group of equations, perhaps aligned (Though this is nowhere recorded).</a:documentation>
+ <ref name="equationgroup_attributes"/>
+ <ref name="equationgroup_model"/>
+ </element>
+ </define>
+ <define name="equationgroup_attributes">
+ <a:documentation>Attributes for \elementref{equationgroup}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ </define>
+ <define name="equationgroup_model">
+ <a:documentation>Content model for \elementref{equationgroup}.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <ref name="equationgroup"/>
+ <ref name="equation"/>
+ <ref name="p"/>
+ <ref name="Meta.class"/>
+ <ref name="EquationMeta.class"/>
+ </choice>
+ </zeroOrMore>
+ </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>
+ <ref name="MathFork_attributes"/>
+ <ref name="MathFork_model"/>
+ </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>
+ <ref name="MathBranch_attributes"/>
+ <ref name="MathBranch_model"/>
+ </element>
+ </define>
+ <define name="MathBranch_attributes">
+ <a:documentation>Attributes for \elementref{MathBranch}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="format"/>
+ </optional>
+ </define>
+ <define name="MathBranch_model">
+ <a:documentation>Content model for \elementref{MathBranch}.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <ref name="Math"/>
+ <ref name="tr"/>
+ <ref name="td"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="quote">
+ <element name="quote">
+ <a:documentation>A quotation.</a:documentation>
+ <ref name="quote_attributes"/>
+ <ref name="quote_model"/>
+ </element>
+ </define>
+ <define name="quote_attributes">
+ <a:documentation>Attributes for \elementref{quote}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </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>
+ <ref name="block_attributes"/>
+ <ref name="block_model"/>
+ </element>
+ </define>
+ <define name="block_attributes">
+ <a:documentation>Attributes for \elementref{block}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ <ref name="Positionable.attributes"/>
+ </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>
+ <ref name="listingblock_attributes"/>
+ <ref name="listingblock_model"/>
+ </element>
+ </define>
+ <define name="listingblock_attributes">
+ <a:documentation>Attributes for \elementref{listingblock}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ </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>
+ <ref name="break_attributes"/>
+ <ref name="break_model"/>
+ </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>
+ <ref name="inline-block_attributes"/>
+ <ref name="inline-block_model"/>
+ </element>
+ </define>
+ <define name="inline-block_attributes">
+ <a:documentation>Attributes for \elementref{inline-block}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ <ref name="Positionable.attributes"/>
+ </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>
+ <ref name="verbatim_attributes"/>
+ <ref name="verbatim_model"/>
+ </element>
+ </define>
+ <define name="verbatim_attributes">
+ <a:documentation>Attributes for \elementref{verbatim}.</a:documentation>
+ <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>
+ </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>
+ <ref name="itemize_attributes"/>
+ <ref name="itemize_model"/>
+ </element>
+ </define>
+ <define name="itemize_attributes">
+ <a:documentation>Attributes for \elementref{itemize}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </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>
+ <ref name="enumerate_attributes"/>
+ <ref name="enumerate_model"/>
+ </element>
+ </define>
+ <define name="enumerate_attributes">
+ <a:documentation>Attributes for \elementref{enumerate}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </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>
+ <ref name="description_attributes"/>
+ <ref name="description_model"/>
+ </element>
+ </define>
+ <define name="description_attributes">
+ <a:documentation>Attributes for \elementref{description}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </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>
+ <ref name="item_attributes"/>
+ <ref name="item_model"/>
+ </element>
+ </define>
+ <define name="item_attributes">
+ <a:documentation>Attributes for \elementref{item}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ </define>
+ <define name="item_model">
+ <a:documentation>Content model for \elementref{item}.</a:documentation>
+ <optional>
+ <ref name="tag"/>
+ </optional>
+ <ref name="Para.model"/>
+ </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>
+ <ref name="tag_attributes"/>
+ <ref name="tag_model"/>
+ </element>
+ </define>
+ <define name="tag_attributes">
+ <a:documentation>Attributes for \elementref{tag}.</a:documentation>
+ <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>
+ </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>
+ <ref name="graphics_attributes"/>
+ <ref name="graphics_model"/>
+ </element>
+ </define>
+ <define name="graphics_attributes">
+ <a:documentation>Attributes for \elementref{graphics}.</a:documentation>
+ <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>
+ </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/rnc/LaTeXML/LaTeXML-common.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-common.rnc
new file mode 100644
index 00000000000..6beb53b14b6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-common.rnc
@@ -0,0 +1,150 @@
+# /=====================================================================\
+# | 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=/
+
+default namespace = "http://dlmf.nist.gov/LaTeXML"
+
+
+# Basic element classes:
+
+## All strictly inline elements.
+Inline.class = empty
+
+## All `physical' block elements.
+## A physical block is typically displayed as a block, but
+## may not constitute a complete logical unit.
+Block.class = empty
+
+## Additional miscellaneous elements that can appear in
+## both inline and block contexts.
+Misc.class = empty
+
+## 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.
+Para.class = empty
+
+## All metadata elements, typically representing hidden data.
+Meta.class = empty
+
+# ======================================================================
+# Attribute types
+
+## The type for attributes specifying a length.
+## Should be a number followed by a length, typically px.
+## NOTE: To be narrowed later.
+Length.type = text
+
+## The type for attributes specifying a color.
+## NOTE: To be narrowed later.
+Color.type = text
+
+# ======================================================================
+## Attributes shared by ALL elements.
+Common.attributes =
+
+# ## provides for namespace declaration.
+# attribute xmlns { text }? &
+
+ ## 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.]
+ attribute class { xsd:NMTOKENS }?
+
+## Attributes for elements that can be cross-referenced
+## from inside or outside the document.
+ID.attributes =
+
+ ## the unique identifier of the element,
+ ## usually generated automatically by the latexml.
+ attribute xml:id { xsd:ID }?
+
+## Attributes for elements that can cross-reference other elements.
+IDREF.attributes =
+
+ ## the identifier of the referred-to element.
+ attribute idref { xsd:IDREF }?
+
+## Attributes for elements that can be labelled from within LaTeX.
+## These attributes deal with assigning a label and generating cross references.
+Labelled.attributes =
+ ID.attributes &
+
+ ## 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!)
+ attribute labels { text }? &
+
+ ## the reference number (ie. section number, equation number, etc) of the object.
+ attribute refnum { text }? &
+
+ ## the formatted reference number of the object, typically this is the refnum with
+ ## the object type prepended, such as "Chapter 2"
+ attribute frefnum { text }?
+
+## Attributes shared by low-level, generic inline and block elements
+## that can be sized or shifted.
+Positionable.attributes =
+
+ ## the desired width of the box
+ attribute width { Length.type }? &
+
+ ## the desired height of the box
+ attribute height { Length.type }? &
+
+ ## the desired depth of the box
+ attribute depth { Length.type }? &
+
+ ## extra width beyond the boxes natural size.
+ attribute pad-width { Length.type }? &
+
+ ## extra height beyond the boxes natural size.
+ attribute pad-height { Length.type }? &
+
+ ## horizontal shift the position of the box.
+ attribute xoffset { Length.type }? &
+
+ ## vertical shift the position of the box.
+ attribute yoffset { Length.type }? &
+
+ ## alignment of material within the box.
+ attribute align { "left" | "center" | "right" | "justified" }? &
+
+ ## specifies which line of the box is aligned to the baseline of the containing object.
+ attribute vattach { "top" | "middle" | "bottom" }? &
+
+ ## the horizontal floating placement parameter that determines where the object is displayed.
+ attribute float { ( "right" | "left" | text) }?
+
+## Attributes for elements that may be converted to image form
+## during postprocessing, such as math, graphics, pictures, etc.
+Imageable.attributes =
+
+ ## the file, possibly generated from other data.
+ attribute imagesrc { xsd:anyURI }? &
+
+ ## the width in pixels of \attr{imagesrc}.
+ attribute imagewidth { xsd:nonNegativeInteger}? &
+
+ ## the height in pixels of \attr{imagesrc}.
+ attribute imageheight { xsd:nonNegativeInteger }? &
+
+ ## a description of the image
+ attribute description { text }?
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-common.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-common.rng
new file mode 100644
index 00000000000..850da7753e7
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-common.rng
@@ -0,0 +1,229 @@
+<?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>
+ <notAllowed/>
+ </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>
+ <notAllowed/>
+ </define>
+ <define name="Misc.class">
+ <a:documentation>Additional miscellaneous elements that can appear in
+both inline and block contexts.</a:documentation>
+ <notAllowed/>
+ </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>
+ <notAllowed/>
+ </define>
+ <define name="Meta.class">
+ <a:documentation>All metadata elements, typically representing hidden data.</a:documentation>
+ <notAllowed/>
+ </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>
+ <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>
+ </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>
+ <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>
+ </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>
+ <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>
+ </define>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-inline.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-inline.rnc
new file mode 100644
index 00000000000..604cd5896ec
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-inline.rnc
@@ -0,0 +1,308 @@
+# /=====================================================================\
+# | 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=/
+
+
+default namespace = "http://dlmf.nist.gov/LaTeXML"
+
+## The inline module defines basic inline elements used throughout
+Inline.class &= \text* & emph* & acronym* & rule* & anchor* & ref* & cite* & bibref*
+
+## Additionally, it defines these meta elements. These are generally hidden,
+## and can appear in inline and block contexts.
+Meta.class &= note* & indexmark* & ERROR*
+
+#======================================================================
+
+\text =
+## General container for styled text.
+## Attributes cover a variety of styling and position shifting properties.
+element text { text_attributes & text_model }
+
+## Attributes for \elementref{text}.
+text_attributes =
+ Common.attributes &
+ Positionable.attributes &
+
+ ## 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.
+ attribute font { text }? &
+
+ ## 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.
+ attribute size { "Huge" | "huge" | "LARGE" | "Large" | "large" | "normal"
+ | "small" | "footnote" | "tiny" | text }? &
+
+ ## 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.
+ attribute color { text }? &
+
+ ## the kind of frame or outline for the text.
+ attribute framed { "rectangle" | "underline" | text }?
+
+## Content model for \elementref{text}.
+text_model = Inline.model
+
+#======================================================================
+
+emph =
+## Emphasized text.
+element emph { emph_attributes & emph_model }
+
+## Attributes for \elementref{emph}.
+emph_attributes = Common.attributes
+
+## Content model for \elementref{emph}.
+emph_model = Inline.model
+
+#======================================================================
+
+acronym =
+## Represents an acronym.
+element acronym { acronym_attributes & acronym_model }
+
+## Attributes for \elementref{acronym}.
+acronym_attributes =
+ Common.attributes &
+ ## should be used to indicate the expansion of the acronym.
+ attribute name { text }?
+
+## Content model for \elementref{acronym}.
+acronym_model = Inline.model
+
+#======================================================================
+
+rule =
+## A Rule.
+element rule { rule_attributes & rule_model }
+
+## Attributes for \elementref{rule}.
+rule_attributes = Common.attributes & Positionable.attributes
+
+## Content model for \elementref{rule}.
+rule_model = empty
+
+#======================================================================
+
+ref =
+## 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).
+element ref { ref_attributes & ref_model }
+
+## Attributes for \elementref{ref}.
+ref_attributes =
+ Common.attributes &
+
+ ## reference to an internal identifier.
+ IDREF.attributes &
+
+ ## reference to a LaTeX labelled object;
+ ## See the \attr{labels} attribute of \patternref{Labelled.attributes}.
+ attribute labelref { text }? &
+
+ ## reference to an arbitrary url.
+ attribute href { text }? &
+
+ ## 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.
+ attribute show { text }? &
+
+ ## gives a longer form description of the target,
+ ## this would typically appear as a tooltip in HTML.
+ ## Typically filled in by postprocessor.
+ attribute title { text }?
+
+## Content model for \elementref{ref}.
+ref_model = Inline.model
+
+#======================================================================
+
+anchor =
+## Inline anchor.
+element anchor { anchor_attributes & anchor_model }
+
+## Attributes for \elementref{anchor}.
+anchor_attributes = Common.attributes & ID.attributes
+
+## Content model for \elementref{anchor}.
+anchor_model = Inline.model
+
+#======================================================================
+
+cite =
+## 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.
+element cite { cite_attributes & cite_model }
+
+## Attributes for \elementref{cite}.
+cite_attributes = Common.attributes
+
+## Content model for \elementref{cite}.
+cite_model = Inline.model
+
+#======================================================================
+
+bibref =
+## A bibliographic citation refering to a specific bibliographic item.
+element bibref { bibref_attributes & bibref_model }
+
+## Attributes for \elementref{bibref}.
+bibref_attributes =
+ Common.attributes &
+ IDREF.attributes &
+
+ ## a comma separated list of bibliographic keys.
+ ## (See the \attr{key} attribute of \elementref{bibitem} and \elementref{bibentry})
+ attribute bibrefs { text }? &
+
+ ## 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.
+ attribute show { text }? &
+
+ ## separator between formatted references
+ attribute separator { text }? &
+
+ ## separator between formatted years when duplicate authors are combined.
+ attribute yyseparator { text }?
+
+## Content model for \elementref{bibref}.
+bibref_model = bibrefphrase*
+
+#======================================================================
+
+bibrefphrase =
+## A preceding or following phrase used in composing a bibliographic reference,
+## such as listing pages or chapter.
+element bibrefphrase { bibrefphrase_attributes & bibrefphrase_model }
+
+## Attributes for \elementref{bibrefphrase}
+bibrefphrase_attributes = Common.attributes
+
+## Content model for \elementref{bibrefphrase}
+bibrefphrase_model = Inline.model
+
+#======================================================================
+
+note =
+## Metadata that covers several `out of band' annotations.
+## It's content allows both inline and block-level content.
+element note { note_attributes & note_model }
+
+## Attributes for \elementref{note}.
+note_attributes =
+ Common.attributes &
+
+ ## indicates the desired visible marker to be linked to the note.
+ attribute mark { text }? &
+
+ ## indicates the kind of note
+ attribute role { "footnote" | text }?
+
+## Content model for \elementref{note}.
+note_model = Flow.model
+
+# should mark be more like label/refnum ?
+
+#======================================================================
+
+ERROR =
+## error object for undefined control sequences, or whatever
+element ERROR { ERROR_attributes & ERROR_model }
+
+## Attributes for \elementref{ERROR}.
+ERROR_attributes = Common.attributes
+
+## Content model for \elementref{ERROR}.
+ERROR_model = text*
+
+#======================================================================
+
+indexmark =
+## Metadata to record an indexing position. The content is
+## a sequence of \elementref{indexphrase}, each representing a level in
+## a multilevel indexing entry.
+element indexmark { indexmark_attributes & indexmark_model }
+
+## Attributes for \elementref{indexmark}.
+indexmark_attributes =
+ Common.attributes &
+ ## a flattened form (like \attr{key}) of another \elementref{indexmark},
+ ## used to crossreference.
+ attribute see_also { text }? &
+
+ ## NOTE: describe this.
+ attribute style { text }?
+
+## Content model for \elementref{indexmark}.
+indexmark_model = indexphrase*, indexsee*
+
+#======================================================================
+
+indexphrase =
+## A phrase within an \elementref{indexmark}
+element indexphrase { indexphrase_attributes & indexphrase_model }
+
+## Attributes for \elementref{indexphrase}.
+indexphrase_attributes =
+ Common.attributes &
+
+ ## a flattened form of the phrase for generating an \attr{ID}.
+ attribute key { text }?
+
+## Content model for \elementref{indexphrase}.
+indexphrase_model = Inline.model
+
+indexsee =
+## A see-also phrase within an \elementref{indexmark}
+element indexsee { indexsee_attributes & indexsee_model }
+
+## Attributes for \elementref{indexsee}.
+indexsee_attributes =
+ Common.attributes &
+
+ ## a flattened form of the phrase for generating an \attr{ID}.
+ attribute key { text }? &
+
+ ## a name for the see phrase, such as "see also".
+ attribute name { text }?
+
+
+## Content model for \elementref{indexsee}.
+indexsee_model = Inline.model
+
+#======================================================================
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-inline.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-inline.rng
new file mode 100644
index 00000000000..8c1d793a966
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-inline.rng
@@ -0,0 +1,444 @@
+<?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="choice">
+ <a:documentation>The inline module defines basic inline elements used throughout </a:documentation>
+ <choice>
+ <ref name="text"/>
+ <ref name="emph"/>
+ <ref name="acronym"/>
+ <ref name="rule"/>
+ <ref name="anchor"/>
+ <ref name="ref"/>
+ <ref name="cite"/>
+ <ref name="bibref"/>
+ </choice>
+ </define>
+ <define name="Meta.class" combine="choice">
+ <a:documentation>Additionally, it defines these meta elements. These are generally hidden,
+and can appear in inline and block contexts.</a:documentation>
+ <choice>
+ <ref name="note"/>
+ <ref name="indexmark"/>
+ <ref name="ERROR"/>
+ </choice>
+ </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>
+ <ref name="text_attributes"/>
+ <ref name="text_model"/>
+ </element>
+ </define>
+ <define name="text_attributes">
+ <a:documentation>Attributes for \elementref{text}.</a:documentation>
+ <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>
+ </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>
+ <ref name="emph_attributes"/>
+ <ref name="emph_model"/>
+ </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>
+ <ref name="acronym_attributes"/>
+ <ref name="acronym_model"/>
+ </element>
+ </define>
+ <define name="acronym_attributes">
+ <a:documentation>Attributes for \elementref{acronym}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <optional>
+ <attribute name="name">
+ <a:documentation>should be used to indicate the expansion of the acronym.</a:documentation>
+ </attribute>
+ </optional>
+ </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>
+ <ref name="rule_attributes"/>
+ <ref name="rule_model"/>
+ </element>
+ </define>
+ <define name="rule_attributes">
+ <a:documentation>Attributes for \elementref{rule}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Positionable.attributes"/>
+ </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>
+ <ref name="ref_attributes"/>
+ <ref name="ref_model"/>
+ </element>
+ </define>
+ <define name="ref_attributes">
+ <a:documentation>Attributes for \elementref{ref}.</a:documentation>
+ <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>
+ </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>
+ <ref name="anchor_attributes"/>
+ <ref name="anchor_model"/>
+ </element>
+ </define>
+ <define name="anchor_attributes">
+ <a:documentation>Attributes for \elementref{anchor}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </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>
+ <ref name="cite_attributes"/>
+ <ref name="cite_model"/>
+ </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>
+ <ref name="bibref_attributes"/>
+ <ref name="bibref_model"/>
+ </element>
+ </define>
+ <define name="bibref_attributes">
+ <a:documentation>Attributes for \elementref{bibref}.</a:documentation>
+ <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>
+ </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>
+ <ref name="bibrefphrase_attributes"/>
+ <ref name="bibrefphrase_model"/>
+ </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>
+ <ref name="note_attributes"/>
+ <ref name="note_model"/>
+ </element>
+ </define>
+ <define name="note_attributes">
+ <a:documentation>Attributes for \elementref{note}.</a:documentation>
+ <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>
+ </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>
+ <ref name="ERROR_attributes"/>
+ <ref name="ERROR_model"/>
+ </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>
+ <ref name="indexmark_attributes"/>
+ <ref name="indexmark_model"/>
+ </element>
+ </define>
+ <define name="indexmark_attributes">
+ <a:documentation>Attributes for \elementref{indexmark}.</a:documentation>
+ <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>
+ </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>
+ <ref name="indexphrase_attributes"/>
+ <ref name="indexphrase_model"/>
+ </element>
+ </define>
+ <define name="indexphrase_attributes">
+ <a:documentation>Attributes for \elementref{indexphrase}.</a:documentation>
+ <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>
+ </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>
+ <ref name="indexsee_attributes"/>
+ <ref name="indexsee_model"/>
+ </element>
+ </define>
+ <define name="indexsee_attributes">
+ <a:documentation>Attributes for \elementref{indexsee}.</a:documentation>
+ <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>
+ </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/rnc/LaTeXML/LaTeXML-math.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-math.rnc
new file mode 100644
index 00000000000..d310c3df53b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-math.rnc
@@ -0,0 +1,374 @@
+# /=====================================================================\
+# | 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=/
+
+default namespace = "http://dlmf.nist.gov/LaTeXML"
+
+## 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.
+Inline.class &= Math*
+
+## This class defines the content of the \elementref{Math} element.
+## Additionally, it could contain MathML or OpenMath, after postprocessing.
+Math.class = XMath
+
+## These elements comprise the internal math representation, being
+## the content of the \elementref{XMath} element.
+XMath.class = XMApp* & XMTok* & XMRef* & XMHint* & XMArg* & XMWrap* & XMDual* & XMText* & XMArray*
+
+#======================================================================
+
+Math =
+## Outer container for all math. This holds the internal
+## \elementref{XMath} representation, as well as image data and other representations.
+element Math { Math_attributes & Math_model }
+
+## Attributes for \elementref{Math}.
+Math_attributes =
+ Common.attributes &
+ Imageable.attributes &
+ ID.attributes &
+
+ ## display or inline mode.
+ attribute mode { "display" | "inline" }? &
+
+ ## reconstruction of the \TeX\ that generated the math.
+ attribute tex { text }? &
+
+ ## more semantic version of \attr{tex}.
+ attribute content-tex { text }? &
+
+ ## a textified representation of the math.
+ attribute text { text }?
+
+## Content model for \elementref{Math}.
+Math_model = Math.class
+
+#======================================================================
+XMath.attributes =
+
+ ## The role that this item plays in the Grammar.
+ attribute role { text }? &
+
+ ## an open delimiter to enclose the object;
+ attribute open { text }? &
+
+ ## an close delimiter to enclose the object;
+ attribute close { text }? &
+
+ ## an open delimiter to enclose the argument list,
+ ## when this token is applied to arguments with \elementref{XMApp}.
+ attribute argopen { text }? &
+
+ ## a close delimiter to enclose the argument list,
+ ## when this token is applied to arguments with \elementref{XMApp}.
+ attribute argclose { text }? &
+
+ ## 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.
+ attribute separators { text }? &
+
+ ## trailing (presumably non-semantic) punctuation.
+ attribute punctuation { text }? &
+
+ ## an annotation placed by the parser when it suspects this token may be used as a function.
+ attribute possibleFunction { text }?
+
+#======================================================================
+
+XMath =
+## Internal representation of mathematics.
+element XMath { XMath_attributes & XMath_model }
+
+## Attributes for \elementref{XMath}.
+XMath_attributes = Common.attributes
+
+## Content model for \elementref{XMath}.
+XMath_model = XMath.class
+
+#======================================================================
+
+XMTok =
+## General mathematical token.
+element XMTok { XMTok_attributes & XMTok_model }
+
+## Attributes for \elementref{XMTok}.
+XMTok_attributes =
+ Common.attributes &
+ XMath.attributes &
+ ID.attributes &
+
+ ## The name of the token, typically the control sequence that created it.
+ attribute name { text }? &
+
+ ## A more semantic name corresponding to the intended meaning,
+ ## such as the OpenMath name.
+ attribute meaning { text }? &
+
+ ## The OpenMath CD for which \attr{meaning} is a symbol.
+ attribute omcd { text }? &
+
+ ## Various random styling information. NOTE This needs to be made consistent.
+ attribute style { text }? &
+
+ ## The font, size a used for the symbol.
+ attribute font { text }? &
+
+ ## The size for the symbol, not presumed to be meaningful(?)
+ attribute size { text }? &
+
+ ## The color (CSS format) for the symbol, not presumed to be meaningful(?)
+ attribute color { text }? &
+
+ ## 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?
+ attribute scriptpos { text }? &
+
+ ## NOTE: How is this used?
+ attribute thickness { text }?
+
+## Content model for \elementref{XMTok}.
+XMTok_model = text*
+
+
+#======================================================================
+
+XMApp =
+## 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}.
+element XMApp { XMApp_attributes & XMApp_model }
+
+## Attributes for \elementref{XMApp}.
+XMApp_attributes =
+ Common.attributes &
+ XMath.attributes &
+ ID.attributes &
+
+ ## The name of the token, typically the control sequence that created it.
+ attribute name { text }? &
+
+ ## A more semantic name corresponding to the intended meaning,
+ ## such as the OpenMath name.
+ attribute meaning { text }? &
+
+ ## 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)
+ attribute scriptpos { text }?
+
+## Content model for \elementref{XMApp}.
+XMApp_model = XMath.class
+
+#======================================================================
+
+XMDual =
+## 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
+element XMDual { XMDual_attributes & XMDual_model }
+
+## Attributes for \elementref{XMDual}.
+XMDual_attributes =
+ Common.attributes &
+ XMath.attributes &
+ ID.attributes
+
+## Content model for \elementref{XMDual}.
+XMDual_model = XMath.class, XMath.class
+
+#======================================================================
+
+XMHint =
+## Various spacing items, generally ignored in parsing.
+## The attributes are a subset of those for \elementref{XMTok}.
+element XMHint { XMHint_attributes & XMHint_model }
+
+## Attributes for \elementref{XMHint}.
+XMHint_attributes =
+ Common.attributes &
+ XMath.attributes &
+ ID.attributes &
+ attribute name { text }? &
+ attribute meaning { text }? &
+ attribute style { text }?
+
+## Content model for \elementref{XMHint}.
+XMHint_model = empty
+
+#======================================================================
+
+XMText =
+## Text appearing within math.
+element XMText { XMText_attributes & XMText_model }
+
+## Attributes for \elementref{XMText}.
+XMText_attributes =
+ Common.attributes &
+ XMath.attributes &
+ ID.attributes &
+
+ ## 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)
+ attribute scriptpos { text }?
+
+## Content model for \elementref{XMText}.
+XMText_model = text & Inline.class & Misc.class
+
+#======================================================================
+
+XMWrap =
+## 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}.
+element XMWrap { XMWrap_attributes & XMWrap_model }
+
+## Attributes for \elementref{XMWrap}.
+XMWrap_attributes =
+ Common.attributes &
+ XMath.attributes &
+ ID.attributes &
+
+ attribute name { text }? &
+
+ ## A more semantic name corresponding to the intended meaning,
+ ## such as the OpenMath name.
+ attribute meaning { text }? &
+
+ attribute style { text }? &
+
+ ## 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)
+ attribute scriptpos { text }?
+
+
+## Content model for \elementref{XMWrap}.
+XMWrap_model = XMath.class
+
+#======================================================================
+
+XMArg =
+## 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.
+element XMArg { XMArg_attributes & XMArg_model }
+
+## Attributes for \elementref{XMArg}.
+XMArg_attributes =
+ Common.attributes &
+ XMath.attributes &
+ ID.attributes &
+ attribute rule { text }? &
+
+ ## 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)
+ attribute scriptpos { text }?
+
+## Content model for \elementref{XMArg}.
+XMArg_model = XMath.class
+
+#======================================================================
+
+XMRef =
+## Structure sharing element typically used in the presentation
+## branch of an \elementref{XMDual} to refer to the arguments present in the content branch.
+element XMRef { XMRef_attributes & XMRef_model }
+
+## Attributes for \elementref{XMRef}.
+XMRef_attributes =
+ Common.attributes &
+ XMath.attributes &
+ ID.attributes &
+ IDREF.attributes
+
+## Content model for \elementref{XMRef}.
+XMRef_model = empty
+
+#======================================================================
+
+XMArray =
+## Math Array/Alignment structure.
+# The attributes are a subset of those for \elementref{XMTok} or of \elementref{tabular}.
+element XMArray { XMArray_attributes & XMArray_model }
+
+## Attributes for \elementref{XMArray}.
+XMArray_attributes =
+ Common.attributes &
+ XMath.attributes &
+ ID.attributes &
+ attribute name { text }? &
+ attribute meaning { text }? &
+ attribute style { text }? &
+ attribute vattach { "top" | "bottom" }? &
+ attribute width { text }?
+
+## Content model for \elementref{XMArray}.
+XMArray_model = XMRow*
+
+#======================================================================
+XMRow =
+## A row in a math alignment.
+element XMRow { XMRow_attributes & XMRow_model }
+
+## Attributes for \elementref{XMRow}.
+XMRow_attributes = Common.attributes
+
+## Content model for \elementref{XMRow}.
+XMRow_model = XMCell*
+
+#======================================================================
+
+XMCell =
+## A cell in a row of a math alignment.
+element XMCell { XMCell_attributes & XMCell_model }
+
+## Attributes for \elementref{XMCell}.
+XMCell_attributes =
+ Common.attributes &
+
+ ## indicates how many columns this cell spans or covers.
+ attribute colspan { xsd:nonNegativeInteger }? &
+
+ ## indicates how many rows this cell spans or covers.
+ attribute rowpan { xsd:nonNegativeInteger }? &
+
+# This would have been clearer, but messes up conversion to dtd
+# attribute align { "left" | "right" | "center" | "justify" | text }? &
+ ## specifies the alignment of the content.
+ attribute align { text }? &
+
+ ## specifies the desired width for the column.
+ attribute width { text }? &
+
+ ## 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.
+ attribute border { text }? &
+
+ ## whether this cell corresponds to a table head or foot.
+ attribute thead {xsd:boolean}?
+
+## Content model for \elementref{XMCell}.
+XMCell_model = XMath.class
+#======================================================================
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-math.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-math.rng
new file mode 100644
index 00000000000..c9e3babe837
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-math.rng
@@ -0,0 +1,557 @@
+<?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="choice">
+ <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>
+ <ref name="Math"/>
+ </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>
+ <choice>
+ <ref name="XMApp"/>
+ <ref name="XMTok"/>
+ <ref name="XMRef"/>
+ <ref name="XMHint"/>
+ <ref name="XMArg"/>
+ <ref name="XMWrap"/>
+ <ref name="XMDual"/>
+ <ref name="XMText"/>
+ <ref name="XMArray"/>
+ </choice>
+ </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>
+ <ref name="Math_attributes"/>
+ <ref name="Math_model"/>
+ </element>
+ </define>
+ <define name="Math_attributes">
+ <a:documentation>Attributes for \elementref{Math}.</a:documentation>
+ <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>
+ </define>
+ <define name="Math_model">
+ <a:documentation>Content model for \elementref{Math}.</a:documentation>
+ <zeroOrMore>
+ <ref name="Math.class"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMath.attributes">
+ <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>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMath">
+ <element name="XMath">
+ <a:documentation>Internal representation of mathematics.</a:documentation>
+ <ref name="XMath_attributes"/>
+ <ref name="XMath_model"/>
+ </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>
+ <zeroOrMore>
+ <ref name="XMath.class"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="XMTok">
+ <element name="XMTok">
+ <a:documentation>General mathematical token.</a:documentation>
+ <ref name="XMTok_attributes"/>
+ <ref name="XMTok_model"/>
+ </element>
+ </define>
+ <define name="XMTok_attributes">
+ <a:documentation>Attributes for \elementref{XMTok}.</a:documentation>
+ <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>
+ </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>
+ <ref name="XMApp_attributes"/>
+ <ref name="XMApp_model"/>
+ </element>
+ </define>
+ <define name="XMApp_attributes">
+ <a:documentation>Attributes for \elementref{XMApp}.</a:documentation>
+ <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>
+ </define>
+ <define name="XMApp_model">
+ <a:documentation>Content model for \elementref{XMApp}.</a:documentation>
+ <zeroOrMore>
+ <ref name="XMath.class"/>
+ </zeroOrMore>
+ </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>
+ <ref name="XMDual_attributes"/>
+ <ref name="XMDual_model"/>
+ </element>
+ </define>
+ <define name="XMDual_attributes">
+ <a:documentation>Attributes for \elementref{XMDual}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="XMath.attributes"/>
+ <ref name="ID.attributes"/>
+ </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>
+ <ref name="XMHint_attributes"/>
+ <ref name="XMHint_model"/>
+ </element>
+ </define>
+ <define name="XMHint_attributes">
+ <a:documentation>Attributes for \elementref{XMHint}.</a:documentation>
+ <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>
+ </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>
+ <ref name="XMText_attributes"/>
+ <ref name="XMText_model"/>
+ </element>
+ </define>
+ <define name="XMText_attributes">
+ <a:documentation>Attributes for \elementref{XMText}.</a:documentation>
+ <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>
+ </define>
+ <define name="XMText_model">
+ <a:documentation>Content model for \elementref{XMText}.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ </choice>
+ </zeroOrMore>
+ </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>
+ <ref name="XMWrap_attributes"/>
+ <ref name="XMWrap_model"/>
+ </element>
+ </define>
+ <define name="XMWrap_attributes">
+ <a:documentation>Attributes for \elementref{XMWrap}.</a:documentation>
+ <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>
+ </define>
+ <define name="XMWrap_model">
+ <a:documentation>Content model for \elementref{XMWrap}.</a:documentation>
+ <zeroOrMore>
+ <ref name="XMath.class"/>
+ </zeroOrMore>
+ </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>
+ <ref name="XMArg_attributes"/>
+ <ref name="XMArg_model"/>
+ </element>
+ </define>
+ <define name="XMArg_attributes">
+ <a:documentation>Attributes for \elementref{XMArg}.</a:documentation>
+ <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>
+ </define>
+ <define name="XMArg_model">
+ <a:documentation>Content model for \elementref{XMArg}.</a:documentation>
+ <zeroOrMore>
+ <ref name="XMath.class"/>
+ </zeroOrMore>
+ </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>
+ <ref name="XMRef_attributes"/>
+ <ref name="XMRef_model"/>
+ </element>
+ </define>
+ <define name="XMRef_attributes">
+ <a:documentation>Attributes for \elementref{XMRef}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="XMath.attributes"/>
+ <ref name="ID.attributes"/>
+ <ref name="IDREF.attributes"/>
+ </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>
+ <ref name="XMArray_attributes"/>
+ <ref name="XMArray_model"/>
+ </element>
+ </define>
+ <define name="XMArray_attributes">
+ <a:documentation>Attributes for \elementref{XMArray}.</a:documentation>
+ <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>
+ </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>
+ <ref name="XMRow_attributes"/>
+ <ref name="XMRow_model"/>
+ </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>
+ <ref name="XMCell_attributes"/>
+ <ref name="XMCell_model"/>
+ </element>
+ </define>
+ <define name="XMCell_attributes">
+ <a:documentation>Attributes for \elementref{XMCell}.</a:documentation>
+ <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>
+ </define>
+ <define name="XMCell_model">
+ <a:documentation>Content model for \elementref{XMCell}.</a:documentation>
+ <zeroOrMore>
+ <ref name="XMath.class"/>
+ </zeroOrMore>
+ </define>
+</grammar>
+<!-- ====================================================================== -->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-para.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-para.rnc
new file mode 100644
index 00000000000..42c3c46f4be
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-para.rnc
@@ -0,0 +1,193 @@
+# /=====================================================================\
+# | 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=/
+
+default namespace = "http://dlmf.nist.gov/LaTeXML"
+
+## This module defines the following `logical' block elements.
+Para.class &= para*
+ & theorem* & proof*
+ & figure* & table* & float* & listing*
+
+## Additionally, it defines these miscellaneous elements that can appear
+## in both inline and block contexts.
+Misc.class &= inline-para*
+
+#======================================================================
+
+para =
+## A Logical paragraph. It has an \attr{id}, but not a \attr{label}.
+element para { para_attributes & para_model }
+
+## Attributes for \elementref{para}.
+para_attributes = Common.attributes & ID.attributes
+
+
+## Content model for \elementref{para}.
+para_model = Block.model
+
+#======================================================================
+
+inline-para =
+## An inline para. Actually, can appear in inline or block mode, but
+## typesets its contents as para.
+element inline-para { inline-para_attributes & inline-para_model }
+
+## Attributes for \elementref{inline-para}.
+inline-para_attributes = Common.attributes & Positionable.attributes
+
+## Content model for \elementref{inline-para}.
+inline-para_model = Para.model
+
+#======================================================================
+
+theorem =
+## A theorem or similar object. The \attr{class} attribute can be used to distinguish
+## different kinds of theorem.
+element theorem { theorem_attributes & theorem_model }
+
+## Attributes for \elementref{theorem}.
+theorem_attributes = Common.attributes & Labelled.attributes
+
+## Content model for \elementref{theorem}.
+theorem_model = title? & Para.model
+
+#======================================================================
+
+proof =
+## A proof or similar object. The \attr{class} attribute can be used to distinguish
+## different kinds of proof.
+element proof { proof_attributes & proof_model }
+
+## Attributes for \elementref{proof}.
+proof_attributes = Common.attributes & Labelled.attributes
+
+## Content model for \elementref{proof}.
+proof_model = title? & Para.model
+
+#======================================================================
+
+## 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?
+Caption.class = caption | toccaption
+
+#======================================================================
+
+figure =
+## A figure, possibly captioned.
+element figure { figure_attributes & figure_model }
+
+## Attributes for \elementref{figure}.
+figure_attributes =
+ Common.attributes &
+ Labelled.attributes &
+ Positionable.attributes &
+
+ ## the vertical floating placement parameter that determines where the object is displayed.
+ attribute placement { text }?
+
+### MiKo: only allowing one caption, is this right? same for table, float, and listing below
+## Content model for \elementref{figure}.
+figure_model = figure* & Block.model & Caption.class
+
+#======================================================================
+
+table =
+## A Table, possibly captioned. This is not necessarily a \elementref{tabular}.
+element table { table_attributes & table_model }
+
+## Attributes for \elementref{table}.
+table_attributes =
+ Common.attributes &
+ Labelled.attributes &
+ Positionable.attributes &
+
+ ## the vertical floating placement parameter that determines where the object is displayed.
+ attribute placement { text }?
+
+## Content model for \elementref{table}.
+table_model = table* & Block.model & Caption.class
+
+#======================================================================
+
+float =
+## A generic float, possibly captioned, something other than a table, figure or listing
+element float { float_attributes & float_model }
+
+## Attributes for \elementref{float}.
+float_attributes =
+ Common.attributes &
+ Labelled.attributes &
+ Positionable.attributes &
+
+ ## the vertical floating placement parameter that determines where the object is displayed.
+ attribute placement { text }?
+
+## Content model for \elementref{float}.
+float_model = float* & Block.model & Caption.class
+
+#======================================================================
+
+listing =
+## A Listing, possibly captioned.
+element listing { listing_attributes & listing_model }
+
+## Attributes for \elementref{listing}.
+listing_attributes =
+ Common.attributes &
+ Labelled.attributes &
+ Positionable.attributes &
+
+ ## the floating placement parameter that determines where the object is displayed.
+ attribute placement { text }?
+
+## Content model for \elementref{listing}.
+listing_model = Block.model & Caption.class
+
+#======================================================================
+
+caption =
+## A caption for a \elementref{table} or \elementref{figure}.
+element caption { caption_attributes & caption_model }
+
+## Attributes for \elementref{caption}.
+caption_attributes =
+ Common.attributes &
+ attribute font { text }? &
+
+ ## Indicates the text size to use. (See \elementref{text})
+ attribute size { "Huge" | "huge" | "LARGE" | "Large" | "large" | "normal"
+ | "small" | "footnote" | "tiny" | text }? &
+
+ ## the color to use; any CSS compatible color specification.
+ attribute color { text }?
+
+
+## Content model for \elementref{caption},
+## basically Inline.model with tag included (normally, but not necessarily, tag would come first).
+caption_model = tag* & text & Inline.class & Misc.class & Meta.class
+
+#======================================================================
+
+toccaption =
+## A short form of \elementref{table} or \elementref{figure} caption,
+## used for lists of figures or similar.
+element toccaption { toccaption_attributes & toccaption_model }
+
+## Attributes for \elementref{toccaption}.
+toccaption_attributes = Common.attributes
+
+### MiKo: here we allowed multiple tags, but now we can restrict, do we want that?
+## Content model for \elementref{toccaption}.
+toccaption_model = text & Inline.class & Misc.class & Meta.class & tag*
+#======================================================================
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-para.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-para.rng
new file mode 100644
index 00000000000..a5cd7320bac
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-para.rng
@@ -0,0 +1,312 @@
+<?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="choice">
+ <a:documentation>This module defines the following `logical' block elements.</a:documentation>
+ <choice>
+ <ref name="para"/>
+ <ref name="theorem"/>
+ <ref name="proof"/>
+ <ref name="figure"/>
+ <ref name="table"/>
+ <ref name="float"/>
+ <ref name="listing"/>
+ </choice>
+ </define>
+ <define name="Misc.class" combine="choice">
+ <a:documentation>Additionally, it defines these miscellaneous elements that can appear
+in both inline and block contexts.</a:documentation>
+ <ref name="inline-para"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="para">
+ <element name="para">
+ <a:documentation>A Logical paragraph. It has an \attr{id}, but not a \attr{label}.</a:documentation>
+ <ref name="para_attributes"/>
+ <ref name="para_model"/>
+ </element>
+ </define>
+ <define name="para_attributes">
+ <a:documentation>Attributes for \elementref{para}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </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>
+ <ref name="inline-para_attributes"/>
+ <ref name="inline-para_model"/>
+ </element>
+ </define>
+ <define name="inline-para_attributes">
+ <a:documentation>Attributes for \elementref{inline-para}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Positionable.attributes"/>
+ </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>
+ <ref name="theorem_attributes"/>
+ <ref name="theorem_model"/>
+ </element>
+ </define>
+ <define name="theorem_attributes">
+ <a:documentation>Attributes for \elementref{theorem}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ </define>
+ <define name="theorem_model">
+ <a:documentation>Content model for \elementref{theorem}.</a:documentation>
+ <optional>
+ <ref name="title"/>
+ </optional>
+ <ref name="Para.model"/>
+ </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>
+ <ref name="proof_attributes"/>
+ <ref name="proof_model"/>
+ </element>
+ </define>
+ <define name="proof_attributes">
+ <a:documentation>Attributes for \elementref{proof}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ </define>
+ <define name="proof_model">
+ <a:documentation>Content model for \elementref{proof}.</a:documentation>
+ <optional>
+ <ref name="title"/>
+ </optional>
+ <ref name="Para.model"/>
+ </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>
+ <ref name="figure_attributes"/>
+ <ref name="figure_model"/>
+ </element>
+ </define>
+ <define name="figure_attributes">
+ <a:documentation>Attributes for \elementref{figure}.</a:documentation>
+ <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>
+ </define>
+ <define name="figure_model">
+ <a:documentation>Content model for \elementref{figure}.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <ref name="figure"/>
+ <ref name="Block.model"/>
+ <ref name="Caption.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="table">
+ <element name="table">
+ <a:documentation>A Table, possibly captioned. This is not necessarily a \elementref{tabular}.</a:documentation>
+ <ref name="table_attributes"/>
+ <ref name="table_model"/>
+ </element>
+ </define>
+ <define name="table_attributes">
+ <a:documentation>Attributes for \elementref{table}.</a:documentation>
+ <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>
+ </define>
+ <define name="table_model">
+ <a:documentation>Content model for \elementref{table}.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <ref name="table"/>
+ <ref name="Block.model"/>
+ <ref name="Caption.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="float">
+ <element name="float">
+ <a:documentation>A generic float, possibly captioned, something other than a table, figure or listing</a:documentation>
+ <ref name="float_attributes"/>
+ <ref name="float_model"/>
+ </element>
+ </define>
+ <define name="float_attributes">
+ <a:documentation>Attributes for \elementref{float}.</a:documentation>
+ <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>
+ </define>
+ <define name="float_model">
+ <a:documentation>Content model for \elementref{float}.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <ref name="float"/>
+ <ref name="Block.model"/>
+ <ref name="Caption.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="listing">
+ <element name="listing">
+ <a:documentation>A Listing, possibly captioned.</a:documentation>
+ <ref name="listing_attributes"/>
+ <ref name="listing_model"/>
+ </element>
+ </define>
+ <define name="listing_attributes">
+ <a:documentation>Attributes for \elementref{listing}.</a:documentation>
+ <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>
+ </define>
+ <define name="listing_model">
+ <a:documentation>Content model for \elementref{listing}.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <ref name="Block.model"/>
+ <ref name="Caption.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="caption">
+ <element name="caption">
+ <a:documentation>A caption for a \elementref{table} or \elementref{figure}.</a:documentation>
+ <ref name="caption_attributes"/>
+ <ref name="caption_model"/>
+ </element>
+ </define>
+ <define name="caption_attributes">
+ <a:documentation>Attributes for \elementref{caption}.</a:documentation>
+ <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>
+ </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>
+ <zeroOrMore>
+ <choice>
+ <ref name="tag"/>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </choice>
+ </zeroOrMore>
+ </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>
+ <ref name="toccaption_attributes"/>
+ <ref name="toccaption_model"/>
+ </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>Content model for \elementref{toccaption}.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ <ref name="tag"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+</grammar>
+<!-- ====================================================================== -->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-picture.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-picture.rnc
new file mode 100644
index 00000000000..dcf8bf8cf15
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-picture.rnc
@@ -0,0 +1,285 @@
+# /=====================================================================\
+# | 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?
+# ======================================================================
+
+default namespace = "http://dlmf.nist.gov/LaTeXML"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+## This module defines a picture environment, roughly a subset of SVG.
+## NOTE: Consider whether it is sensible to drop this and incorporate SVG itself.
+Misc.class &= picture*
+
+#======================================================================
+
+Picture.class =
+ g* & rect* & line* & circle* & path*
+ & arc* & wedge* & ellipse* & polygon* & bezier*
+ & parabola* & curve* & dots* & grid* & clip*
+
+## These attributes correspond roughly to SVG, but need documentation.
+Picture.attributes =
+ attribute x { text }? &
+ attribute y { text }? &
+ attribute r { text }? &
+ attribute rx { text }? &
+ attribute ry { text }? &
+ attribute width { text }? &
+ attribute height { text }? &
+ attribute fill { text }? &
+ attribute stroke { text }? &
+ attribute stroke-width { text }? &
+ attribute stroke-dasharray { text }? &
+ attribute transform { text }? &
+ attribute terminators { text }? &
+ attribute arrowlength { text }? &
+ attribute points { text }? &
+ attribute showpoints { text }? &
+ attribute displayedpoints { text }? &
+ attribute arc { text }? &
+ attribute angle1 { text }? &
+ attribute angle2 { text }? &
+ attribute arcsepA { text }? &
+ attribute arcsepB { text }? &
+ attribute curvature { text }?
+
+## These attributes correspond roughly to SVG, but need documentation.
+PictureGroup.attributes =
+ attribute pos { text }? &
+ attribute framed {xsd:boolean}? &
+ [ a:defaultValue = "rect" ]
+ attribute frametype { "rect" | "circle" | "oval" }? &
+ attribute fillframe {xsd:boolean }? &
+ attribute boxsep { text }? &
+ attribute shadowbox {xsd:boolean}? &
+ attribute doubleline {xsd:boolean}?
+
+#======================================================================
+
+picture =
+## A picture environment.
+element picture { picture_attributes & picture_model }
+
+## Attributes for \elementref{picture}.
+picture_attributes =
+ Common.attributes &
+ ID.attributes &
+ Picture.attributes &
+ Imageable.attributes &
+ attribute clip {xsd:boolean}? &
+ attribute baseline { text }? &
+ attribute unitlength { text }? &
+ attribute xunitlength { text }? &
+ attribute yunitlength { text }? &
+ attribute tex { text }? &
+ attribute content-tex { text }?
+
+## Content model for \elementref{picture}.
+picture_model = Picture.class & Inline.class & Misc.class & Meta.class
+
+#======================================================================
+
+g =
+## A graphical grouping; the content is inherits by the transformations,
+## positioning and other properties.
+element g { g_attributes & g_model }
+
+## Attributes for \elementref{g}.
+g_attributes = Common.attributes & Picture.attributes & PictureGroup.attributes
+
+## Content model for \elementref{g}.
+g_model = Picture.class & Inline.class & Misc.class & Meta.class
+
+#======================================================================
+
+rect =
+## A rectangle within a \elementref{picture}.
+element rect { rect_attributes & rect_model }
+
+## Attributes for \elementref{rect}.
+rect_attributes = Common.attributes & Picture.attributes
+
+## Content model for \elementref{rect}.
+rect_model = empty
+
+#======================================================================
+
+line =
+## A line within a \elementref{picture}.
+element line { line_attributes & line_model }
+
+## Attributes for \elementref{line}.
+line_attributes = Common.attributes & Picture.attributes
+
+## Content model for \elementref{line}.
+line_model = empty
+
+#======================================================================
+
+polygon =
+## A polygon within a \elementref{picture}.
+element polygon { polygon_attributes & polygon_model }
+
+## Attributes for \elementref{polygon}.
+polygon_attributes = Common.attributes & Picture.attributes
+
+## Content model for \elementref{polygon}.
+polygon_model = empty
+
+#======================================================================
+
+wedge =
+## A wedge within a \elementref{picture}.
+element wedge { wedge_attributes & wedge_model }
+
+## Attributes for \elementref{wedge}.
+wedge_attributes = Common.attributes & Picture.attributes
+
+## Content model for \elementref{wedge}.
+wedge_model = empty
+
+#======================================================================
+
+arc =
+## An arc within a \elementref{picture}.
+element arc { arc_attributes & arc_model }
+
+## Attributes for \elementref{arc}.
+arc_attributes = Common.attributes & Picture.attributes
+
+## Content model for \elementref{arc}.
+arc_model = empty
+
+#======================================================================
+
+circle =
+## A circle within a \elementref{picture}.
+element circle { circle_attributes & circle_model }
+
+## Attributes for \elementref{circle}.
+circle_attributes = Common.attributes & Picture.attributes
+
+## Content model for \elementref{circle}.
+circle_model = empty
+
+#======================================================================
+
+ellipse =
+## An ellipse within a \elementref{picture}.
+element ellipse { ellipse_attributes & ellipse_model }
+
+## Attributes for \elementref{ellipse}.
+ellipse_attributes = Common.attributes & Picture.attributes
+
+## Content model for \elementref{ellipse}.
+ellipse_model = empty
+
+#======================================================================
+
+path =
+## A path within a \elementref{picture}.
+element path { path_attributes & path_model }
+
+## Attributes for \elementref{path}.
+path_attributes = Common.attributes & Picture.attributes
+
+## Content model for \elementref{path}.
+path_model = empty
+
+#======================================================================
+
+bezier =
+## A bezier curve within a \elementref{picture}.
+element bezier { bezier_attributes & bezier_model }
+
+## Attributes for \elementref{bezier}.
+bezier_attributes = Common.attributes & Picture.attributes
+
+## Content model for \elementref{bezier}.
+bezier_model = empty
+
+#======================================================================
+
+curve =
+## A curve within a \elementref{picture}.
+element curve { curve_attributes & curve_model }
+
+## Attributes for \elementref{curve}.
+curve_attributes = Common.attributes & Picture.attributes
+
+## Content model for \elementref{curve}.
+curve_model = empty
+
+#======================================================================
+
+parabola =
+## A parabola curve within a \elementref{picture}.
+element parabola { parabola_attributes & parabola_model }
+
+## Attributes for \elementref{parabola}.
+parabola_attributes = Common.attributes & Picture.attributes
+
+## Content model for \elementref{parabola}.
+parabola_model = empty
+
+#======================================================================
+
+dots =
+## A sequence of dots (?) within a \elementref{picture}.
+element dots { dots_attributes & dots_model }
+
+## Attributes for \elementref{dots}.
+dots_attributes = Common.attributes & Picture.attributes
+
+## Content model for \elementref{dots}.
+dots_model = empty
+
+#======================================================================
+
+grid =
+## A grid within a \elementref{picture}.
+element grid { grid_attributes & grid_model }
+
+## Attributes for \elementref{grid}.
+grid_attributes = Common.attributes & Picture.attributes
+
+## Content model for \elementref{grid}.
+grid_model = empty
+
+#======================================================================
+
+clip =
+## Establishes a clipping region within a \elementref{picture}.
+element clip { clip_attributes & clip_model }
+
+## Attributes for \elementref{clip}.
+clip_attributes = Common.attributes & Picture.attributes
+
+
+## Content model for \elementref{clip}.
+clip_model = clippath*
+
+#======================================================================
+
+clippath =
+## Establishes a clipping region within a \elementref{picture}.
+element clippath { clippath_attributes & clippath_model }
+
+## Attributes for \elementref{clippath}.
+clippath_attributes = Common.attributes & Picture.attributes
+
+## Content model for \elementref{clippath}.
+clippath_model = Picture.class & Inline.class & Misc.class & Meta.class
+
+#======================================================================
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-picture.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-picture.rng
new file mode 100644
index 00000000000..890d006110a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-picture.rng
@@ -0,0 +1,496 @@
+<?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="choice">
+ <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>
+ <ref name="picture"/>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="Picture.class">
+ <choice>
+ <ref name="g"/>
+ <ref name="rect"/>
+ <ref name="line"/>
+ <ref name="circle"/>
+ <ref name="path"/>
+ <ref name="arc"/>
+ <ref name="wedge"/>
+ <ref name="ellipse"/>
+ <ref name="polygon"/>
+ <ref name="bezier"/>
+ <ref name="parabola"/>
+ <ref name="curve"/>
+ <ref name="dots"/>
+ <ref name="grid"/>
+ <ref name="clip"/>
+ </choice>
+ </define>
+ <define name="Picture.attributes">
+ <a:documentation>These attributes correspond roughly to SVG, but need documentation.</a:documentation>
+ <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>
+ </define>
+ <define name="PictureGroup.attributes">
+ <a:documentation>These attributes correspond roughly to SVG, but need documentation.</a:documentation>
+ <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>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="picture">
+ <element name="picture">
+ <a:documentation>A picture environment.</a:documentation>
+ <ref name="picture_attributes"/>
+ <ref name="picture_model"/>
+ </element>
+ </define>
+ <define name="picture_attributes">
+ <a:documentation>Attributes for \elementref{picture}.</a:documentation>
+ <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>
+ </define>
+ <define name="picture_model">
+ <a:documentation>Content model for \elementref{picture}.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <ref name="Picture.class"/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </choice>
+ </zeroOrMore>
+ </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>
+ <ref name="g_attributes"/>
+ <ref name="g_model"/>
+ </element>
+ </define>
+ <define name="g_attributes">
+ <a:documentation>Attributes for \elementref{g}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ <ref name="PictureGroup.attributes"/>
+ </define>
+ <define name="g_model">
+ <a:documentation>Content model for \elementref{g}.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <ref name="Picture.class"/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="rect">
+ <element name="rect">
+ <a:documentation>A rectangle within a \elementref{picture}.</a:documentation>
+ <ref name="rect_attributes"/>
+ <ref name="rect_model"/>
+ </element>
+ </define>
+ <define name="rect_attributes">
+ <a:documentation>Attributes for \elementref{rect}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </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>
+ <ref name="line_attributes"/>
+ <ref name="line_model"/>
+ </element>
+ </define>
+ <define name="line_attributes">
+ <a:documentation>Attributes for \elementref{line}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </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>
+ <ref name="polygon_attributes"/>
+ <ref name="polygon_model"/>
+ </element>
+ </define>
+ <define name="polygon_attributes">
+ <a:documentation>Attributes for \elementref{polygon}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </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>
+ <ref name="wedge_attributes"/>
+ <ref name="wedge_model"/>
+ </element>
+ </define>
+ <define name="wedge_attributes">
+ <a:documentation>Attributes for \elementref{wedge}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </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>
+ <ref name="arc_attributes"/>
+ <ref name="arc_model"/>
+ </element>
+ </define>
+ <define name="arc_attributes">
+ <a:documentation>Attributes for \elementref{arc}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </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>
+ <ref name="circle_attributes"/>
+ <ref name="circle_model"/>
+ </element>
+ </define>
+ <define name="circle_attributes">
+ <a:documentation>Attributes for \elementref{circle}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </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>
+ <ref name="ellipse_attributes"/>
+ <ref name="ellipse_model"/>
+ </element>
+ </define>
+ <define name="ellipse_attributes">
+ <a:documentation>Attributes for \elementref{ellipse}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </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>
+ <ref name="path_attributes"/>
+ <ref name="path_model"/>
+ </element>
+ </define>
+ <define name="path_attributes">
+ <a:documentation>Attributes for \elementref{path}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </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>
+ <ref name="bezier_attributes"/>
+ <ref name="bezier_model"/>
+ </element>
+ </define>
+ <define name="bezier_attributes">
+ <a:documentation>Attributes for \elementref{bezier}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </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>
+ <ref name="curve_attributes"/>
+ <ref name="curve_model"/>
+ </element>
+ </define>
+ <define name="curve_attributes">
+ <a:documentation>Attributes for \elementref{curve}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </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>
+ <ref name="parabola_attributes"/>
+ <ref name="parabola_model"/>
+ </element>
+ </define>
+ <define name="parabola_attributes">
+ <a:documentation>Attributes for \elementref{parabola}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </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>
+ <ref name="dots_attributes"/>
+ <ref name="dots_model"/>
+ </element>
+ </define>
+ <define name="dots_attributes">
+ <a:documentation>Attributes for \elementref{dots}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </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>
+ <ref name="grid_attributes"/>
+ <ref name="grid_model"/>
+ </element>
+ </define>
+ <define name="grid_attributes">
+ <a:documentation>Attributes for \elementref{grid}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </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>
+ <ref name="clip_attributes"/>
+ <ref name="clip_model"/>
+ </element>
+ </define>
+ <define name="clip_attributes">
+ <a:documentation>Attributes for \elementref{clip}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </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>
+ <ref name="clippath_attributes"/>
+ <ref name="clippath_model"/>
+ </element>
+ </define>
+ <define name="clippath_attributes">
+ <a:documentation>Attributes for \elementref{clippath}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Picture.attributes"/>
+ </define>
+ <define name="clippath_model">
+ <a:documentation>Content model for \elementref{clippath}.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <ref name="Picture.class"/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+</grammar>
+<!-- ====================================================================== -->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-structure.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-structure.rnc
new file mode 100644
index 00000000000..78e42ac8b73
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-structure.rnc
@@ -0,0 +1,513 @@
+# /=====================================================================\
+# | 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=/
+
+default namespace = "http://dlmf.nist.gov/LaTeXML"
+
+#======================================================================
+
+document =
+## The document root.
+element document { document_attributes & document_model }
+
+
+## The content allowable as the main body of the document.
+document.body.class = Para.model & paragraph* & subsubsection* & subsection* & section* & chapter* & part*
+
+## Attributes for \elementref{document}.
+document_attributes = Sectional.attributes
+
+
+## Content model for \elementref{document}.
+document_model =
+# (FrontMatter.class & SectionalFrontMatter.class & Meta.class & titlepage*),
+# document.body.class,
+ BackMatter.class
+
+#======================================================================
+
+part =
+## A part within a document.
+element part { part_attributes & part_model }
+
+## The content allowable as the main body of a part.
+part.body.class = Para.model & chapter*
+
+## Attributes for \elementref{part}.
+part_attributes = Sectional.attributes
+
+## Content model for \elementref{part}.
+part_model = SectionalFrontMatter.class, part.body.class
+
+#----------------------------------------------------------------------
+
+chapter =
+## A Chapter within a document.
+element chapter { chapter_attributes & chapter_model }
+
+## The content allowable as the main body of a chapter.
+chapter.body.class = Para.model & subparagraph* & paragraph* & subsubsection* & subsection* & section*
+
+## Attributes for \elementref{chapter}.
+chapter_attributes = Sectional.attributes
+
+## Content model for \elementref{chapter}.
+chapter_model = SectionalFrontMatter.class, chapter.body.class
+
+#----------------------------------------------------------------------
+
+section =
+## A Section within a document.
+element section { section_attributes & section_model }
+
+## The content allowable as the main body of a section.
+section.body.class = Para.model & subparagraph* & paragraph* & subsubsection* & subsection*
+
+## Attributes for \elementref{section}.
+section_attributes = Sectional.attributes
+
+## Content model for \elementref{section}.
+section_model = SectionalFrontMatter.class, section.body.class
+
+#----------------------------------------------------------------------
+
+subsection =
+## A Subsection within a document.
+element subsection { subsection_attributes & subsection_model }
+
+## The content allowable as the main body of a chapter.
+subsection.body.class = Para.model & subparagraph* & paragraph* & subsubsection*
+
+## Attributes for \elementref{subsection}.
+subsection_attributes = Sectional.attributes
+
+## Content model for \elementref{subsection}.
+subsection_model = SectionalFrontMatter.class, subsection.body.class
+
+#----------------------------------------------------------------------
+
+subsubsection =
+## A Subsubsection within a document.
+element subsubsection { subsubsection_attributes & subsubsection_model }
+
+## The content allowable as the main body of a chapter.
+subsubsection.body.class = Para.model & subparagraph* & paragraph*
+
+## Attributes for \elementref{subsubsection}.
+subsubsection_attributes = Sectional.attributes
+
+## Content model for \elementref{subsubsection}.
+subsubsection_model = SectionalFrontMatter.class, subsubsection.body.class
+
+#----------------------------------------------------------------------
+
+paragraph =
+## A Paragraph within a document. This corresponds to a `formal' marked, possibly labelled
+## LaTeX Paragraph, in distinction from an unlabelled logical paragraph.
+element paragraph { paragraph_attributes & paragraph_model }
+
+## The content allowable as the main body of a chapter.
+paragraph.body.class = Para.model & subparagraph*
+
+## Attributes for \elementref{paragraph}.
+paragraph_attributes = Sectional.attributes
+
+## Content model for \elementref{paragraph}.
+paragraph_model = SectionalFrontMatter.class, paragraph.body.class
+
+
+#----------------------------------------------------------------------
+
+subparagraph =
+## A Subparagraph within a document.
+element subparagraph { subparagraph_attributes & subparagraph_model }
+
+## The content allowable as the main body of a chapter.
+subparagraph.body.class = Para.model
+
+## Attributes for \elementref{subparagraph}.
+subparagraph_attributes = Sectional.attributes
+
+## Content model for \elementref{subparagraph}.
+subparagraph_model = SectionalFrontMatter.class, subparagraph.body.class
+
+#======================================================================
+
+appendix =
+## An Appendix within a document.
+element appendix { appendix_attributes & appendix_model }
+
+## The content allowable as the main body of a chapter.
+appendix.body.class = Para.model & subparagraph* & paragraph* & subsubsection* & subsection* & section*
+
+## Attributes for \elementref{appendix}.
+appendix_attributes = Sectional.attributes
+
+## Content model for \elementref{appendix}.
+appendix_model = SectionalFrontMatter.class, appendix.body.class
+
+#======================================================================
+
+bibliography =
+## A Bibliography within a document.
+element bibliography { bibliography_attributes & bibliography_model }
+
+## The content allowable as the main body of a chapter.
+bibliography.body.class = Para.model & biblist
+
+## Attributes for \elementref{bibliography}.
+bibliography_attributes =
+ Sectional.attributes &
+
+ ## the list of bib files used to create the bibliograph.
+ attribute files { text }?
+
+## Content model for \elementref{bibliography}.
+bibliography_model = FrontMatter.class, SectionalFrontMatter.class, bibliography.body.class
+
+#======================================================================
+
+index =
+## An Index within a document.
+element index { index_attributes & index_model }
+
+## The content allowable as the main body of a chapter.
+index.body.class = Para.model & indexlist*
+
+## Attributes for \elementref{index}.
+index_attributes = Sectional.attributes
+
+## Content model for \elementref{index}.
+index_model = SectionalFrontMatter.class, index.body.class
+
+#----------------------------------------------------------------------
+
+indexlist =
+## A heirarchical index generated. Typically generated during postprocessing
+## from the collection of \elementref{indexmark} in the document
+## (or document collection).
+element indexlist { indexlist_attributes & indexlist_model }
+
+## Attributes for \elementref{indexlist}.
+indexlist_attributes = Common.attributes & ID.attributes
+
+## Content model for \elementref{indexlist}.
+indexlist_model = indexentry*
+
+#----------------------------------------------------------------------
+
+indexentry =
+## 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.
+element indexentry { indexentry_attributes & indexentry_model }
+
+## Attributes for \elementref{indexentry}.
+indexentry_attributes = Common.attributes & ID.attributes
+
+## Content model for \elementref{indexentry}.
+indexentry_model = indexphrase, indexrefs? , indexlist?
+
+#----------------------------------------------------------------------
+
+indexrefs =
+## 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.
+element indexrefs { indexrefs_attributes & indexrefs_model }
+
+## Attributes for \elementref{indexrefs}.
+indexrefs_attributes = Common.attributes
+
+## Content model for \elementref{indexrefs}.
+indexrefs_model = Inline.model
+
+#======================================================================
+
+title =
+## The title of a document, section or similar document structure container.
+element title { title_attributes & title_model }
+
+## Attributes for \elementref{title}.
+title_attributes =
+ Common.attributes &
+
+ ## The font prefered for the title.
+ attribute font { text }? &
+
+ ## Indicates the text size to use. (See \elementref{text})
+ attribute size { "Huge" | "huge" | "LARGE" | "Large" | "large" | "normal"
+ | "small" | "footnote" | "tiny" | text }? &
+
+ ## the color to use; any CSS compatible color specification.
+ attribute color { text }?
+
+## Content model for \elementref{title},
+## basically Inline.model with tag included (normally, but not necessarily, tag would come first).
+title_model = tag* & text & Inline.class & Misc.class & Meta.class
+
+#----------------------------------------------------------------------
+
+toctitle =
+## The short form of a title, for use in tables of contents or similar.
+element toctitle { toctitle_attributes & toctitle_model }
+
+## Attributes for \elementref{toctitle}.
+toctitle_attributes = Common.attributes
+
+## Content model for \elementref{toctitle}.
+toctitle_model = text & Inline.class & Misc.class & Meta.class & tag*
+
+#----------------------------------------------------------------------
+
+subtitle =
+## A subtitle, or secondary title.
+element subtitle { subtitle_attributes & subtitle_model }
+
+## Attributes for \elementref{subtitle}.
+subtitle_attributes = Common.attributes
+
+## Content model for \elementref{subtitle}.
+subtitle_model = Inline.model
+
+#======================================================================
+
+creator =
+## Generalized document creator.
+element creator { creator_attributes & creator_model }
+
+## The content allowed in authors, editors, etc.
+Person.class = personname* & contact*
+
+## Attributes for \elementref{creator}.
+creator_attributes =
+ Common.attributes & FrontMatter.attributes &
+
+ ## indicates the role of the person in creating the docment.
+ ## Commonly useful values are specified, but is open-ended to support extension.
+ attribute role { "author" | "editor" | "translator" | "contributor" | "translator" | text }?
+
+## Content model for \elementref{creator}.
+creator_model = Person.class & Misc.class
+
+#----------------------------------------------------------------------
+# NOTE: This should be aligned with Bibname.
+
+personname =
+## A person's name.
+element personname { personname_attributes & personname_model }
+
+## Attributes for \elementref{personname}.
+personname_attributes = Common.attributes
+
+## Content model for \elementref{personname}.
+personname_model = Inline.model
+
+#----------------------------------------------------------------------
+
+contact =
+## 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.
+element contact { contact_attributes & contact_model }
+
+## Attributes for \elementref{contact}.
+contact_attributes =
+ Common.attributes & FrontMatter.attributes &
+
+ ## indicates the type of contact information contained.
+ ## Commonly useful values are specified, but is open-ended to support extension.
+ attribute role { "affiliation" | "address" | "current_address" | "email" | "url"
+ | "thanks" | "dedicatory" | text }?
+
+## Content model for \elementref{contact}.
+contact_model = Inline.model
+
+#======================================================================
+
+date =
+## Generalized document date.
+## Note that this element can be repeated to give the dates
+## of different events (using \attr{role}) for the same document.
+element date { date_attributes & date_model }
+
+## Attributes for \elementref{date}.
+date_attributes =
+ Common.attributes & FrontMatter.attributes &
+
+ ## indicates the relevance of the date to the document.
+ ## Commonly useful values are specified, but is open-ended to support extension.
+ attribute role { "creation" | "conversion" | "posted" | "received"
+ | "revised" | "accepted" | text }?
+
+## Content model for \elementref{date}.
+date_model = Inline.model
+
+#======================================================================
+
+abstract =
+## A document abstract.
+element abstract { abstract_attributes & abstract_model }
+
+## Attributes for \elementref{abstract}.
+abstract_attributes = Common.attributes & FrontMatter.attributes
+
+## Content model for \elementref{abstract}.
+abstract_model = Block.model
+
+#======================================================================
+
+acknowledgements =
+## Acknowledgements for the document.
+element acknowledgements { acknowledgements_attributes & acknowledgements_model }
+
+## Attributes for \elementref{acknowledgements}.
+acknowledgements_attributes = Common.attributes & FrontMatter.attributes
+
+## Content model for \elementref{acknowledgements}.
+acknowledgements_model = Inline.model
+
+#======================================================================
+
+keywords =
+## Keywords for the document. The content is freeform.
+element keywords { keywords_attributes & keywords_model }
+
+## Attributes for \elementref{keywords}.
+keywords_attributes = Common.attributes & FrontMatter.attributes
+
+## Content model for \elementref{keywords}.
+keywords_model = Inline.model
+
+#======================================================================
+
+classification =
+## A classification of the document.
+element classification { classification_attributes & classification_model }
+
+## Attributes for \elementref{classification}.
+classification_attributes = Common.attributes & FrontMatter.attributes &
+
+ ## indicates what classification scheme was used.
+ attribute scheme { text }?
+
+## Content model for \elementref{classification}.
+classification_model = Inline.model
+
+#======================================================================
+# Fallback
+
+titlepage =
+## block of random stuff marked as a titlepage
+element titlepage { titlepage_attributes & titlepage_model }
+
+## Attributes for \elementref{titlepage}.
+titlepage_attributes = Sectional.attributes
+
+## Content model for \elementref{titlepage}.
+titlepage_model = FrontMatter.class & SectionalFrontMatter.class & Block.class
+
+#======================================================================
+# TOC & Navigation; generally added by postprocessing
+
+TOC =
+## (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.
+element TOC { TOC_attributes & TOC_model }
+
+## Attributes for \elementref{TOC}.
+TOC_attributes =
+ Common.attributes &
+ FrontMatter.attributes &
+
+ ## indicates the kind of list
+ attribute role { ("contents" | "figures" | "tables" | text) }? &
+
+ ## 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).
+ attribute select { text }? &
+
+ ## indicates how to format the listing
+ attribute format { ("normal" | "short" | "veryshort" | text) }?
+
+## Content model for \elementref{TOC}.
+TOC_model = toclist?
+
+toclist =
+## The actual table of contents list, filled in.
+element toclist {toclist_attributes & toclist_model }
+
+## Attributes for \elementref{toclist}.
+toclist_attributes = Common.attributes
+
+## Content model for \elementref{toclist}.
+toclist_model = tocentry*
+
+tocentry =
+## An entry in a \elementref{toclist}.
+element tocentry { tocentry_attributes & tocentry_model }
+
+## Attributes for \elementref{tocentry}.
+tocentry_attributes = Common.attributes
+
+## Content model for \elementref{tocentry}.
+tocentry_model = ref* & toclist*
+
+
+navigation =
+## 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?
+element navigation { navigation_attributes & navigation_model }
+
+## Attributes for \elementref{navigation}.
+navigation_attributes = Common.attributes
+
+## Content model for \elementref{navigation}.
+navigation_model = ref* & TOC*
+
+#======================================================================
+
+## Attributes shared by all sectional elements
+Sectional.attributes =
+ Common.attributes &
+ Labelled.attributes
+
+## Attributes for other elements that can be used in frontmatter.
+FrontMatter.attributes =
+ ## 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.
+ attribute name { text }?
+
+## The content allowed for the front matter of each sectional unit,
+## and the document.
+SectionalFrontMatter.class = title* & toctitle* & creator*
+
+## The content allowed (in addition to \patternref{SectionalFrontMatter.class})
+## for the front matter of a document.
+FrontMatter.class = subtitle* & date* & abstract* & acknowledgements* & keywords* & classification
+
+## 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'.
+BackMatter.class = bibliography* & appendix* & index* & acknowledgements* & Para.class & Meta.class
+
+Para.class &= TOC* & navigation*
+
+#======================================================================
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-structure.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-structure.rng
new file mode 100644
index 00000000000..edbb1a9322b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-structure.rng
@@ -0,0 +1,916 @@
+<?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>
+ <ref name="document_attributes"/>
+ <ref name="document_model"/>
+ </element>
+ </define>
+ <define name="document.body.class">
+ <a:documentation>The content allowable as the main body of the document.</a:documentation>
+ <choice>
+ <ref name="Para.model"/>
+ <ref name="paragraph"/>
+ <ref name="subsubsection"/>
+ <ref name="subsection"/>
+ <ref name="section"/>
+ <ref name="chapter"/>
+ <ref name="part"/>
+ </choice>
+ </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>
+ <zeroOrMore>
+ <choice>
+ <ref name="FrontMatter.class"/>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="Meta.class"/>
+ <ref name="titlepage"/>
+ </choice>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="document.body.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="BackMatter.class"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="part">
+ <element name="part">
+ <a:documentation>A part within a document.</a:documentation>
+ <ref name="part_attributes"/>
+ <ref name="part_model"/>
+ </element>
+ </define>
+ <define name="part.body.class">
+ <a:documentation>The content allowable as the main body of a part.</a:documentation>
+ <choice>
+ <ref name="Para.model"/>
+ <ref name="chapter"/>
+ </choice>
+ </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>
+ <zeroOrMore>
+ <ref name="SectionalFrontMatter.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="part.body.class"/>
+ </zeroOrMore>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="chapter">
+ <element name="chapter">
+ <a:documentation>A Chapter within a document.</a:documentation>
+ <ref name="chapter_attributes"/>
+ <ref name="chapter_model"/>
+ </element>
+ </define>
+ <define name="chapter.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <choice>
+ <ref name="Para.model"/>
+ <ref name="subparagraph"/>
+ <ref name="paragraph"/>
+ <ref name="subsubsection"/>
+ <ref name="subsection"/>
+ <ref name="section"/>
+ </choice>
+ </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>
+ <zeroOrMore>
+ <ref name="SectionalFrontMatter.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="chapter.body.class"/>
+ </zeroOrMore>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="section">
+ <element name="section">
+ <a:documentation>A Section within a document.</a:documentation>
+ <ref name="section_attributes"/>
+ <ref name="section_model"/>
+ </element>
+ </define>
+ <define name="section.body.class">
+ <a:documentation>The content allowable as the main body of a section.</a:documentation>
+ <choice>
+ <ref name="Para.model"/>
+ <ref name="subparagraph"/>
+ <ref name="paragraph"/>
+ <ref name="subsubsection"/>
+ <ref name="subsection"/>
+ </choice>
+ </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>
+ <zeroOrMore>
+ <ref name="SectionalFrontMatter.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="section.body.class"/>
+ </zeroOrMore>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="subsection">
+ <element name="subsection">
+ <a:documentation>A Subsection within a document.</a:documentation>
+ <ref name="subsection_attributes"/>
+ <ref name="subsection_model"/>
+ </element>
+ </define>
+ <define name="subsection.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <choice>
+ <ref name="Para.model"/>
+ <ref name="subparagraph"/>
+ <ref name="paragraph"/>
+ <ref name="subsubsection"/>
+ </choice>
+ </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>
+ <zeroOrMore>
+ <ref name="SectionalFrontMatter.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsection.body.class"/>
+ </zeroOrMore>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="subsubsection">
+ <element name="subsubsection">
+ <a:documentation>A Subsubsection within a document.</a:documentation>
+ <ref name="subsubsection_attributes"/>
+ <ref name="subsubsection_model"/>
+ </element>
+ </define>
+ <define name="subsubsection.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <choice>
+ <ref name="Para.model"/>
+ <ref name="subparagraph"/>
+ <ref name="paragraph"/>
+ </choice>
+ </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>
+ <zeroOrMore>
+ <ref name="SectionalFrontMatter.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subsubsection.body.class"/>
+ </zeroOrMore>
+ </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>
+ <ref name="paragraph_attributes"/>
+ <ref name="paragraph_model"/>
+ </element>
+ </define>
+ <define name="paragraph.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <choice>
+ <ref name="Para.model"/>
+ <ref name="subparagraph"/>
+ </choice>
+ </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>
+ <zeroOrMore>
+ <ref name="SectionalFrontMatter.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="paragraph.body.class"/>
+ </zeroOrMore>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="subparagraph">
+ <element name="subparagraph">
+ <a:documentation>A Subparagraph within a document.</a:documentation>
+ <ref name="subparagraph_attributes"/>
+ <ref name="subparagraph_model"/>
+ </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>
+ <zeroOrMore>
+ <ref name="SectionalFrontMatter.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="subparagraph.body.class"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="appendix">
+ <element name="appendix">
+ <a:documentation>An Appendix within a document.</a:documentation>
+ <ref name="appendix_attributes"/>
+ <ref name="appendix_model"/>
+ </element>
+ </define>
+ <define name="appendix.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <choice>
+ <ref name="Para.model"/>
+ <ref name="subparagraph"/>
+ <ref name="paragraph"/>
+ <ref name="subsubsection"/>
+ <ref name="subsection"/>
+ <ref name="section"/>
+ </choice>
+ </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>
+ <zeroOrMore>
+ <ref name="SectionalFrontMatter.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="appendix.body.class"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="bibliography">
+ <element name="bibliography">
+ <a:documentation>A Bibliography within a document.</a:documentation>
+ <ref name="bibliography_attributes"/>
+ <ref name="bibliography_model"/>
+ </element>
+ </define>
+ <define name="bibliography.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <choice>
+ <ref name="Para.model"/>
+ <ref name="biblist"/>
+ </choice>
+ </define>
+ <define name="bibliography_attributes">
+ <a:documentation>Attributes for \elementref{bibliography}.</a:documentation>
+ <ref name="Sectional.attributes"/>
+ <optional>
+ <attribute name="files">
+ <a:documentation>the list of bib files used to create the bibliograph.</a:documentation>
+ </attribute>
+ </optional>
+ </define>
+ <define name="bibliography_model">
+ <a:documentation>Content model for \elementref{bibliography}.</a:documentation>
+ <zeroOrMore>
+ <ref name="FrontMatter.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="SectionalFrontMatter.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bibliography.body.class"/>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="index">
+ <element name="index">
+ <a:documentation>An Index within a document.</a:documentation>
+ <ref name="index_attributes"/>
+ <ref name="index_model"/>
+ </element>
+ </define>
+ <define name="index.body.class">
+ <a:documentation>The content allowable as the main body of a chapter.</a:documentation>
+ <choice>
+ <ref name="Para.model"/>
+ <ref name="indexlist"/>
+ </choice>
+ </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>
+ <zeroOrMore>
+ <ref name="SectionalFrontMatter.class"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="index.body.class"/>
+ </zeroOrMore>
+ </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>
+ <ref name="indexlist_attributes"/>
+ <ref name="indexlist_model"/>
+ </element>
+ </define>
+ <define name="indexlist_attributes">
+ <a:documentation>Attributes for \elementref{indexlist}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </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>
+ <ref name="indexentry_attributes"/>
+ <ref name="indexentry_model"/>
+ </element>
+ </define>
+ <define name="indexentry_attributes">
+ <a:documentation>Attributes for \elementref{indexentry}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="ID.attributes"/>
+ </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>
+ <ref name="indexrefs_attributes"/>
+ <ref name="indexrefs_model"/>
+ </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>
+ <ref name="title_attributes"/>
+ <ref name="title_model"/>
+ </element>
+ </define>
+ <define name="title_attributes">
+ <a:documentation>Attributes for \elementref{title}.</a:documentation>
+ <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>
+ </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>
+ <zeroOrMore>
+ <choice>
+ <ref name="tag"/>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </choice>
+ </zeroOrMore>
+ </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>
+ <ref name="toctitle_attributes"/>
+ <ref name="toctitle_model"/>
+ </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>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ <ref name="tag"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <define name="subtitle">
+ <element name="subtitle">
+ <a:documentation>A subtitle, or secondary title.</a:documentation>
+ <ref name="subtitle_attributes"/>
+ <ref name="subtitle_model"/>
+ </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>
+ <ref name="creator_attributes"/>
+ <ref name="creator_model"/>
+ </element>
+ </define>
+ <define name="Person.class">
+ <a:documentation>The content allowed in authors, editors, etc.</a:documentation>
+ <choice>
+ <ref name="personname"/>
+ <ref name="contact"/>
+ </choice>
+ </define>
+ <define name="creator_attributes">
+ <a:documentation>Attributes for \elementref{creator}.</a:documentation>
+ <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>
+ </define>
+ <define name="creator_model">
+ <a:documentation>Content model for \elementref{creator}.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <ref name="Person.class"/>
+ <ref name="Misc.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <!--
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ NOTE: This should be aligned with Bibname.
+ -->
+ <define name="personname">
+ <element name="personname">
+ <a:documentation>A person's name.</a:documentation>
+ <ref name="personname_attributes"/>
+ <ref name="personname_model"/>
+ </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>
+ <ref name="contact_attributes"/>
+ <ref name="contact_model"/>
+ </element>
+ </define>
+ <define name="contact_attributes">
+ <a:documentation>Attributes for \elementref{contact}.</a:documentation>
+ <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>
+ </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>
+ <ref name="date_attributes"/>
+ <ref name="date_model"/>
+ </element>
+ </define>
+ <define name="date_attributes">
+ <a:documentation>Attributes for \elementref{date}.</a:documentation>
+ <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>
+ </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>
+ <ref name="abstract_attributes"/>
+ <ref name="abstract_model"/>
+ </element>
+ </define>
+ <define name="abstract_attributes">
+ <a:documentation>Attributes for \elementref{abstract}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ </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>
+ <ref name="acknowledgements_attributes"/>
+ <ref name="acknowledgements_model"/>
+ </element>
+ </define>
+ <define name="acknowledgements_attributes">
+ <a:documentation>Attributes for \elementref{acknowledgements}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ </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>
+ <ref name="keywords_attributes"/>
+ <ref name="keywords_model"/>
+ </element>
+ </define>
+ <define name="keywords_attributes">
+ <a:documentation>Attributes for \elementref{keywords}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ </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>
+ <ref name="classification_attributes"/>
+ <ref name="classification_model"/>
+ </element>
+ </define>
+ <define name="classification_attributes">
+ <a:documentation>Attributes for \elementref{classification}.</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="FrontMatter.attributes"/>
+ <optional>
+ <attribute name="scheme">
+ <a:documentation>indicates what classification scheme was used.</a:documentation>
+ </attribute>
+ </optional>
+ </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>
+ <ref name="titlepage_attributes"/>
+ <ref name="titlepage_model"/>
+ </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>
+ <zeroOrMore>
+ <choice>
+ <ref name="FrontMatter.class"/>
+ <ref name="SectionalFrontMatter.class"/>
+ <ref name="Block.class"/>
+ </choice>
+ </zeroOrMore>
+ </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>
+ <ref name="TOC_attributes"/>
+ <ref name="TOC_model"/>
+ </element>
+ </define>
+ <define name="TOC_attributes">
+ <a:documentation>Attributes for \elementref{TOC}.</a:documentation>
+ <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>
+ </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>
+ <ref name="toclist_attributes"/>
+ <ref name="toclist_model"/>
+ </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>
+ <ref name="tocentry_attributes"/>
+ <ref name="tocentry_model"/>
+ </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>
+ <zeroOrMore>
+ <choice>
+ <ref name="ref"/>
+ <ref name="toclist"/>
+ </choice>
+ </zeroOrMore>
+ </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>
+ <ref name="navigation_attributes"/>
+ <ref name="navigation_model"/>
+ </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>
+ <zeroOrMore>
+ <choice>
+ <ref name="ref"/>
+ <ref name="TOC"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <!-- ====================================================================== -->
+ <define name="Sectional.attributes">
+ <a:documentation>Attributes shared by all sectional elements</a:documentation>
+ <ref name="Common.attributes"/>
+ <ref name="Labelled.attributes"/>
+ </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>
+ <choice>
+ <ref name="title"/>
+ <ref name="toctitle"/>
+ <ref name="creator"/>
+ </choice>
+ </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>
+ <choice>
+ <ref name="subtitle"/>
+ <ref name="date"/>
+ <ref name="abstract"/>
+ <ref name="acknowledgements"/>
+ <ref name="keywords"/>
+ <ref name="classification"/>
+ </choice>
+ </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>
+ <choice>
+ <ref name="bibliography"/>
+ <ref name="appendix"/>
+ <ref name="index"/>
+ <ref name="acknowledgements"/>
+ <ref name="Para.class"/>
+ <ref name="Meta.class"/>
+ </choice>
+ </define>
+ <define name="Para.class" combine="choice">
+ <choice>
+ <ref name="TOC"/>
+ <ref name="navigation"/>
+ </choice>
+ </define>
+</grammar>
+<!-- ====================================================================== -->
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-tabular.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-tabular.rnc
new file mode 100644
index 00000000000..4ff4bc3feab
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-tabular.rnc
@@ -0,0 +1,124 @@
+# /=====================================================================\
+# | 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=/
+
+default namespace = "http://dlmf.nist.gov/LaTeXML"
+
+## This module defines the basic tabular, or alignment, structure.
+## It is roughly parallel to the HTML model.
+Misc.class &= tabular*
+
+#======================================================================
+
+tabular =
+## An alignment structure corresponding to tabular or various similar forms.
+## The model is basically a copy of HTML4's table.
+element tabular { tabular_attributes & tabular_model }
+
+## Attributes for \elementref{tabular}.
+tabular_attributes =
+ Common.attributes &
+
+ ## which row's baseline aligns with the container's baseline.
+ attribute vattach { "top" | "middle" | "bottom" }? &
+
+ ## the desired width of the tabular.
+ attribute width { Length.type }?
+
+### MiKo: this can be tightened. Is it really true that we have more than one body?
+## Content model for \elementref{tabular}.
+tabular_model = thead* & tfoot* & tbody* & tr*
+
+#======================================================================
+
+thead =
+## A container for a set of rows that correspond to the header of the tabular.
+element thead { thead_attributes & thead_model }
+
+## Attributes for \elementref{thead}.
+thead_attributes = Common.attributes
+
+## Content model for \elementref{thead}.
+thead_model = tr*
+
+#======================================================================
+
+tfoot =
+## A container for a set of rows that correspond to the footer of the tabular.
+element tfoot { tfoot_attributes & tfoot_model }
+
+## Attributes for \elementref{tfoot}.
+tfoot_attributes = Common.attributes
+
+## Content model for \elementref{tfoot}.
+tfoot_model = tr*
+
+#======================================================================
+
+tbody =
+## A container for a set of rows corresponding to the body of the tabular.
+element tbody { tbody_attributes & tbody_model }
+
+## Attributes for \elementref{tbody}.
+tbody_attributes = Common.attributes
+
+## Content model for \elementref{tbody}.
+tbody_model = tr*
+
+#======================================================================
+
+tr =
+## A row of a tabular.
+element tr { tr_attributes & tr_model }
+
+## Attributes for \elementref{tr}.
+tr_attributes = Common.attributes
+
+## Content model for \elementref{tr}.
+tr_model = td*
+
+#======================================================================
+
+td =
+## A cell in a row of a tabular.
+element td { td_attributes & td_model }
+
+## Attributes for \elementref{td}.
+td_attributes =
+
+ Common.attributes &
+
+ ## indicates how many columns this cell spans or covers.
+ attribute colspan { xsd:nonNegativeInteger }? &
+
+ ## indicates how many rows this cell spans or covers.
+ attribute rowspan { xsd:nonNegativeInteger }? &
+
+# This would have been clearer, but messes up conversion to dtd
+# attribute align { "left" | "right" | "center" | "justify" | text }? &
+ ## specifies the alignment of the content.
+ attribute align { text }? &
+
+ ## specifies the desired width for the column.
+ attribute width { Length.type }? &
+
+ ## 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.
+ attribute border { text }? &
+
+ ## whether this cell corresponds to a table head or foot.
+ attribute thead {xsd:boolean}?
+
+## Content model for \elementref{td}.
+td_model = Flow.model
+
+#======================================================================
+
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-tabular.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-tabular.rng
new file mode 100644
index 00000000000..325c64c302b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML-tabular.rng
@@ -0,0 +1,189 @@
+<?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="choice">
+ <a:documentation>This module defines the basic tabular, or alignment, structure.
+It is roughly parallel to the HTML model.</a:documentation>
+ <ref name="tabular"/>
+ </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>
+ <ref name="tabular_attributes"/>
+ <ref name="tabular_model"/>
+ </element>
+ </define>
+ <define name="tabular_attributes">
+ <a:documentation>Attributes for \elementref{tabular}.</a:documentation>
+ <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>
+ </define>
+ <define name="tabular_model">
+ <a:documentation>Content model for \elementref{tabular}.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <ref name="thead"/>
+ <ref name="tfoot"/>
+ <ref name="tbody"/>
+ <ref name="tr"/>
+ </choice>
+ </zeroOrMore>
+ </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>
+ <ref name="thead_attributes"/>
+ <ref name="thead_model"/>
+ </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>
+ <ref name="tfoot_attributes"/>
+ <ref name="tfoot_model"/>
+ </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>
+ <ref name="tbody_attributes"/>
+ <ref name="tbody_model"/>
+ </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>
+ <ref name="tr_attributes"/>
+ <ref name="tr_model"/>
+ </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>
+ <ref name="td_attributes"/>
+ <ref name="td_model"/>
+ </element>
+ </define>
+ <define name="td_attributes">
+ <a:documentation>Attributes for \elementref{td}.</a:documentation>
+ <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>
+ </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/rnc/LaTeXML/LaTeXML.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML.rnc
new file mode 100644
index 00000000000..a17b0186c67
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML.rnc
@@ -0,0 +1,41 @@
+# /=====================================================================\
+# | 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=/
+
+
+default namespace = "http://dlmf.nist.gov/LaTeXML"
+namespace svg = "http://www.w3.org/2000/svg"
+namespace xlink = "http://www.w3.org/1999/xlink"
+
+include "LaTeXML-common.rnc"
+include "LaTeXML-inline.rnc"
+include "LaTeXML-block.rnc"
+include "LaTeXML-para.rnc"
+include "LaTeXML-math.rnc"
+
+include "LaTeXML-tabular.rnc"
+include "LaTeXML-picture.rnc"
+include "LaTeXML-structure.rnc"
+include "LaTeXML-bib.rnc"
+
+## Combined model for inline content.
+Inline.model = text & Inline.class & Misc.class & Meta.class
+
+## Combined model for physical block-level content.
+Block.model = Block.class & Misc.class & Meta.class
+
+## Combined model for general flow containing both inline and block level content.
+Flow.model = text & Inline.class & Block.class & Misc.class & Meta.class
+
+## Combined model for logical block-level context.
+Para.model = Para.class & Meta.class
+
+start = document
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML.rng
new file mode 100644
index 00000000000..acd16ea8706
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/LaTeXML.rng
@@ -0,0 +1,70 @@
+<?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 ns="http://dlmf.nist.gov/LaTeXML" 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>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="Block.model">
+ <a:documentation>Combined model for physical block-level content.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <ref name="Block.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="Flow.model">
+ <a:documentation>Combined model for general flow containing both inline and block level content.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <text/>
+ <ref name="Inline.class"/>
+ <ref name="Block.class"/>
+ <ref name="Misc.class"/>
+ <ref name="Meta.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <define name="Para.model">
+ <a:documentation>Combined model for logical block-level context.</a:documentation>
+ <zeroOrMore>
+ <choice>
+ <ref name="Para.class"/>
+ <ref name="Meta.class"/>
+ </choice>
+ </zeroOrMore>
+ </define>
+ <start>
+ <ref name="document"/>
+ </start>
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/TAGS b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/TAGS
new file mode 100644
index 00000000000..20723d5f92c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/TAGS
@@ -0,0 +1,33 @@
+
+LaTeXML-bib.rnc,26
+default namespace 13,816
+
+LaTeXML-block.rnc,26
+default namespace 13,816
+
+LaTeXML-graphics.rnc,26
+default namespace 13,816
+
+LaTeXML-index.rnc,26
+default namespace 13,816
+
+LaTeXML-inline.rnc,26
+default namespace 14,817
+
+LaTeXML-math.rnc,26
+default namespace 13,816
+
+LaTeXML-para.rnc,26
+default namespace 13,816
+
+LaTeXML-picture.rnc,27
+default namespace 17,1019
+
+LaTeXML.rnc,26
+default namespace 13,816
+
+LaTeXML-structure.rnc,26
+default namespace 13,816
+
+LaTeXML-tabular.rnc,26
+default namespace 13,816
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animation.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animation.rnc
new file mode 100644
index 00000000000..89ef4dbea9e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animation.rnc
@@ -0,0 +1,208 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Animation
+##
+## animate, set, animateMotion, animateColor, animateTransform, mpath
+##
+## This module declares markup to provide support for animation.
+##
+
+##
+## SVG.Animation.class
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.Animation.extra.class = notAllowed
+ SVG.Animation.class |=
+ animate
+ | set
+ | animateMotion
+ | animateColor
+ | animateTransform
+ | SVG.Animation.extra.class
+ a:documentation [ "\x{a}" ~ " SVG.Animation.attrib\x{a}" ~ " " ]
+ SVG.Animation.extra.attrib = empty
+ SVG.Animation.attrib = SVG.XLink.attrib, SVG.Animation.extra.attrib
+ a:documentation [
+ "\x{a}" ~
+ " SVG.AnimationAttribute.attrib\x{a}" ~
+ " "
+ ]
+ SVG.AnimationAttribute.extra.attrib = empty
+ SVG.AnimationAttribute.attrib =
+ attribute attributeName { text },
+ attribute attributeType { text }?,
+ SVG.AnimationAttribute.extra.attrib
+ a:documentation [
+ "\x{a}" ~
+ " SVG.AnimationTiming.attrib\x{a}" ~
+ " "
+ ]
+ SVG.AnimationTiming.extra.attrib = empty
+ SVG.AnimationTiming.attrib =
+ attribute begin { text }?,
+ attribute dur { text }?,
+ attribute end { text }?,
+ attribute min { text }?,
+ attribute max { text }?,
+ [ a:defaultValue = "always" ]
+ attribute restart { "always" | "never" | "whenNotActive" }?,
+ attribute repeatCount { text }?,
+ attribute repeatDur { text }?,
+ [ a:defaultValue = "remove" ]
+ attribute fill { "remove" | "freeze" }?,
+ SVG.AnimationTiming.extra.attrib
+ a:documentation [
+ "\x{a}" ~
+ " SVG.AnimationValue.attrib\x{a}" ~
+ " "
+ ]
+ SVG.AnimationValue.extra.attrib = empty
+ SVG.AnimationValue.attrib =
+ [ a:defaultValue = "linear" ]
+ attribute calcMode { "discrete" | "linear" | "paced" | "spline" }?,
+ attribute values { text }?,
+ attribute keyTimes { text }?,
+ attribute keySplines { text }?,
+ attribute from { text }?,
+ attribute to { text }?,
+ attribute by { text }?,
+ SVG.AnimationValue.extra.attrib
+ a:documentation [
+ "\x{a}" ~
+ " SVG.AnimationAddtion.attrib\x{a}" ~
+ " "
+ ]
+ SVG.AnimationAddtion.extra.attrib = empty
+ SVG.AnimationAddtion.attrib =
+ [ a:defaultValue = "replace" ]
+ attribute additive { "replace" | "sum" }?,
+ [ a:defaultValue = "none" ]
+ attribute accumulate { "none" | "sum" }?,
+ SVG.AnimationAddtion.extra.attrib
+ a:documentation [
+ "\x{a}" ~
+ " animate: Animate Element\x{a}" ~
+ " "
+ ]
+ SVG.animate.content = SVG.Description.class*
+ animate = element animate { attlist.animate, SVG.animate.content }
+ attlist.animate &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.AnimationEvents.attrib,
+ SVG.External.attrib,
+ SVG.Animation.attrib,
+ SVG.AnimationAttribute.attrib,
+ SVG.AnimationTiming.attrib,
+ SVG.AnimationValue.attrib,
+ SVG.AnimationAddtion.attrib
+ a:documentation [ "\x{a}" ~ " set: Set Element\x{a}" ~ " " ]
+ SVG.set.content = SVG.Description.class*
+ set = element set { attlist.set, SVG.set.content }
+ attlist.set &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.AnimationEvents.attrib,
+ SVG.External.attrib,
+ SVG.Animation.attrib,
+ SVG.AnimationAttribute.attrib,
+ SVG.AnimationTiming.attrib,
+ attribute to { text }?
+ a:documentation [
+ "\x{a}" ~
+ " animateMotion: Animate Motion Element\x{a}" ~
+ " "
+ ]
+ SVG.animateMotion.content = SVG.Description.class*, mpath?
+ animateMotion =
+ element animateMotion {
+ attlist.animateMotion, SVG.animateMotion.content
+ }
+ attlist.animateMotion &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.AnimationEvents.attrib,
+ SVG.External.attrib,
+ SVG.Animation.attrib,
+ SVG.AnimationTiming.attrib,
+ SVG.AnimationAddtion.attrib,
+ [ a:defaultValue = "paced" ]
+ attribute calcMode { "discrete" | "linear" | "paced" | "spline" }?,
+ attribute values { text }?,
+ attribute keyTimes { text }?,
+ attribute keySplines { text }?,
+ attribute from { text }?,
+ attribute to { text }?,
+ attribute by { text }?,
+ attribute path { text }?,
+ attribute keyPoints { text }?,
+ attribute rotate { text }?,
+ attribute origin { text }?
+ a:documentation [
+ "\x{a}" ~
+ " animateColor: Animate Color Element\x{a}" ~
+ " "
+ ]
+ SVG.animateColor.content = SVG.Description.class*
+ animateColor =
+ element animateColor {
+ attlist.animateColor, SVG.animateColor.content
+ }
+ attlist.animateColor &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.AnimationEvents.attrib,
+ SVG.External.attrib,
+ SVG.Animation.attrib,
+ SVG.AnimationAttribute.attrib,
+ SVG.AnimationTiming.attrib,
+ SVG.AnimationValue.attrib,
+ SVG.AnimationAddtion.attrib
+ a:documentation [
+ "\x{a}" ~
+ " animateTransform: Animate Transform Element\x{a}" ~
+ " "
+ ]
+ SVG.animateTransform.content = SVG.Description.class*
+ animateTransform =
+ element animateTransform {
+ attlist.animateTransform, SVG.animateTransform.content
+ }
+ attlist.animateTransform &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.AnimationEvents.attrib,
+ SVG.External.attrib,
+ SVG.Animation.attrib,
+ SVG.AnimationAttribute.attrib,
+ SVG.AnimationTiming.attrib,
+ SVG.AnimationValue.attrib,
+ SVG.AnimationAddtion.attrib,
+ [ a:defaultValue = "translate" ]
+ attribute type {
+ "translate" | "scale" | "rotate" | "skewX" | "skewY"
+ }?
+ a:documentation [
+ "\x{a}" ~
+ " mpath: Motion Path Element\x{a}" ~
+ " "
+ ]
+ SVG.mpath.content = SVG.Description.class*
+ mpath = element mpath { attlist.mpath, SVG.mpath.content }
+ attlist.mpath &=
+ SVG.Core.attrib, SVG.XLinkRequired.attrib, SVG.External.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animation.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animation.rng
new file mode 100644
index 00000000000..918313a71fe
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-animevents-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animevents-attrib.rnc
new file mode 100644
index 00000000000..efbbabc42c5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animevents-attrib.rnc
@@ -0,0 +1,33 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Animation Events Attribute
+##
+## onbegin, onend, onrepeat, onload
+##
+## This module defines the AnimationEvents attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.onbegin.attrib = attribute onbegin { Script.datatype }?
+ SVG.onend.attrib = attribute onend { Script.datatype }?
+ SVG.onrepeat.attrib = attribute onrepeat { Script.datatype }?
+ SVG.AnimationEvents.extra.attrib = empty
+ SVG.AnimationEvents.attrib &=
+ SVG.onbegin.attrib,
+ SVG.onend.attrib,
+ SVG.onrepeat.attrib,
+ SVG.onload.attrib,
+ SVG.AnimationEvents.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animevents-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-animevents-attrib.rng
new file mode 100644
index 00000000000..164414fe0fc
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-basic-clip.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-clip.rnc
new file mode 100644
index 00000000000..5471141c5fa
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-clip.rnc
@@ -0,0 +1,64 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Basic Clip
+##
+## clipPath
+##
+## This module declares markup to provide support for clipping.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ ClipPathValue.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Clip.attrib\x{a}" ~ " " ]
+ SVG.Clip.extra.attrib = empty
+ SVG.Clip.attrib &=
+ attribute clip-path { ClipPathValue.datatype }?,
+ attribute clip-rule { ClipFillRule.datatype }?,
+ SVG.Clip.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Clip.class\x{a}" ~ " " ]
+ SVG.Clip.extra.class = notAllowed
+ SVG.Clip.class |= clipPath | SVG.Clip.extra.class
+ a:documentation [
+ "\x{a}" ~
+ " clipPath: Clip Path Element\x{a}" ~
+ " "
+ ]
+ SVG.clipPath.class = rect | SVG.Animation.class | SVG.Use.class
+ SVG.clipPath.content = SVG.Description.class*, SVG.clipPath.class*
+ clipPath = element clipPath { attlist.clipPath, SVG.clipPath.content }
+ attlist.clipPath &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Text.attrib,
+ SVG.TextContent.attrib,
+ SVG.Font.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute transform { TransformList.datatype }?,
+ attribute clipPathUnits { "userSpaceOnUse" | "objectBoundingBox" }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-clip.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-clip.rng
new file mode 100644
index 00000000000..0bb1333829f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-basic-filter.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-filter.rnc
new file mode 100644
index 00000000000..995c08e7daf
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-filter.rnc
@@ -0,0 +1,338 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## 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.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ FilterValue.datatype = xsd:string
+ NumberOptionalNumber.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Filter.attrib\x{a}" ~ " " ]
+ SVG.Filter.extra.attrib = empty
+ SVG.Filter.attrib &=
+ attribute filter { FilterValue.datatype }?,
+ SVG.Filter.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.FilterColor.attrib\x{a}" ~ " " ]
+ SVG.FilterColor.extra.attrib = empty
+ SVG.FilterColor.attrib &=
+ attribute color-interpolation-filters {
+ "auto" | "sRGB" | "linearRGB" | "inherit"
+ }?,
+ SVG.FilterColor.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Filter.class\x{a}" ~ " " ]
+ SVG.Filter.extra.class = notAllowed
+ SVG.Filter.class |= filter | SVG.Filter.extra.class
+ a:documentation [
+ "\x{a}" ~
+ " SVG.FilterPrimitive.class\x{a}" ~
+ " "
+ ]
+ SVG.FilterPrimitive.extra.class = notAllowed
+ SVG.FilterPrimitive.class =
+ feBlend
+ | feColorMatrix
+ | feComponentTransfer
+ | feComposite
+ | feFlood
+ | feGaussianBlur
+ | feImage
+ | feMerge
+ | feOffset
+ | feTile
+ | SVG.FilterPrimitive.extra.class
+ a:documentation [
+ "\x{a}" ~
+ " SVG.FilterPrimitive.attrib\x{a}" ~
+ " "
+ ]
+ SVG.FilterPrimitive.extra.attrib = empty
+ SVG.FilterPrimitive.attrib =
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype }?,
+ attribute height { Length.datatype }?,
+ attribute result { text }?,
+ SVG.FilterPrimitive.extra.attrib
+ a:documentation [
+ "\x{a}" ~
+ " SVG.FilterPrimitiveWithIn.attrib\x{a}" ~
+ " "
+ ]
+ SVG.FilterPrimitiveWithIn.extra.attrib = empty
+ SVG.FilterPrimitiveWithIn.attrib =
+ SVG.FilterPrimitive.attrib,
+ attribute in { text }?,
+ SVG.FilterPrimitiveWithIn.extra.attrib
+ a:documentation [ "\x{a}" ~ " filter: Filter Element\x{a}" ~ " " ]
+ SVG.filter.content =
+ SVG.Description.class*, (animate | set | SVG.FilterPrimitive.class)*
+ filter = element filter { attlist.filter, SVG.filter.content }
+ attlist.filter &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.XLink.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype }?,
+ attribute height { Length.datatype }?,
+ attribute filterRes { NumberOptionalNumber.datatype }?,
+ attribute filterUnits { "userSpaceOnUse" | "objectBoundingBox" }?,
+ attribute primitiveUnits { "userSpaceOnUse" | "objectBoundingBox" }?
+ a:documentation [
+ "\x{a}" ~
+ " feBlend: Filter Effect Blend Element\x{a}" ~
+ " "
+ ]
+ SVG.feBlend.content = (animate | set)*
+ feBlend = element feBlend { attlist.feBlend, SVG.feBlend.content }
+ attlist.feBlend &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute in2 { text },
+ [ a:defaultValue = "normal" ]
+ attribute mode {
+ "normal" | "multiply" | "screen" | "darken" | "lighten"
+ }?
+ a:documentation [
+ "\x{a}" ~
+ " feColorMatrix: Filter Effect Color Matrix Element\x{a}" ~
+ " "
+ ]
+ SVG.feColorMatrix.content = (animate | set)*
+ feColorMatrix =
+ element feColorMatrix {
+ attlist.feColorMatrix, SVG.feColorMatrix.content
+ }
+ attlist.feColorMatrix &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ [ a:defaultValue = "matrix" ]
+ attribute type {
+ "matrix" | "saturate" | "hueRotate" | "luminanceToAlpha"
+ }?,
+ attribute values { text }?
+ a:documentation [
+ "\x{a}" ~
+ " feComponentTransfer: Filter Effect Component Transfer Element\x{a}" ~
+ " "
+ ]
+ SVG.feComponentTransfer.content =
+ feFuncR?, feFuncG?, feFuncB?, feFuncA?
+ feComponentTransfer =
+ element feComponentTransfer {
+ attlist.feComponentTransfer, SVG.feComponentTransfer.content
+ }
+ attlist.feComponentTransfer &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib
+ a:documentation [
+ "\x{a}" ~
+ " feComposite: Filter Effect Composite Element\x{a}" ~
+ " "
+ ]
+ SVG.feComposite.content = (animate | set)*
+ feComposite =
+ element feComposite { attlist.feComposite, SVG.feComposite.content }
+ attlist.feComposite &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute in2 { text },
+ [ a:defaultValue = "over" ]
+ attribute operator {
+ "over" | "in" | "out" | "atop" | "xor" | "arithmetic"
+ }?,
+ attribute k1 { Number.datatype }?,
+ attribute k2 { Number.datatype }?,
+ attribute k3 { Number.datatype }?,
+ attribute k4 { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feFlood: Filter Effect Flood Element\x{a}" ~
+ " "
+ ]
+ SVG.feFlood.content = (animate | set | animateColor)*
+ feFlood = element feFlood { attlist.feFlood, SVG.feFlood.content }
+ attlist.feFlood &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Color.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute flood-color { SVGColor.datatype }?,
+ attribute flood-opacity { OpacityValue.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feGaussianBlur: Filter Effect Gaussian Blur Element\x{a}" ~
+ " "
+ ]
+ SVG.feGaussianBlur.content = (animate | set)*
+ feGaussianBlur =
+ element feGaussianBlur {
+ attlist.feGaussianBlur, SVG.feGaussianBlur.content
+ }
+ attlist.feGaussianBlur &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute stdDeviation { NumberOptionalNumber.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feImage: Filter Effect Image Element\x{a}" ~
+ " "
+ ]
+ SVG.feImage.content = (animate | set | animateTransform)*
+ feImage = element feImage { attlist.feImage, SVG.feImage.content }
+ attlist.feImage &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.FilterPrimitive.attrib,
+ SVG.XLinkEmbed.attrib,
+ SVG.External.attrib,
+ [ a:defaultValue = "xMidYMid meet" ]
+ attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feMerge: Filter Effect Merge Element\x{a}" ~
+ " "
+ ]
+ SVG.feMerge.content = feMergeNode*
+ feMerge = element feMerge { attlist.feMerge, SVG.feMerge.content }
+ attlist.feMerge &=
+ SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitive.attrib
+ a:documentation [
+ "\x{a}" ~
+ " feMergeNode: Filter Effect Merge Node Element\x{a}" ~
+ " "
+ ]
+ SVG.feMergeNode.content = (animate | set)*
+ feMergeNode =
+ element feMergeNode { attlist.feMergeNode, SVG.feMergeNode.content }
+ attlist.feMergeNode &=
+ SVG.Core.attrib,
+ attribute in { text }?
+ a:documentation [
+ "\x{a}" ~
+ " feOffset: Filter Effect Offset Element\x{a}" ~
+ " "
+ ]
+ SVG.feOffset.content = (animate | set)*
+ feOffset = element feOffset { attlist.feOffset, SVG.feOffset.content }
+ attlist.feOffset &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute dx { Number.datatype }?,
+ attribute dy { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feTile: Filter Effect Tile Element\x{a}" ~
+ " "
+ ]
+ SVG.feTile.content = (animate | set)*
+ feTile = element feTile { attlist.feTile, SVG.feTile.content }
+ attlist.feTile &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib
+ a:documentation [
+ "\x{a}" ~
+ " feFuncR: Filter Effect Function Red Element\x{a}" ~
+ " "
+ ]
+ SVG.feFuncR.content = (animate | set)*
+ feFuncR = element feFuncR { attlist.feFuncR, SVG.feFuncR.content }
+ attlist.feFuncR &=
+ SVG.Core.attrib,
+ attribute type {
+ "identity" | "table" | "discrete" | "linear" | "gamma"
+ },
+ attribute tableValues { text }?,
+ attribute slope { Number.datatype }?,
+ attribute intercept { Number.datatype }?,
+ attribute amplitude { Number.datatype }?,
+ attribute exponent { Number.datatype }?,
+ attribute offset { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feFuncG: Filter Effect Function Green Element\x{a}" ~
+ " "
+ ]
+ SVG.feFuncG.content = (animate | set)*
+ feFuncG = element feFuncG { attlist.feFuncG, SVG.feFuncG.content }
+ attlist.feFuncG &=
+ SVG.Core.attrib,
+ attribute type {
+ "identity" | "table" | "discrete" | "linear" | "gamma"
+ },
+ attribute tableValues { text }?,
+ attribute slope { Number.datatype }?,
+ attribute intercept { Number.datatype }?,
+ attribute amplitude { Number.datatype }?,
+ attribute exponent { Number.datatype }?,
+ attribute offset { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feFuncB: Filter Effect Function Blue Element\x{a}" ~
+ " "
+ ]
+ SVG.feFuncB.content = (animate | set)*
+ feFuncB = element feFuncB { attlist.feFuncB, SVG.feFuncB.content }
+ attlist.feFuncB &=
+ SVG.Core.attrib,
+ attribute type {
+ "identity" | "table" | "discrete" | "linear" | "gamma"
+ },
+ attribute tableValues { text }?,
+ attribute slope { Number.datatype }?,
+ attribute intercept { Number.datatype }?,
+ attribute amplitude { Number.datatype }?,
+ attribute exponent { Number.datatype }?,
+ attribute offset { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feFuncA: Filter Effect Function Alpha Element\x{a}" ~
+ " "
+ ]
+ SVG.feFuncA.content = (animate | set)*
+ feFuncA = element feFuncA { attlist.feFuncA, SVG.feFuncA.content }
+ attlist.feFuncA &=
+ SVG.Core.attrib,
+ attribute type {
+ "identity" | "table" | "discrete" | "linear" | "gamma"
+ },
+ attribute tableValues { text }?,
+ attribute slope { Number.datatype }?,
+ attribute intercept { Number.datatype }?,
+ attribute amplitude { Number.datatype }?,
+ attribute exponent { Number.datatype }?,
+ attribute offset { Number.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-filter.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-filter.rng
new file mode 100644
index 00000000000..6e9a39b50fa
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-basic-font.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-font.rnc
new file mode 100644
index 00000000000..a45d34e3c64
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-font.rnc
@@ -0,0 +1,196 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## 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.
+##
+
+##
+## SVG.Font.class
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.Font.extra.class = notAllowed
+ SVG.Font.class |= font | font-face | SVG.Font.extra.class
+ a:documentation [ "\x{a}" ~ " font: Font Element\x{a}" ~ " " ]
+ SVG.font.content =
+ SVG.Description.class*,
+ font-face,
+ missing-glyph,
+ (glyph | hkern | vkern)*
+ font = element font { attlist.font, SVG.font.content }
+ attlist.font &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.External.attrib,
+ attribute horiz-origin-x { Number.datatype }?,
+ attribute horiz-origin-y { Number.datatype }?,
+ attribute horiz-adv-x { Number.datatype },
+ attribute vert-origin-x { Number.datatype }?,
+ attribute vert-origin-y { Number.datatype }?,
+ attribute vert-adv-y { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " font-face: Font Face Element\x{a}" ~
+ " "
+ ]
+ SVG.font-face.extra.class = notAllowed
+ SVG.font-face.content =
+ SVG.Description.class*, font-face-src?, SVG.font-face.extra.class
+ font-face =
+ element font-face { attlist.font-face, SVG.font-face.content }
+ attlist.font-face &=
+ SVG.Core.attrib,
+ attribute font-family { text }?,
+ attribute font-style { text }?,
+ attribute font-variant { text }?,
+ attribute font-weight { text }?,
+ attribute font-stretch { text }?,
+ attribute font-size { text }?,
+ attribute unicode-range { text }?,
+ attribute units-per-em { Number.datatype }?,
+ attribute panose-1 { text }?,
+ attribute stemv { Number.datatype }?,
+ attribute stemh { Number.datatype }?,
+ attribute slope { Number.datatype }?,
+ attribute cap-height { Number.datatype }?,
+ attribute x-height { Number.datatype }?,
+ attribute accent-height { Number.datatype }?,
+ attribute ascent { Number.datatype }?,
+ attribute descent { Number.datatype }?,
+ attribute widths { text }?,
+ attribute bbox { text }?,
+ attribute ideographic { Number.datatype }?,
+ attribute alphabetic { Number.datatype }?,
+ attribute mathematical { Number.datatype }?,
+ attribute hanging { Number.datatype }?,
+ attribute v-ideographic { Number.datatype }?,
+ attribute v-alphabetic { Number.datatype }?,
+ attribute v-mathematical { Number.datatype }?,
+ attribute v-hanging { Number.datatype }?,
+ attribute underline-position { Number.datatype }?,
+ attribute underline-thickness { Number.datatype }?,
+ attribute strikethrough-position { Number.datatype }?,
+ attribute strikethrough-thickness { Number.datatype }?,
+ attribute overline-position { Number.datatype }?,
+ attribute overline-thickness { Number.datatype }?
+ a:documentation [ "\x{a}" ~ " glyph: Glyph Element\x{a}" ~ " " ]
+ SVG.glyph.class = notAllowed
+ SVG.glyph.content = SVG.Description.class*, SVG.glyph.class*
+ glyph = element glyph { attlist.glyph, SVG.glyph.content }
+ attlist.glyph &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ attribute unicode { text }?,
+ attribute glyph-name { text }?,
+ attribute d { PathData.datatype }?,
+ attribute orientation { text }?,
+ attribute arabic-form { text }?,
+ attribute lang { LanguageCodes.datatype }?,
+ attribute horiz-adv-x { Number.datatype }?,
+ attribute vert-origin-x { Number.datatype }?,
+ attribute vert-origin-y { Number.datatype }?,
+ attribute vert-adv-y { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " missing-glyph: Missing Glyph Element\x{a}" ~
+ " "
+ ]
+ SVG.missing-glyph.class = notAllowed
+ SVG.missing-glyph.content =
+ SVG.Description.class*, SVG.missing-glyph.class*
+ missing-glyph =
+ element missing-glyph {
+ attlist.missing-glyph, SVG.missing-glyph.content
+ }
+ attlist.missing-glyph &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ attribute d { PathData.datatype }?,
+ attribute horiz-adv-x { Number.datatype }?,
+ attribute vert-origin-x { Number.datatype }?,
+ attribute vert-origin-y { Number.datatype }?,
+ attribute vert-adv-y { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " hkern: Horizontal Kerning Element\x{a}" ~
+ " "
+ ]
+ SVG.hkern.content = empty
+ hkern = element hkern { attlist.hkern, SVG.hkern.content }
+ attlist.hkern &=
+ SVG.Core.attrib,
+ attribute u1 { text }?,
+ attribute g1 { text }?,
+ attribute u2 { text }?,
+ attribute g2 { text }?,
+ attribute k { Number.datatype }
+ a:documentation [
+ "\x{a}" ~
+ " vkern: Vertical Kerning Element\x{a}" ~
+ " "
+ ]
+ SVG.vkern.content = empty
+ vkern = element vkern { attlist.vkern, SVG.vkern.content }
+ attlist.vkern &=
+ SVG.Core.attrib,
+ attribute u1 { text }?,
+ attribute g1 { text }?,
+ attribute u2 { text }?,
+ attribute g2 { text }?,
+ attribute k { Number.datatype }
+ a:documentation [
+ "\x{a}" ~
+ " font-face-src: Font Face Source Element\x{a}" ~
+ " "
+ ]
+ SVG.font-face-src.content = (font-face-uri | font-face-name)+
+ font-face-src =
+ element font-face-src {
+ attlist.font-face-src, SVG.font-face-src.content
+ }
+ attlist.font-face-src &= SVG.Core.attrib
+ a:documentation [
+ "\x{a}" ~
+ " font-face-uri: Font Face URI Element\x{a}" ~
+ " "
+ ]
+ SVG.font-face-uri.content = empty
+ font-face-uri =
+ element font-face-uri {
+ attlist.font-face-uri, SVG.font-face-uri.content
+ }
+ attlist.font-face-uri &= SVG.Core.attrib, SVG.XLinkRequired.attrib
+ a:documentation [
+ "\x{a}" ~
+ " font-face-name: Font Face Name Element\x{a}" ~
+ " "
+ ]
+ SVG.font-face-name.content = empty
+ font-face-name =
+ element font-face-name {
+ attlist.font-face-name, SVG.font-face-name.content
+ }
+ attlist.font-face-name &=
+ SVG.Core.attrib,
+ attribute name { text }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-font.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-font.rng
new file mode 100644
index 00000000000..da67018545f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-basic-graphics-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-graphics-attrib.rnc
new file mode 100644
index 00000000000..606e2e4e92d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-graphics-attrib.rnc
@@ -0,0 +1,49 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Basic Graphics Attribute
+##
+## display, visibility
+##
+## This module defines the Graphics attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.display.attrib =
+ attribute display {
+ "inline"
+ | "block"
+ | "list-item"
+ | "run-in"
+ | "compact"
+ | "marker"
+ | "table"
+ | "inline-table"
+ | "table-row-group"
+ | "table-header-group"
+ | "table-footer-group"
+ | "table-row"
+ | "table-column-group"
+ | "table-column"
+ | "table-cell"
+ | "table-caption"
+ | "none"
+ | "inherit"
+ }?
+ SVG.visibility.attrib =
+ attribute visibility { "visible" | "hidden" | "inherit" }?
+ SVG.Graphics.extra.attrib = empty
+ SVG.Graphics.attrib &=
+ SVG.display.attrib, SVG.visibility.attrib, SVG.Graphics.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-graphics-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-graphics-attrib.rng
new file mode 100644
index 00000000000..20c40b3648c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-basic-structure.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-structure.rnc
new file mode 100644
index 00000000000..67b94df81a1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-structure.rnc
@@ -0,0 +1,293 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Basic Structure
+##
+## svg, g, defs, desc, title, metadata, use
+##
+## This module declares the major structural elements and their attributes.
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## The root element is "svg".
+ ##
+ start = svg
+
+ ##
+ ## Include core set of modules
+ ##
+ div {
+
+ ##
+ ## Datatypes Module
+ ##
+ include "svg-datatypes.rnc"
+
+ ##
+ ## Core Attribute Module
+ ##
+ include "svg-core-attrib.rnc"
+ }
+ a:documentation [
+ "\x{a}" ~
+ " Content Models (Default)\x{a}" ~
+ " "
+ ]
+ SVG.Profile.class = notAllowed
+ SVG.Gradient.class = notAllowed
+ SVG.Pattern.class = notAllowed
+ SVG.Clip.class = notAllowed
+ SVG.Mask.class = notAllowed
+ SVG.Filter.class = notAllowed
+ SVG.Cursor.class = notAllowed
+ SVG.Marker.class = notAllowed
+ SVG.View.class = notAllowed
+ SVG.Script.class = notAllowed
+ SVG.Font.class = notAllowed
+ SVG.Extensibility.class = notAllowed
+ SVG.Conditional.class = notAllowed
+ SVG.Image.class = notAllowed
+ SVG.Style.class = notAllowed
+ SVG.Shape.class = notAllowed
+ SVG.Text.class = notAllowed
+ SVG.Hyperlink.class = notAllowed
+ SVG.Animation.class = notAllowed
+ a:documentation [
+ "\x{a}" ~
+ " Attribute Collections (Default)\x{a}" ~
+ " "
+ ]
+ SVG.Container.attrib = empty
+ SVG.Viewport.attrib = empty
+ SVG.Text.attrib = empty
+ SVG.TextContent.attrib = empty
+ SVG.Opacity.attrib = empty
+ SVG.Marker.attrib = empty
+ SVG.Profile.attrib = empty
+ SVG.Gradient.attrib = empty
+ SVG.Clip.attrib = empty
+ SVG.Mask.attrib = empty
+ SVG.Filter.attrib = empty
+ SVG.FilterColor.attrib = empty
+ SVG.Cursor.attrib = empty
+ SVG.External.attrib = empty
+ SVG.Conditional.attrib = empty
+ SVG.Color.attrib = empty
+ SVG.Paint.attrib = empty
+ SVG.Graphics.attrib = empty
+ SVG.DocumentEvents.attrib = empty
+ SVG.GraphicalEvents.attrib = empty
+ SVG.onload.attrib = empty
+ SVG.AnimationEvents.attrib = empty
+ SVG.XLink.attrib = empty
+ SVG.XLinkRequired.attrib = empty
+ SVG.XLinkEmbed.attrib = empty
+ SVG.XLinkReplace.attrib = empty
+ SVG.Style.attrib = empty
+ SVG.Font.attrib = empty
+ a:documentation [ "\x{a}" ~ " SVG.Description.class\x{a}" ~ " " ]
+ SVG.Description.extra.class = notAllowed
+ SVG.Description.class =
+ desc | title | metadata | SVG.Description.extra.class
+ a:documentation [ "\x{a}" ~ " SVG.Use.class\x{a}" ~ " " ]
+ SVG.Use.extra.class = notAllowed
+ SVG.Use.class = use | SVG.Use.extra.class
+ a:documentation [ "\x{a}" ~ " SVG.Structure.class\x{a}" ~ " " ]
+ SVG.Structure.extra.class = notAllowed
+ SVG.Structure.class =
+ svg | g | defs | SVG.Use.class | SVG.Structure.extra.class
+ a:documentation [
+ "\x{a}" ~
+ " SVG.Presentation.attrib\x{a}" ~
+ " "
+ ]
+ SVG.Presentation.extra.attrib = empty
+ SVG.Presentation.attrib =
+ SVG.Container.attrib,
+ SVG.Viewport.attrib,
+ SVG.Text.attrib,
+ SVG.TextContent.attrib,
+ SVG.Font.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Marker.attrib,
+ SVG.Profile.attrib,
+ SVG.Gradient.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.FilterColor.attrib,
+ SVG.Cursor.attrib,
+ attribute flood-color { SVGColor.datatype }?,
+ attribute flood-opacity { OpacityValue.datatype }?,
+ attribute lighting-color { SVGColor.datatype }?,
+ SVG.Presentation.extra.attrib
+ a:documentation [
+ "\x{a}" ~
+ " svg: SVG Document Element\x{a}" ~
+ " "
+ ]
+ SVG.svg.content =
+ (SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ svg = element svg { attlist.svg, SVG.svg.content }
+ attlist.svg &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.DocumentEvents.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype }?,
+ attribute height { Length.datatype }?,
+ attribute viewBox { ViewBoxSpec.datatype }?,
+ [ a:defaultValue = "xMidYMid meet" ]
+ attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?,
+ [ a:defaultValue = "magnify" ]
+ attribute zoomAndPan { "disable" | "magnify" }?,
+ [ a:defaultValue = "1.1" ] attribute version { xsd:string "1.1" }?,
+ attribute baseProfile { Text.datatype }?,
+ [ a:defaultValue = "text/ecmascript" ]
+ attribute contentScriptType { ContentType.datatype }?,
+ [ a:defaultValue = "text/css" ]
+ attribute contentStyleType { ContentType.datatype }?
+ a:documentation [ "\x{a}" ~ " g: Group Element\x{a}" ~ " " ]
+ SVG.g.content =
+ (SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ g = element g { attlist.g, SVG.g.content }
+ attlist.g &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.External.attrib,
+ attribute transform { TransformList.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " defs: Definisions Element\x{a}" ~
+ " "
+ ]
+ SVG.defs.content =
+ (SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ defs = element defs { attlist.defs, SVG.defs.content }
+ attlist.defs &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.External.attrib,
+ attribute transform { TransformList.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " desc: Description Element\x{a}" ~
+ " "
+ ]
+ SVG.desc.content = text
+ desc = element desc { attlist.desc, SVG.desc.content }
+ attlist.desc &= SVG.Core.attrib, SVG.Style.attrib
+ a:documentation [ "\x{a}" ~ " title: Title Element\x{a}" ~ " " ]
+ SVG.title.content = text
+ title = element title { attlist.title, SVG.title.content }
+ attlist.title &= SVG.Core.attrib, SVG.Style.attrib
+ a:documentation [
+ "\x{a}" ~
+ " metadata: Metadata Element\x{a}" ~
+ " "
+ ]
+ SVG.metadata.content = text
+ metadata = element metadata { attlist.metadata, SVG.metadata.content }
+ attlist.metadata &= SVG.Core.attrib
+ a:documentation [ "\x{a}" ~ " use: Use Element\x{a}" ~ " " ]
+ SVG.use.content = SVG.Description.class*, SVG.Animation.class*
+ use = element use { attlist.use, SVG.use.content }
+ attlist.use &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.XLinkEmbed.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype }?,
+ attribute height { Length.datatype }?,
+ attribute transform { TransformList.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-structure.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-structure.rng
new file mode 100644
index 00000000000..65ee4f172f4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-basic-text.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-text.rnc
new file mode 100644
index 00000000000..8e8b2c728bd
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-text.rnc
@@ -0,0 +1,137 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Basic Text
+##
+## text, altGlyph, altGlyphDef, glyphRef
+##
+## This module declares markup to provide support for text.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ FontFamilyValue.datatype = xsd:string
+ FontSizeValue.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Font.attrib\x{a}" ~ " " ]
+ SVG.Font.extra.attrib = empty
+ SVG.Font.attrib &=
+ attribute font-family { FontFamilyValue.datatype }?,
+ attribute font-size { FontSizeValue.datatype }?,
+ attribute font-style {
+ "normal" | "italic" | "oblique" | "inherit"
+ }?,
+ attribute font-weight {
+ "normal"
+ | "bold"
+ | "bolder"
+ | "lighter"
+ | "100"
+ | "200"
+ | "300"
+ | "400"
+ | "500"
+ | "600"
+ | "700"
+ | "800"
+ | "900"
+ | "inherit"
+ }?,
+ SVG.Font.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Text.class\x{a}" ~ " " ]
+ SVG.Text.extra.class = notAllowed
+ SVG.Text.class |= \text | SVG.Text.extra.class
+ a:documentation [ "\x{a}" ~ " SVG.TextContent.class\x{a}" ~ " " ]
+ SVG.TextContent.extra.class = notAllowed
+ SVG.TextContent.class = altGlyph | SVG.TextContent.extra.class
+ a:documentation [ "\x{a}" ~ " text: Text Element\x{a}" ~ " " ]
+ SVG.text.class =
+ text
+ | SVG.Description.class
+ | SVG.Animation.class
+ | # <ref name="SVG.TextContent.extra.class"/>
+ SVG.Hyperlink.class
+ SVG.text.content = SVG.text.class*
+ \text = element text { attlist.text, SVG.text.content }
+ attlist.text &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Font.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinates.datatype }?,
+ attribute y { Coordinates.datatype }?,
+ attribute rotate { Numbers.datatype }?,
+ attribute transform { TransformList.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " altGlyph: Alternate Glyph Element\x{a}" ~
+ " "
+ ]
+ SVG.altGlyph.content = text
+ altGlyph = element altGlyph { attlist.altGlyph, SVG.altGlyph.content }
+ attlist.altGlyph &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Font.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.XLink.attrib,
+ SVG.External.attrib,
+ attribute glyphRef { text }?,
+ attribute format { text }?
+ a:documentation [
+ "\x{a}" ~
+ " altGlyphDef: Alternate Glyph Definition Element\x{a}" ~
+ " "
+ ]
+ SVG.altGlyphDef.content = glyphRef+
+ altGlyphDef =
+ element altGlyphDef { attlist.altGlyphDef, SVG.altGlyphDef.content }
+ attlist.altGlyphDef &= SVG.Core.attrib
+ a:documentation [
+ "\x{a}" ~
+ " glyphRef: Glyph Reference Element\x{a}" ~
+ " "
+ ]
+ SVG.glyphRef.content = empty
+ glyphRef = element glyphRef { attlist.glyphRef, SVG.glyphRef.content }
+ attlist.glyphRef &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Font.attrib,
+ SVG.XLink.attrib,
+ attribute glyphRef { text }?,
+ attribute format { text }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-text.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-basic-text.rng
new file mode 100644
index 00000000000..14771acea25
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-clip.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-clip.rnc
new file mode 100644
index 00000000000..50dd76142ea
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-clip.rnc
@@ -0,0 +1,30 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+namespace ns1 = "http://www.w3.org/2000/svg"
+
+
+##
+## 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 $
+##
+
+##
+## Clip
+##
+## clipPath
+##
+## This module declares markup to provide support for clipping.
+##
+[ xml:lang = "en" ]
+grammar {
+ include "svg-basic-clip.rnc" inherit = ns1
+
+ ##
+ ## extend content model of clipPath
+ ##
+ SVG.clipPath.class |= SVG.Shape.class | SVG.Text.class
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-clip.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-clip.rng
new file mode 100644
index 00000000000..da0d93c81ba
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-clip.rng
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" 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 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/rnc/LaTeXML/svg-conditional.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-conditional.rnc
new file mode 100644
index 00000000000..922554a6a8d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-conditional.rnc
@@ -0,0 +1,62 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Conditional Processing
+##
+## switch
+##
+## This module declares markup to provide support for conditional processing.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ ExtensionList.datatype = xsd:string
+ FeatureList.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Conditional.attrib\x{a}" ~ " " ]
+ SVG.Conditional.extra.attrib = empty
+ SVG.Conditional.attrib &=
+ attribute requiredFeatures { FeatureList.datatype }?,
+ attribute requiredExtensions { ExtensionList.datatype }?,
+ attribute systemLanguage { LanguageCodes.datatype }?,
+ SVG.Conditional.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Conditional.class\x{a}" ~ " " ]
+ SVG.Conditional.extra.class = notAllowed
+ SVG.Conditional.class |= switch | SVG.Conditional.extra.class
+ a:documentation [ "\x{a}" ~ " switch: Switch Element\x{a}" ~ " " ]
+ SVG.switch.content =
+ SVG.Description.class*,
+ (svg
+ | g
+ | use
+ | \text
+ | SVG.Animation.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Shape.class
+ | SVG.Hyperlink.class
+ | SVG.Extensibility.class)*
+ switch = element switch { attlist.switch, SVG.switch.content }
+ attlist.switch &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.External.attrib,
+ attribute transform { TransformList.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-conditional.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-conditional.rng
new file mode 100644
index 00000000000..8bfddf61491
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-container-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-container-attrib.rnc
new file mode 100644
index 00000000000..fb4ac5ff47f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-container-attrib.rnc
@@ -0,0 +1,33 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Container Attribute
+##
+## enable-background
+##
+## This module defines the Container attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## 'enable-background' property/attribute value (e.g., 'new', 'accumulate')
+ ##
+ EnableBackgroundValue.datatype = xsd:string
+ SVG.enable-background.attrib =
+ attribute enable-background { EnableBackgroundValue.datatype }?
+ SVG.Container.extra.attrib = empty
+ SVG.Container.attrib &=
+ SVG.enable-background.attrib, SVG.Container.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-container-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-container-attrib.rng
new file mode 100644
index 00000000000..01847b07a90
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-core-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-core-attrib.rnc
new file mode 100644
index 00000000000..e9d73f1601f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-core-attrib.rnc
@@ -0,0 +1,35 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Core Attribute
+##
+## id, xml:base, xml:lang, xml:space
+##
+## This module defines the core set of attributes that can be present on
+## any element.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.id.attrib = attribute id { xsd:ID }?
+ SVG.base.attrib = attribute xml:base { URI.datatype }?
+ SVG.lang.attrib = attribute xml:lang { LanguageCode.datatype }?
+ SVG.space.attrib = attribute xml:space { "default" | "preserve" }?
+ SVG.Core.extra.attrib = empty
+ SVG.Core.attrib =
+ SVG.id.attrib,
+ SVG.base.attrib,
+ SVG.lang.attrib,
+ SVG.space.attrib,
+ SVG.Core.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-core-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-core-attrib.rng
new file mode 100644
index 00000000000..cf3e64fafd1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-cursor.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-cursor.rnc
new file mode 100644
index 00000000000..50b42d15627
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-cursor.rnc
@@ -0,0 +1,47 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Cursor
+##
+## cursor
+##
+## This module declares markup to provide support for cursor.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ CursorValue.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Cursor.attrib\x{a}" ~ " " ]
+ SVG.Cursor.extra.attrib = empty
+ SVG.Cursor.attrib &=
+ attribute cursor { CursorValue.datatype }?,
+ SVG.Cursor.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Cursor.class\x{a}" ~ " " ]
+ SVG.Cursor.extra.class = notAllowed
+ SVG.Cursor.class |= cursor | SVG.Cursor.extra.class
+ a:documentation [ "\x{a}" ~ " cursor: Cursor Element\x{a}" ~ " " ]
+ SVG.cursor.content = SVG.Description.class*
+ cursor = element cursor { attlist.cursor, SVG.cursor.content }
+ attlist.cursor &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.XLinkRequired.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-cursor.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-cursor.rng
new file mode 100644
index 00000000000..e3207ed6c92
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-datatypes.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-datatypes.rnc
new file mode 100644
index 00000000000..7a3ea4b659f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-datatypes.rnc
@@ -0,0 +1,135 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Datatypes
+##
+## This module declares common data types for properties and attributes.
+##
+
+##
+## feature specification
+##
+[ xml:lang = "en" ]
+grammar {
+ Boolean.datatype = "false" | "true"
+
+ ##
+ ## 'clip-rule' or 'fill-rule' property/attribute value
+ ##
+ ClipFillRule.datatype = "nonzero" | "evenodd" | "inherit"
+
+ ##
+ ## media type, as per [RFC2045]
+ ##
+ ContentType.datatype = xsd:string
+
+ ##
+ ## a <coordinate>
+ ##
+ Coordinate.datatype = xsd:string
+
+ ##
+ ## a list of <coordinate>s
+ ##
+ Coordinates.datatype = xsd:string
+
+ ##
+ ## a <color> value
+ ##
+ Color.datatype = xsd:string
+
+ ##
+ ## a <integer>
+ ##
+ Integer.datatype = xsd:string
+
+ ##
+ ## a language code, as per [RFC3066]
+ ##
+ LanguageCode.datatype = xsd:language
+
+ ##
+ ## comma-separated list of language codes, as per [RFC3066]
+ ##
+ LanguageCodes.datatype = xsd:string
+
+ ##
+ ## a <ength>
+ ##
+ Length.datatype = xsd:string
+
+ ##
+ ## a list of <length>s
+ ##
+ Lengths.datatype = xsd:string
+
+ ##
+ ## a <number>
+ ##
+ Number.datatype = xsd:string
+
+ ##
+ ## a list of <number>s
+ ##
+ Numbers.datatype = xsd:string
+
+ ##
+ ## opacity value (e.g., <number>)
+ ##
+ OpacityValue.datatype = xsd:string
+
+ ##
+ ## a path data specification
+ ##
+ PathData.datatype = xsd:string
+
+ ##
+ ## 'preserveAspectRatio' attribute specification
+ ##
+ PreserveAspectRatioSpec.datatype =
+ xsd:string {
+ pattern =
+ "\s*(none|xMinYMin|xMidYMin|xMaxYMin|xMinYMid|xMidYMid|xMaxYMid|xMinYMax|xMidYMax|xMaxYMax)\s+(meet|slice)?\s*"
+ }
+
+ ##
+ ## script expression
+ ##
+ Script.datatype = xsd:string
+
+ ##
+ ## An SVG color value (RGB plus optional ICC)
+ ##
+ SVGColor.datatype = xsd:string
+
+ ##
+ ## arbitrary text string
+ ##
+ Text.datatype = xsd:string
+
+ ##
+ ## list of transforms
+ ##
+ TransformList.datatype = xsd:string
+
+ ##
+ ## a Uniform Resource Identifier, see [URI]
+ ##
+ URI.datatype = xsd:anyURI
+
+ ##
+ ## 'viewBox' attribute specification
+ ##
+ ViewBoxSpec.datatype = xsd:string
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-datatypes.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-datatypes.rng
new file mode 100644
index 00000000000..dba1588d8d4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-docevents-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-docevents-attrib.rnc
new file mode 100644
index 00000000000..a03b011c8d3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-docevents-attrib.rnc
@@ -0,0 +1,38 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Document Events Attribute
+##
+## onunload, onabort, onerror, onresize, onscroll, onzoom
+##
+## This module defines the DocumentEvents attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.onunload.attrib = attribute onunload { Script.datatype }?
+ SVG.onabort.attrib = attribute onabort { Script.datatype }?
+ SVG.onerror.attrib = attribute onerror { Script.datatype }?
+ SVG.onresize.attrib = attribute onresize { Script.datatype }?
+ SVG.onscroll.attrib = attribute onscroll { Script.datatype }?
+ SVG.onzoom.attrib = attribute onzoom { Script.datatype }?
+ SVG.DocumentEvents.extra.attrib = empty
+ SVG.DocumentEvents.attrib &=
+ SVG.onunload.attrib,
+ SVG.onabort.attrib,
+ SVG.onerror.attrib,
+ SVG.onresize.attrib,
+ SVG.onscroll.attrib,
+ SVG.onzoom.attrib,
+ SVG.DocumentEvents.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-docevents-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-docevents-attrib.rng
new file mode 100644
index 00000000000..3d2eecea923
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-extensibility.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extensibility.rnc
new file mode 100644
index 00000000000..23ef64bf988
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extensibility.rnc
@@ -0,0 +1,62 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+default namespace ns1 = "http://www.w3.org/2000/svg"
+
+a:documentation [
+ "\x{a}" ~
+ " SVG 1.1 Extensibility Module\x{a}" ~
+ " file: svg-extensibility.rng\x{a}" ~
+ "\x{a}" ~
+ " This is SVG, a language for describing two-dimensional graphics in XML.\x{a}" ~
+ " Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.\x{a}" ~
+ "\x{a}" ~
+ " $Id: svg-extensibility.rng,v 1.1 2003/07/15 07:11:10 dean Exp $\x{a}" ~
+ "\x{a}"
+]
+a:documentation [
+ "\x{a}" ~
+ " Extensibility\x{a}" ~
+ "\x{a}" ~
+ " foreignObject\x{a}" ~
+ "\x{a}" ~
+ " This module declares markup to provide support for extensibility.\x{a}" ~
+ " "
+]
+a:documentation [ "\x{a}" ~ " SVG.Extensibility.class\x{a}" ~ " " ]
+SVG.Extensibility.extra.class = notAllowed
+SVG.Extensibility.class |= foreignObject | SVG.Extensibility.extra.class
+a:documentation [
+ "\x{a}" ~
+ " foreignObject: Foreign Object Element\x{a}" ~
+ " "
+]
+SVG.foreignObject.content =
+ (text
+ | svg
+ # ref name="foreignElement"/
+ )*
+foreignObject =
+ element foreignObject {
+ attlist.foreignObject, SVG.foreignObject.content
+ }
+attlist.foreignObject &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype },
+ attribute height { Length.datatype },
+ attribute transform { TransformList.datatype }?
+
+##
+## any element in foreign namespace
+##
+foreignElement =
+ element * - ns1:* {
+ (attribute * - ns1:* { text }
+ | text
+ | foreignElement)*
+ }
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extensibility.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extensibility.rng
new file mode 100644
index 00000000000..d63acf3deae
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-extresources-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extresources-attrib.rnc
new file mode 100644
index 00000000000..6c1274e082a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extresources-attrib.rnc
@@ -0,0 +1,28 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## External Resources Attribute
+##
+## externalResourcesRequired
+##
+## This module defines the External attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.externalResourcesRequired.attrib =
+ attribute externalResourcesRequired { Boolean.datatype }?
+ SVG.External.extra.attrib = empty
+ SVG.External.attrib &=
+ SVG.externalResourcesRequired.attrib, SVG.External.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extresources-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-extresources-attrib.rng
new file mode 100644
index 00000000000..1fa08bfe7ba
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-filter.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-filter.rnc
new file mode 100644
index 00000000000..9d4cc259ef4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-filter.rnc
@@ -0,0 +1,214 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## 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.
+##
+[ xml:lang = "en" ]
+grammar {
+ include "svg-basic-filter.rnc"
+
+ ##
+ ## extend SVG.FilterPrimitive.class
+ ##
+ SVG.FilterPrimitive.class |=
+ feConvolveMatrix
+ | feDiffuseLighting
+ | feDisplacementMap
+ | feMorphology
+ | feSpecularLighting
+ | feTurbulence
+ a:documentation [
+ "\x{a}" ~
+ " feConvolveMatrix: Filter Effect Convolve Matrix Element\x{a}" ~
+ " "
+ ]
+ SVG.feConvolveMatrix.content = (animate | set)*
+ feConvolveMatrix =
+ element feConvolveMatrix {
+ attlist.feConvolveMatrix, SVG.feConvolveMatrix.content
+ }
+ attlist.feConvolveMatrix &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute order { NumberOptionalNumber.datatype },
+ attribute kernelMatrix { text },
+ attribute divisor { Number.datatype }?,
+ attribute bias { Number.datatype }?,
+ attribute targetX { Integer.datatype }?,
+ attribute targetY { Integer.datatype }?,
+ [ a:defaultValue = "duplicate" ]
+ attribute edgeMode { "duplicate" | "wrap" | "none" }?,
+ attribute kernelUnitLength { NumberOptionalNumber.datatype }?,
+ attribute preserveAlpha { Boolean.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feDiffuseLighting: Filter Effect Diffuse Lighting Element\x{a}" ~
+ " "
+ ]
+ SVG.feDiffuseLighting.content =
+ (feDistantLight | fePointLight | feSpotLight),
+ (animate | set | animateColor)*
+ feDiffuseLighting =
+ element feDiffuseLighting {
+ attlist.feDiffuseLighting, SVG.feDiffuseLighting.content
+ }
+ attlist.feDiffuseLighting &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Color.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute lighting-color { SVGColor.datatype }?,
+ attribute surfaceScale { Number.datatype }?,
+ attribute diffuseConstant { Number.datatype }?,
+ attribute kernelUnitLength { NumberOptionalNumber.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feDisplacementMap: Filter Effect Displacement Map Element\x{a}" ~
+ " "
+ ]
+ SVG.feDisplacementMap.content = (animate | set)*
+ feDisplacementMap =
+ element feDisplacementMap {
+ attlist.feDisplacementMap, SVG.feDisplacementMap.content
+ }
+ attlist.feDisplacementMap &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute in2 { text },
+ attribute scale { Number.datatype }?,
+ [ a:defaultValue = "A" ]
+ attribute xChannelSelector { "R" | "G" | "B" | "A" }?,
+ [ a:defaultValue = "A" ]
+ attribute yChannelSelector { "R" | "G" | "B" | "A" }?
+ a:documentation [
+ "\x{a}" ~
+ " feMorphology: Filter Effect Morphology Element\x{a}" ~
+ " "
+ ]
+ SVG.feMorphology.content = (animate | set)*
+ feMorphology =
+ element feMorphology {
+ attlist.feMorphology, SVG.feMorphology.content
+ }
+ attlist.feMorphology &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ [ a:defaultValue = "erode" ]
+ attribute operator { "erode" | "dilate" }?,
+ attribute radius { NumberOptionalNumber.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feSpecularLighting: Filter Effect Specular Lighting Element\x{a}" ~
+ " "
+ ]
+ SVG.feSpecularLighting.content =
+ (feDistantLight | fePointLight | feSpotLight),
+ (animate | set | animateColor)*
+ feSpecularLighting =
+ element feSpecularLighting {
+ attlist.feSpecularLighting, SVG.feSpecularLighting.content
+ }
+ attlist.feSpecularLighting &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Color.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute lighting-color { SVGColor.datatype }?,
+ attribute surfaceScale { Number.datatype }?,
+ attribute specularConstant { Number.datatype }?,
+ attribute specularExponent { Number.datatype }?,
+ attribute kernelUnitLength { NumberOptionalNumber.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feTurbulence: Filter Effect Turbulence Element\x{a}" ~
+ " "
+ ]
+ SVG.feTurbulence.content = (animate | set)*
+ feTurbulence =
+ element feTurbulence {
+ attlist.feTurbulence, SVG.feTurbulence.content
+ }
+ attlist.feTurbulence &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitive.attrib,
+ attribute baseFrequency { NumberOptionalNumber.datatype }?,
+ attribute numOctaves { Integer.datatype }?,
+ attribute seed { Number.datatype }?,
+ [ a:defaultValue = "noStitch" ]
+ attribute stitchTiles { "stitch" | "noStitch" }?,
+ [ a:defaultValue = "turbulence" ]
+ attribute type { "fractalNoise" | "turbulence" }?
+ a:documentation [
+ "\x{a}" ~
+ " feDistantLight: Filter Effect Distant Light Element\x{a}" ~
+ " "
+ ]
+ SVG.feDistantLight.content = (animate | set)*
+ feDistantLight =
+ element feDistantLight {
+ attlist.feDistantLight, SVG.feDistantLight.content
+ }
+ attlist.feDistantLight &=
+ SVG.Core.attrib,
+ attribute azimuth { Number.datatype }?,
+ attribute elevation { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " fePointLight: Filter Effect Point Light Element\x{a}" ~
+ " "
+ ]
+ SVG.fePointLight.content = (animate | set)*
+ fePointLight =
+ element fePointLight {
+ attlist.fePointLight, SVG.fePointLight.content
+ }
+ attlist.fePointLight &=
+ SVG.Core.attrib,
+ attribute x { Number.datatype }?,
+ attribute y { Number.datatype }?,
+ attribute z { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feSpotLight: Filter Effect Spot Light Element\x{a}" ~
+ " "
+ ]
+ SVG.feSpotLight.content = (animate | set)*
+ feSpotLight =
+ element feSpotLight { attlist.feSpotLight, SVG.feSpotLight.content }
+ attlist.feSpotLight &=
+ SVG.Core.attrib,
+ attribute x { Number.datatype }?,
+ attribute y { Number.datatype }?,
+ attribute z { Number.datatype }?,
+ attribute pointsAtX { Number.datatype }?,
+ attribute pointsAtY { Number.datatype }?,
+ attribute pointsAtZ { Number.datatype }?,
+ attribute specularExponent { Number.datatype }?,
+ attribute limitingConeAngle { Number.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-filter.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-filter.rng
new file mode 100644
index 00000000000..72bc2c37c50
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-font.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-font.rnc
new file mode 100644
index 00000000000..f14e10c2342
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-font.rnc
@@ -0,0 +1,108 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## 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.
+##
+[ xml:lang = "en" ]
+grammar {
+ include "svg-basic-font.rnc"
+ a:documentation [
+ "\x{a}" ~
+ " font-face: Font Face Element\x{a}" ~
+ " "
+ ]
+ SVG.font-face.extra.class &= definition-src?
+ a:documentation [ "\x{a}" ~ " glyph: Glyph Element\x{a}" ~ " " ]
+ SVG.glyph.class |=
+ SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class
+ a:documentation [
+ "\x{a}" ~
+ " missing-glyph: Missing Glyph Element\x{a}" ~
+ " "
+ ]
+ SVG.missing-glyph.class |=
+ SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class
+ a:documentation [
+ "\x{a}" ~
+ " font-face-uri: Font Face URI Element\x{a}" ~
+ " "
+ ]
+ SVG.font-face-uri.content |= font-face-format*
+ a:documentation [
+ "\x{a}" ~
+ " font-face-format: Font Face Format Element\x{a}" ~
+ " "
+ ]
+ SVG.font-face-format.content = empty
+ font-face-format =
+ element font-face-format {
+ attlist.font-face-format, SVG.font-face-format.content
+ }
+ attlist.font-face-format &=
+ SVG.Core.attrib,
+ attribute string { text }?
+ a:documentation [
+ "\x{a}" ~
+ " definition-src: Definition Source Element\x{a}" ~
+ " "
+ ]
+ SVG.definition-src.content = empty
+ definition-src =
+ element definition-src {
+ attlist.definition-src, SVG.definition-src.content
+ }
+ attlist.definition-src &= SVG.Core.attrib, SVG.XLinkRequired.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-font.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-font.rng
new file mode 100644
index 00000000000..f5da47c17ed
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-gradient.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-gradient.rnc
new file mode 100644
index 00000000000..e8c6e60525f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-gradient.rnc
@@ -0,0 +1,99 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Gradient
+##
+## linearGradient, radialGradient, stop
+##
+## This module declares markup to provide support for gradient fill.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ NumberOrPercentage.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Gradient.attrib\x{a}" ~ " " ]
+ SVG.Gradient.extra.attrib = empty
+ SVG.Gradient.attrib &=
+ attribute stop-color { SVGColor.datatype }?,
+ attribute stop-opacity { OpacityValue.datatype }?,
+ SVG.Gradient.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Gradient.class\x{a}" ~ " " ]
+ SVG.Gradient.extra.class = notAllowed
+ SVG.Gradient.class |=
+ linearGradient | radialGradient | SVG.Gradient.extra.class
+ a:documentation [
+ "\x{a}" ~
+ " linearGradient: Linear Gradient Element\x{a}" ~
+ " "
+ ]
+ SVG.linearGradient.content =
+ SVG.Description.class*, (stop | animate | set | animateTransform)*
+ linearGradient =
+ element linearGradient {
+ attlist.linearGradient, SVG.linearGradient.content
+ }
+ attlist.linearGradient &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Color.attrib,
+ SVG.Gradient.attrib,
+ SVG.XLink.attrib,
+ SVG.External.attrib,
+ attribute x1 { Coordinate.datatype }?,
+ attribute y1 { Coordinate.datatype }?,
+ attribute x2 { Coordinate.datatype }?,
+ attribute y2 { Coordinate.datatype }?,
+ attribute gradientUnits { "userSpaceOnUse" | "objectBoundingBox" }?,
+ attribute gradientTransform { TransformList.datatype }?,
+ attribute spreadMethod { "pad" | "reflect" | "repeat" }?
+ a:documentation [
+ "\x{a}" ~
+ " radialGradient: Radial Gradient Element\x{a}" ~
+ " "
+ ]
+ SVG.radialGradient.content =
+ SVG.Description.class*, (stop | animate | set | animateTransform)*
+ radialGradient =
+ element radialGradient {
+ attlist.radialGradient, SVG.radialGradient.content
+ }
+ attlist.radialGradient &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Color.attrib,
+ SVG.Gradient.attrib,
+ SVG.XLink.attrib,
+ SVG.External.attrib,
+ attribute cx { Coordinate.datatype }?,
+ attribute cy { Coordinate.datatype }?,
+ attribute r { Length.datatype }?,
+ attribute fx { Coordinate.datatype }?,
+ attribute fy { Coordinate.datatype }?,
+ attribute gradientUnits { "userSpaceOnUse" | "objectBoundingBox" }?,
+ attribute gradientTransform { TransformList.datatype }?,
+ attribute spreadMethod { "pad" | "reflect" | "repeat" }?
+ a:documentation [ "\x{a}" ~ " stop: Stop Element\x{a}" ~ " " ]
+ SVG.stop.content = (animate | set | animateColor)*
+ stop = element stop { attlist.stop, SVG.stop.content }
+ attlist.stop &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Color.attrib,
+ SVG.Gradient.attrib,
+ attribute offset { NumberOrPercentage.datatype }
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-gradient.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-gradient.rng
new file mode 100644
index 00000000000..a13c68f8341
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-graphevents-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphevents-attrib.rnc
new file mode 100644
index 00000000000..e5828f3dab8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphevents-attrib.rnc
@@ -0,0 +1,47 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Graphical Element Events Attribute
+##
+## onfocusin, onfocusout, onactivate, onclick, onmousedown, onmouseup,
+## onmouseover, onmousemove, onmouseout, onload
+##
+## This module defines the GraphicalEvents attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.onfocusin.attrib = attribute onfocusin { Script.datatype }?
+ SVG.onfocusout.attrib = attribute onfocusout { Script.datatype }?
+ SVG.onactivate.attrib = attribute onactivate { Script.datatype }?
+ SVG.onclick.attrib = attribute onclick { Script.datatype }?
+ SVG.onmousedown.attrib = attribute onmousedown { Script.datatype }?
+ SVG.onmouseup.attrib = attribute onmouseup { Script.datatype }?
+ SVG.onmouseover.attrib = attribute onmouseover { Script.datatype }?
+ SVG.onmousemove.attrib = attribute onmousemove { Script.datatype }?
+ SVG.onmouseout.attrib = attribute onmouseout { Script.datatype }?
+ SVG.onload.attrib &= attribute onload { Script.datatype }?
+ SVG.GraphicalEvents.extra.attrib = empty
+ SVG.GraphicalEvents.attrib &=
+ SVG.onfocusin.attrib,
+ SVG.onfocusout.attrib,
+ SVG.onactivate.attrib,
+ SVG.onclick.attrib,
+ SVG.onmousedown.attrib,
+ SVG.onmouseup.attrib,
+ SVG.onmouseover.attrib,
+ SVG.onmousemove.attrib,
+ SVG.onmouseout.attrib,
+ SVG.onload.attrib,
+ SVG.GraphicalEvents.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphevents-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphevents-attrib.rng
new file mode 100644
index 00000000000..4a69371858f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-graphics-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphics-attrib.rnc
new file mode 100644
index 00000000000..bbf132ab971
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphics-attrib.rnc
@@ -0,0 +1,64 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+namespace ns1 = "http://www.w3.org/2000/svg"
+
+
+##
+## 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 $
+##
+
+##
+## Graphics Attribute
+##
+## display, image-rendering, pointer-events, shape-rendering,
+## text-rendering, visibility
+##
+## This module defines the Graphics attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ include "svg-basic-graphics-attrib.rnc" inherit = ns1
+ SVG.image-rendering.attrib =
+ attribute image-rendering {
+ "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
+ }?
+ SVG.pointer-events.attrib =
+ attribute pointer-events {
+ "visiblePainted"
+ | "visibleFill"
+ | "visibleStroke"
+ | "visible"
+ | "painted"
+ | "fill"
+ | "stroke"
+ | "all"
+ | "none"
+ | "inherit"
+ }?
+ SVG.shape-rendering.attrib =
+ attribute shape-rendering {
+ "auto"
+ | "optimizeSpeed"
+ | "crispEdges"
+ | "geometricPrecision"
+ | "inherit"
+ }?
+ SVG.text-rendering.attrib =
+ attribute text-rendering {
+ "auto"
+ | "optimizeSpeed"
+ | "optimizeLegibility"
+ | "geometricPrecision"
+ | "inherit"
+ }?
+ SVG.Graphics.attrib &=
+ SVG.image-rendering.attrib,
+ SVG.pointer-events.attrib,
+ SVG.shape-rendering.attrib,
+ SVG.text-rendering.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphics-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphics-attrib.rng
new file mode 100644
index 00000000000..fb8b6c62348
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-graphics-attrib.rng
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" 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 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/rnc/LaTeXML/svg-hyperlink.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-hyperlink.rnc
new file mode 100644
index 00000000000..705e3e3334d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-hyperlink.rnc
@@ -0,0 +1,66 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Hyperlinking
+##
+## a
+##
+## This module declares markup to provide support for hyper linking.
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## link to this target
+ ##
+ LinkTarget.datatype = xsd:NMTOKEN
+ a:documentation [ "\x{a}" ~ " SVG.Hyperlink.class\x{a}" ~ " " ]
+ SVG.Hyperlink.extra.class = notAllowed
+ SVG.Hyperlink.class |= a | SVG.Hyperlink.extra.class
+ a:documentation [ "\x{a}" ~ " a: Anchor Element\x{a}" ~ " " ]
+ SVG.a.content =
+ (text
+ | SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ a = element a { attlist.a, SVG.a.content }
+ attlist.a &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.XLinkReplace.attrib,
+ SVG.External.attrib,
+ attribute transform { TransformList.datatype }?,
+ attribute target { LinkTarget.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-hyperlink.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-hyperlink.rng
new file mode 100644
index 00000000000..1e0c1807091
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-image.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-image.rnc
new file mode 100644
index 00000000000..0dffc8e1b92
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-image.rnc
@@ -0,0 +1,56 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Image
+##
+## image
+##
+## This module declares markup to provide support for image.
+##
+
+##
+## SVG.Image.class
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.Image.extra.class = notAllowed
+ SVG.Image.class |= image | SVG.Image.extra.class
+ a:documentation [ "\x{a}" ~ " image: Image Element\x{a}" ~ " " ]
+ SVG.image.content = SVG.Description.class*, SVG.Animation.class*
+ image = element image { attlist.image, SVG.image.content }
+ attlist.image &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Viewport.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Profile.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.XLinkEmbed.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype },
+ attribute height { Length.datatype },
+ [ a:defaultValue = "xMidYMid meet" ]
+ attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?,
+ attribute transform { TransformList.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-image.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-image.rng
new file mode 100644
index 00000000000..8b02c532890
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-marker.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-marker.rnc
new file mode 100644
index 00000000000..bfb7c316bd5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-marker.rnc
@@ -0,0 +1,76 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Marker
+##
+## marker
+##
+## This module declares markup to provide support for marker.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ MarkerValue.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Marker.attrib\x{a}" ~ " " ]
+ SVG.Marker.extra.attrib = empty
+ SVG.Marker.attrib &=
+ attribute marker-start { MarkerValue.datatype }?,
+ attribute marker-mid { MarkerValue.datatype }?,
+ attribute marker-end { MarkerValue.datatype }?,
+ SVG.Marker.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Marker.class\x{a}" ~ " " ]
+ SVG.Marker.extra.class = notAllowed
+ SVG.Marker.class |= marker | SVG.Marker.extra.class
+ a:documentation [ "\x{a}" ~ " marker: Marker Element\x{a}" ~ " " ]
+ SVG.marker.content =
+ (SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ marker = element marker { attlist.marker, SVG.marker.content }
+ attlist.marker &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.External.attrib,
+ attribute refX { Coordinate.datatype }?,
+ attribute refY { Coordinate.datatype }?,
+ attribute markerUnits { "strokeWidth" | "userSpaceOnUse" }?,
+ attribute markerWidth { Length.datatype }?,
+ attribute markerHeight { Length.datatype }?,
+ attribute orient { text }?,
+ attribute viewBox { ViewBoxSpec.datatype }?,
+ [ a:defaultValue = "xMidYMid meet" ]
+ attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-marker.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-marker.rng
new file mode 100644
index 00000000000..ef30e1d60c1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-mask.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-mask.rnc
new file mode 100644
index 00000000000..c5b8722bf8f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-mask.rnc
@@ -0,0 +1,74 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Mask
+##
+## mask
+##
+## This module declares markup to provide support for masking.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ MaskValue.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Mask.attrib\x{a}" ~ " " ]
+ SVG.Mask.extra.attrib = empty
+ SVG.Mask.attrib &=
+ attribute mask { MaskValue.datatype }?,
+ SVG.Mask.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Mask.class\x{a}" ~ " " ]
+ SVG.Mask.extra.class = notAllowed
+ SVG.Mask.class |= mask | SVG.Mask.extra.class
+ a:documentation [ "\x{a}" ~ " mask: Mask Element\x{a}" ~ " " ]
+ SVG.mask.content =
+ (SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ mask = element mask { attlist.mask, SVG.mask.content }
+ attlist.mask &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype }?,
+ attribute height { Length.datatype }?,
+ attribute maskUnits { "userSpaceOnUse" | "objectBoundingBox" }?,
+ attribute maskContentUnits {
+ "userSpaceOnUse" | "objectBoundingBox"
+ }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-mask.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-mask.rng
new file mode 100644
index 00000000000..ca25e47915d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-opacity-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-opacity-attrib.rnc
new file mode 100644
index 00000000000..c794117b5fa
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-opacity-attrib.rnc
@@ -0,0 +1,34 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Paint Opacity Attribute
+##
+## opacity, fill-opacity, stroke-opacity
+##
+## This module defines the Opacity attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.opacity.attrib = attribute opacity { OpacityValue.datatype }?
+ SVG.fill-opacity.attrib =
+ attribute fill-opacity { OpacityValue.datatype }?
+ SVG.stroke-opacity.attrib =
+ attribute stroke-opacity { OpacityValue.datatype }?
+ SVG.Opacity.extra.attrib = empty
+ SVG.Opacity.attrib &=
+ SVG.opacity.attrib,
+ SVG.fill-opacity.attrib,
+ SVG.stroke-opacity.attrib,
+ SVG.Opacity.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-opacity-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-opacity-attrib.rng
new file mode 100644
index 00000000000..44458f8b805
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-paint-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-paint-attrib.rnc
new file mode 100644
index 00000000000..bcb9ccce9e4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-paint-attrib.rnc
@@ -0,0 +1,97 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## 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.
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## a 'fill' or 'stroke' property/attribute value: <paint>
+ ##
+ Paint.datatype = xsd:string
+
+ ##
+ ## 'stroke-dasharray' property/attribute value
+ ## (e.g., 'none', list of <number>s)
+ ##
+ StrokeDashArrayValue.datatype = xsd:string
+
+ ##
+ ## 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>)
+ ##
+ StrokeDashOffsetValue.datatype = xsd:string
+
+ ##
+ ## 'stroke-miterlimit' property/attribute value (e.g., <number>)
+ ##
+ StrokeMiterLimitValue.datatype = xsd:string
+
+ ##
+ ## 'stroke-width' property/attribute value (e.g., <length>)
+ ##
+ StrokeWidthValue.datatype = xsd:string
+ SVG.fill.attrib = attribute fill { Paint.datatype }?
+ SVG.fill-rule.attrib = attribute fill-rule { ClipFillRule.datatype }?
+ SVG.stroke.attrib = attribute stroke { Paint.datatype }?
+ SVG.stroke-dasharray.attrib =
+ attribute stroke-dasharray { StrokeDashArrayValue.datatype }?
+ SVG.stroke-dashoffset.attrib =
+ attribute stroke-dashoffset { StrokeDashOffsetValue.datatype }?
+ SVG.stroke-linecap.attrib =
+ attribute stroke-linecap {
+ "butt" | "round" | "square" | "inherit"
+ }?
+ SVG.stroke-linejoin.attrib =
+ attribute stroke-linejoin {
+ "miter" | "round" | "bevel" | "inherit"
+ }?
+ SVG.stroke-miterlimit.attrib =
+ attribute stroke-miterlimit { StrokeMiterLimitValue.datatype }?
+ SVG.stroke-width.attrib =
+ attribute stroke-width { StrokeWidthValue.datatype }?
+ SVG.Paint.extra.attrib = empty
+ SVG.Paint.attrib &=
+ SVG.fill.attrib,
+ SVG.fill-rule.attrib,
+ SVG.stroke.attrib,
+ SVG.stroke-dasharray.attrib,
+ SVG.stroke-dashoffset.attrib,
+ SVG.stroke-linecap.attrib,
+ SVG.stroke-linejoin.attrib,
+ SVG.stroke-miterlimit.attrib,
+ SVG.stroke-width.attrib,
+ SVG.Paint.extra.attrib
+ SVG.color.attrib = attribute color { Color.datatype }?
+ SVG.color-interpolation.attrib =
+ attribute color-interpolation {
+ "auto" | "sRGB" | "linearRGB" | "inherit"
+ }?
+ SVG.color-rendering.attrib =
+ attribute color-rendering {
+ "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
+ }?
+ SVG.Color.extra.attrib = empty
+ SVG.Color.attrib &=
+ SVG.color.attrib,
+ SVG.color-interpolation.attrib,
+ SVG.color-rendering.attrib,
+ SVG.Color.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-paint-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-paint-attrib.rng
new file mode 100644
index 00000000000..fe9d499edca
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-pattern.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-pattern.rnc
new file mode 100644
index 00000000000..0a538fe96a8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-pattern.rnc
@@ -0,0 +1,76 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Pattern
+##
+## pattern
+##
+## This module declares markup to provide support for pattern fill.
+##
+
+##
+## SVG.Pattern.class
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.Pattern.extra.class = notAllowed
+ SVG.Pattern.class |= pattern | SVG.Pattern.extra.class
+ a:documentation [
+ "\x{a}" ~
+ " pattern: Pattern Element\x{a}" ~
+ " "
+ ]
+ SVG.pattern.content =
+ (SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ pattern = element pattern { attlist.pattern, SVG.pattern.content }
+ attlist.pattern &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.XLink.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype }?,
+ attribute height { Length.datatype }?,
+ attribute patternUnits { "userSpaceOnUse" | "objectBoundingBox" }?,
+ attribute patternContentUnits {
+ "userSpaceOnUse" | "objectBoundingBox"
+ }?,
+ attribute patternTransform { TransformList.datatype }?,
+ attribute viewBox { ViewBoxSpec.datatype }?,
+ [ a:defaultValue = "xMidYMid meet" ]
+ attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-pattern.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-pattern.rng
new file mode 100644
index 00000000000..371521b1688
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-profile.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-profile.rnc
new file mode 100644
index 00000000000..ba154bdca8b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-profile.rnc
@@ -0,0 +1,58 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Color Profile
+##
+## color-profile
+##
+## This module declares markup to provide support for color profile.
+##
+
+##
+## SVG.Profile.attrib
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.Profile.extra.attrib = empty
+ SVG.Profile.attrib &=
+ attribute color-profile { text }?,
+ SVG.Profile.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Profile.class\x{a}" ~ " " ]
+ SVG.Profile.extra.class = notAllowed
+ SVG.Profile.class |= color-profile | SVG.Profile.extra.class
+ a:documentation [
+ "\x{a}" ~
+ " color-profile: Color Profile Element\x{a}" ~
+ " "
+ ]
+ SVG.color-profile.content = SVG.Description.class*
+ color-profile =
+ element color-profile {
+ attlist.color-profile, SVG.color-profile.content
+ }
+ attlist.color-profile &=
+ SVG.Core.attrib,
+ SVG.XLink.attrib,
+ attribute local { text }?,
+ attribute name { text },
+ [ a:defaultValue = "auto" ]
+ attribute rendering-intent {
+ "auto"
+ | "perceptual"
+ | "relative-colorimetric"
+ | "saturation"
+ | "absolute-colorimetric"
+ }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-profile.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-profile.rng
new file mode 100644
index 00000000000..11834192f0f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-qname.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-qname.rng
new file mode 100644
index 00000000000..e4a9e19f87c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-qname.rng
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" xmlns="http://relaxng.org/ns/structure/1.0" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:xlink="http://www.w3.org/1999/xlink" ns="http://www.w3.org/2000/svg">
+<!-- ....................................................................... -->
+<!-- SVG 1.1 Qualified Name Module ......................................... -->
+<!-- file: svg-qname.mod
+
+ This is SVG, a language for describing two-dimensional graphics in XML.
+ Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: svg-qname.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ENTITIES SVG 1.1 Qualified Name//EN"
+ SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-qname.mod"
+
+ ....................................................................... -->
+<!-- Qualified Name
+
+ This module is contained in two parts, labeled Section 'A' and 'B':
+
+ Section A declares parameter entities to support namespace-
+ qualified names, namespace declarations, and name prefixing
+ for SVG and extensions.
+
+ Section B declares parameter entities used to provide
+ namespace-qualified names for all SVG element types:
+-->
+<!-- Section A: SVG XML Namespace Framework :::::::::::::::::::::: -->
+<!-- 1. Declare a %SVG.prefixed; conditional section keyword, used
+ to activate namespace prefixing. The default value should
+ inherit '%NS.prefixed;' from the DTD driver, so that unless
+ overridden, the default behaviour follows the overall DTD
+ prefixing scheme.
+-->
+<!-- 2. Declare a parameter entity (eg., %SVG.xmlns;) containing
+ the URI reference used to identify the SVG namespace:
+-->
+<!-- 3. Declare parameter entities (eg., %SVG.prefix;) containing
+ the default namespace prefix string(s) to use when prefixing
+ is enabled. This may be overridden in the DTD driver or the
+ internal subset of an document instance. If no default prefix
+ is desired, this may be declared as an empty string.
+-->
+<!-- 4. Declare parameter entities (eg., %SVG.pfx;) containing the
+ colonized prefix(es) (eg., '%SVG.prefix;:') used when
+ prefixing is active, an empty string when it is not.
+-->
+<!-- 5. The parameter entity %SVG.xmlns.extra.attrib; may be
+ redeclared to contain any non-SVG namespace declaration
+ attributes for namespaces embedded in SVG. The default
+ is an empty string.
+-->
+<!-- Declare a parameter entity XLINK.xmlns.attrib containing
+ the XML Namespace declarations for XLink.
+-->
+ <define name="XLINK.xmlns.attrib">
+ <empty/>
+ </define>
+<!-- Declare a parameter entity %NS.decl.attrib; containing
+ all XML Namespace declarations used in the DTD, plus the
+ xmlns declaration for SVG, its form dependent on whether
+ prefixing is active.
+-->
+<!-- Declare a parameter entity %SVG.xmlns.attrib; containing
+ all XML namespace declaration attributes used by SVG,
+ including a default xmlns attribute when prefixing is
+ inactive.
+-->
+ <define name="SVG.xmlns.attrib">
+ <empty/>
+ <ref name="XLINK.xmlns.attrib"/>
+ </define>
+<!-- Section B: SVG Qualified Names :::::::::::::::::::::::::::::: -->
+<!-- 6. This section declares parameter entities used to provide
+ namespace-qualified names for all SVG element types.
+-->
+<!-- module: svg-structure.mod ......................... -->
+<!-- module: svg-conditional.mod ....................... -->
+<!-- module: svg-image.mod ............................. -->
+<!-- module: svg-style.mod ............................. -->
+<!-- module: svg-shape.mod ............................. -->
+<!-- module: svg-text.mod .............................. -->
+<!-- module: svg-marker.mod ............................ -->
+<!-- module: svg-profile.mod ........................... -->
+<!-- module: svg-gradient.mod .......................... -->
+<!-- module: svg-pattern.mod ........................... -->
+<!-- module: svg-clip.mod .............................. -->
+<!-- module: svg-mask.mod .............................. -->
+<!-- module: svg-filter.mod ............................ -->
+<!-- module: svg-cursor.mod ............................ -->
+<!-- module: svg-hyperlink.mod ......................... -->
+<!-- module: svg-view.mod .............................. -->
+<!-- module: svg-script.mod ............................ -->
+<!-- module: svg-animation.mod ......................... -->
+<!-- module: svg-font.mod .............................. -->
+<!-- module: svg-extensibility.mod ..................... -->
+<!-- end of svg-qname.mod -->
+</grammar>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-script.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-script.rnc
new file mode 100644
index 00000000000..a990e5497fc
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-script.rnc
@@ -0,0 +1,38 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Scripting
+##
+## script
+##
+## This module declares markup to provide support for scripting.
+##
+
+##
+## SVG.Script.class
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.Script.extra.class = notAllowed
+ SVG.Script.class |= script | SVG.Script.extra.class
+ a:documentation [ "\x{a}" ~ " script: Script Element\x{a}" ~ " " ]
+ SVG.script.content = text
+ script = element script { attlist.script, SVG.script.content }
+ attlist.script &=
+ SVG.Core.attrib,
+ SVG.XLink.attrib,
+ SVG.External.attrib,
+ attribute type { ContentType.datatype }
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-script.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-script.rng
new file mode 100644
index 00000000000..4e21020a398
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-shape.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-shape.rnc
new file mode 100644
index 00000000000..cc80462b97d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-shape.rnc
@@ -0,0 +1,207 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Shape
+##
+## path, rect, circle, line, ellipse, polyline, polygon
+##
+## This module declares markup to provide support for graphical shapes.
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## a list of points
+ ##
+ Points.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Shape.class\x{a}" ~ " " ]
+ SVG.Shape.extra.class = notAllowed
+ SVG.Shape.class |=
+ path
+ | rect
+ | circle
+ | line
+ | ellipse
+ | polyline
+ | polygon
+ | SVG.Shape.extra.class
+ a:documentation [ "\x{a}" ~ " path: Path Element\x{a}" ~ " " ]
+ SVG.path.content = SVG.Description.class*, SVG.Animation.class*
+ path = element path { attlist.path, SVG.path.content }
+ attlist.path &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Marker.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute d { PathData.datatype },
+ attribute pathLength { Number.datatype }?,
+ attribute transform { TransformList.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " rect: Rectangle Element\x{a}" ~
+ " "
+ ]
+ SVG.rect.content = SVG.Description.class*, SVG.Animation.class*
+ rect = element rect { attlist.rect, SVG.rect.content }
+ attlist.rect &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype },
+ attribute height { Length.datatype },
+ attribute rx { Length.datatype }?,
+ attribute ry { Length.datatype }?,
+ attribute transform { TransformList.datatype }?
+ a:documentation [ "\x{a}" ~ " circle: Circle Element\x{a}" ~ " " ]
+ SVG.circle.content = SVG.Description.class*, SVG.Animation.class*
+ circle = element circle { attlist.circle, SVG.circle.content }
+ attlist.circle &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute cx { Coordinate.datatype }?,
+ attribute cy { Coordinate.datatype }?,
+ attribute r { Length.datatype },
+ attribute transform { TransformList.datatype }?
+ a:documentation [ "\x{a}" ~ " line: Line Element\x{a}" ~ " " ]
+ SVG.line.content = SVG.Description.class*, SVG.Animation.class*
+ line = element line { attlist.line, SVG.line.content }
+ attlist.line &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Marker.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute x1 { Coordinate.datatype }?,
+ attribute y1 { Coordinate.datatype }?,
+ attribute x2 { Coordinate.datatype }?,
+ attribute y2 { Coordinate.datatype }?,
+ attribute transform { TransformList.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " ellipse: Ellipse Element\x{a}" ~
+ " "
+ ]
+ SVG.ellipse.content = SVG.Description.class*, SVG.Animation.class*
+ ellipse = element ellipse { attlist.ellipse, SVG.ellipse.content }
+ attlist.ellipse &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute cx { Coordinate.datatype }?,
+ attribute cy { Coordinate.datatype }?,
+ attribute rx { Length.datatype },
+ attribute ry { Length.datatype },
+ attribute transform { TransformList.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " polyline: Polyline Element\x{a}" ~
+ " "
+ ]
+ SVG.polyline.content = SVG.Description.class*, SVG.Animation.class*
+ polyline = element polyline { attlist.polyline, SVG.polyline.content }
+ attlist.polyline &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Marker.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute points { Points.datatype },
+ attribute transform { TransformList.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " polygon: Polygon Element\x{a}" ~
+ " "
+ ]
+ SVG.polygon.content = SVG.Description.class*, SVG.Animation.class*
+ polygon = element polygon { attlist.polygon, SVG.polygon.content }
+ attlist.polygon &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Marker.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute points { Points.datatype },
+ attribute transform { TransformList.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-shape.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-shape.rng
new file mode 100644
index 00000000000..c931bab7ae2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-structure.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-structure.rnc
new file mode 100644
index 00000000000..370c4259c05
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-structure.rnc
@@ -0,0 +1,62 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Structure
+##
+## svg, g, defs, desc, title, metadata, symbol, use
+##
+## This module declares the major structural elements and their attributes.
+##
+[ xml:lang = "en" ]
+grammar {
+ include "svg-basic-structure.rnc"
+
+ ##
+ ## extend SVG.Structure.class
+ ##
+ SVG.Structure.class |= symbol
+ a:documentation [ "\x{a}" ~ " symbol: Symbol Element\x{a}" ~ " " ]
+ SVG.symbol.content =
+ (SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ symbol = element symbol { attlist.symbol, SVG.symbol.content }
+ attlist.symbol &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.External.attrib,
+ attribute viewBox { ViewBoxSpec.datatype }?,
+ [ a:defaultValue = "xMidYMid meet" ]
+ attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-structure.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-structure.rng
new file mode 100644
index 00000000000..533d3462646
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-style.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-style.rnc
new file mode 100644
index 00000000000..68c7f48c1a3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-style.rnc
@@ -0,0 +1,56 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Style
+##
+## style
+##
+## This module declares markup to provide support for stylesheet.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ ClassList.datatype = xsd:NMTOKENS
+ StyleSheet.datatype = xsd:string
+
+ ##
+ ## comma-separated list of media descriptors.
+ ##
+ MediaDesc.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Style.attrib\x{a}" ~ " " ]
+ SVG.Style.extra.attrib = empty
+ SVG.Style.attrib &=
+ attribute style { StyleSheet.datatype }?,
+ attribute class { ClassList.datatype }?,
+ SVG.Style.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Style.class\x{a}" ~ " " ]
+ SVG.Style.extra.class = notAllowed
+ SVG.Style.class |= style | SVG.Style.extra.class
+ a:documentation [ "\x{a}" ~ " style: Style Element\x{a}" ~ " " ]
+ SVG.style.content = text
+ style = element style { attlist.style, SVG.style.content }
+ attlist.style &=
+ [ a:defaultValue = "preserve" ] attribute xml:space { "preserve" }?,
+ SVG.id.attrib,
+ SVG.base.attrib,
+ SVG.lang.attrib,
+ SVG.Core.extra.attrib,
+ attribute type { ContentType.datatype },
+ attribute media { MediaDesc.datatype }?,
+ attribute title { Text.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-style.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-style.rng
new file mode 100644
index 00000000000..bc9b9a736f6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-text.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-text.rnc
new file mode 100644
index 00000000000..b9d52e14420
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-text.rnc
@@ -0,0 +1,275 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Text
+##
+## text, tspan, tref, textPath, altGlyph, altGlyphDef, altGlyphItem,
+## glyphRef
+##
+## This module declares markup to provide support for alternate glyph.
+##
+[ xml:lang = "en" ]
+grammar {
+ include "svg-basic-text.rnc"
+ a:documentation [ "\x{a}" ~ " Datatypes\x{a}" ~ " " ]
+ BaselineShiftValue.datatype = xsd:string
+ FontSizeAdjustValue.datatype = xsd:string
+ GlyphOrientationHorizontalValue.datatype = xsd:string
+ GlyphOrientationVerticalValue.datatype = xsd:string
+ KerningValue.datatype = xsd:string
+ SpacingValue.datatype = xsd:string
+ TextDecorationValue.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Text.attrib\x{a}" ~ " " ]
+ SVG.Text.extra.attrib = empty
+ SVG.Text.attrib &=
+ attribute writing-mode {
+ "lr-tb" | "rl-tb" | "tb-rl" | "lr" | "rl" | "tb" | "inherit"
+ }?,
+ SVG.Text.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.TextContent.attrib\x{a}" ~ " " ]
+ SVG.TextContent.extra.attrib = empty
+ SVG.TextContent.attrib &=
+ attribute alignment-baseline {
+ "auto"
+ | "baseline"
+ | "before-edge"
+ | "text-before-edge"
+ | "middle"
+ | "central"
+ | "after-edge"
+ | "text-after-edge"
+ | "ideographic"
+ | "alphabetic"
+ | "hanging"
+ | "mathematical"
+ | "inherit"
+ }?,
+ attribute baseline-shift { BaselineShiftValue.datatype }?,
+ attribute direction { "ltr" | "rtl" | "inherit" }?,
+ attribute dominant-baseline {
+ "auto"
+ | "use-script"
+ | "no-change"
+ | "reset-size"
+ | "ideographic"
+ | "alphabetic"
+ | "hanging"
+ | "mathematical"
+ | "central"
+ | "middle"
+ | "text-after-edge"
+ | "text-before-edge"
+ | "inherit"
+ }?,
+ attribute glyph-orientation-horizontal {
+ GlyphOrientationHorizontalValue.datatype
+ }?,
+ attribute glyph-orientation-vertical {
+ GlyphOrientationVerticalValue.datatype
+ }?,
+ attribute kerning { KerningValue.datatype }?,
+ attribute letter-spacing { SpacingValue.datatype }?,
+ attribute text-anchor { "start" | "middle" | "end" | "inherit" }?,
+ attribute text-decoration { TextDecorationValue.datatype }?,
+ attribute unicode-bidi {
+ "normal" | "embed" | "bidi-override" | "inherit"
+ }?,
+ attribute word-spacing { SpacingValue.datatype }?,
+ SVG.TextContent.extra.attrib
+ SVG.Font.attrib &=
+ attribute font-size-adjust { FontSizeAdjustValue.datatype }?,
+ attribute font-stretch {
+ "normal"
+ | "wider"
+ | "narrower"
+ | "ultra-condensed"
+ | "extra-condensed"
+ | "condensed"
+ | "semi-condensed"
+ | "semi-expanded"
+ | "expanded"
+ | "extra-expanded"
+ | "ultra-expanded"
+ | "inherit"
+ }?,
+ attribute font-variant { "normal" | "small-caps" | "inherit" }?
+
+ ##
+ ## extend SVG.Text.class
+ ##
+ SVG.Text.class |= altGlyphDef
+
+ ##
+ ## extend SVG.TextContent.class
+ ##
+ SVG.TextContent.class |= tspan | tref | textPath
+ a:documentation [ "\x{a}" ~ " text: Text Element\x{a}" ~ " " ]
+ SVG.text.class |= SVG.TextContent.class
+ attlist.text &=
+ SVG.Text.attrib,
+ SVG.TextContent.attrib,
+ attribute dx { Lengths.datatype }?,
+ attribute dy { Lengths.datatype }?,
+ attribute textLength { Length.datatype }?,
+ attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }?
+ a:documentation [
+ "\x{a}" ~
+ " tspan: Text Span Element\x{a}" ~
+ " "
+ ]
+ SVG.tspan.content =
+ (text
+ | tspan
+ | tref
+ | altGlyph
+ | animate
+ | set
+ | animateColor
+ | SVG.Description.class
+ | SVG.Hyperlink.class)*
+ tspan = element tspan { attlist.tspan, SVG.tspan.content }
+ attlist.tspan &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.TextContent.attrib,
+ SVG.Font.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinates.datatype }?,
+ attribute y { Coordinates.datatype }?,
+ attribute dx { Lengths.datatype }?,
+ attribute dy { Lengths.datatype }?,
+ attribute rotate { Numbers.datatype }?,
+ attribute textLength { Length.datatype }?,
+ attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }?
+ a:documentation [
+ "\x{a}" ~
+ " tref: Text Reference Element\x{a}" ~
+ " "
+ ]
+ SVG.tref.content =
+ (animate | set | animateColor | SVG.Description.class)*
+ tref = element tref { attlist.tref, SVG.tref.content }
+ attlist.tref &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.TextContent.attrib,
+ SVG.Font.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.XLinkRequired.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinates.datatype }?,
+ attribute y { Coordinates.datatype }?,
+ attribute dx { Lengths.datatype }?,
+ attribute dy { Lengths.datatype }?,
+ attribute rotate { Numbers.datatype }?,
+ attribute textLength { Length.datatype }?,
+ attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }?
+ a:documentation [
+ "\x{a}" ~
+ " textPath: Text Path Element\x{a}" ~
+ " "
+ ]
+ SVG.textPath.content =
+ (text
+ | tspan
+ | tref
+ | altGlyph
+ | animate
+ | set
+ | animateColor
+ | SVG.Description.class
+ | SVG.Hyperlink.class)*
+ textPath = element textPath { attlist.textPath, SVG.textPath.content }
+ attlist.textPath &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.TextContent.attrib,
+ SVG.Font.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.XLinkRequired.attrib,
+ SVG.External.attrib,
+ attribute startOffset { Length.datatype }?,
+ attribute textLength { Length.datatype }?,
+ attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }?,
+ attribute method { "align" | "stretch" }?,
+ attribute spacing { "auto" | "exact" }?
+ a:documentation [
+ "\x{a}" ~
+ " altGlyph: Alternate Glyph Element\x{a}" ~
+ " "
+ ]
+ attlist.altGlyph &=
+ SVG.TextContent.attrib,
+ attribute x { Coordinates.datatype }?,
+ attribute y { Coordinates.datatype }?,
+ attribute dx { Lengths.datatype }?,
+ attribute dy { Lengths.datatype }?,
+ attribute rotate { Numbers.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " altGlyphDef: Alternate Glyph Definition Element\x{a}" ~
+ " "
+ ]
+ SVG.altGlyphDef.content |= altGlyphItem+
+ a:documentation [
+ "\x{a}" ~
+ " altGlyphItem: Alternate Glyph Item Element\x{a}" ~
+ " "
+ ]
+ SVG.altGlyphItem.content = glyphRef+
+ altGlyphItem =
+ element altGlyphItem {
+ attlist.altGlyphItem, SVG.altGlyphItem.content
+ }
+ attlist.altGlyphItem &= SVG.Core.attrib
+ a:documentation [
+ "\x{a}" ~
+ " glyphRef: Glyph Reference Element\x{a}" ~
+ " "
+ ]
+ attlist.glyphRef &=
+ attribute x { Number.datatype }?,
+ attribute y { Number.datatype }?,
+ attribute dx { Number.datatype }?,
+ attribute dy { Number.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-text.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-text.rng
new file mode 100644
index 00000000000..d0740889641
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-view.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-view.rnc
new file mode 100644
index 00000000000..41501c31f92
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-view.rnc
@@ -0,0 +1,42 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## View
+##
+## view
+##
+## This module declares markup to provide support for view.
+##
+
+##
+## SVG.View.class
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.View.extra.class = notAllowed
+ SVG.View.class |= view | SVG.View.extra.class
+ a:documentation [ "\x{a}" ~ " view: View Element\x{a}" ~ " " ]
+ SVG.view.content = SVG.Description.class*
+ view = element view { attlist.view, SVG.view.content }
+ attlist.view &=
+ SVG.Core.attrib,
+ SVG.External.attrib,
+ attribute viewBox { ViewBoxSpec.datatype }?,
+ [ a:defaultValue = "xMidYMid meet" ]
+ attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?,
+ [ a:defaultValue = "magnify" ]
+ attribute zoomAndPan { "disable" | "magnify" }?,
+ attribute viewTarget { text }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-view.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-view.rng
new file mode 100644
index 00000000000..2b26547d2f8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-viewport-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-viewport-attrib.rnc
new file mode 100644
index 00000000000..d7acd96d7c5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-viewport-attrib.rnc
@@ -0,0 +1,36 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Viewport Attribute
+##
+## clip, overflow
+##
+## This module defines the Viewport attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## 'clip' property/attribute value (e.g., 'auto', rect(...))
+ ##
+ ClipValue.datatype = xsd:string
+ SVG.clip.attrib = attribute clip { ClipValue.datatype }?
+ SVG.overflow.attrib =
+ attribute overflow {
+ "visible" | "hidden" | "scroll" | "auto" | "inherit"
+ }?
+ SVG.Viewport.extra.attrib = empty
+ SVG.Viewport.attrib &=
+ SVG.clip.attrib, SVG.overflow.attrib, SVG.Viewport.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-viewport-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-viewport-attrib.rng
new file mode 100644
index 00000000000..1578d27ceb3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg-xlink-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-xlink-attrib.rnc
new file mode 100644
index 00000000000..c31505e04d2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-xlink-attrib.rnc
@@ -0,0 +1,67 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+namespace xlink = "http://www.w3.org/1999/xlink"
+
+
+##
+## 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 $
+##
+
+##
+## XLink Attribute
+##
+## type, href, role, arcrole, title, show, actuate
+##
+## This module defines the XLink, XLinkRequired, XLinkEmbed, and
+## XLinkReplace attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.XLink.extra.attrib = empty
+ SVG.XLink.attrib &=
+ [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
+ attribute xlink:href { URI.datatype }?,
+ attribute xlink:role { URI.datatype }?,
+ attribute xlink:arcrole { URI.datatype }?,
+ attribute xlink:title { text }?,
+ [ a:defaultValue = "other" ] attribute xlink:show { "other" }?,
+ [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?,
+ SVG.XLink.extra.attrib
+ SVG.XLinkRequired.extra.attrib = empty
+ SVG.XLinkRequired.attrib &=
+ [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
+ attribute xlink:href { URI.datatype },
+ attribute xlink:role { URI.datatype }?,
+ attribute xlink:arcrole { URI.datatype }?,
+ attribute xlink:title { text }?,
+ [ a:defaultValue = "other" ] attribute xlink:show { "other" }?,
+ [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?,
+ SVG.XLinkRequired.extra.attrib
+ SVG.XLinkEmbed.extra.attrib = empty
+ SVG.XLinkEmbed.attrib &=
+ [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
+ attribute xlink:href { URI.datatype },
+ attribute xlink:role { URI.datatype }?,
+ attribute xlink:arcrole { URI.datatype }?,
+ attribute xlink:title { text }?,
+ [ a:defaultValue = "embed" ] attribute xlink:show { "embed" }?,
+ [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?,
+ SVG.XLinkEmbed.extra.attrib
+ SVG.XLinkReplace.extra.attrib = empty
+ SVG.XLinkReplace.attrib &=
+ [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
+ attribute xlink:href { URI.datatype },
+ attribute xlink:role { URI.datatype }?,
+ attribute xlink:arcrole { URI.datatype }?,
+ attribute xlink:title { text }?,
+ [ a:defaultValue = "replace" ]
+ attribute xlink:show { "new" | "replace" }?,
+ [ a:defaultValue = "onRequest" ]
+ attribute xlink:actuate { "onRequest" }?,
+ SVG.XLinkReplace.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-xlink-attrib.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg-xlink-attrib.rng
new file mode 100644
index 00000000000..0f1a65dffef
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/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/rnc/LaTeXML/svg11-basic.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11-basic.rng
new file mode 100644
index 00000000000..bacfea8f65e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11-basic.rng
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE grammar SYSTEM "../relaxng.dtd">
+<grammar ns="http://www.w3.org/2000/svg" xml:lang="en"
+ xmlns="http://relaxng.org/ns/structure/1.0"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+
+ <a:documentation>
+ RELAX NG schema for SVG 1.1 Basic
+ file: svg11-basic.rng
+
+ This is SVG Basic, a proper subset of SVG.
+
+ 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-basic.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+
+ This is the driver file for version 1.1 of the SVG Basic RELAX NG schema.
+
+ The DTD version is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN"
+ SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd"
+
+ Use this URI to identify the default namespace:
+
+ "http://www.w3.org/2000/svg"
+ </a:documentation>
+
+ <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>
+ 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-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-basic-clip.rng">
+ <a:documentation>
+ Basic Clip Module
+ </a:documentation>
+ </include>
+
+ <include href="svg-mask.rng">
+ <a:documentation>
+ Mask Module
+ </a:documentation>
+ </include>
+
+ <include href="svg-basic-filter.rng">
+ <a:documentation>
+ Basic 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/rnc/LaTeXML/svg11-tiny.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11-tiny.rng
new file mode 100644
index 00000000000..6d7a30bf346
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11-tiny.rng
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE grammar SYSTEM "../relaxng.dtd">
+<grammar ns="http://www.w3.org/2000/svg" xml:lang="en"
+ xmlns="http://relaxng.org/ns/structure/1.0"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+
+ <a:documentation>
+ RELAX NG schema for SVG 1.1 Tiny
+ file: svg11-tiny.rng
+
+ This is SVG Tiny, a proper subset of SVG.
+
+ 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-tiny.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+
+ This is the driver file for version 1.1 of the SVG Tiny RELAX NG schema.
+
+ The DTD version is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN"
+ SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"
+
+ Use this URI to identify the default namespace:
+
+ "http://www.w3.org/2000/svg"
+ </a:documentation>
+
+ <include href="svg-paint-attrib.rng">
+ <a:documentation>
+ Paint Attribute Module
+ </a:documentation>
+ </include>
+
+ <include href="svg-basic-graphics-attrib.rng">
+ <a:documentation>
+ Basic 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-basic-structure.rng">
+ <a:documentation>
+ Basic 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-basic-text.rng">
+ <a:documentation>
+ Basic Text 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-basic-font.rng">
+ <a:documentation>
+ Basic 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/rnc/LaTeXML/svg11.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11.rnc
new file mode 100644
index 00000000000..a4b74cdc9a4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11.rnc
@@ -0,0 +1,193 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+namespace ns1 = "http://www.w3.org/2000/svg"
+namespace xlink = "http://www.w3.org/1999/xlink"
+
+
+##
+## 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"
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## Container Attribute Module
+ ##
+ include "svg-container-attrib.rnc" inherit = ns1
+
+ ##
+ ## Viewport Attribute Module
+ ##
+ include "svg-viewport-attrib.rnc" inherit = ns1
+
+ ##
+ ## Paint Attribute Module
+ ##
+ include "svg-paint-attrib.rnc" inherit = ns1
+
+ ##
+ ## Paint Opacity Attribute Module
+ ##
+ include "svg-opacity-attrib.rnc" inherit = ns1
+
+ ##
+ ## Graphics Attribute Module
+ ##
+ include "svg-graphics-attrib.rnc" inherit = ns1
+
+ ##
+ ## Document Events Attribute Module
+ ##
+ include "svg-docevents-attrib.rnc" inherit = ns1
+
+ ##
+ ## Graphical Element Events Attribute Module
+ ##
+ include "svg-graphevents-attrib.rnc" inherit = ns1
+
+ ##
+ ## Animation Events Attribute Module
+ ##
+ include "svg-animevents-attrib.rnc" inherit = ns1
+
+ ##
+ ## XLink Attribute Module
+ ##
+ include "svg-xlink-attrib.rnc" inherit = ns1
+
+ ##
+ ## External Resources Attribute Module
+ ##
+ include "svg-extresources-attrib.rnc" inherit = ns1
+
+ ##
+ ## Structure Module (required)
+ ##
+ include "svg-structure.rnc" inherit = ns1
+
+ ##
+ ## Conditional Processing Module
+ ##
+ include "svg-conditional.rnc" inherit = ns1
+
+ ##
+ ## Image Module
+ ##
+ include "svg-image.rnc" inherit = ns1
+
+ ##
+ ## Style Module
+ ##
+ include "svg-style.rnc" inherit = ns1
+
+ ##
+ ## Shape Module
+ ##
+ include "svg-shape.rnc" inherit = ns1
+
+ ##
+ ## Text Module
+ ##
+ include "svg-text.rnc" inherit = ns1
+
+ ##
+ ## Marker Module
+ ##
+ include "svg-marker.rnc" inherit = ns1
+
+ ##
+ ## Color Profile Module
+ ##
+ include "svg-profile.rnc" inherit = ns1
+
+ ##
+ ## Gradient Module
+ ##
+ include "svg-gradient.rnc" inherit = ns1
+
+ ##
+ ## Pattern Module
+ ##
+ include "svg-pattern.rnc" inherit = ns1
+
+ ##
+ ## Clip Module
+ ##
+ include "svg-clip.rnc" inherit = ns1
+
+ ##
+ ## Mask Module
+ ##
+ include "svg-mask.rnc" inherit = ns1
+
+ ##
+ ## Filter Module
+ ##
+ include "svg-filter.rnc" inherit = ns1
+
+ ##
+ ## Cursor Module
+ ##
+ include "svg-cursor.rnc" inherit = ns1
+
+ ##
+ ## Hyperlinking Module
+ ##
+ include "svg-hyperlink.rnc" inherit = ns1
+
+ ##
+ ## View Module
+ ##
+ include "svg-view.rnc" inherit = ns1
+
+ ##
+ ## Scripting Module
+ ##
+ include "svg-script.rnc" inherit = ns1
+
+ ##
+ ## Animation Module
+ ##
+ include "svg-animation.rnc" inherit = ns1
+
+ ##
+ ## Font Module
+ ##
+ include "svg-font.rnc" inherit = ns1
+
+ ##
+ ## Extensibility Module
+ ##
+ include "svg-extensibility.rnc" inherit = ns1
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11.rng b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11.rng
new file mode 100644
index 00000000000..4b643a943b3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/LaTeXML/svg11.rng
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xml:lang="en" 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: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/rnc/Makefile b/Master/texmf-dist/source/latex/stex/schema/rnc/Makefile
new file mode 100644
index 00000000000..b5848cdf65c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/Makefile
@@ -0,0 +1,6 @@
+all:
+
+clean:
+ rm -f *~
+distclean: clean
+ rm -f *.dtd *.xsd *.rng
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/metadata.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/metadata.rnc
new file mode 100644
index 00000000000..18f2461ec6c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/metadata.rnc
@@ -0,0 +1,41 @@
+# /=====================================================================\
+# | 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=/
+
+default namespace = "http://dlmf.nist.gov/LaTeXML"
+
+dc.class = Creator | Contributor | Title | Subject |
+ Description | Publisher | Date | Type |
+ Identifier | Source | Language | Relation |
+ Rights | license
+
+metadata = element metadata {Common.attribs,(dc.class)*}
+
+
+Creator = element Creator {Common.attribs,(text|Inline.class)*}
+Contributor = element Contributor {Common.attribs,(text|Inline.class)*}
+Title = element Title {Common.attribs,(text|Inline.class)*}
+Subject = element Subject {Common.attribs,(text|Inline.class)*}
+Description = element Description {Common.attribs,(text|Inline.class)*}
+Publisher = element Publisher {Common.attribs,(text|Inline.class)*}
+Date = element Date {Common.attribs,(text|Inline.class)*}
+Type = element Type {Common.attribs,(text|Inline.class)*}
+Identifier = element Identifier {Common.attribs,(text|Inline.class)*}
+Source = element Source {Common.attribs,(text|Inline.class)*}
+Language = element Language {Common.attribs,(text|Inline.class)*}
+Relation = element Relation {Common.attribs,(text|Inline.class)*}
+Rights = element Rights {Common.attribs,(text | Inline.class)*}
+
+license = element license {Common.attribs,(attribution|noncommercial|sharealike|noderivativeworks)*}
+attribution = element attribution {Common.attribs}
+noncommercial = element noncommercial {Common.attribs}
+sharealike = element sharealike {Common.attribs}
+noderivativeworks = element noderivativeworks {Common.attribs}
+
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc+ltxml.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc+ltxml.rnc
new file mode 100644
index 00000000000..20616411787
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc+ltxml.rnc
@@ -0,0 +1,149 @@
+# 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)
+
+default namespace omdoc = "http://omdoc.org/ns"
+
+## we include the OMDoc Schema, but we allow the sectioning elements defined below
+## as document structuring elements as well.
+include "omdoc/omdoc.rnc" {docstruct.class = omgroup* & lechapter*}
+
+## we extend the Math Objects by the ones introduced by LaTeXML
+mobj |= grammar {
+ include "LaTeXML/LaTeXML-common.rnc"
+ include "LaTeXML/LaTeXML-math.rnc"
+ start = Math}
+
+## 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.
+render.class |= grammar {
+ include "LaTeXML/LaTeXML.rnc"
+ {#XMath.class &= XMRow* & XMCell*
+# XMRow_model &= element XMTok {attribute role {xsd:string {pattern = "ID"}}}
+# XMArray_model &= element XMTok {attribute role {xsd:string {pattern = "ID"}}}
+ XMTok_attributes &= parent ntn.attrib
+ start = Math | \text}}
+
+## 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 & operator for
+## making classes, whereas the LaTeXML schema uses the less flexible | operator. Therefore
+## we need to construct conjunctive extensions in start macro.
+
+inline.class &= grammar {
+ include "LaTeXML/LaTeXML.rnc"
+ {Common.attributes &=parent id.attribs
+ Inline.class = parent inline.class
+ text_model = parent inline.model
+ start=bibref* & break* & ref* & cite* & \text* & emph*}}
+
+plike.class &= grammar {
+ include "LaTeXML/LaTeXML.rnc"
+ {Common.attributes =parent id.attribs
+ Inline.class = parent inline.class
+ Block.class = parent plike.class
+# Flow.class = parent flow.class
+ text_model = parent inline.model
+ listingblock_model = parent plike.class
+ start = p* & tabular* &
+ equation* & equationgroup* &
+ figure* & graphics* & verbatim* & listingblock* & listing* &
+ itemize* & enumerate* & description*}}
+
+
+tikz = element tikz {text}
+
+## we allow various LaTeXML elements as a top-level elements,
+## they will be converted by XSLT later
+omdoc.class &= grammar {include "LaTeXML/LaTeXML.rnc" {
+ Common.attributes &=parent id.attribs
+ Inline.class = parent inline.class
+ Block.class = parent plike.class
+ Para.class = parent omdoc.class
+# Flow.class = parent flow.class
+ text_model = parent inline.model
+ listingblock_model = parent plike.class
+ start= para* & figure* & table* & listing* &
+ itemize* & enumerate* & description*}}
+
+backmatter &= grammar {include "LaTeXML/LaTeXML.rnc" {
+ Common.attributes &=parent id.attribs
+ Inline.class = parent inline.class
+ Block.class = parent plike.class
+ Para.class = parent omdoc.class
+# Flow.class = parent flow.class
+ text_model = parent inline.model
+ listingblock_model = parent plike.class
+ start= bibliography*}}
+
+
+## we prepare some nested content models for sectioning elements
+lesubparagraph = subparagraph*
+leparagraph = paragraph* & lesubparagraph
+lesubsubsection = subsubsection* & leparagraph
+lesubsection = subsection* & lesubsubsection
+lesection = section* & lesubsection
+lechapter = chapter* & lesection
+
+## they need to be able to nest theories transparently
+theory.chapter = element theory {theory.attribs &
+ metadata.class &
+ omdoc.class &
+ constitutive.class &
+ lesection}
+theory.section = element theory {theory.attribs &
+ metadata.class &
+ omdoc.class &
+ constitutive.class &
+ lesubsection}
+theory.subsection = element theory {theory.attribs &
+ metadata.class &
+ omdoc.class &
+ constitutive.class &
+ lesubsubsection}
+theory.subsubsection = element theory {theory.attribs &
+ metadata.class &
+ omdoc.class &
+ constitutive.class &
+ leparagraph}
+theory.paragraph = element theory {theory.attribs &
+ metadata.class &
+ omdoc.class &
+ constitutive.class &
+ lesubparagraph}
+theory.subparagraph = element theory {theory.attribs &
+ metadata.class &
+ omdoc.class &
+ constitutive.class}
+
+sectional.attribs = id.attribs
+
+## and now the elemens themselves
+chapter = element chapter {sectional.attribs &
+ metadata.class &
+ omdoc.class &
+ theory.chapter*}
+section= element section{sectional.attribs &
+ metadata.class &
+ omdoc.class &
+ theory.section*}
+subsection= element subsection {sectional.attribs &
+ metadata.class &
+ omdoc.class &
+ theory.subsection*}
+subsubsection= element subsubsection {sectional.attribs &
+ metadata.class &
+ omdoc.class &
+ theory.subsubsection*}
+paragraph= element paragraph {sectional.attribs &
+ metadata.class &
+ omdoc.class &
+ theory.paragraph*}
+subparagraph= element subparagraph {sectional.attribs &
+ metadata.class &
+ omdoc.class &
+ theory.subparagraph*}
+
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/MARCRelators.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/MARCRelators.rnc
new file mode 100644
index 00000000000..e3d7c72dbd8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/MARCRelators.rnc
@@ -0,0 +1,23 @@
+# the MARC relator set; see http://www.loc.gov/marc/relators
+MARCRelators =
+ "act" | "adp" | "aft" | "ann" | "ant" | "app" | "aqt" |
+ "arc" | "arr" | "art" | "asg" | "asn" | "att" | "auc" | "aud" | "aui" |
+ "aus" | "aut" | "bdd" | "bjd" | "bkd" | "bkp" | "bnd" | "bpd" | "bsl" |
+ "ccp" | "chr" | "clb" | "cli" | "cll" | "clt" | "cmm" | "cmp" | "cmt" |
+ "cnd" | "cns" | "coe" | "col" | "com" | "cos" | "cot" | "cov" | "cpc" |
+ "cpe" | "cph" | "cpl" | "cpt" | "cre" | "crp" | "crr" | "csl" | "csp" |
+ "cst" | "ctb" | "cte" | "ctg" | "ctr" | "cts" | "ctt" | "cur" | "cwt" |
+ "dfd" | "dfe" | "dft" | "dgg" | "dis" | "dln" | "dnc" | "dnr" | "dpc" |
+ "dpt" | "drm" | "drt" | "dsr" | "dst" | "dte" | "dto" | "dub" | "edt" |
+ "egr" | "elt" | "eng" | "etr" | "exp" | "fac" | "flm" | "fmo" | "fnd" |
+ "fpy" | "frg" | "hnr" | "hst" | "ill" | "ilu" | "ins" | "inv" | "itr" |
+ "ive" | "ivr" | "lbt" | "lee" | "lel" | "len" | "let" | "lie" | "lil" |
+ "lit" | "lsa" | "lse" | "lso" | "ltg" | "lyr" | "mdc" | "mod" | "mon" |
+ "mrk" | "mte" | "mus" | "nrt" | "opn" | "org" | "orm" | "oth" | "own" |
+ "pat" | "pbd" | "pbl" | "pfr" | "pht" | "plt" | "pop" | "ppm" | "prc" |
+ "prd" | "prf" | "prg" | "prm" | "pro" | "prt" | "pta" | "pte" | "ptf" |
+ "pth" | "ptt" | "rbr" | "rce" | "rcp" | "red" | "ren" | "res" | "rev" |
+ "rpt" | "rpy" | "rse" | "rsp" | "rst" | "rth" | "rtm" | "sad" | "sce" |
+ "scl" | "scr" | "sec" | "sgn" | "sng" | "spk" | "spn" | "spy" | "srv" |
+ "stl" | "stn" | "str" | "ths" | "trc" | "trl" | "tyd" | "tyg" | "voc" |
+ "wam" | "wdc" | "wde" | "wit"
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/Makefile b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/Makefile
new file mode 100644
index 00000000000..0a4cef88b07
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/Makefile
@@ -0,0 +1,11 @@
+RNC = $(shell ls *.rnc)
+
+all: #$(RNG) #$(XSD) #omdoc.xsd $(TARGET.dtd)
+
+clean:
+ rm -f *~
+distclean: clean
+
+# no longer adequate
+# install: $(SRC.rnc) $(SRC.rng) #$(SRC.xsd)
+# cp $(RNC) $(RNG) $(HOME)/vc/svn/omdoc.org/www/rnc
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/README b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/README
new file mode 100644
index 00000000000..d9f6d4f0209
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/README
@@ -0,0 +1,3 @@
+This directory contains a RelaxNG schema for OMDoc in compact form.
+It includes parts of the XHTML schema slightly edited for embeddability and
+the MathML3 schema in original form.
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/arith1.omdoc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/arith1.omdoc
new file mode 100644
index 00000000000..d7aa94849ff
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/arith1.omdoc
@@ -0,0 +1,1672 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<omdoc xml:id="arith1-omdoc" version="1.3"
+ modules="CD"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns"
+ xmlns:om="http://www.openmath.org/OpenMath"
+ xmlns:m="http://www.w3.org/1998/Math/MathML"
+ xmlns:o="http://omdoc.org/ns"
+ xmlns:xh="http://www.w3.org/1999/xhtml"
+ xmlns="http://omdoc.org/ns">
+
+<metadata>
+ <dc:title>The OpenMath Content Dictionary arith1.ocd in OMDoc form</dc:title>
+ <dc:creator role="trl">Michael Kohlhase</dc:creator>
+ <dc:creator role="ant">The OpenMath Society</dc:creator>
+ <dc:date action="updated">2004-07-13</dc:date>
+ <dc:source>Derived from the OpenMath CD http://www.openmath.org/cd/arith1.ocd.</dc:source>
+ <dc:type>Text</dc:type>
+ <dc:format>application/omdoc+xml</dc:format>
+ <dc:rights>
+ <xh:p>Copyright (c) 2000-2002 Michael Kohlhase;
+ This OMDoc content dictionary is released under the OpenMath license:
+ http://monet.nag.co.uk/openmath/cdfiles/license.html
+ </xh:p>
+ </dc:rights>
+ <dc:description><xh:p>This CD defines symbols for common arithmetic functions.</xh:p></dc:description>
+</metadata>
+
+<theory xml:id="arith1">
+ <imports from="integer1.omdoc#integer1"/>
+ <imports from="interval1.omdoc#interval1"/>
+ <imports from="fns1.omdoc#fns1"/>
+ <imports from="relation1.omdoc#relation1"/>
+
+<symbol name="lcm" xml:id="lcm">
+ <metadata>
+ <dc:description>
+ <xh:p>The symbol to represent the n-ary function to return the
+ <term cd="arith1" name="lcm" role="definiens">least common multiple</term> of its arguments.
+ </xh:p>
+ </dc:description>
+ <dc:description xml:lang="de">
+ <xh:p>
+ Das Symbol f"ur das <term cd="arith1" name="lcm" role="definiens">kleinste
+ gemeinsame Vielfache</term> (als n-aere Funktion).
+ </xh:p>
+ </dc:description>
+ <dc:subject>lcm</dc:subject>
+ <dc:subject xml:lang="de">kgV</dc:subject>
+ </metadata>
+ <type system="sts.omdoc#sts">
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS name="mapsto" cd="sts"/>
+ <OMA>
+ <OMS name="nassoc" cd="sts"/>
+ <OMV name="SemiGroup"/>
+ </OMA>
+ <OMV name="SemiGroup"/>
+ </OMA>
+ </OMOBJ>
+ </type>
+</symbol>
+
+ <notation>
+ <prototype>
+ <om:OMS cd="arith1" name="lcm"/>
+ </prototype>
+ <prototype>
+ <m:csymbol cd="arith1">lcm</m:csymbol>
+ </prototype>
+ <rendering xml:lang="en">
+ <m:mo>lcm</m:mo>
+ </rendering>
+ <rendering xml:lang="de">
+ <m:mo>kgV</m:mo>
+ </rendering>
+ </notation>
+
+<theory xml:id="arith1-lcm">
+<imports from="alg1.omdoc#alg1"/>
+<imports from="logic1.omdoc#logic1"/>
+<imports from="quant1.omdoc#quant1"/>
+<imports from="set1.omdoc#set1"/>
+<imports from="transc1.omdoc#transc1"/>
+
+<assertion xml:id="lcm-prop-1" type="lemma">
+ <CMP>
+ <xh:p>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMR href="lcm-prop-1.O"/></OMOBJ>
+ for all integers <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ> and
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="b"/></OMOBJ>.
+ </xh:p>
+ </CMP>
+ <CMP xml:lang="de">
+ <xh:p>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR
+ href="lcm-prop-1.O"/></OMOBJ> fuer alle ganzen Zahlen <OMOBJ
+ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ> und <OMOBJ
+ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ>.
+ </xh:p>
+ </CMP>
+ <FMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA id="lcm-prop-1.O">
+ <OMS cd="relation1" name="eq"/>
+ <OMA><OMS cd="arith1" name="lcm"/><OMV name="a"/><OMV name="b"/></OMA>
+ <OMA>
+ <OMS cd="arith1" name="divide"/>
+ <OMA><OMS cd="arith1" name="times"/><OMV name="a"/><OMV name="b"/></OMA>
+ <OMA><OMS cd="arith1" name="gcd"/><OMV name="a"/><OMV name="b"/></OMA>
+ </OMA>
+ </OMA>
+ </OMOBJ>
+ </FMP>
+</assertion>
+
+<assertion xml:id="lcm-prop-3" type="lemma">
+ <CMP>
+ <xh:p>
+ For all integers a,b there is no <OMOBJ
+ xmlns="http://www.openmath.org/OpenMath"><OMR href="#lcm-prop-3.1"/></OMOBJ> such
+ that <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR
+ href="lcm-prop-3.2"/></OMOBJ> and <OMOBJ
+ xmlns="http://www.openmath.org/OpenMath"><OMR href="#lcm-prop-3.3"/></OMOBJ> and
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR
+ href="lcm-prop-3.4"/></OMOBJ>.
+ </xh:p>
+ </CMP>
+ <CMP xml:lang="de">
+ <xh:p>
+ Fuer alle ganzen Zahlen a,b gibt es kein <OMOBJ
+ xmlns="http://www.openmath.org/OpenMath"><OMR href="#lcm-prop-3.1"/></OMOBJ> mit
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR
+ href="lcm-prop-3.2"/></OMOBJ> und <OMOBJ
+ xmlns="http://www.openmath.org/OpenMath"><OMR href="#lcm-prop-3.3"/></OMOBJ> und
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR
+ href="lcm-prop-3.4"/></OMOBJ>.
+ </xh:p>
+ </CMP>
+ <FMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMBIND>
+ <OMS cd="quant1" name="forall"/>
+ <OMBVAR>
+ <OMV name="a"/>
+ <OMV name="b"/>
+ </OMBVAR>
+ <OMA>
+ <OMS cd="logic1" name="implies"/>
+ <OMA>
+ <OMS cd="logic1" name="and"/>
+ <OMA>
+ <OMS cd="set1" name="in"/>
+ <OMV name="a"/>
+ <OMS cd="setname1" name="Z"/>
+ </OMA>
+ <OMA>
+ <OMS cd="set1" name="in"/>
+ <OMV name="b"/>
+ <OMS cd="setname1" name="Z"/>
+ </OMA>
+ </OMA>
+ <OMA>
+ <OMS cd="logic1" name="not"/>
+ <OMBIND>
+ <OMS cd="quant1" name="exists"/>
+ <OMBVAR>
+ <OMV name="c"/>
+ </OMBVAR>
+ <OMA>
+ <OMS cd="logic1" name="and"/>
+ <OMA id="lcm-prop-3.1">
+ <OMS cd="relation1" name="gt"/>
+ <OMV name="c"/>
+ <OMI>0</OMI>
+ </OMA>
+ <OMA id="lcm-prop-3.2">
+ <OMS cd="integer1" name="factorof"/>
+ <OMV name="a"/>
+ <OMV name="c"/>
+ </OMA>
+ <OMA id="lcm-prop-3.3">
+ <OMS cd="integer1" name="factorof"/>
+ <OMV name="b"/>
+ <OMV name="c"/>
+ </OMA>
+ <OMA id="lcm-prop-3.4">
+ <OMS cd="relation1" name="lt"/>
+ <OMV name="c"/>
+ <OMA>
+ <OMS cd="arith1" name="lcm"/>
+ <OMV name="a"/>
+ <OMV name="b"/>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMBIND>
+ </OMA>
+ </OMA>
+ </OMBIND>
+ </OMOBJ>
+ </FMP>
+</assertion>
+</theory>
+
+<symbol name="gcd" xml:id="gcd">
+ <metadata>
+ <dc:description>
+ <xh:p>
+ The symbol to represent the n-ary function to return the gcd (greatest
+ common divisor) of its arguments.
+ </xh:p>
+ </dc:description>
+</metadata>
+<type system="sts.omdoc#sts">
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS name="mapsto" cd="sts"/>
+ <OMA>
+ <OMS name="nassoc" cd="sts"/>
+ <OMV name="SemiGroup"/>
+ </OMA>
+ <OMV name="SemiGroup"/>
+ </OMA>
+ </OMOBJ>
+ </type>
+</symbol>
+
+ <notation>
+ <prototype>
+ <om:OMS cd="arith1" name="gcd"/>
+ </prototype>
+ <prototype>
+ <m:csymbol cd="arith1">gcd</m:csymbol>
+ </prototype>
+ <rendering xml:lang="en">
+ <m:mo>gcd</m:mo>
+ </rendering>
+ <rendering xml:lang="de">
+ <m:mo>ggT</m:mo>
+ </rendering>
+ </notation>
+
+<theory xml:id="arith1-gcd">
+<imports from="alg1.omdoc#alg1"/>
+<imports from="logic1.omdoc#logic1"/>
+<imports from="quant1.omdoc#quant1"/>
+<imports from="set1.omdoc#set1"/>
+<imports from="transc1.omdoc#transc1"/>
+
+<assertion xml:id="gcd-prop-1" type="lemma">
+ <CMP>
+ <xh:p>
+ For all integers a,b there is no c
+ such that <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#gcd-prop-1.1"/></OMOBJ> and
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#gcd-prop-1.2"/></OMOBJ> but
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#gcd-prop-1.3"/></OMOBJ>.
+
+ Note that this implies that
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS cd="relation1" name="gt"/>
+ <OMA><OMS cd="arith1" name="gcd"/><OMV name="a"/><OMV name="b"/></OMA>
+ <OMI>0</OMI>
+ </OMA>
+ </OMOBJ>.
+ </xh:p>
+</CMP>
+<FMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMBIND>
+ <OMS cd="quant1" name="forall"/>
+ <OMBVAR>
+ <OMV name="a"/>
+ <OMV name="b"/>
+ </OMBVAR>
+ <OMA>
+ <OMS cd="logic1" name="implies"/>
+ <OMA>
+ <OMS cd="logic1" name="and"/>
+ <OMA>
+ <OMS cd="set1" name="in"/>
+ <OMV name="a"/>
+ <OMS cd="setname1" name="Z"/>
+ </OMA>
+ <OMA>
+ <OMS cd="set1" name="in"/>
+ <OMV name="b"/>
+ <OMS cd="setname1" name="Z"/>
+ </OMA>
+ </OMA>
+ <OMA>
+ <OMS cd="logic1" name="not"/>
+ <OMBIND>
+ <OMS cd="quant1" name="exists"/>
+ <OMBVAR>
+ <OMV name="c"/>
+ </OMBVAR>
+ <OMA>
+ <OMS cd="logic1" name="and"/>
+ <OMA id="gcd-prop-1.1">
+ <OMS cd="set1" name="in"/>
+ <OMA>
+ <OMS cd="arith1" name="divide"/>
+ <OMV name="a"/>
+ <OMV name="c"/>
+ </OMA>
+ <OMS cd="setname1" name="Z"/>
+ </OMA>
+ <OMA id="gcd-prop-1.2">
+ <OMS cd="set1" name="in"/>
+ <OMA>
+ <OMS cd="arith1" name="divide"/>
+ <OMV name="b"/>
+ <OMV name="c"/>
+ </OMA>
+ <OMS cd="setname1" name="Z"/>
+ </OMA>
+ <OMA id="gcd-prop-1.3">
+ <OMS cd="relation1" name="gt"/>
+ <OMV name="c"/>
+ <OMA>
+ <OMS cd="arith1" name="gcd"/>
+ <OMV name="a"/>
+ <OMV name="b"/>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMBIND>
+ </OMA>
+ </OMA>
+ </OMBIND>
+ </OMOBJ>
+</FMP>
+</assertion>
+
+<example xml:id="gcd-ex-3" type="for" for="#gcd">
+ <CMP>
+ <xh:p>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#gcd-ex-3.1"/></OMOBJ>
+ </xh:p>
+ </CMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA id="gcd-ex-3.1">
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="arith1" name="gcd"/>
+ <OMI> 6 </OMI>
+ <OMI> 9 </OMI>
+ </OMA>
+ <OMI> 3 </OMI>
+ </OMA>
+ </OMOBJ>
+</example>
+</theory>
+
+<symbol name="plus" xml:id="plus">
+ <metadata>
+ <dc:description><xh:p>The symbol representing an n-ary commutative function plus.</xh:p></dc:description>
+ <dc:subject>plus</dc:subject>
+ </metadata>
+ <type system="sts.omdoc#sts">
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS name="mapsto" cd="sts"/>
+ <OMA>
+ <OMS name="nassoc" cd="sts"/>
+ <OMV name="AbelianSemiGroup"/>
+ </OMA>
+ <OMV name="AbelianSemiGroup"/>
+ </OMA>
+ </OMOBJ>
+ </type>
+</symbol>
+
+ <notation>
+ <prototype>
+ <om:OMA>
+ <om:OMS cd="arith1" name="plus" o:cr="fun"/>
+ <exprlist name="args">
+ <expr name="arg"/>
+ </exprlist>
+ </om:OMA>
+ </prototype>
+ <prototype>
+ <m:apply>
+ <m:csymbol cd="arith1" o:cr="fun">plus</m:csymbol>
+ <exprlist name="args">
+ <expr name="arg"/>
+ </exprlist>
+ </m:apply>
+ </prototype>
+ <rendering>
+ <m:mrow>
+ <m:mo o:egroup="fence" fence="true">(</m:mo>
+ <iterate name="args" precedence="500">
+ <separator><m:mo o:cr="fun">+</m:mo></separator>
+ <render name="arg"/>
+ </iterate>
+ <m:mo o:egroup="fence" fence="true">)</m:mo>
+ </m:mrow>
+ </rendering>
+ </notation>
+ <notation>
+ <prototype>
+ <om:OMS cd="arith1" name="plus"/>
+ </prototype>
+ <prototype>
+ <m:csymbol cd="arith1">plus</m:csymbol>
+ </prototype>
+ <rendering>
+ <m:mo>+</m:mo>
+ </rendering>
+ </notation>
+
+<theory xml:id="arith1-plus">
+<imports from="alg1.omdoc#alg1"/>
+<imports from="logic1.omdoc#logic1"/>
+<imports from="quant1.omdoc#quant1"/>
+<imports from="set1.omdoc#set1"/>
+<imports from="transc1.omdoc#transc1"/>
+
+<assertion xml:id="plus-prop-1" type="lemma">
+ <CMP><xh:p>For all <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ> and <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="b"/></OMOBJ>,
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#plus-prop-1.1"/></OMOBJ>
+ </xh:p></CMP>
+ <FMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMBIND>
+ <OMS cd="quant1" name="forall"/>
+ <OMBVAR>
+ <OMV name="a"/>
+ <OMV name="b"/>
+ </OMBVAR>
+ <OMA id="plus-prop-1.1">
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="arith1" name="plus"/>
+ <OMV name="a"/>
+ <OMV name="b"/>
+ </OMA>
+ <OMA>
+ <OMS cd="arith1" name="plus"/>
+ <OMV name="b"/>
+ <OMV name="a"/>
+ </OMA>
+ </OMA>
+ </OMBIND>
+ </OMOBJ>
+ </FMP>
+</assertion>
+</theory>
+
+<symbol name="unary_minus" xml:id="unary_minus">
+ <metadata>
+ <dc:description><xh:p> This symbol denotes unary minus, i.e. the additive inverse.</xh:p></dc:description><dc:subject>unary minus</dc:subject></metadata>
+ <type system="sts.omdoc#sts">
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS name="mapsto" cd="sts"/>
+ <OMV name="AbelianGroup"/>
+ <OMV name="AbelianGroup"/>
+ </OMA>
+ </OMOBJ>
+ </type>
+</symbol>
+
+ <notation>
+ <prototype>
+ <om:OMA>
+ <om:OMS cd="arith1" name="unary_minus" o:cr="fun"/>
+ <expr name="arg"/>
+ </om:OMA>
+ </prototype>
+ <prototype>
+ <m:apply>
+ <m:csymbol cd="arith1" o:cr="fun">unary_minus</m:csymbol>
+ <expr name="arg"/>
+ </m:apply>
+ </prototype>
+ <rendering>
+ <m:mrow>
+ <m:mo o:cr="fun">-</m:mo>
+ <m:mo o:egroup="fence" fence="true">(</m:mo>
+ <render name="arg"/>
+ <m:mo o:egroup="fence" fence="true">)</m:mo>
+ </m:mrow>
+ </rendering>
+ </notation>
+ <notation>
+ <prototype>
+ <om:OMS cd="arith1" name="unary_minus"/>
+ </prototype>
+ <prototype>
+ <m:csymbol cd="arith1">unary_minus</m:csymbol>
+ </prototype>
+ <rendering>
+ <m:mo>-</m:mo>
+ </rendering>
+ </notation>
+
+<theory xml:id="arith1-uminus">
+<imports from="alg1.omdoc#alg1"/>
+<imports from="logic1.omdoc#logic1"/>
+<imports from="quant1.omdoc#quant1"/>
+<imports from="set1.omdoc#set1"/>
+<imports from="transc1.omdoc#transc1"/>
+
+<assertion xml:id="unary_minus-prop-1" type="lemma">
+ <CMP><xh:p><OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#unary_minus-prop-1.1"/></OMOBJ> for all
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ>.
+ </xh:p></CMP>
+ <FMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMBIND>
+ <OMS cd="quant1" name="forall"/>
+ <OMBVAR>
+ <OMV name="a"/>
+ </OMBVAR>
+ <OMA id="unary_minus-prop-1.1">
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="arith1" name="plus"/>
+ <OMV name="a"/>
+ <OMA>
+ <OMS cd="arith1" name="unary_minus"/>
+ <OMV name="a"/>
+ </OMA>
+ </OMA>
+ <OMS cd="alg1" name="zero"/>
+ </OMA>
+ </OMBIND>
+ </OMOBJ>
+ </FMP>
+</assertion>
+</theory>
+
+
+<symbol name="minus" xml:id="minus">
+ <metadata>
+ <dc:description><xh:p> The symbol representing a binary minus function. This is equivalent to
+ adding the additive inverse.
+ </xh:p></dc:description>
+</metadata>
+<type system="sts.omdoc#sts">
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS name="mapsto" cd="sts"/>
+ <OMV name="AbelianGroup"/>
+ <OMV name="AbelianGroup"/>
+ <OMV name="AbelianGroup"/>
+ </OMA>
+ </OMOBJ>
+ </type>
+</symbol>
+ <notation>
+ <prototype>
+ <om:OMA>
+ <om:OMS cd="arith1" name="minus" o:cr="fun"/>
+ <expr name="arg1"/>
+ <expr name="arg2"/>
+ </om:OMA>
+ </prototype>
+ <prototype>
+ <m:apply>
+ <m:csymbol cd="arith1" o:cr="fun">minus</m:csymbol>
+ <expr name="arg1"/>
+ <expr name="arg2"/>
+ </m:apply>
+ </prototype>
+ <rendering>
+ <m:mrow>
+ <m:mo o:egroup="fence" fence="true">(</m:mo>
+ <render name="arg1" precedence="500"/>
+ <m:mo o:cr="fun">-</m:mo>
+ <render name="arg2" precedence="500"/>
+ <m:mo o:egroup="fence" fence="true">)</m:mo>
+ </m:mrow>
+ </rendering>
+ </notation>
+ <notation>
+ <prototype>
+ <om:OMS cd="arith1" name="minus"/>
+ </prototype>
+ <prototype>
+ <m:csymbol cd="arith1">minus</m:csymbol>
+ </prototype>
+ <rendering>
+ <m:mo>-</m:mo>
+ </rendering>
+ </notation>
+
+<theory xml:id="arith1-minus">
+<imports from="alg1.omdoc#alg1"/>
+<imports from="logic1.omdoc#logic1"/>
+<imports from="quant1.omdoc#quant1"/>
+<imports from="set1.omdoc#set1"/>
+<imports from="transc1.omdoc#transc1"/>
+
+
+<assertion xml:id="minus-prop-1" type="lemma">
+ <CMP><xh:p>
+ For all <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ> and <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="b"/></OMOBJ>,
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#minus-prop-1.1"/></OMOBJ>.
+ </xh:p></CMP>
+ <FMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMBIND>
+ <OMS cd="quant1" name="forall"/>
+ <OMBVAR>
+ <OMV name="a"/>
+ <OMV name="b"/>
+ </OMBVAR>
+ <OMA id="minus-prop-1.1">
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="arith1" name="minus"/>
+ <OMV name="a"/>
+ <OMV name="b"/>
+ </OMA>
+ <OMA>
+ <OMS cd="arith1" name="plus"/>
+ <OMV name="a"/>
+ <OMA>
+ <OMS cd="arith1" name="unary_minus"/>
+ <OMV name="b"/>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMBIND>
+ </OMOBJ>
+ </FMP>
+</assertion>
+</theory>
+
+<symbol name="times" xml:id="times">
+ <metadata>
+ <dc:description><xh:p> The symbol representing an n-ary multiplication function.</xh:p></dc:description><dc:subject>times</dc:subject></metadata>
+ <type system="sts.omdoc#sts">
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS name="mapsto" cd="sts"/>
+ <OMA>
+ <OMS name="nassoc" cd="sts"/>
+ <OMV name="SemiGroup"/>
+ </OMA>
+ <OMV name="SemiGroup"/>
+ </OMA>
+ </OMOBJ>
+ </type>
+</symbol>
+
+ <notation>
+ <prototype>
+ <om:OMS cd="arith1" name="times"/>
+ </prototype>
+ <prototype>
+ <m:csymbol cd="arith1">times</m:csymbol>
+ </prototype>
+ <rendering>
+ <m:mo>⁢</m:mo>
+ </rendering>
+ </notation>
+ <notation>
+ <prototype>
+ <om:OMA>
+ <om:OMS cd="arith1" name="times" o:cr="fun"/>
+ <exprlist name="args">
+ <expr name="arg"/>
+ </exprlist>
+ </om:OMA>
+ </prototype>
+ <prototype>
+ <m:apply>
+ <m:csymbol cd="arith1" o:cr="fun">times</m:csymbol>
+ <exprlist name="args">
+ <expr name="arg"/>
+ </exprlist>
+ </m:apply>
+ </prototype>
+ <rendering>
+ <m:mrow>
+ <m:mo o:egroup="fence" fence="true">(</m:mo>
+ <iterate name="args" precedence="400">
+ <separator>
+ <m:mo o:cr="fun">⁢</m:mo>
+ </separator>
+ <render name="arg"/>
+ </iterate>
+ <m:mo o:egroup="fence" fence="true">)</m:mo>
+ </m:mrow>
+ </rendering>
+ </notation>
+
+<theory xml:id="arith1-times">
+<imports from="alg1.omdoc#alg1"/>
+<imports from="logic1.omdoc#logic1"/>
+<imports from="quant1.omdoc#quant1"/>
+<imports from="set1.omdoc#set1"/>
+<imports from="transc1.omdoc#transc1"/>
+<imports from="linalg2.omdoc#linalg2"/>
+
+<example xml:id="times-ex-1" type="for" for="#times">
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath" style="display:block">
+ <OMA>
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="arith1" name="times"/>
+ <OMA>
+ <OMS cd="linalg2" name="matrix"/>
+ <OMA>
+ <OMS cd="linalg2" name="matrixrow"/>
+ <OMI> 1 </OMI>
+ <OMI> 2 </OMI>
+ </OMA>
+ <OMA>
+ <OMS cd="linalg2" name="matrixrow"/>
+ <OMI> 3 </OMI>
+ <OMI> 4 </OMI>
+ </OMA>
+ </OMA>
+ <OMA>
+ <OMS cd="linalg2" name="matrix"/>
+ <OMA>
+ <OMS cd="linalg2" name="matrixrow"/>
+ <OMI> 5 </OMI>
+ <OMI> 6 </OMI>
+ </OMA>
+ <OMA>
+ <OMS cd="linalg2" name="matrixrow"/>
+ <OMI> 7 </OMI>
+ <OMI> 8 </OMI>
+ </OMA>
+ </OMA>
+ </OMA>
+ <OMA>
+ <OMS cd="linalg2" name="matrix"/>
+ <OMA>
+ <OMS cd="linalg2" name="matrixrow"/>
+ <OMI> 19 </OMI>
+ <OMI> 20 </OMI>
+ </OMA>
+ <OMA>
+ <OMS cd="linalg2" name="matrixrow"/>
+ <OMI> 43 </OMI>
+ <OMI> 50 </OMI>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMOBJ>
+</example>
+
+<assertion xml:id="times-prop-2" type="lemma">
+ <CMP><xh:p> for all <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ> and <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="b"/></OMOBJ>,
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#times-prop-2.1"/></OMOBJ> and
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#times-prop-2.2"/></OMOBJ>.
+ </xh:p></CMP>
+ <FMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMBIND>
+ <OMS cd="quant1" name="forall"/>
+ <OMBVAR>
+ <OMV name="a"/>
+ <OMV name="b"/>
+ </OMBVAR>
+ <OMA>
+ <OMS cd="logic1" name="and"/>
+ <OMA id="times-prop-2.1">
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="arith1" name="times"/>
+ <OMV name="a"/>
+ <OMS cd="alg1" name="zero"/>
+ </OMA>
+ <OMS cd="alg1" name="zero"/>
+ </OMA>
+ <OMA id="times-prop-2.2">
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="arith1" name="times"/>
+ <OMV name="a"/>
+ <OMV name="b"/>
+ </OMA>
+ <OMA>
+ <OMS cd="arith1" name="plus"/>
+ <OMA>
+ <OMS cd="arith1" name="times"/>
+ <OMV name="a"/>
+ <OMA>
+ <OMS cd="arith1" name="minus"/>
+ <OMV name="b"/>
+ <OMS cd="alg1" name="one"/>
+ </OMA>
+ </OMA>
+ <OMV name="a"/>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMBIND>
+ </OMOBJ>
+ </FMP>
+</assertion>
+<assertion xml:id="times-prop-4" type="lemma">
+ <CMP><xh:p>For all <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ>,
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="b"/></OMOBJ>,
+ and <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="a"/></OMOBJ>, we
+ have
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#times-prop-4.1"/></OMOBJ>.
+ </xh:p></CMP>
+ <FMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMBIND>
+ <OMS cd="quant1" name="forall"/>
+ <OMBVAR>
+ <OMV name="a"/>
+ <OMV name="b"/>
+ <OMV name="c"/>
+ </OMBVAR>
+ <OMA id="times-prop-4.1">
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="arith1" name="times"/>
+ <OMV name="a"/>
+ <OMA>
+ <OMS cd="arith1" name="plus"/>
+ <OMV name="b"/>
+ <OMV name="c"/>
+ </OMA>
+ </OMA>
+ <OMA>
+ <OMS cd="arith1" name="plus"/>
+ <OMA>
+ <OMS cd="arith1" name="times"/>
+ <OMV name="a"/>
+ <OMV name="b"/>
+ </OMA>
+ <OMA>
+ <OMS cd="arith1" name="times"/>
+ <OMV name="a"/>
+ <OMV name="c"/>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMBIND>
+ </OMOBJ>
+ </FMP>
+</assertion>
+</theory>
+
+<symbol name="divide" xml:id="divide">
+<metadata>
+<dc:description><xh:p>
+ This symbol represents a (binary) division function denoting the first argument
+ right-divided by the second, i.e. divide(a,b)=a*inverse(b). It is the
+ inverse of the multiplication function defined by the symbol times in this CD.
+</xh:p></dc:description>
+</metadata>
+<type system="sts.omdoc#sts">
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS name="mapsto" cd="sts"/>
+ <OMV name="AbelianGroup"/>
+ <OMV name="AbelianGroup"/>
+ <OMV name="AbelianGroup"/>
+ </OMA>
+ </OMOBJ>
+ </type>
+</symbol>
+ <notation>
+ <prototype>
+ <om:OMS cd="arith1" name="divide"/>
+ </prototype>
+ <prototype>
+ <m:csymbol cd="arith1">divide</m:csymbol>
+ </prototype>
+ <rendering>
+ <m:mo>/</m:mo>
+ </rendering>
+ </notation>
+ <notation>
+ <prototype>
+ <om:OMA>
+ <om:OMS cd="arith1" name="divide"/>
+ <expr name="arg1"/>
+ <expr name="arg2"/>
+ </om:OMA>
+ </prototype>
+ <prototype>
+ <m:apply>
+ <m:csymbol cd="arith1">divide</m:csymbol>
+ <expr name="arg1"/>
+ <expr name="arg2"/>
+ </m:apply>
+ </prototype>
+ <rendering>
+ <m:mfrac>
+ <render name="arg1"/>
+ <render name="arg2"/>
+ </m:mfrac>
+ </rendering>
+ </notation>
+
+<theory xml:id="arith1-divide">
+<imports from="alg1.omdoc#alg1"/>
+<imports from="logic1.omdoc#logic1"/>
+<imports from="quant1.omdoc#quant1"/>
+<imports from="set1.omdoc#set1"/>
+<imports from="transc1.omdoc#transc1"/>
+
+<assertion xml:id="divide-prop-1" type="lemma">
+ <CMP><xh:p>If <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#divide-prop-1.1"/></OMOBJ> then
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#divide-prop-1.2"/></OMOBJ>.
+ </xh:p></CMP>
+ <FMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMBIND>
+ <OMS cd="quant1" name="forall"/>
+ <OMBVAR>
+ <OMV name="a"/>
+ </OMBVAR>
+ <OMA>
+ <OMS cd="logic1" name="implies"/>
+ <OMA id="divide-prop-1.1">
+ <OMS cd="relation1" name="neq"/>
+ <OMV name="a"/>
+ <OMS cd="alg1" name="zero"/>
+ </OMA>
+ <OMA id="divide-prop-1.2">
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="arith1" name="divide"/>
+ <OMV name="a"/>
+ <OMV name="a"/>
+ </OMA>
+ <OMS cd="alg1" name="one"/>
+ </OMA>
+ </OMA>
+ </OMBIND>
+ </OMOBJ>
+ </FMP>
+</assertion>
+</theory>
+
+<symbol name="power" xml:id="power">
+<metadata>
+<dc:description><xh:p>
+ This symbol represents a power function. The first argument is raised
+ to the power of the second argument. When the second argument is not
+ an integer, powering is defined in terms of exponentials and
+ logarithms for the complex and real numbers.
+ This operator can represent general powering.
+</xh:p></dc:description>
+</metadata>
+<type system="sts.omdoc#sts">
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS name="mapsto" cd="sts"/>
+ <OMS name="NumericalValue" cd="sts"/>
+ <OMS name="NumericalValue" cd="sts"/>
+ <OMS name="NumericalValue" cd="sts"/>
+ </OMA>
+ </OMOBJ>
+ </type>
+</symbol>
+
+ <notation>
+ <prototype>
+ <om:OMS cd="arith1" name="power"/>
+ </prototype>
+ <prototype>
+ <m:csymbol cd="arith1">power</m:csymbol>
+ </prototype>
+ <rendering>
+ <m:mo>power</m:mo>
+ </rendering>
+ </notation>
+ <notation>
+ <prototype>
+ <om:OMA>
+ <om:OMS cd="arith1" name="power"/>
+ <expr name="arg1"/>
+ <expr name="arg2"/>
+ </om:OMA>
+ </prototype>
+ <prototype>
+ <m:apply>
+ <m:csymbol cd="arith1">power</m:csymbol>
+ <expr name="arg1"/>
+ <expr name="arg2"/>
+ </m:apply>
+ </prototype>
+ <rendering>
+ <m:msup>
+ <render name="arg1"/>
+ <render name="arg2"/>
+ </m:msup>
+ </rendering>
+ </notation>
+
+<theory xml:id="arith1-power">
+<imports from="alg1.omdoc#alg1"/>
+<imports from="logic1.omdoc#logic1"/>
+<imports from="quant1.omdoc#quant1"/>
+<imports from="set1.omdoc#set1"/>
+<imports from="transc1.omdoc#transc1"/>
+<imports from="linalg2.omdoc#linalg2"/>
+<imports from="nums1.omdoc#nums1"/>
+
+<assertion xml:id="power-prop-1" type="lemma">
+ <CMP><xh:p><OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#power-prop-1.1"/></OMOBJ> implies
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#power-prop-1.2"/></OMOBJ>.
+ </xh:p></CMP>
+ <FMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS cd="logic1" name="implies"/>
+ <OMA id="power-prop-1.1">
+ <OMS cd="set1" name="in"/>
+ <OMV name="x"/>
+ <OMS cd="setname1" name="C"/>
+ </OMA>
+ <OMA id="power-prop-1.2">
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS name="power" cd="arith1"/>
+ <OMV name="x"/>
+ <OMV name="a"/>
+ </OMA>
+ <OMA>
+ <OMS name="exp" cd="transc1"/>
+ <OMA>
+ <OMS name="times" cd="arith1"/>
+ <OMV name="a"/>
+ <OMA>
+ <OMS name="ln" cd="transc1"/>
+ <OMV name="x"/>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMOBJ>
+ </FMP>
+</assertion>
+<assertion xml:id="power-prop-3" type="lemma">
+ <CMP><xh:p>If <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="n"/></OMOBJ> is an integer then
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#power-prop-3.1"/></OMOBJ> and
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#power-prop-3.2"/></OMOBJ>.
+ </xh:p></CMP>
+ <FMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS cd="logic1" name="implies"/>
+ <OMA>
+ <OMS cd="set1" name="in"/>
+ <OMV name="n"/>
+ <OMS cd="setname1" name="Z"/>
+ </OMA>
+ <OMA>
+ <OMS cd="logic1" name="and"/>
+ <OMA id="power-prop-3.1">
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="arith1" name="power"/>
+ <OMV name="x"/>
+ <OMI>0</OMI>
+ </OMA>
+ <OMS cd="alg1" name="one"/>
+ </OMA>
+ <OMA id="power-prop-3.2">
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="arith1" name="power"/>
+ <OMV name="x"/>
+ <OMV name="n"/>
+ </OMA>
+ <OMA>
+ <OMS cd="arith1" name="times"/>
+ <OMV name="x"/>
+ <OMA>
+ <OMS cd="arith1" name="power"/>
+ <OMV name="x"/>
+ <OMA>
+ <OMS cd="arith1" name="minus"/>
+ <OMV name="n"/>
+ <OMI>1</OMI>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMOBJ>
+ </FMP>
+</assertion>
+
+ <example xml:id="power-ex-5" type="for" for="#power">
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath" style="display:block">
+ <OMA>
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="arith1" name="power"/>
+ <OMA>
+ <OMS cd="linalg2" name="matrix"/>
+ <OMA>
+ <OMS cd="linalg2" name="matrixrow"/>
+ <OMI> 1 </OMI>
+ <OMI> 2 </OMI>
+ </OMA>
+ <OMA>
+ <OMS cd="linalg2" name="matrixrow"/>
+ <OMI> 3 </OMI>
+ <OMI> 4 </OMI>
+ </OMA>
+ </OMA>
+ <OMI>3</OMI>
+ </OMA>
+ <OMA>
+ <OMS cd="linalg2" name="matrix"/>
+ <OMA>
+ <OMS cd="linalg2" name="matrixrow"/>
+ <OMI> 37 </OMI>
+ <OMI> 54 </OMI>
+ </OMA>
+ <OMA>
+ <OMS cd="linalg2" name="matrixrow"/>
+ <OMI> 81 </OMI>
+ <OMI> 118 </OMI>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMOBJ>
+</example>
+
+<example xml:id="power-ex-6" type="for" for="#power">
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="arith1" name="power"/>
+ <OMS cd="nums1" name="e"/>
+ <OMA>
+ <OMS cd="arith1" name="times"/>
+ <OMS cd="nums1" name="i"/>
+ <OMS cd="nums1" name="pi"/>
+ </OMA>
+ </OMA>
+ <OMA>
+ <OMS cd="arith1" name="unary_minus"/>
+ <OMS cd="alg1" name="one"/>
+ </OMA>
+ </OMA>
+ </OMOBJ>
+</example>
+</theory>
+
+<symbol name="abs" xml:id="abs">
+<metadata>
+<dc:description><xh:p>
+ A unary operator which represents the absolute value of its
+ argument. The argument should be numerically valued.
+ In the complex case this is often referred to as the modulus.
+</xh:p></dc:description>
+</metadata>
+<type system="sts.omdoc#sts">
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS name="mapsto" cd="sts"/>
+ <OMS name="C" cd="setname1"/>
+ <OMS name="R" cd="setname1"/>
+ </OMA>
+ </OMOBJ>
+ </type>
+</symbol>
+
+ <notation>
+ <prototype>
+ <om:OMS cd="arith1" name="abs"/>
+ </prototype>
+ <prototype>
+ <m:csymbol cd="arith1">abs</m:csymbol>
+ </prototype>
+ <rendering>
+ <m:mo>abs</m:mo>
+ </rendering>
+ </notation>
+ <notation>
+ <prototype>
+ <om:OMA>
+ <om:OMS cd="arith1" name="abs" o:cr="fun"/>
+ <expr name="arg"/>
+ </om:OMA>
+ </prototype>
+ <prototype>
+ <m:apply>
+ <m:csymbol cd="arith1">abs</m:csymbol>
+ <expr name="arg"/>
+ </m:apply>
+ </prototype>
+ <rendering>
+ <m:mrow><m:mo>|</m:mo><render name="arg"/><m:mo>|</m:mo></m:mrow>
+ </rendering>
+ </notation>
+
+<theory xml:id="arith1-abs">
+<imports from="alg1.omdoc#alg1"/>
+<imports from="logic1.omdoc#logic1"/>
+<imports from="quant1.omdoc#quant1"/>
+<imports from="set1.omdoc#set1"/>
+<imports from="transc1.omdoc#transc1"/>
+
+<assertion xml:id="abs-prop-1" type="lemma">
+ <CMP><xh:p>For all <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="x"/></OMOBJ> and
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV name="y"/></OMOBJ> we
+ have <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR
+ href="abs-prop-1.1"/></OMOBJ>.
+ </xh:p></CMP>
+ <FMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMBIND>
+ <OMS cd="quant1" name="forall"/>
+ <OMBVAR>
+ <OMV name="x"/>
+ <OMV name="y"/>
+ </OMBVAR>
+ <OMA id="abs-prop-1.1">
+ <OMS cd="relation1" name="geq"/>
+ <OMA>
+ <OMS cd="arith1" name="plus"/>
+ <OMA>
+ <OMS cd="arith1" name="abs"/>
+ <OMV name="x"/>
+ </OMA>
+ <OMA>
+ <OMS cd="arith1" name="abs"/>
+ <OMV name="y"/>
+ </OMA>
+ </OMA>
+ <OMA>
+ <OMS cd="arith1" name="abs"/>
+ <OMA>
+ <OMS cd="arith1" name="plus"/>
+ <OMV name="x"/>
+ <OMV name="y"/>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMBIND>
+ </OMOBJ>
+ </FMP>
+</assertion>
+</theory>
+
+
+<symbol name="root" xml:id="root">
+<metadata>
+<dc:description><xh:p>
+ A binary operator which represents its first argument "lowered" to its
+ n'th root where n is the second argument. This is the inverse of the operation
+ represented by the power symbol defined in this CD.
+
+ Care should be taken as to the precise meaning of this operator, in particular
+ which root is represented, however it is here to represent the general notion of
+ taking n'th roots. As inferred by the signature relevant to this symbol, the
+ function represented by this symbol is the single valued function, the specific
+ root returned is the one indicated by the first CMP. Note also that the converse
+ of the second CMP is not valid in general.
+</xh:p></dc:description>
+</metadata>
+<type system="sts.omdoc#sts">
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS name="mapsto" cd="sts"/>
+ <OMS name="NumericalValue" cd="sts"/>
+ <OMS name="NumericalValue" cd="sts"/>
+ <OMS name="NumericalValue" cd="sts"/>
+ </OMA>
+ </OMOBJ>
+</type>
+</symbol>
+ <notation>
+ <prototype>
+ <om:OMA>
+ <om:OMS cd="arith1" name="root"/>
+ <expr name="arg"/>
+ <expr name="n"/>
+ </om:OMA>
+ </prototype>
+ <prototype>
+ <m:apply>
+ <m:csymbol cd="arith1">root</m:csymbol>
+ <expr name="arg"/>
+ <expr name="n"/>
+ </m:apply>
+ </prototype>
+ <rendering>
+ <m:mroot>
+ <render name="arg"/>
+ <render name="n"/>
+ </m:mroot>
+ </rendering>
+ </notation>
+ <notation>
+ <prototype>
+ <om:OMS cd="arith1" name="root"/>
+ </prototype>
+ <prototype>
+ <m:csymbol cd="arith1">root</m:csymbol>
+ </prototype>
+ <rendering>
+ <m:mo>√</m:mo>
+ </rendering>
+ </notation>
+
+<theory xml:id="arith1-root">
+<imports from="alg1.omdoc#alg1"/>
+<imports from="logic1.omdoc#logic1"/>
+<imports from="quant1.omdoc#quant1"/>
+<imports from="set1.omdoc#set1"/>
+<imports from="transc1.omdoc#transc1"/>
+
+
+<assertion xml:id="root-prop-1" type="lemma">
+ <CMP><xh:p> <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#root-prop-1.1"/></OMOBJ> implies
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#root-prop-1.2"/></OMOBJ>.
+ </xh:p></CMP>
+ <FMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS cd="logic1" name="implies"/>
+ <OMA id="root-prop-1.1">
+ <OMS cd="set1" name="in"/>
+ <OMV name="x"/>
+ <OMS cd="setname1" name="C"/>
+ </OMA>
+ <OMA id="root-prop-1.2">
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="arith1" name="root"/>
+ <OMV name="x"/>
+ <OMV name="n"/>
+ </OMA>
+ <OMA>
+ <OMS name="exp" cd="transc1"/>
+ <OMA>
+ <OMS name="divide" cd="arith1"/>
+ <OMA>
+ <OMS name="ln" cd="transc1"/>
+ <OMV name="x"/>
+ </OMA>
+ <OMV name="n"/>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMA>
+ </OMOBJ>
+ </FMP>
+</assertion>
+<assertion xml:id="root-prop-3" type="lemma">
+ <CMP><xh:p>
+ For all <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV
+ name="a"/></OMOBJ> and <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMV
+ name="n"/></OMOBJ>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMR href="#root-prop-3.1"/></OMOBJ> (if the root exists!).
+ </xh:p></CMP>
+ <FMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMBIND>
+ <OMS cd="quant1" name="forall"/>
+ <OMBVAR>
+ <OMV name="a"/>
+ <OMV name="n"/>
+ </OMBVAR>
+ <OMA id="root-prop-3.1">
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="arith1" name="power"/>
+ <OMA>
+ <OMS cd="arith1" name="root"/>
+ <OMV name="a"/>
+ <OMV name="n"/>
+ </OMA>
+ <OMV name="n"/>
+ </OMA>
+ <OMV name="a"/>
+ </OMA>
+ </OMBIND>
+ </OMOBJ>
+ </FMP>
+</assertion>
+</theory>
+
+<symbol name="sum" xml:id="sum">
+<metadata>
+<dc:description><xh:p>
+ An operator taking two arguments, the first being the range of summation,
+ e.g. an integral interval, the second being the function to be
+ summed. Note that the sum may be over an infinite interval.
+</xh:p></dc:description>
+</metadata>
+<type system="sts.omdoc#sts">
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS name="mapsto" cd="sts"/>
+ <OMV name="IntegerRange"/>
+ <OMA>
+ <OMS name="mapsto" cd="sts"/>
+ <OMS name="Z" cd="setname1"/>
+ <OMV name="AbelianMonoid"/>
+ </OMA>
+ <OMV name="AbelianMonoid"/>
+ </OMA>
+ </OMOBJ>
+ </type>
+</symbol>
+
+ <notation>
+ <prototype>
+ <om:OMA>
+ <om:OMS cd="arith1" name="sum" o:cr="fun"/>
+ <om:OMA>
+ <om:OMS cd="interval1" name="integer_interval"/>
+ <expr name="low"/>
+ <expr name="high"/>
+ </om:OMA>
+ <om:OMBIND>
+ <om:OMS cd="fns1" name="lambda"/>
+ <om:OMBVAR><expr name="var"/></om:OMBVAR>
+ <expr name="scope"/>
+ </om:OMBIND>
+ </om:OMA>
+ </prototype>
+ <prototype>
+ <m:apply>
+ <m:csymbol cd="arith1" o:cr="fun">sum</m:csymbol>
+ <m:apply>
+ <m:csymbol cd="interval1">integer_interval</m:csymbol>
+ <expr name="low"/>
+ <expr name="high"/>
+ </m:apply>
+ <m:bind>
+ <m:csymbol cd="fns1">lambda</m:csymbol>
+ <m:bvar><expr name="var"/></m:bvar>
+ <expr name="scope"/>
+ </m:bind>
+ </m:apply>
+ </prototype>
+ <rendering>
+ <m:mrow>
+ <m:munderover>
+ <m:mo o:cr="fun">∑</m:mo>
+ <m:mrow>
+ <render name="var"/>
+ <m:mo>=</m:mo>
+ <render name="low"/>
+ </m:mrow>
+ <render name="high"/>
+ </m:munderover>
+ <render name="scope"/>
+ </m:mrow>
+ </rendering>
+ </notation>
+
+<!-- not over an interval -->
+ <notation>
+ <prototype>
+ <om:OMA>
+ <om:OMS cd="arith1" name="sum" o:cr="fun"/>
+ <expr name="range"/>
+ <om:OMBIND>
+ <om:OMS cd="fns1" name="lambda"/>
+ <om:OMBVAR><expr name="var"/></om:OMBVAR>
+ <expr name="scope"/>
+ </om:OMBIND>
+ </om:OMA>
+ </prototype>
+ <prototype>
+ <m:apply>
+ <m:csymbol cd="arith1" o:cr="fun">sum</m:csymbol>
+ <expr name="range"/>
+ <m:bind>
+ <m:csymbol cd="fns1">lambda</m:csymbol>
+ <m:bvar><expr name="var"/></m:bvar>
+ <expr name="scope"/>
+ </m:bind>
+ </m:apply>
+ </prototype>
+ <rendering>
+ <m:mrow>
+ <m:munder>
+ <m:mo o:cr="fun">∑</m:mo>
+ <m:mrow><render name="var"/><m:mo>&#x2208;</m:mo><render name="range"/></m:mrow>
+ </m:munder>
+ <render name="scope"/>
+ </m:mrow>
+ </rendering>
+ </notation>
+
+ <notation>
+ <prototype>
+ <om:OMS cd="arith1" name="sum"/>
+ </prototype>
+ <prototype>
+ <m:csymbol cd="arith1">sum</m:csymbol>
+ </prototype>
+ <rendering>
+ <m:mo>∑</m:mo>
+ </rendering>
+ </notation>
+
+
+<theory xml:id="sum-ex.theory">
+<imports xml:id="sum-ex-imports-fns1" from="fns1.omdoc#fns1"/>
+<imports xml:id="sum-ex-imports-interval1" from="interval1.omdoc#interval1"/>
+
+<example xml:id="sum-ex-1" type="for" for="#sum">
+ <CMP><xh:p>
+ This represents the summation of the reciprocals of all the integers between
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMI>1</OMI></OMOBJ> and
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMI>10</OMI></OMOBJ>
+ inclusive.
+ </xh:p></CMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS cd="arith1" name="sum"/>
+ <OMA>
+ <OMS cd="interval1" name="integer_interval"/>
+ <OMI> 1 </OMI>
+ <OMI> 10 </OMI>
+ </OMA>
+ <OMBIND>
+ <OMS cd="fns1" name="lambda"/>
+ <OMBVAR>
+ <OMV name="x"/>
+ </OMBVAR>
+ <OMA>
+ <OMS cd="arith1" name="divide"/>
+ <OMI> 1 </OMI>
+ <OMV name="x"/>
+ </OMA>
+ </OMBIND>
+ </OMA>
+ </OMOBJ>
+</example>
+</theory>
+
+<symbol name="product" xml:id="product">
+<metadata>
+<dc:description><xh:p>
+ An operator taking two arguments, the first being the range of multiplication
+ e.g. an integral interval, the second being the function to
+ be multiplied. Note that the product may be over an infinite interval.
+</xh:p></dc:description>
+</metadata>
+<type system="sts.omdoc#sts">
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS name="mapsto" cd="sts"/>
+ <OMV name="IntegerRange"/>
+ <OMA>
+ <OMS name="mapsto" cd="sts"/>
+ <OMS name="Z" cd="setname1"/>
+ <OMV name="AbelianMonoid"/>
+ </OMA>
+ <OMV name="AbelianMonoid"/>
+ </OMA>
+ </OMOBJ>
+ </type>
+</symbol>
+
+ <notation>
+ <prototype>
+ <om:OMA>
+ <om:OMS cd="arith1" name="product" o:cr="fun"/>
+ <om:OMA>
+ <om:OMS cd="interval1" name="integer_interval"/>
+ <expr name="low"/>
+ <expr name="high"/>
+ </om:OMA>
+ <om:OMBIND>
+ <om:OMS cd="fns1" name="lambda"/>
+ <om:OMBVAR><expr name="var"/></om:OMBVAR>
+ <expr name="scope"/>
+ </om:OMBIND>
+ </om:OMA>
+ </prototype>
+ <prototype>
+ <m:apply>
+ <m:csymbol cd="arith1" o:cr="fun">product</m:csymbol>
+ <m:apply>
+ <m:csymbol cd="interval1">integer_interval</m:csymbol>
+ <expr name="low"/>
+ <expr name="high"/>
+ </m:apply>
+ <m:bind>
+ <m:csymbol cd="fns1">lambda</m:csymbol>
+ <m:bvar><expr name="var"/></m:bvar>
+ <expr name="scope"/>
+ </m:bind>
+ </m:apply>
+ </prototype>
+ <rendering>
+ <m:mrow>
+ <m:munderover>
+ <m:mo o:cr="fun">∏</m:mo>
+ <m:mrow>
+ <render name="var"/>
+ <m:mo>=</m:mo>
+ <render name="low"/>
+ </m:mrow>
+ <render name="high"/>
+ </m:munderover>
+ <render name="scope"/>
+ </m:mrow>
+ </rendering>
+ </notation>
+ <notation>
+ <prototype>
+ <om:OMS cd="arith1" name="product"/>
+ </prototype>
+ <prototype>
+ <m:csymbol cd="arith1">product</m:csymbol>
+ </prototype>
+ <rendering>
+ <m:mo>∏</m:mo>
+ </rendering>
+ </notation>
+
+<theory xml:id="product-ex.theory">
+ <imports xml:id="product-ex-imports-interval1" from="interval1.omdoc#interval1"/>
+ <imports xml:id="product-ex-imports-fns1" from="fns1.omdoc#fns1"/>
+<example xml:id="product-ex-1" type="for" for="#product">
+ <CMP><xh:p>
+ This represents the statement that the
+ <term cd="integer1" name="factorial">factorial</term> of n is equal to the
+ <term cd="arith1" name="product">product</term>
+ of all the integers between 1 and n inclusive.
+ </xh:p></CMP>
+ <OMOBJ xmlns="http://www.openmath.org/OpenMath">
+ <OMA>
+ <OMS cd="relation1" name="eq"/>
+ <OMA>
+ <OMS cd="integer1" name="factorial"/>
+ <OMV name="n"/>
+ </OMA>
+ <OMA>
+ <OMS cd="arith1" name="product"/>
+ <OMA>
+ <OMS cd="interval1" name="integer_interval"/>
+ <OMI> 1 </OMI>
+ <OMV name="n"/>
+ </OMA>
+ <OMBIND>
+ <OMS cd="fns1" name="lambda"/>
+ <OMBVAR>
+ <OMV name="i"/>
+ </OMBVAR>
+ <OMV name="i"/>
+ </OMBIND>
+ </OMA>
+ </OMA>
+ </OMOBJ>
+</example>
+</theory>
+</theory>
+
+
+</omdoc>
+
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/creativecommons.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/creativecommons.rnc
new file mode 100644
index 00000000000..078d80e4a3b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/creativecommons.rnc
@@ -0,0 +1,48 @@
+# 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)
+
+default namespace cc = "http://creativecommons.org/ns"
+
+iana.tld = ("ac"|"ad"|"ae"|"af"|"ag"|"ai"|"al"|"am"|"an"|"ao"|"aq"|"ar"|"as"|"at"|"au"|"aw"|"ax"|"az"|
+ "ba"|"bb"|"bd"|"be"|"bf"|"bg"|"bh"|"bi"|"bj"|"bm"|"bn"|"bo"|"br"|"bs"|"bt"|"bv"|"bw"|"by"|"bz"|
+ "ca"|"cc"|"cd"|"cf"|"cg"|"ch"|"ci"|"ck"|"cl"|"cm"|"cn"|"co"|"cr"|"cs"|"cu"|"cv"|"cx"|"cy"|"cz"|
+ "de"|"dj"|"dk"|"dm"|"do"|"dz"|"ec"|"ee"|"eg"|"eh"|"er"|"es"|"et"|"fi"|"fj"|"fk"|"fm"|"fo"|"fr"|
+ "ga"|"gb"|"gd"|"ge"|"gf"|"gg"|"gh"|"gi"|"gl"|"gm"|"gn"|"gp"|"gq"|"gr"|"gs"|"gt"|"gu"|"gw"|"gy"|
+ "hk"|"hm"|"hn"|"hr"|"ht"|"hu"|"id"|"ie"|"il"|"im"|"in"|"io"|"iq"|"ir"|"is"|"it"|"je"|"jm"|"jo"|"jp"|
+ "ke"|"kg"|"kh"|"ki"|"km"|"kn"|"kp"|"kr"|"kw"|"ky"|"kz"|"la"|"lb"|
+ "lc"|"li"|"lk"|"lr"|"ls"|"lt"|"lu"|"lv"|"ly"|
+ "ma"|"mc"|"md"|"mg"|"mh"|"mk"|"ml"|"mm"|"mn"|"mo"|"mp"|"mq"|"mr"|"ms"|"mt"|"mu"|"mv"|"mw"|"mx"|"my"|"mz"|
+ "na"|"nc"|"ne"|"nf"|"ng"|"ni"|"nl"|"no"|"np"|"nr"|"nu"|"nz"|"om"|
+ "pa"|"pe"|"pf"|"pg"|"ph"|"pk"|"pl"|"pm"|"pn"|"pr"|"ps"|"pt"|"pw"|"py"|"qa"|"re"|"ro"|"ru"|"rw"|
+ "sa"|"sb"|"sc"|"sd"|"se"|"sg"|"sh"|"si"|"sj"|"sk"|"sl"|"sm"|"sn"|"so"|"sr"|"st"|"sv"|"sy"|"sz"|
+ "tc"|"td"|"tf"|"tg"|"th"|"tj"|"tk"|"tl"|"tm"|"tn"|"to"|"tp"|"tr"|"tt"|"tv"|"tw"|"tz"|"ua"|
+ "ug"|"uk"|"um"|"us"|"uy"|"uz"|"va"|"vc"|"ve"|"vg"|"vi"|"vn"|"vu"|"wf"|"ws"|"ye"|"yt"|"yu"|"za"|"zm"|"zw")
+
+license.attribs = attribute jurisdiction {iana.tld}? &
+ attribute version {xsd:string}?
+license.model = permissions,prohibitions,requirements,description
+license = element license {license.attribs& license.model}
+
+permissions.attribs= attribute reproduction {"permitted" |" prohibited"} &
+ attribute distribution {"permitted" |" prohibited"} &
+ attribute derivative_works {"permitted" | "prohibited"}
+permissions.model = description
+permissions = element permissions {permissions.attribs & permissions.model}
+
+prohibitions.attribs = attribute commercial_use {"prohibited" | "permitted"}
+prohibitions.model = description
+prohibitions = element prohibitions {prohibitions.attribs & prohibitions.model}
+
+requirements.attribs = attribute notice {"required" | "not_required"} &
+ attribute attribution {"required" | "not_required"} &
+ attribute copyleft {"required" | "not_required"}
+requirements.model = description
+requirements = element requirements {requirements.attribs & requirements.model}
+
+description.attribs = empty
+description.model = text
+description = element description {description.attribs & description.model}
+
+start = license
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/dublincore.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/dublincore.rnc
new file mode 100644
index 00000000000..2402ddb1e7c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/dublincore.rnc
@@ -0,0 +1,42 @@
+# 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)
+
+default namespace dc = "http://purl.org/dc/elements/1.1/"
+
+## the various content models, specialize for integration
+dc.person = text
+dc.publisher = text
+dc.text = text
+dc.inline = text
+dc.format = text
+dc.source = text
+dc.language = text
+dc.rights = text
+dc.relation = text
+dc.date = xsd:dateTime
+dc.type = text
+dc.identifier = text
+
+# the model of the Dublin Metadata initiative (http://purl.org/dc)
+start = contributor* & creator* & rights* & subject* & title* & description* &
+ publisher* & date* & type* & format* & identifier* & source* & language* & relation*
+
+contributor = element contributor {dc.person}
+creator = element creator {dc.person}
+title = element title {dc.inline}
+subject = element subject {dc.inline}
+description = element description {dc.text}
+publisher = element publisher {dc.publisher}
+type = element type {dc.type}
+format = element format {dc.format}
+source = element source {dc.source}
+language = element language {dc.language}
+relation = element relation {dc.relation}
+rights = element rights {dc.rights}
+date = element date {dc.date}
+identifier = element identifier {dc.identifier}
+
+
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-common.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-common.rnc
new file mode 100644
index 00000000000..3d18ae1d3f8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-common.rnc
@@ -0,0 +1,84 @@
+# 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
+
+
+default namespace m = "http://www.w3.org/1998/Math/MathML"
+namespace local = ""
+
+start = math
+
+math = element math {math.attributes,MathExpression*}
+MathExpression = semantics
+
+NonMathMLAtt = attribute (* - (local:*|m:*)) {xsd:string}
+
+CommonDeprecatedAtt = attribute other {text}?
+
+CommonAtt = attribute id {xsd:ID}?,
+ attribute xref {text}?,
+ attribute class {xsd:NMTOKENS}?,
+ attribute style {xsd:string}?,
+ attribute href {xsd:anyURI}?,
+ CommonDeprecatedAtt,
+ NonMathMLAtt*
+
+
+math.attributes = CommonAtt,
+ attribute display {"block" | "inline"}?,
+ attribute maxwidth {length}?,
+ attribute overflow {"linebreak" | "scroll" | "elide" | "truncate" | "scale"}?,
+ attribute altimg {xsd:anyURI}?,
+ attribute altimg-width {length}?,
+ attribute altimg-height {length}?,
+ attribute altimg-valign {length | "top" | "middle" | "bottom"}?,
+ attribute alttext {text}?,
+ attribute cdgroup {xsd:anyURI}?,
+ math.deprecatedattributes
+
+# the mathml3-presentation schema adds additional attributes
+# to the math element, all those valid on mstyle
+
+math.deprecatedattributes = attribute mode {xsd:string}?,
+ attribute macros {xsd:string}?
+
+
+name = attribute name {xsd:NCName}
+cd = attribute cd {xsd:NCName}
+
+src = attribute src {xsd:anyURI}?
+
+annotation = element annotation {annotation.attributes,text}
+
+annotation-xml.model = (MathExpression|anyElement)*
+
+anyElement = element (* - m:*) {(attribute * {text}|text| anyElement)*}
+
+annotation-xml = element annotation-xml {annotation.attributes,
+ annotation-xml.model}
+annotation.attributes = CommonAtt,
+ cd?,
+ name?,
+ DefEncAtt,
+ src?
+
+DefEncAtt = attribute encoding {xsd:string}?,
+ attribute definitionURL {xsd:anyURI}?
+
+semantics = element semantics {semantics.attributes,
+ MathExpression,
+ (annotation|annotation-xml)*}
+semantics.attributes = CommonAtt,DefEncAtt,cd?,name?
+
+
+
+length = xsd:string {
+ pattern = '\s*((-?[0-9]*(\.[0-9]*)?(e[mx]|in|cm|mm|p[xtc]|%)?)|(negative)?((very){0,2}thi(n|ck)|medium)mathspace)\s*'
+}
+
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-content.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-content.rnc
new file mode 100755
index 00000000000..3facbfd5567
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-content.rnc
@@ -0,0 +1,373 @@
+
+# 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 "mathml3-strict-content.rnc"{
+ cn.content = (text | mglyph | sep | PresentationExpression)*
+ cn.attributes = CommonAtt, DefEncAtt, attribute type {text}?, base?
+
+ ci.attributes = CommonAtt, DefEncAtt, ci.type?
+ ci.type = attribute type {text}
+ ci.content = (text | mglyph | PresentationExpression)*
+
+ csymbol.attributes = CommonAtt, DefEncAtt, attribute type {text}?,cd?
+ csymbol.content = (text | mglyph | PresentationExpression)*
+
+ bvar = element bvar { (ci | semantics-ci) & degree?}
+
+ cbytes.attributes = CommonAtt, DefEncAtt
+
+ cs.attributes = CommonAtt, DefEncAtt
+
+ apply.content = ContExp+ | (ContExp, BvarQ, Qualifier*, ContExp*)
+
+ bind.content = apply.content
+}
+
+base = attribute base {text}
+
+
+sep = element sep {empty}
+PresentationExpression |= notAllowed
+
+
+DomainQ = (domainofapplication|condition|interval|(lowlimit,uplimit?))*
+domainofapplication = element domainofapplication {ContExp}
+condition = element condition {ContExp}
+uplimit = element uplimit {ContExp}
+lowlimit = element lowlimit {ContExp}
+
+Qualifier = DomainQ|degree|momentabout|logbase
+degree = element degree {ContExp}
+momentabout = element momentabout {ContExp}
+logbase = element logbase {ContExp}
+
+type = attribute type {text}
+order = attribute order {"numeric" | "lexicographic"}
+closure = attribute closure {text}
+
+
+ContExp |= piecewise
+
+
+piecewise = element piecewise {CommonAtt, DefEncAtt,(piece* & otherwise?)}
+
+piece = element piece {CommonAtt, DefEncAtt, ContExp, ContExp}
+
+otherwise = element otherwise {CommonAtt, DefEncAtt, ContExp}
+
+
+DeprecatedContExp = reln | fn | declare
+ContExp |= DeprecatedContExp
+
+reln = element reln {ContExp*}
+fn = element fn {ContExp}
+declare = element declare {attribute type {xsd:string}?,
+ attribute scope {xsd:string}?,
+ attribute nargs {xsd:nonNegativeInteger}?,
+ attribute occurrence {"prefix"|"infix"|"function-model"}?,
+ DefEncAtt,
+ ContExp+}
+
+
+interval.class = interval
+ContExp |= interval.class
+
+
+interval = element interval { CommonAtt, DefEncAtt,closure?, ContExp,ContExp}
+
+unary-functional.class = inverse | ident | domain | codomain | image | ln | log | moment
+ContExp |= unary-functional.class
+
+
+inverse = element inverse { CommonAtt, DefEncAtt, empty}
+ident = element ident { CommonAtt, DefEncAtt, empty}
+domain = element domain { CommonAtt, DefEncAtt, empty}
+codomain = element codomain { CommonAtt, DefEncAtt, empty}
+image = element image { CommonAtt, DefEncAtt, empty}
+ln = element ln { CommonAtt, DefEncAtt, empty}
+log = element log { CommonAtt, DefEncAtt, empty}
+moment = element moment { CommonAtt, DefEncAtt, empty}
+
+lambda.class = lambda
+ContExp |= lambda.class
+
+
+lambda = element lambda { CommonAtt, DefEncAtt, BvarQ, DomainQ, ContExp}
+
+nary-functional.class = compose
+ContExp |= nary-functional.class
+
+
+compose = element compose { CommonAtt, DefEncAtt, empty}
+
+binary-arith.class = quotient | divide | minus | power | rem | root
+ContExp |= binary-arith.class
+
+
+quotient = element quotient { CommonAtt, DefEncAtt, empty}
+divide = element divide { CommonAtt, DefEncAtt, empty}
+minus = element minus { CommonAtt, DefEncAtt, empty}
+power = element power { CommonAtt, DefEncAtt, empty}
+rem = element rem { CommonAtt, DefEncAtt, empty}
+root = element root { CommonAtt, DefEncAtt, empty}
+
+unary-arith.class = factorial | minus | root | abs | conjugate | arg | real | imaginary | floor | ceiling | exp
+ContExp |= unary-arith.class
+
+
+factorial = element factorial { CommonAtt, DefEncAtt, empty}
+abs = element abs { CommonAtt, DefEncAtt, empty}
+conjugate = element conjugate { CommonAtt, DefEncAtt, empty}
+arg = element arg { CommonAtt, DefEncAtt, empty}
+real = element real { CommonAtt, DefEncAtt, empty}
+imaginary = element imaginary { CommonAtt, DefEncAtt, empty}
+floor = element floor { CommonAtt, DefEncAtt, empty}
+ceiling = element ceiling { CommonAtt, DefEncAtt, empty}
+exp = element exp { CommonAtt, DefEncAtt, empty}
+
+nary-minmax.class = max | min
+ContExp |= nary-minmax.class
+
+
+max = element max { CommonAtt, DefEncAtt, empty}
+min = element min { CommonAtt, DefEncAtt, empty}
+
+nary-arith.class = plus | times | gcd | lcm
+ContExp |= nary-arith.class
+
+
+plus = element plus { CommonAtt, DefEncAtt, empty}
+times = element times { CommonAtt, DefEncAtt, empty}
+gcd = element gcd { CommonAtt, DefEncAtt, empty}
+lcm = element lcm { CommonAtt, DefEncAtt, empty}
+
+nary-logical.class = and | or | xor
+ContExp |= nary-logical.class
+
+
+and = element and { CommonAtt, DefEncAtt, empty}
+or = element or { CommonAtt, DefEncAtt, empty}
+xor = element xor { CommonAtt, DefEncAtt, empty}
+
+unary-logical.class = not
+ContExp |= unary-logical.class
+
+
+not = element not { CommonAtt, DefEncAtt, empty}
+
+binary-logical.class = implies | equivalent
+ContExp |= binary-logical.class
+
+
+implies = element implies { CommonAtt, DefEncAtt, empty}
+equivalent = element equivalent { CommonAtt, DefEncAtt, empty}
+
+quantifier.class = forall | exists
+ContExp |= quantifier.class
+
+
+forall = element forall { CommonAtt, DefEncAtt, empty}
+exists = element exists { CommonAtt, DefEncAtt, empty}
+
+nary-reln.class = eq | gt | lt | geq | leq
+ContExp |= nary-reln.class
+
+
+eq = element eq { CommonAtt, DefEncAtt, empty}
+gt = element gt { CommonAtt, DefEncAtt, empty}
+lt = element lt { CommonAtt, DefEncAtt, empty}
+geq = element geq { CommonAtt, DefEncAtt, empty}
+leq = element leq { CommonAtt, DefEncAtt, empty}
+
+binary-reln.class = neq | approx | factorof | tendsto
+ContExp |= binary-reln.class
+
+
+neq = element neq { CommonAtt, DefEncAtt, empty}
+approx = element approx { CommonAtt, DefEncAtt, empty}
+factorof = element factorof { CommonAtt, DefEncAtt, empty}
+tendsto = element tendsto { CommonAtt, DefEncAtt, type?, empty}
+
+int.class = int
+ContExp |= int.class
+
+
+int = element int { CommonAtt, DefEncAtt, empty}
+
+Differential-Operator.class = diff
+ContExp |= Differential-Operator.class
+
+
+diff = element diff { CommonAtt, DefEncAtt, empty}
+
+partialdiff.class = partialdiff
+ContExp |= partialdiff.class
+
+
+partialdiff = element partialdiff { CommonAtt, DefEncAtt, empty}
+
+unary-veccalc.class = divergence | grad | curl | laplacian
+ContExp |= unary-veccalc.class
+
+
+divergence = element divergence { CommonAtt, DefEncAtt, empty}
+grad = element grad { CommonAtt, DefEncAtt, empty}
+curl = element curl { CommonAtt, DefEncAtt, empty}
+laplacian = element laplacian { CommonAtt, DefEncAtt, empty}
+
+nary-setlist-constructor.class = set | \list
+ContExp |= nary-setlist-constructor.class
+
+
+set = element set { CommonAtt, DefEncAtt, type?, BvarQ*, DomainQ*, ContExp*}
+\list = element \list { CommonAtt, DefEncAtt, order?, BvarQ*, DomainQ*, ContExp*}
+
+nary-set.class = union | intersect | cartesianproduct
+ContExp |= nary-set.class
+
+
+union = element union { CommonAtt, DefEncAtt, empty}
+intersect = element intersect { CommonAtt, DefEncAtt, empty}
+cartesianproduct = element cartesianproduct { CommonAtt, DefEncAtt, empty}
+
+binary-set.class = in | notin | notsubset | notprsubset | setdiff
+ContExp |= binary-set.class
+
+
+in = element in { CommonAtt, DefEncAtt, empty}
+notin = element notin { CommonAtt, DefEncAtt, empty}
+notsubset = element notsubset { CommonAtt, DefEncAtt, empty}
+notprsubset = element notprsubset { CommonAtt, DefEncAtt, empty}
+setdiff = element setdiff { CommonAtt, DefEncAtt, empty}
+
+nary-set-reln.class = subset | prsubset
+ContExp |= nary-set-reln.class
+
+
+subset = element subset { CommonAtt, DefEncAtt, empty}
+prsubset = element prsubset { CommonAtt, DefEncAtt, empty}
+
+unary-set.class = card
+ContExp |= unary-set.class
+
+
+card = element card { CommonAtt, DefEncAtt, empty}
+
+sum.class = sum
+ContExp |= sum.class
+
+
+sum = element sum { CommonAtt, DefEncAtt, empty}
+
+product.class = product
+ContExp |= product.class
+
+
+product = element product { CommonAtt, DefEncAtt, empty}
+
+limit.class = limit
+ContExp |= limit.class
+
+
+limit = element limit { CommonAtt, DefEncAtt, empty}
+
+unary-elementary.class = sin | cos | tan | sec | csc | cot | sinh | cosh | tanh | sech | csch | coth | arcsin | arccos | arctan | arccosh | arccot | arccoth | arccsc | arccsch | arcsec | arcsech | arcsinh | arctanh
+ContExp |= unary-elementary.class
+
+
+sin = element sin { CommonAtt, DefEncAtt, empty}
+cos = element cos { CommonAtt, DefEncAtt, empty}
+tan = element tan { CommonAtt, DefEncAtt, empty}
+sec = element sec { CommonAtt, DefEncAtt, empty}
+csc = element csc { CommonAtt, DefEncAtt, empty}
+cot = element cot { CommonAtt, DefEncAtt, empty}
+sinh = element sinh { CommonAtt, DefEncAtt, empty}
+cosh = element cosh { CommonAtt, DefEncAtt, empty}
+tanh = element tanh { CommonAtt, DefEncAtt, empty}
+sech = element sech { CommonAtt, DefEncAtt, empty}
+csch = element csch { CommonAtt, DefEncAtt, empty}
+coth = element coth { CommonAtt, DefEncAtt, empty}
+arcsin = element arcsin { CommonAtt, DefEncAtt, empty}
+arccos = element arccos { CommonAtt, DefEncAtt, empty}
+arctan = element arctan { CommonAtt, DefEncAtt, empty}
+arccosh = element arccosh { CommonAtt, DefEncAtt, empty}
+arccot = element arccot { CommonAtt, DefEncAtt, empty}
+arccoth = element arccoth { CommonAtt, DefEncAtt, empty}
+arccsc = element arccsc { CommonAtt, DefEncAtt, empty}
+arccsch = element arccsch { CommonAtt, DefEncAtt, empty}
+arcsec = element arcsec { CommonAtt, DefEncAtt, empty}
+arcsech = element arcsech { CommonAtt, DefEncAtt, empty}
+arcsinh = element arcsinh { CommonAtt, DefEncAtt, empty}
+arctanh = element arctanh { CommonAtt, DefEncAtt, empty}
+
+nary-stats.class = mean | sdev | variance | median | mode
+ContExp |= nary-stats.class
+
+
+mean = element mean { CommonAtt, DefEncAtt, empty}
+sdev = element sdev { CommonAtt, DefEncAtt, empty}
+variance = element variance { CommonAtt, DefEncAtt, empty}
+median = element median { CommonAtt, DefEncAtt, empty}
+mode = element mode { CommonAtt, DefEncAtt, empty}
+
+nary-constructor.class = vector | matrix | matrixrow
+ContExp |= nary-constructor.class
+
+
+vector = element vector { CommonAtt, DefEncAtt, BvarQ, DomainQ, ContExp*}
+matrix = element matrix { CommonAtt, DefEncAtt, BvarQ, DomainQ, ContExp*}
+matrixrow = element matrixrow { CommonAtt, DefEncAtt, BvarQ, DomainQ, ContExp*}
+
+unary-linalg.class = determinant | transpose
+ContExp |= unary-linalg.class
+
+
+determinant = element determinant { CommonAtt, DefEncAtt, empty}
+transpose = element transpose { CommonAtt, DefEncAtt, empty}
+
+nary-linalg.class = selector
+ContExp |= nary-linalg.class
+
+
+selector = element selector { CommonAtt, DefEncAtt, empty}
+
+binary-linalg.class = vectorproduct | scalarproduct | outerproduct
+ContExp |= binary-linalg.class
+
+
+vectorproduct = element vectorproduct { CommonAtt, DefEncAtt, empty}
+scalarproduct = element scalarproduct { CommonAtt, DefEncAtt, empty}
+outerproduct = element outerproduct { CommonAtt, DefEncAtt, empty}
+
+constant-set.class = integers | reals | rationals | naturalnumbers | complexes | primes | emptyset
+ContExp |= constant-set.class
+
+
+integers = element integers { CommonAtt, DefEncAtt, empty}
+reals = element reals { CommonAtt, DefEncAtt, empty}
+rationals = element rationals { CommonAtt, DefEncAtt, empty}
+naturalnumbers = element naturalnumbers { CommonAtt, DefEncAtt, empty}
+complexes = element complexes { CommonAtt, DefEncAtt, empty}
+primes = element primes { CommonAtt, DefEncAtt, empty}
+emptyset = element emptyset { CommonAtt, DefEncAtt, empty}
+
+constant-arith.class = exponentiale | imaginaryi | notanumber | true | false | pi | eulergamma | infinity
+ContExp |= constant-arith.class
+
+
+exponentiale = element exponentiale { CommonAtt, DefEncAtt, empty}
+imaginaryi = element imaginaryi { CommonAtt, DefEncAtt, empty}
+notanumber = element notanumber { CommonAtt, DefEncAtt, empty}
+true = element true { CommonAtt, DefEncAtt, empty}
+false = element false { CommonAtt, DefEncAtt, empty}
+pi = element pi { CommonAtt, DefEncAtt, empty}
+eulergamma = element eulergamma { CommonAtt, DefEncAtt, empty}
+infinity = element infinity { CommonAtt, DefEncAtt, empty} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-presentation.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-presentation.rnc
new file mode 100644
index 00000000000..5fa56e7b3d9
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-presentation.rnc
@@ -0,0 +1,536 @@
+
+# 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
+
+default namespace m = "http://www.w3.org/1998/Math/MathML"
+
+MathExpression |= PresentationExpression
+
+ImpliedMrow = MathExpression*
+
+TableRowExpression = mtr|mlabeledtr
+
+TableCellExpression = mtd
+
+MstackExpression = MathExpression|mscarries|msline|msrow|msgroup
+
+MsrowExpression = MathExpression|none
+
+MultiScriptExpression = (MathExpression|none),(MathExpression|none)
+
+mpadded-length = xsd:string {
+ 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*' }
+
+linestyle = "none" | "solid" | "dashed"
+
+verticalalign =
+ "top" |
+ "bottom" |
+ "center" |
+ "baseline" |
+ "axis"
+
+columnalignstyle = "left" | "center" | "right"
+
+notationstyle =
+ "longdiv" |
+ "actuarial" |
+ "radical" |
+ "box" |
+ "roundedbox" |
+ "circle" |
+ "left" |
+ "right" |
+ "top" |
+ "bottom" |
+ "updiagonalstrike" |
+ "downdiagonalstrike" |
+ "verticalstrike" |
+ "horizontalstrike" |
+ "madruwb"
+
+idref = text
+unsigned-integer = xsd:unsignedLong
+integer = xsd:integer
+number = xsd:decimal
+
+character = xsd:string {
+ pattern = '\s*\S\s*'}
+
+color = xsd:string {
+ 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*'}
+
+
+group-alignment = "left" | "center" | "right" | "decimalpoint"
+group-alignment-list = list {group-alignment+}
+group-alignment-list-list = xsd:string {
+ pattern = '(\s*\{\s*(left|center|right|decimalpoint)(\s+(left|center|right|decimalpoint))*\})*\s*' }
+positive-integer = xsd:positiveInteger
+
+
+TokenExpression = mi|mn|mo|mtext|mspace|ms
+
+token.content = mglyph|malignmark|text
+
+mi = element mi {mi.attributes, token.content*}
+mi.attributes =
+ CommonAtt,
+ CommonPresAtt,
+ TokenAtt
+
+
+mn = element mn {mn.attributes, token.content*}
+mn.attributes =
+ CommonAtt,
+ CommonPresAtt,
+ TokenAtt
+
+
+mo = element mo {mo.attributes, token.content*}
+mo.attributes =
+ CommonAtt,
+ CommonPresAtt,
+ TokenAtt,
+ attribute form {"prefix" | "infix" | "postfix"}?,
+ attribute fence {"true" | "false"}?,
+ attribute separator {"true" | "false"}?,
+ attribute lspace {length}?,
+ attribute rspace {length}?,
+ attribute stretchy {"true" | "false"}?,
+ attribute symmetric {"true" | "false"}?,
+ attribute maxsize {length | "infinity"}?,
+ attribute minsize {length}?,
+ attribute largeop {"true" | "false"}?,
+ attribute movablelimits {"true" | "false"}?,
+ attribute accent {"true" | "false"}?,
+ attribute linebreak {"auto" | "newline" | "nobreak" | "goodbreak" | "badbreak"}?,
+ attribute lineleading {length}?,
+ attribute linebreakstyle {"before" | "after" | "duplicate" | "infixlinebreakstyle"}?,
+ attribute linebreakmultchar {text}?,
+ attribute indentalign {"left" | "center" | "right" | "auto" | "id"}?,
+ attribute indentshift {length}?,
+ attribute indenttarget {idref}?,
+ attribute indentalignfirst {"left" | "center" | "right" | "auto" | "id" | "indentalign"}?,
+ attribute indentshiftfirst {length | "indentshift"}?,
+ attribute indentalignlast {"left" | "center" | "right" | "auto" | "id" | "indentalign"}?,
+ attribute indentshiftlast {length | "indentshift"}?
+
+
+mtext = element mtext {mtext.attributes, token.content*}
+mtext.attributes =
+ CommonAtt,
+ CommonPresAtt,
+ TokenAtt
+
+
+mspace = element mspace {mspace.attributes, empty}
+mspace.attributes =
+ CommonAtt,
+ CommonPresAtt,
+ TokenAtt,
+ attribute width {length}?,
+ attribute height {length}?,
+ attribute depth {length}?,
+ attribute linebreak {"auto" | "newline" | "nobreak" | "goodbreak" | "badbreak" | "indentingnewline"}?
+
+
+ms = element ms {ms.attributes, token.content*}
+ms.attributes =
+ CommonAtt,
+ CommonPresAtt,
+ TokenAtt,
+ attribute lquote {text}?,
+ attribute rquote {text}?
+
+
+mglyph = element mglyph {mglyph.attributes,mglyph.deprecatedattributes,empty}
+mglyph.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute src {xsd:anyURI}?,
+ attribute width {length}?,
+ attribute height {length}?,
+ attribute valign {length}?,
+ attribute alt {text}?
+mglyph.deprecatedattributes =
+ attribute index {integer}?,
+ attribute mathvariant {"normal" | "bold" | "italic" | "bold-italic" | "double-struck" | "bold-fraktur" | "script" | "bold-script" | "fraktur" | "sans-serif" | "bold-sans-serif" | "sans-serif-italic" | "sans-serif-bold-italic" | "monospace" | "initial" | "tailed" | "looped" | "stretched"}?,
+ attribute mathsize {"small" | "normal" | "big" | length}?,
+ DeprecatedTokenAtt
+
+msline = element msline {msline.attributes,empty}
+msline.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute position {integer}?,
+ attribute length {unsigned-integer}?,
+ attribute leftoverhang {length}?,
+ attribute rightoverhang {length}?,
+ attribute mslinethickness {length | "thin" | "medium" | "thick"}?
+
+none = element none {none.attributes,empty}
+none.attributes =
+ CommonAtt,
+ CommonPresAtt
+
+mprescripts = element mprescripts {mprescripts.attributes,empty}
+mprescripts.attributes =
+ CommonAtt,
+ CommonPresAtt
+
+
+CommonPresAtt =
+ attribute mathcolor {color}?,
+ attribute mathbackground {color | "transparent"}?
+
+TokenAtt =
+ attribute mathvariant {"normal" | "bold" | "italic" | "bold-italic" | "double-struck" | "bold-fraktur" | "script" | "bold-script" | "fraktur" | "sans-serif" | "bold-sans-serif" | "sans-serif-italic" | "sans-serif-bold-italic" | "monospace" | "initial" | "tailed" | "looped" | "stretched"}?,
+ attribute mathsize {"small" | "normal" | "big" | length}?,
+ attribute dir {"ltr" | "rtl"}?,
+ DeprecatedTokenAtt
+
+DeprecatedTokenAtt =
+ attribute fontfamily {text}?,
+ attribute fontweight {"normal" | "bold"}?,
+ attribute fontstyle {"normal" | "italic"}?,
+ attribute fontsize {length}?,
+ attribute color {color}?,
+ attribute background {color | "transparent"}?
+
+MalignExpression = maligngroup|malignmark
+
+malignmark = element malignmark {malignmark.attributes, empty}
+malignmark.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute edge {"left" | "right"}?
+
+
+maligngroup = element maligngroup {maligngroup.attributes, empty}
+maligngroup.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute groupalign {"left" | "center" | "right" | "decimalpoint"}?
+
+
+PresentationExpression = TokenExpression|MalignExpression|
+ mrow|mfrac|msqrt|mroot|mstyle|merror|mpadded|mphantom|
+ mfenced|menclose|msub|msup|msubsup|munder|mover|munderover|
+ mmultiscripts|mtable|mstack|mlongdiv|maction
+
+
+
+mrow = element mrow {mrow.attributes, MathExpression*}
+mrow.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute dir {"ltr" | "rtl"}?
+
+
+mfrac = element mfrac {mfrac.attributes, MathExpression, MathExpression}
+mfrac.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute linethickness {length | "thin" | "medium" | "thick"}?,
+ attribute numalign {"left" | "center" | "right"}?,
+ attribute denomalign {"left" | "center" | "right"}?,
+ attribute bevelled {"true" | "false"}?
+
+
+msqrt = element msqrt {msqrt.attributes, ImpliedMrow}
+msqrt.attributes =
+ CommonAtt, CommonPresAtt
+
+
+mroot = element mroot {mroot.attributes, MathExpression, MathExpression}
+mroot.attributes =
+ CommonAtt, CommonPresAtt
+
+
+mstyle = element mstyle {mstyle.attributes, ImpliedMrow}
+mstyle.attributes =
+ CommonAtt, CommonPresAtt,
+ mstyle.specificattributes,
+ mstyle.generalattributes,
+ mstyle.deprecatedattributes
+
+mstyle.specificattributes =
+ attribute scriptlevel {integer}?,
+ attribute displaystyle {"true" | "false"}?,
+ attribute scriptsizemultiplier {number}?,
+ attribute scriptminsize {length}?,
+ attribute infixlinebreakstyle {"before" | "after" | "duplicate"}?,
+ attribute decimalpoint {character}?
+
+mstyle.generalattributes =
+ attribute accent {"true" | "false"}?,
+ attribute accentunder {"true" | "false"}?,
+ attribute align {"left" | "right" | "center"}?,
+ attribute alignmentscope {list {("true" | "false") +}}?,
+ attribute bevelled {"true" | "false"}?,
+ attribute charalign {"left" | "center" | "right"}?,
+ attribute charspacing {length | "loose" | "medium" | "tight"}?,
+ attribute close {text}?,
+ attribute columnalign {list {columnalignstyle+} }?,
+ attribute columnlines {list {linestyle +}}?,
+ attribute columnspacing {list {(length) +}}?,
+ attribute columnspan {positive-integer}?,
+ attribute columnwidth {list {("auto" | length | "fit") +}}?,
+ attribute crossout {list {("none" | "updiagonalstrike" | "downdiagonalstrike" | "verticalstrike" | "horizontalstrike")*}}?,
+ attribute denomalign {"left" | "center" | "right"}?,
+ attribute depth {length}?,
+ attribute dir {"ltr" | "rtl"}?,
+ attribute edge {"left" | "right"}?,
+ attribute equalcolumns {"true" | "false"}?,
+ attribute equalrows {"true" | "false"}?,
+ attribute fence {"true" | "false"}?,
+ attribute form {"prefix" | "infix" | "postfix"}?,
+ attribute frame {linestyle}?,
+ attribute framespacing {list {length, length}}?,
+ attribute groupalign {group-alignment-list-list}?,
+ attribute height {length}?,
+ attribute indentalign {"left" | "center" | "right" | "auto" | "id"}?,
+ attribute indentalignfirst {"left" | "center" | "right" | "auto" | "id" | "indentalign"}?,
+ attribute indentalignlast {"left" | "center" | "right" | "auto" | "id" | "indentalign"}?,
+ attribute indentshift {length}?,
+ attribute indentshiftfirst {length | "indentshift"}?,
+ attribute indentshiftlast {length | "indentshift"}?,
+ attribute indenttarget {idref}?,
+ attribute largeop {"true" | "false"}?,
+ attribute leftoverhang {length}?,
+ attribute length {unsigned-integer}?,
+ attribute linebreak {"auto" | "newline" | "nobreak" | "goodbreak" | "badbreak"}?,
+ attribute linebreakmultchar {text}?,
+ attribute linebreakstyle {"before" | "after" | "duplicate" | "infixlinebreakstyle"}?,
+ attribute lineleading {length}?,
+ attribute linethickness {length | "thin" | "medium" | "thick"}?,
+ attribute location {"w" | "nw" | "n" | "ne" | "e" | "se" | "s" | "sw"}?,
+ attribute longdivstyle {"lefttop" | "stackedrightright" | "mediumstackedrightright" | "shortstackedrightright" | "righttop" | "left/\right" | "left)(right" | ":right=right" | "stackedleftleft" | "stackedleftlinetop"}?,
+ attribute lquote {text}?,
+ attribute lspace {length}?,
+ attribute mathsize {"small" | "normal" | "big" | length}?,
+ attribute mathvariant {"normal" | "bold" | "italic" | "bold-italic" | "double-struck" | "bold-fraktur" | "script" | "bold-script" | "fraktur" | "sans-serif" | "bold-sans-serif" | "sans-serif-italic" | "sans-serif-bold-italic" | "monospace" | "initial" | "tailed" | "looped" | "stretched"}?,
+ attribute maxsize {length | "infinity"}?,
+ attribute minlabelspacing {length}?,
+ attribute minsize {length}?,
+ attribute movablelimits {"true" | "false"}?,
+ attribute mslinethickness {length | "thin" | "medium" | "thick"}?,
+ attribute notation {text}?,
+ attribute numalign {"left" | "center" | "right"}?,
+ attribute open {text}?,
+ attribute position {integer}?,
+ attribute rightoverhang {length}?,
+ attribute rowalign {list {verticalalign+} }?,
+ attribute rowlines {list {linestyle +}}?,
+ attribute rowspacing {list {(length) +}}?,
+ attribute rowspan {positive-integer}?,
+ attribute rquote {text}?,
+ attribute rspace {length}?,
+ attribute selection {positive-integer}?,
+ attribute separator {"true" | "false"}?,
+ attribute separators {text}?,
+ attribute shift {integer}?,
+ attribute side {"left" | "right" | "leftoverlap" | "rightoverlap"}?,
+ attribute stackalign {"left" | "center" | "right" | "decimalpoint"}?,
+ attribute stretchy {"true" | "false"}?,
+ attribute subscriptshift {length}?,
+ attribute superscriptshift {length}?,
+ attribute symmetric {"true" | "false"}?,
+ attribute valign {length}?,
+ attribute width {length}?
+
+mstyle.deprecatedattributes =
+ DeprecatedTokenAtt,
+ attribute veryverythinmathspace {length}?,
+ attribute verythinmathspace {length}?,
+ attribute thinmathspace {length}?,
+ attribute mediummathspace {length}?,
+ attribute thickmathspace {length}?,
+ attribute verythickmathspace {length}?,
+ attribute veryverythickmathspace {length}?
+
+math.attributes &= CommonPresAtt
+math.attributes &= mstyle.specificattributes
+math.attributes &= mstyle.generalattributes
+
+
+
+
+merror = element merror {merror.attributes, ImpliedMrow}
+merror.attributes =
+ CommonAtt, CommonPresAtt
+
+
+mpadded = element mpadded {mpadded.attributes, ImpliedMrow}
+mpadded.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute height {mpadded-length}?,
+ attribute depth {mpadded-length}?,
+ attribute width {mpadded-length}?,
+ attribute lspace {mpadded-length}?,
+ attribute voffset {mpadded-length}?
+
+
+mphantom = element mphantom {mphantom.attributes, ImpliedMrow}
+mphantom.attributes =
+ CommonAtt, CommonPresAtt
+
+
+mfenced = element mfenced {mfenced.attributes, MathExpression*}
+mfenced.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute open {text}?,
+ attribute close {text}?,
+ attribute separators {text}?
+
+
+menclose = element menclose {menclose.attributes, ImpliedMrow}
+menclose.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute notation {text}?
+
+
+msub = element msub {msub.attributes, MathExpression, MathExpression}
+msub.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute subscriptshift {length}?
+
+
+msup = element msup {msup.attributes, MathExpression, MathExpression}
+msup.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute superscriptshift {length}?
+
+
+msubsup = element msubsup {msubsup.attributes, MathExpression, MathExpression, MathExpression}
+msubsup.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute subscriptshift {length}?,
+ attribute superscriptshift {length}?
+
+
+munder = element munder {munder.attributes, MathExpression, MathExpression}
+munder.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute accentunder {"true" | "false"}?,
+ attribute align {"left" | "right" | "center"}?
+
+
+mover = element mover {mover.attributes, MathExpression, MathExpression}
+mover.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute accent {"true" | "false"}?,
+ attribute align {"left" | "right" | "center"}?
+
+
+munderover = element munderover {munderover.attributes, MathExpression, MathExpression, MathExpression}
+munderover.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute accent {"true" | "false"}?,
+ attribute accentunder {"true" | "false"}?,
+ attribute align {"left" | "right" | "center"}?
+
+
+mmultiscripts = element mmultiscripts {mmultiscripts.attributes, MathExpression,MultiScriptExpression*,(mprescripts,MultiScriptExpression*)?}
+mmultiscripts.attributes =
+ msubsup.attributes
+
+
+mtable = element mtable {mtable.attributes, TableRowExpression*}
+mtable.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute align {xsd:string {
+ pattern ='\s*(top|bottom|center|baseline|axis)\s*[0-9]*'}}?,
+ attribute rowalign {list {verticalalign+} }?,
+ attribute columnalign {list {columnalignstyle+} }?,
+ attribute groupalign {group-alignment-list-list}?,
+ attribute alignmentscope {list {("true" | "false") +}}?,
+ attribute columnwidth {list {("auto" | length | "fit") +}}?,
+ attribute width {"auto" | length}?,
+ attribute rowspacing {list {(length) +}}?,
+ attribute columnspacing {list {(length) +}}?,
+ attribute rowlines {list {linestyle +}}?,
+ attribute columnlines {list {linestyle +}}?,
+ attribute frame {linestyle}?,
+ attribute framespacing {list {length, length}}?,
+ attribute equalrows {"true" | "false"}?,
+ attribute equalcolumns {"true" | "false"}?,
+ attribute displaystyle {"true" | "false"}?,
+ attribute side {"left" | "right" | "leftoverlap" | "rightoverlap"}?,
+ attribute minlabelspacing {length}?
+
+
+mlabeledtr = element mlabeledtr {mlabeledtr.attributes, TableCellExpression+}
+mlabeledtr.attributes =
+ mtr.attributes
+
+
+mtr = element mtr {mtr.attributes, TableCellExpression*}
+mtr.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute rowalign {"top" | "bottom" | "center" | "baseline" | "axis"}?,
+ attribute columnalign {list {columnalignstyle+} }?,
+ attribute groupalign {group-alignment-list-list}?
+
+
+mtd = element mtd {mtd.attributes, ImpliedMrow}
+mtd.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute rowspan {positive-integer}?,
+ attribute columnspan {positive-integer}?,
+ attribute rowalign {"top" | "bottom" | "center" | "baseline" | "axis"}?,
+ attribute columnalign {columnalignstyle}?,
+ attribute groupalign {group-alignment-list}?
+
+
+mstack = element mstack {mstack.attributes, MstackExpression*}
+mstack.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute align {xsd:string {
+ pattern ='\s*(top|bottom|center|baseline|axis)\s*[0-9]*'}}?,
+ attribute stackalign {"left" | "center" | "right" | "decimalpoint"}?,
+ attribute charalign {"left" | "center" | "right"}?,
+ attribute charspacing {length | "loose" | "medium" | "tight"}?
+
+
+mlongdiv = element mlongdiv {mlongdiv.attributes, MstackExpression,MstackExpression,MstackExpression+}
+mlongdiv.attributes =
+ msgroup.attributes,
+ attribute longdivstyle {"lefttop" | "stackedrightright" | "mediumstackedrightright" | "shortstackedrightright" | "righttop" | "left/\right" | "left)(right" | ":right=right" | "stackedleftleft" | "stackedleftlinetop"}?
+
+
+msgroup = element msgroup {msgroup.attributes, MstackExpression*}
+msgroup.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute position {integer}?,
+ attribute shift {integer}?
+
+
+msrow = element msrow {msrow.attributes, MsrowExpression*}
+msrow.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute position {integer}?
+
+
+mscarries = element mscarries {mscarries.attributes, (MsrowExpression|mscarry)*}
+mscarries.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute position {integer}?,
+ attribute location {"w" | "nw" | "n" | "ne" | "e" | "se" | "s" | "sw"}?,
+ attribute crossout {list {("none" | "updiagonalstrike" | "downdiagonalstrike" | "verticalstrike" | "horizontalstrike")*}}?,
+ attribute scriptsizemultiplier {number}?
+
+
+mscarry = element mscarry {mscarry.attributes, MsrowExpression*}
+mscarry.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute location {"w" | "nw" | "n" | "ne" | "e" | "se" | "s" | "sw"}?,
+ attribute crossout {list {("none" | "updiagonalstrike" | "downdiagonalstrike" | "verticalstrike" | "horizontalstrike")*}}?
+
+
+maction = element maction {maction.attributes, MathExpression+}
+maction.attributes =
+ CommonAtt, CommonPresAtt,
+ attribute actiontype {text}?,
+ attribute selection {positive-integer}?
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-strict-content.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-strict-content.rnc
new file mode 100755
index 00000000000..e854b1cd13a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-strict-content.rnc
@@ -0,0 +1,60 @@
+# 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
+
+
+default namespace m = "http://www.w3.org/1998/Math/MathML"
+
+ContExp = semantics-contexp | cn | ci | csymbol | apply | bind | share | cerror | cbytes | cs
+
+cn = element cn {cn.attributes,cn.content}
+cn.content = text
+cn.attributes = attribute type {"integer" | "real" | "double" | "hexdouble"}
+
+semantics-ci = element semantics {semantics.attributes,(ci|semantics-ci),
+ (annotation|annotation-xml)*}
+
+semantics-contexp = element semantics {semantics.attributes,ContExp,
+ (annotation|annotation-xml)*}
+
+ci = element ci {ci.attributes, ci.content}
+ci.attributes = CommonAtt, ci.type?
+ci.type = attribute type {"integer" | "rational" | "real" | "complex" | "complex-polar" | "complex-cartesian" | "constant" | "function" | "vector" | "list" | "set" | "matrix"}
+ci.content = text
+
+
+csymbol = element csymbol {csymbol.attributes,csymbol.content}
+
+SymbolName = xsd:NCName
+csymbol.attributes = CommonAtt, cd
+csymbol.content = SymbolName
+
+BvarQ = bvar*
+bvar = element bvar { ci | semantics-ci}
+
+apply = element apply {CommonAtt,apply.content}
+apply.content = ContExp+
+
+
+bind = element bind {CommonAtt,bind.content}
+bind.content = ContExp,bvar*,ContExp
+
+share = element share {CommonAtt, src, empty}
+
+cerror = element cerror {cerror.attributes, csymbol, ContExp*}
+cerror.attributes = CommonAtt
+
+cbytes = element cbytes {cbytes.attributes, base64}
+cbytes.attributes = CommonAtt
+base64 = xsd:base64Binary
+
+cs = element cs {cs.attributes, text}
+cs.attributes = CommonAtt
+
+MathExpression |= ContExp
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-strict.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-strict.rnc
new file mode 100644
index 00000000000..31d2ad40051
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3-strict.rnc
@@ -0,0 +1,80 @@
+# 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 8959 2011-09-02 06:01:43Z 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.
+
+default namespace m = "http://www.w3.org/1998/Math/MathML"
+
+include "mathml3-common.rnc"
+
+math.content |= ContExp
+
+#ednote(rnc:opel-content) What is the content of a operator element, currently all text?
+opel.content = text
+
+# we want to extend this in pragmatic CMathML, so we introduce abbrevs here.
+#ednote(rnc:cn-content) What is the content of a cn?
+cn.content = text |(cn,cn)
+cn.type.vals = "integer"|"real"|"double"
+
+cn = element cn {attribute base {text}?,
+ attribute type {cn.type.vals}?,
+ Definition.attrib,
+ MathML.Common.attrib,
+ (cn.content)*}
+
+ci = element ci {attribute type {xsd:string}?,
+ attribute nargs {xsd:string}?,
+ attribute occurrence {xsd:string}?,
+ Definition.attrib,
+ MathML.Common.attrib,
+ opel.content,
+ name.attrib?}
+
+cdname.attrib = attribute cd {xsd:NCName}
+
+csymbol = element csymbol {MathML.Common.attrib,
+ Definition.attrib,cdname.attrib?,cdbase.attrib?,
+ opel.content}
+
+# the content of the apply element, leave it empty and extend it later
+apply = element apply {MathML.Common.attrib,cdbase.attrib?,apply.content}
+apply-head = apply|bind|ci|csymbol|semantics-apply
+apply.content = apply-head,ContExp*
+semantics-apply = element semantics {semantics.attribs,apply-head, semantics-annotation*}
+
+qualifier = notAllowed
+
+# the content of the bind element, leave it empty and extend it later
+bind = element bind {MathML.Common.attrib,cdbase.attrib?,bind.content}
+bind-head = apply|csymbol|semantics-bind
+bind.content = bind-head,bvar*,qualifier?,ContExp
+semantics-bind = element semantics {semantics.attribs,bind-head, semantics-annotation*}
+
+bvar = element bvar {MathML.Common.attrib,cdbase.attrib?,bvar-head}
+bvar-head = ci|semantics-bvar
+semantics-bvar = element semantics {semantics.attribs,bvar-head, semantics-annotation*}
+
+share = element share {MathML.Common.attrib,attribute href {xsd:anyURI}}
+
+# the content of the cerror element, leave it empty and extend it later
+cerror = element cerror {MathML.Common.attrib,cdbase.attrib?,cerror.content}
+cerror-head = csymbol|apply|semantics-cerror
+cerror.content = cerror-head,ContExp*
+semantics-cerror = element semantics {semantics.attribs,cerror-head, semantics-annotation*}
+
+semantics-cmml = element semantics {semantics.attribs,ContExp, semantics-annotation*}
+
+ContExp = cn| ci | csymbol | apply | bind | share | cerror | semantics-cmml
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3.rnc
new file mode 100644
index 00000000000..317db3dd468
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mathml3.rnc
@@ -0,0 +1,21 @@
+# 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
+
+
+default namespace m = "http://www.w3.org/1998/Math/MathML"
+
+## Content MathML
+include "mathml3-content.rnc"
+
+## Presentation MathML
+include "mathml3-presentation.rnc"
+
+## math and semantics common to both Content and Presentation
+include "mathml3-common.rnc"
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mocksoap.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mocksoap.rnc
new file mode 100644
index 00000000000..745ee82d7ce
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/mocksoap.rnc
@@ -0,0 +1,39 @@
+# A RelaxNG schema for Mock Soap with OMDoc content (OMDoc 1.3)
+# $Id: mocksoap.rnc 8959 2011-09-02 06:01:43Z kohlhase $
+# $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/mocksoap.rnc $
+# See the documentation and examples at http://www.omdoc.org
+# Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL)
+
+namespace omdoc = "http://omdoc.org/ns"
+namespace env = "http://www.w3.org/2003/05/soap-envelope"
+namespace ws = "http://www.mathweb.org/ws-fictional"
+
+start = Envelope
+
+include "omdoc-common.rnc"
+include "omdocmobj.rnc"
+include "omdocdoc.rnc"
+include "omdocdc.rnc"
+include "omdoccc.rnc"
+include "omdocmtxt.rnc"
+include "omdocst.rnc"
+include "omdocpf.rnc"
+
+
+Envelope = element env:Envelope {Body}
+Body = element env:Body {(prover|prove|proof|theory)*}
+prover = element ws:prover {attribute env:encodingStyle {xsd:anyURI}?,
+ name?,version?,URL?,uptime?,sysinfo?}
+name = element ws:name {text}
+version = element ws:version {text}
+URL = element ws:URL {text}
+uptime = element ws:uptime {text}
+sysinfo = element ws:sysinfo {ostype?,mips?}
+ostype = element ws:ostype {text}
+mips = element ws:mips {text}
+
+prove = element ws:prove {attribute env:encodingStyle {xsd:anyURI}?,
+ (assertion|replyWith|timeout)*}
+replyWith = element ws:replyWith {state*}
+timeout = element ws:timeout {text}
+state = element ws:state {text}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcd2.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcd2.rnc
new file mode 100644
index 00000000000..2a2b64e4371
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcd2.rnc
@@ -0,0 +1,59 @@
+# *********************************************
+#
+# Relax NG Schema for OpenMath CD
+#
+# *********************************************
+
+default namespace = "http://www.openmath.org/OpenMathCD"
+
+include "openmath2.rnc"
+
+start = CD
+
+CDComment = element CDComment { text }
+CDName = element CDName { xsd:NCName }
+CDUses = element CDUses { CDName* }
+CDURL = element CDURL { xsd:anyURI }
+CDBase = element CDBase { xsd:anyURI }
+text-or-om = (text | OMOBJ)*
+CDReviewDate = element CDReviewDate { xsd:date }
+CDDate = element CDDate { xsd:date }
+CDVersion = element CDVersion { xsd:nonNegativeInteger }
+CDRevision = element CDRevision { xsd:nonNegativeInteger }
+CDStatus = element CDStatus {
+ "official" |
+ "experimental" |
+ "private" |
+ "obsolete"}
+Description = element Description { text }
+Name = element Name { xsd:NCName }
+Role = element Role {
+ "binder" |
+ "attribution" |
+ "semantic-attribution" |
+ "error" |
+ "application" |
+ "constant" }
+CMP = element CMP { text }
+FMP = element FMP {
+ attribute kind {xsd:string}?,
+ OMOBJ
+ }
+# allow embedded OM
+Example = element Example { text-or-om }
+CDDefinition =
+ element CDDefinition {
+ CDComment*,
+ (Name & Role? & Description),
+ (CDComment | Example | FMP | CMP)*
+ }
+CD =
+ element CD {
+ (CDComment* & Description? &
+ CDName & CDURL? & CDBase? &
+ CDReviewDate? & CDDate & CDStatus &
+ CDUses? &
+ CDVersion & CDRevision),
+ ( CDDefinition,CDComment* )+
+ }
+
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcdgroup2.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcdgroup2.rnc
new file mode 100644
index 00000000000..3b6754e471d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcdgroup2.rnc
@@ -0,0 +1,33 @@
+
+# Schema for OpenMath CD groups
+
+# info on the CD group itself
+
+default namespace = "http://www.openmath.org/OpenMathCDG"
+
+CDGroupName = element CDGroupName { xsd:NCName }
+CDGroupVersion = element CDGroupVersion { xsd:nonNegativeInteger }
+CDGroupRevision = element CDGroupRevision { xsd:nonNegativeInteger }
+CDGroupURL = element CDGroupURL { text }
+CDGroupDescription = element CDGroupDescription { text }
+# info on the CDs in the group
+CDComment = element CDComment { text }
+CDGroupMember =
+ element CDGroupMember {
+ CDComment?, CDName, CDVersion?, CDURL?
+ }
+CDName = element CDName { xsd:NCName }
+CDVersion = element CDVersion { xsd:nonNegativeInteger }
+CDURL = element CDURL { text }
+# structure of the group
+CDGroup =
+ element CDGroup {
+ CDGroupName,
+ CDGroupVersion,
+ CDGroupRevision?,
+ CDGroupURL,
+ CDGroupDescription,
+ (CDGroupMember | CDComment)*
+ }
+start = CDGroup
+
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcdsig2.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcdsig2.rnc
new file mode 100644
index 00000000000..32aa235cc76
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omcdsig2.rnc
@@ -0,0 +1,32 @@
+# *********************************************
+#
+# Relax NG Schema for OpenMath CD Signatures
+#
+# *********************************************
+
+default namespace = "http://www.openmath.org/OpenMathCDS"
+
+include "openmath2.rnc"
+
+start = CDSignatures
+
+CDSComment = element CDSComment { text }
+CDSReviewDate = element CDSReviewDate { text }
+CDSStatus = element CDSStatus {
+ "official" |
+ "experimental" |
+ "private" |
+ "obsolete"}
+CDSignatures =
+ element CDSignatures {
+ attlist.CDSignatures,
+ (CDSComment)*,
+ (CDSReviewDate? & CDSStatus),
+ (CDSComment | Signature)*
+ }
+attlist.CDSignatures =
+ attribute cd { xsd:NCName },
+ attribute type { xsd:NCName }
+Signature = element Signature { attlist.Signature, OMOBJ? }
+attlist.Signature = attribute name { text }
+
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoc-common.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoc-common.rnc
new file mode 100644
index 00000000000..eef4f53b04e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoc-common.rnc
@@ -0,0 +1,66 @@
+# 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)
+
+default namespace omdoc = "http://omdoc.org/ns"
+namespace local = ""
+
+# all the explicitly namespaced attributes, except xml:lang, which
+# is handled explicitly
+nonlocal.attribs = attribute * - (local:* | xml:*) {xsd:string}*
+
+# the attributes for CSS and PRES styling
+css.attribs = attribute style {xsd:string}? & attribute class {xsd:string}?
+
+omdocref = xsd:anyURI # an URI reference pointing to an OMDoc fragment
+omdocrefs = list {xsd:anyURI*} # a whitespace-separated list of omdocref
+
+xref.attrib = attribute xref {omdocref}
+tref = attribute tref {omdocref}
+
+# for the moment, we may get regexp at some point.
+curie = xsd:string
+curies = xsd:string
+safecurie = xsd:string
+
+about.attrib = attribute about {xsd:anyURI|safecurie}
+xmlbase.attrib = attribute xml:base {xsd:anyURI}
+xmlid.attrib = attribute xml:id {xsd:ID}
+
+idrest.attribs = css.attribs & nonlocal.attribs & about.attrib? & xmlbase.attrib?
+
+id.attribs = xmlid.attrib? & idrest.attribs
+
+toplevel.attribs = id.attribs, attribute generated-from {omdocref}?
+
+iso639 = "aa" | "ab" | "af" | "am" | "ar" | "as" |
+"ay" | "az" | "ba" | "be" | "bg" | "bh" | "bi" | "bn" | "bo" | "br" | "ca" | "co"
+| "cs" | "cy" | "da" | "de" | "dz" | "el" | "en" | "eo" | "es" | "et" | "eu" |
+"fa" | "fi" | "fj" | "fo" | "fr" | "fy" | "ga" | "gd" | "gl" | "gn" | "gu" | "ha"
+| "he" | "hi" | "hr" | "hu" | "hy" | "ia" | "ie" | "ik" | "id" | "is" | "it" |
+"iu" | "ja" | "jv" | "ka" | "kk" | "kl" | "km" | "kn" | "ko" | "ks" | "ku" | "ky"
+| "la" | "ln" | "lo" | "lt" | "lv" | "mg" | "mi" | "mk" | "ml" | "mn" | "mo" |
+"mr" | "ms" | "mt" | "my" | "na" | "ne" | "nl" | "no" | "oc" | "om" | "or" | "pa"
+| "pl" | "ps" | "pt" | "qu" | "rm" | "rn" | "ro" | "ru" | "rw" | "sa" | "sd" |
+"sg" | "sh" | "si" | "sk" | "sl" | "sm" | "sn" | "so" | "sq" | "sr" | "ss" | "st"
+| "su" | "sv" | "sw" | "ta" | "te" | "tg" | "th" | "ti" | "tk" | "tl" | "tn" |
+"to" | "tr" | "ts" | "tt" | "tw" | "ug" | "uk" | "ur" | "uz" | "vi" | "vo" | "wo"
+| "xh" | "yi" | "yo" | "za" | "zh" | "zu"
+
+xml.lang.attrib = attribute xml:lang {iso639}?
+
+Anything = (AnyElement|text)*
+AnyElement = element * {AnyAttribute,(text | AnyElement)*}
+AnyAttribute = attribute * { text }*
+
+## useful classes to be extended in the modules
+inline.class = empty
+omdoc.class = empty
+plike.class = empty
+
+## mixed models
+inline.model = text & inline.class
+
+metadata.model &= dublincore
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoc.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoc.rnc
new file mode 100644
index 00000000000..0616aaf0147
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoc.rnc
@@ -0,0 +1,24 @@
+# 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 = omdoc
+
+include "omdoc-common.rnc"
+include "omdocmobj.rnc"
+include "omdocmeta.rnc"
+include "omdocdoc.rnc"
+include "omdocdc.rnc"
+include "omdoccc.rnc"
+include "omdocmtxt.rnc"
+include "omdocrt.rnc"
+include "omdocpres.rnc"
+include "omdocst.rnc"
+include "omdoccth.rnc"
+include "omdocdg.rnc"
+include "omdocpf.rnc"
+include "omdocadt.rnc"
+include "omdocext.rnc"
+include "omdocquiz.rnc"
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocadt.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocadt.rnc
new file mode 100644
index 00000000000..131df5606ff
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocadt.rnc
@@ -0,0 +1,49 @@
+# 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)
+
+default namespace omdoc = "http://omdoc.org/ns"
+omdoc.class &= adt*
+
+adt.sym.attrib = id.attribs,scope.attrib,attribute name {xsd:NCName}
+
+# adts are abstract data types, they are short forms for groups of symbols
+# and their definitions, therefore, they have much the same attributes.
+
+adt.attribs = toplevel.attribs &
+ attribute parameters {list {xsd:NCName*}}?
+adt.class = sortdef+
+adt.model = metadata.class & adt.class
+adt = element adt {tref|(adt.attribs & adt.model)}
+
+adttype = "loose" | "generated" | "free"
+sortdef.attribs = adt.sym.attrib &
+ attribute role {"sort"}? &
+ attribute type {adttype}?
+sortdef.model = metadata.class & constructor* & insort* & recognizer?
+sortdef = element sortdef {tref|(sortdef.attribs &sortdef.model)}
+
+insort.attribs = attribute for {omdocref}
+insort.model = empty
+insort = element insort {tref|(insort.attribs & insort.model)}
+
+constructor.attribs = adt.sym.attrib & sym.role.attrib?
+constructor.model = metadata.class & argument*
+constructor = element constructor {tref|(constructor.attribs & constructor.model)}
+
+recognizer.attribs = adt.sym.attrib & sym.role.attrib?
+recognizer.model = metadata.class
+recognizer = element recognizer {tref|(recognizer.attribs & recognizer.model)}
+
+argument.attribs = empty
+argument.model = type & selector?
+argument = element argument {tref|(argument.attribs & argument.model)}
+
+selector.attribs = adt.sym.attrib &
+ sym.role.attrib? &
+ attribute total {"yes" | "no"}?
+selector.model = metadata.class
+selector = element selector {tref|(selector.attribs & selector.model)}
+
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoccc.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoccc.rnc
new file mode 100644
index 00000000000..3828aec5a6d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoccc.rnc
@@ -0,0 +1,10 @@
+# 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
+license = grammar {include "creativecommons.rnc" {description = parent plike.class}}
+
+metadata.class &= license*
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoccth.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoccth.rnc
new file mode 100644
index 00000000000..8e52773b51d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdoccth.rnc
@@ -0,0 +1,53 @@
+# 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)
+
+default namespace omdoc = "http://omdoc.org/ns"
+
+constitutive.class &= inclusion*
+imports.model &= morphism? &
+ attribute type { "local" | "global"}? &
+ attribute conservativity {"conservative" | "monomorphism" | "definitional"}? &
+ attribute conservativity-just {omdocref}?
+
+toplevel.attribs &= attribute generated-via {omdocref}?
+constitutive.attribs &= attribute generated-via {omdocref}?
+
+omdoc.class &= theory-inclusion* & axiom-inclusion*
+theory-inclusion.justification = obligation*
+axiom-inclusion.justification = obligation*
+
+fromto.attrib = from.attrib & attribute to {omdocref}
+# attributes 'to' and 'from' are URIref
+
+morphism.attribs = id.attribs &
+ attribute hiding {omdocrefs}? &
+ attribute base {omdocrefs}?
+morphism.model = def.eq?
+morphism = element morphism {tref|(morphism.attribs & morphism.model)}
+# base points to some other morphism it extends
+
+inclusion.attribs = id.attribs & attribute via {omdocref}
+inclusion.model = empty
+inclusion = element inclusion {tref|(inclusion.attribs & inclusion.model)}
+# via points to a theory-inclusion
+
+theory-inclusion.attribs = toplevel.attribs & fromto.attrib
+theory-inclusion.model = metadata? & morphism? & theory-inclusion.justification
+theory-inclusion = element theory-inclusion {tref|(theory-inclusion.attribs & theory-inclusion.model)}
+
+axiom-inclusion.attribs = toplevel.attribs & fromto.attrib
+axiom-inclusion.model = metadata? & morphism? & axiom-inclusion.justification
+axiom-inclusion = element theory-inclusion {tref|(axiom-inclusion.attribs & axiom-inclusion.model)}
+
+obligation.attribs = id.attribs &
+ attribute induced-by {omdocref} &
+ attribute assertion {omdocref}
+obligation.model = empty
+obligation = element obligation {tref|(obligation.attribs & obligation.model)}
+# 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/rnc/omdoc/omdocdc.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdc.rnc
new file mode 100644
index 00000000000..7d91738da37
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdc.rnc
@@ -0,0 +1,29 @@
+# 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
+dc.common = id.attribs & nonlocal.attribs
+dc.comlang =dc.common & xml.lang.attrib
+
+dublincore = grammar {include "MARCRelators.rnc"
+ include "dublincore.rnc"
+ {dc.date = parent dc.common &
+ attribute action {xsd:NMTOKEN}? &
+ attribute who {xsd:anyURI}? &
+ (xsd:date|xsd:dateTime)
+ dc.identifier = parent tref|(parent dc.common &
+ attribute scheme {xsd:NMTOKEN} &
+ text)
+ dc.type = parent tref|(parent dc.common & ("Dataset" | "Text" | "Collection"))
+ dc.inline = parent tref|(parent dc.comlang & parent inline.model)
+ dc.text = parent tref|(parent dc.comlang & parent plike.class)
+ dc.person = parent tref|(parent dc.common &
+ attribute role {MARCRelators}? &
+ parent inline.model)
+ dc.rights = parent tref|(parent dc.comlang & parent plike.class)
+ dc.source = parent plike.class}}
+
+metadata.model &= dublincore
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdg.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdg.rnc
new file mode 100644
index 00000000000..af5cfe2fc5b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdg.rnc
@@ -0,0 +1,28 @@
+# 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)
+
+default namespace omdoc = "http://omdoc.org/ns"
+
+omdoc.class &= decomposition* & path-just*
+omdoccth.theory-inclusion.justification &= decomposition*
+omdoccth.axiom-inclusion.justification &= path-just*
+
+decomposition.attribs = toplevel.attribs & for.attrib? &
+ attribute links {omdocrefs}
+decomposition.model = empty
+decomposition = element decomposition {tref|(decomposition.attribs & decomposition.model)}
+# 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
+
+path-just.attribs = for.attrib? & id.attribs &
+ attribute local {omdocref} &
+ attribute globals {omdocrefs}
+path-just.model = empty
+path-just = element path-just {tref|(path-just.attribs & path-just.model)}
+# 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/rnc/omdoc/omdocdoc.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdoc.rnc
new file mode 100644
index 00000000000..77215095b2b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdoc.rnc
@@ -0,0 +1,62 @@
+# 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)
+
+default namespace omdoc = "http://omdoc.org/ns"
+# extend the stuff that can go into a mathematical text
+
+omdoc.class &= ignore* & tableofcontents*
+
+ignore.attribs = id.attribs &
+ attribute type {xsd:string}? &
+ attribute comment {xsd:string}?
+ignore.model = Anything
+ignore = element ignore {tref|(ignore.attribs & ignore.model)}
+
+tableofcontents.attribs = attribute level {xsd:nonNegativeInteger}?
+tableofcontents.model = empty
+tableofcontents = element tableofcontents {tref|(tableofcontents.attribs & tableofcontents.model)}
+
+index.attribs = id.attribs
+index.model = empty
+index = element index {tref|(index.attribs & index.model)}
+
+bibliography.attribs = id.attribs, attribute files {text}
+bibliography.model = empty
+bibliography = element bibliography {tref|(bibliography.attribs & bibliography.model)}
+
+
+group.attribs = id.attribs,
+ attribute type {xsd:anyURI}?,
+ attribute modules {xsd:anyURI}?,
+ attribute layout {text}?
+
+## The <omdoc> and <omgroup> elements allow frontmatter and backmatter,
+## which we will now define
+frontmatter = metadata.class & tableofcontents?
+backmatter = index? & bibliography?
+docstruct.class = omgroup*
+omdoc.class &= docstruct.class
+mainmatter = omdoc.class
+
+omgroup.attribs = toplevel.attribs & group.attribs
+omgroup.model = frontmatter,mainmatter,backmatter
+omgroup = element omgroup {tref|(omgroup.attribs & omgroup.model)}
+
+## the model of the document root only differs from <omgroup> in the version attribute
+omdoc.attribs = toplevel.attribs & group.attribs &
+ attribute version {xsd:string {pattern = "1.3"}}?
+omdoc.model =frontmatter,mainmatter,backmatter
+omdoc = element omdoc {tref|(omdoc.attribs & omdoc.model)}
+
+
+############################## deprecated ################################
+# the following is for legacy only, and will be removed soon.
+ref.attribs = id.attribs & xref.attrib & attribute type {"include" | "cite"}
+ref.model = empty
+ref = element ref{ref.attribs & ref.model}
+
+omdoc.class &= ref*
+inline.class &= ref*
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocext.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocext.rnc
new file mode 100644
index 00000000000..8b37d56603b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocext.rnc
@@ -0,0 +1,64 @@
+# 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)
+
+default namespace omdoc = "http://omdoc.org/ns"
+
+plike.class &= omlet*
+omdoc.class &= private* & code*
+
+private.attribs = toplevel.attribs &
+ for.attrib? &
+ attribute requires {omdocref}? &
+ attribute reformulates {omdocref}?
+private.model = metadata.class & data+
+private = element private {tref|(private.attribs & private.model)}
+# reformulates is a URIref to the omdoc elements that are reformulated by the
+# system-specific information in this element
+
+code.attribs = private.attribs
+code.model = metadata.class & data* & input* & output* & effect*
+code = element code {tref|(code.attribs & code.model)}
+
+input.attribs = id.attribs
+input.model = mcf.class
+input = element input {tref|(input.attribs & input.model)}
+
+output.attribs = id.attribs
+output.model = mcf.class
+output = element output {tref|(output.attribs & output.model)}
+
+effect.attribs = id.attribs
+effect.model = mcf.class
+effect = element effect {tref|(effect.attribs & effect.model)}
+
+data.attribs = id.attribs &
+ attribute href {xsd:anyURI}? &
+ attribute size {xsd:string}? &
+ attribute pto {xsd:string}? &
+ attribute pto-version {xsd:string}? &
+ attribute original {"external" | "local"}?
+
+data.textformat = "TeX"
+data.text = data.attribs & attribute format {data.textformat}? & text
+data.any = data.attribs & attribute format {xsd:anyURI}? & Anything
+data.model = data.text | data.any
+data = element data {tref|data.model}
+
+omlet.attribs = id.attribs &
+ attribute action {"display" | "execute" | "other"}? &
+ attribute show {"new" | "replace" | "embed" | "other"}? &
+ attribute actuate {"onPresent" | "onLoad" | "onRequest" | "other"}?
+omlet.param = text & inline.class & param*
+omlet.data = attribute data {xsd:anyURI}|(private|code)
+omlet.model = metadata.class & omlet.param & omlet.data
+omlet = element omlet {tref|(omlet.attribs & omlet.model)}
+
+param.attribs = id.attribs &
+ attribute name {xsd:string} &
+ attribute value {xsd:string}? &
+ attribute valuetype {"data" | "ref" | "object"}?
+param.model = mobj?
+param = element param {tref|(param.attribs & param.model)}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmeta.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmeta.rnc
new file mode 100644
index 00000000000..a77d98d65d4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmeta.rnc
@@ -0,0 +1,39 @@
+# 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)
+
+default namespace omdoc = "http://omdoc.org/ns"
+
+rel.attrib = attribute rel {curies}
+rev.attrib = attribute rev {curies}
+content.attrib = attribute content {xsd:string}
+resource.attrib = attribute resource {xsd:anyURI|safecurie}
+property.attrib = attribute property {curies}
+datatype.attrib = attribute datatype {curie}
+typeof.attrib = attribute typeof {curies}
+
+meta.attribs = id.attribs & property.attrib?& datatype.attrib? & xml.lang.attrib
+meta.model = content.attrib | Anything | (content.attrib & Anything)
+meta = element meta {tref|(meta.attribs & meta.model)}
+
+mlink.attribs = id.attribs & rel.attrib? & rev.attrib? & resource.attrib?
+mlink.class = resource* & mlink* & meta*
+mlink.model = attribute href {curie}|mlink.class
+mlink = element link {tref|(mlink.attribs,mlink.model)}
+
+resource.attribs = id.attribs & typeof.attrib? & about.attrib?
+resource.class = meta* & mlink*
+resource = element resource {tref|(resource.attribs & resource.class)}
+
+metadata.class = metadata? & meta* & mlink*
+metadata.model = metadata.class
+metadata.attribs = id.attribs
+metadata = element metadata {tref|(metadata.attribs & metadata.model)}
+
+rdfa.attribs = rel.attrib? & rev.attrib? & content.attrib? & about.attrib?
+ & resource.attrib? & property.attrib? & datatype.attrib?
+ & typeof.attrib?
+
+id.attribs &= rdfa.attribs
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmobj.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmobj.rnc
new file mode 100644
index 00000000000..dfe54e9d1ac
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmobj.rnc
@@ -0,0 +1,27 @@
+# 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)
+
+default namespace omdoc = "http://omdoc.org/ns"
+
+namespace om = "http://www.openmath.org/OpenMath"
+namespace local = ""
+
+# the legacy element, it can encapsulate the non-migrated formats
+legacy.attribs = id.attribs &
+ attribute formalism {xsd:anyURI}? &
+ attribute format {xsd:anyURI}
+legacy.model = Anything
+legacy = element legacy {tref|(legacy.attribs & legacy.model)}
+
+nonom.attribs = attribute * - (local:* | om:*) {text}*
+extom.attribs = idrest.attribs & nonom.attribs
+omobj = grammar {include "openmath2.rnc"
+ common.attributes &= parent extom.attribs}
+
+cmml = grammar {include "mathml3-common.rnc"
+ include "mathml3-strict-content.rnc"}
+
+mobj = legacy | omobj | cmml
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmtxt.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmtxt.rnc
new file mode 100644
index 00000000000..e4130acab1c
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocmtxt.rnc
@@ -0,0 +1,105 @@
+# A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module MTXT
+# $Id: omdocmtxt.rnc 8967 2011-09-02 12:41:47Z kohlhase $
+# $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocmtxt.rnc $
+# See the documentation and examples at http://www.omdoc.org
+# Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL)
+
+default namespace omdoc = "http://omdoc.org/ns"
+
+omdoc.class &= omtext*
+
+#attribute for is a whitespace-separated list of URIrefs
+for.attrib = attribute for {omdocrefs}
+from.attrib = attribute from {omdocref}
+mc.class = metadata.class & CMP*
+mcf.class = mc.class & FMP*
+
+rsttype = "abstract" | "introduction" | "annote" |
+ "conclusion" | "thesis" | "comment" | "antithesis" |
+ "elaboration" | "motivation" | "evidence" | "note" |
+ "warning" | "question" | "answer" | "transition"
+
+statementtype = "axiom" | "definition" | "example" | "proof" |
+ "derive" | "hypothesis" | "notation"
+
+assertiontype = "assertion" | "theorem" | "lemma" | "corollary" | "proposition" |
+ "conjecture" | "false-conjecture" | "obligation" |
+ "postulate" | "formula" | "assumption" | "rule"
+
+verbalizes.attrib = attribute verbalizes {omdocrefs}
+omtext.type.attrib = attribute type {rsttype | statementtype | assertiontype | xsd:anyURI}
+index.attrib = attribute index {xsd:NMTOKEN}
+parallel.attribs = verbalizes.attrib? & index.attrib? & omtext.type.attrib?
+
+omtext.attribs = toplevel.attribs &
+ omtext.type.attrib? &
+ attribute for {omdocref}? &
+ attribute from {omdocref}? &
+ verbalizes.attrib?
+omtext.model = mcf.class
+omtext = element omtext {tref|(omtext.attribs & omtext.model)}
+
+CMP.attribs = xml.lang.attrib & id.attribs
+CMP.model = plike.class
+CMP = element CMP {tref|(CMP.attribs & CMP.model)}
+
+term.attribs = id.attribs &
+ attribute role {text}? &
+ attribute cdbase {xsd:anyURI}? &
+ attribute cd {xsd:NCName} &
+ attribute name {xsd:NCName}
+term.model = inline.model
+term = element term {tref|(term.attribs & term.model)}
+
+FMP.attribs = id.attribs & attribute logic {xsd:NMTOKEN}?
+FMP.model = (assumption*,conclusion*)|mobj
+FMP = element FMP {tref|(FMP.attribs & FMP.model)}
+
+assumption.attribs = id.attribs &
+ attribute inductive {"yes" | "no"}?
+assumption.model = mobj
+assumption = element assumption {tref|(assumption.attribs & assumption.model)}
+
+conclusion.attribs = id.attribs
+conclusion.model = mobj
+conclusion = element conclusion {tref|(conclusion.attribs & conclusion.model)}
+
+note.attribs = id.attribs & for.attrib? & parallel.attribs & attribute type {xsd:NMTOKEN}?
+note.model = inline.model
+note = element note {tref|(note.attribs & note.model)}
+
+# index
+index.att = attribute sort-by {text}? &
+ attribute see {omdocrefs}? &
+ attribute seealso {omdocrefs}? &
+ attribute links {list {xsd:anyURI*}}?
+
+idx.attribs = id.attribs|xref.attrib
+idx.model = idt? & ide+
+idx = element idx {tref|(idx.attribs & idx.model)}
+
+ide.attribs = (id.attribs & index.att & index.attrib) | xref.attrib
+ide.model = idp*
+ide = element ide {tref|(ide.attribs & ide.model)}
+
+idt.attribs = id.attribs|xref.attrib
+idt.model = inline.model
+idt = element idt {tref|(idt.attribs & idt.model)}
+
+idp.attribs = index.att
+idp.model = inline.model
+idp = element idp {tref|(idp.attribs & idp.model)}
+
+# citations
+citation.attribs = id.attribs & attribute bibrefs {text}
+citation.model = empty
+citation = element citation {tref|(citation.attribs & citation.model)}
+
+# citations
+oref.attribs = id.attribs & attribute href {xsd:anyURI}
+oref.model = empty
+oref = element oref {tref|(oref.attribs & oref.model)}
+
+# what can go into a mathematical text
+op.class = \term* & mobj* & note* & idx* & citation* & oref*
+inline.class &=op.class
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocpf.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocpf.rnc
new file mode 100644
index 00000000000..d10b6e89600
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocpf.rnc
@@ -0,0 +1,39 @@
+# 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)
+
+default namespace omdoc = "http://omdoc.org/ns"
+
+omdocpf.opt.content &= proof* & proofobject*
+omdoc.class &= proof* & proofobject*
+
+proof.attribs = toplevel.attribs & for.attrib?
+proof.model = metadata.class & omtext* & symbol* & definition* & derive* & hypothesis*
+proof = element proof {tref|(proof.attribs & proof.model)}
+
+proofobject.attribs = proof.attribs
+proofobject.model = metadata.class & mobj
+proofobject = element proofobject {tref|(proofobject.attribs & proofobject.model)}
+
+derive.attribs = id.attribs & attribute type {"conclusion" | "gap"}?
+derive.model = mcf.class & method?
+derive = element derive {tref|(derive.attribs & derive.model)}
+
+hypothesis.attribs = id.attribs & attribute inductive {"yes" | "no"}?
+hypothesis.model = mcf.class
+hypothesis = element hypothesis {tref|(hypothesis.attribs & hypothesis.model)}
+
+method.attribs = id.attribs & xref.attrib?
+method.model = mobj* & premise* & proof* & proofobject*
+method = element method {tref|(method.attribs & method.model)}
+
+premise.attribs = xref.attrib & attribute rank {xsd:nonNegativeInteger}?
+premise.model = empty
+premise = element premise {tref|(premise.attribs & premise.model)}
+
+# 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/rnc/omdoc/omdocphys.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocphys.rnc
new file mode 100644
index 00000000000..88c30df8169
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocphys.rnc
@@ -0,0 +1,47 @@
+# A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module PHYS
+# $Id: omdocphys.rnc 8959 2011-09-02 06:01:43Z kohlhase $
+# $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocphys.rnc $
+# See the documentation and examples at http://www.omdoc.org
+# Copyright (c) 2004-2007 Michael Kohlhase, released under the GNU Public License (GPL)
+
+system.attribs = id.attribs &
+ attribute type {"ideal" | "real"}
+system.model = metadata.class &
+ observable* & improvement? & algebra? & realization?
+system = element system {tref|(system.attribs & system.model)}
+
+observable.attribs = id.attribs &
+ attribute low {xsd:float} &
+ attribute high {xsd:float}
+observable.model = mobj,mobj
+observable = element observable {tref|(observable.attribs & observable.model)}
+
+improvement.attribs = id.attribs
+improvement.model = mcf.class
+improvement = element improvement {tref|(improvement.attribs & improvement.model)}
+
+realization.attribs = id.attribs
+realization.model = mcf.class
+realization = element realization {tref|(realization.attribs & realization.model)}
+
+interpretation.attribs = id.attribs
+interpretation.model = mcf.class
+interpretation = element interpretation {tref|(interpretation.attribs & interpretation.model)}
+
+state.attribs = id.attribs & attribute of {omdocref}
+state.model = metadata.class & value*
+state = element state {tref|(state.attribs & state.model)}
+
+value.attribs = id.attribs &
+ attribute for {omdocref} &
+ attribute num {xsd:float}
+value.model = metadata.class
+value = element value {tref|(value.attribs & value.model)}
+
+experiment.attribs = id.attribs
+experiment.model = mcf.class,state,state
+experiment = element experiment {tref|(experiment.attribs & experiment.model)}
+
+evidence.attribs = id.attribs & attribute for {omdocref}
+evidence.model = experiment*,interpretation
+evidence = element evidence {tref|(evidence.attribs & evidence.model)}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocpres.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocpres.rnc
new file mode 100644
index 00000000000..2d2b26db632
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocpres.rnc
@@ -0,0 +1,91 @@
+# 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)
+
+default namespace omdoc = "http://omdoc.org/ns"
+omdoc.class &= notation*
+
+## we first add the ic and ec attributes for notation contexts everywhere
+ic.attrib = attribute ic {text}
+ec.attrib = attribute ec {text}
+idrest.attribs &= ic.attrib? & ec.attrib?
+
+prototype.attribs = empty
+prototype.model = protoexp
+prototype = element prototype {tref|(prototype.attribs & prototype.model)}
+
+protoexp = grammar {include "openmath2.rnc"
+ {start = omel
+ common.attributes = parent id.attribs}
+ omel |= parent proto.class
+ omvar |= parent proto.class
+ common.attributes &= parent ntn.attrib}
+ | grammar {include "mathml3.rnc" {start = ContExp}
+ ContExp |= parent proto.class
+ ci |= parent proto.class
+ CommonAtt &= parent ntn.attrib}
+
+precedence.att = attribute precedence {xsd:integer} | attribute argprec {xsd:integer}
+context.att = attribute xml:lang {text}? &
+ attribute context {text}? &
+ attribute variant {text}?
+
+format.att = attribute format {text}?
+
+rendering.attribs = precedence.att? & context.att & format.att
+rendering.model = renderexp
+
+rendering = element rendering {tref|(rendering.attribs & rendering.model)}
+
+renderexp = grammar {include "mathml3-common.rnc" {start = PresentationExpression}
+ include "mathml3-presentation.rnc"
+ PresentationExpression |= parent render.class
+ CommonAtt &= parent ntn.attrib
+ mtable.content.class |= parent render.class
+ mtr.content.class |= parent render.class}
+ | (pdata|render.class)*
+
+pdata.attribs = empty
+pdata.model = text
+pdata = element pdata {pdata.attribs & pdata.model}
+
+iterexp = grammar {include "mathml3.rnc"
+ {start = PresentationExpression|mtr|mlabeledtr|mtd}
+ PresentationExpression |= parent render.class
+ MathML.Common.attrib &= parent ntn.attrib
+ mtable.content.class |= parent render.class
+ mtr.content.class |= parent render.class}
+
+ name.attrib = attribute name {xsd:NCName}?
+ triple.att = attribute cdbase {xsd:anyURI}? & name.attrib & attribute cd {xsd:NCName}?
+
+notation.attribs = id.attribs & triple.att
+notation.model = metadata.class & CMP* & prototype+ & rendering*
+notation = element notation {tref|(notation.attribs & notation.model)}
+
+# we extend the content and presentation models by metavariables
+proto.class = exprlist | expr
+render.class = render | iterate
+ntn.attrib = attribute cr {text}? & attribute egroup {text}?
+
+exprlist.attribs = name.attrib
+exprlist.model = protoexp*
+exprlist = element exprlist {exprlist.attribs & exprlist.model}
+
+expr.attribs = name.attrib
+expr.model = empty
+expr = element expr {tref|(expr.attribs & expr.model)}
+
+iterate.attribs = name.attrib & precedence.att?
+iterate.model = separator & iterexp*
+iterate = element iterate {tref|(iterate.attribs & iterate.model)}
+
+render.attribs = name.attrib & precedence.att?
+render.model = empty
+render = element render {tref|(render.attribs & render.model)}
+
+separator.attribs = empty
+separator.model = renderexp*
+separator = element separator {tref|(separator.attribs & separator.model)}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocquiz.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocquiz.rnc
new file mode 100644
index 00000000000..176ce32feae
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocquiz.rnc
@@ -0,0 +1,37 @@
+# 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)
+
+default namespace omdoc = "http://omdoc.org/ns"
+
+omdoc.class &= exercise* & hint* & mc* & solution*
+plike.class &= hint*
+
+exercise.attribs = toplevel.attribs & for.attrib?
+exercise.model = mcf.class | omdoc.class
+exercise = element exercise {tref|(exercise.attribs & exercise.model)}
+
+omdocpf.opt.content = notAllowed
+
+hint.attribs = toplevel.attribs & for.attrib?
+hint.model = mcf.class
+hint = element hint {tref|(hint.attribs & hint.model)}
+
+solution.attribs = toplevel.attribs & for.attrib?
+solution.model = mcf.class | omdoc.class
+solution = element solution {tref|(solution.attribs & solution.model)}
+
+mc.attribs = toplevel.attribs & for.attrib?
+mc.model = choice,hint?,answer
+mc = element mc {tref|(mc.attribs & mc.model)}
+
+choice.attribs = id.attribs
+choice.model = mcf.class
+choice = element choice {tref|(choice.attribs & choice.model)}
+
+answer.attribs = id.attribs & attribute verdict {"true" | "false"}?
+answer.model = mcf.class
+answer = element answer {tref|(answer.attribs & answer.model)}
+
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocrt.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocrt.rnc
new file mode 100644
index 00000000000..ac7c3010494
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocrt.rnc
@@ -0,0 +1,32 @@
+# 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)
+
+default namespace omdoc = "http://omdoc.org/ns"
+
+rst.attribs = verbalizes.attrib?
+
+## We extend the three main content models by xhtml elements
+inline.class &= grammar {include "pxhtml.rnc"
+ {Inline.model = text & parent metadata.class & Inline.class}
+ Inline.class &= parent op.class
+ span.attlist &= parent rst.attribs
+ start = Inline.class}
+
+plike.class &= grammar {include "pxhtml.rnc"
+ {Inline.model = text & parent metadata.class & Inline.class}
+ Common.attrib &= parent idrest.attribs & parent parallel.attribs
+ Inline.class &= parent op.class
+ span.attlist &= parent rst.attribs
+ start = Block.class}
+
+omdoc.class &= grammar {include "pxhtml.rnc"
+ {Inline.model = text & parent metadata.class & Inline.class}
+ Common.attrib &= parent idrest.attribs & parent parallel.attribs
+ Inline.class &= parent op.class
+ Block.cass &= parent plike.class
+ Flow.model &= parent omdoc.class
+ span.attlist &= parent rst.attribs
+ start = List.class}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocst.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocst.rnc
new file mode 100644
index 00000000000..46419186d52
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocst.rnc
@@ -0,0 +1,135 @@
+# 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)
+
+default namespace omdoc = "http://omdoc.org/ns"
+
+omdoc.class &= symbol* & axiom* & definition* & imports* & assertion* & type* & alternative* & example* & theory*
+
+constitutive.attribs = id.attribs & attribute generated-from {omdocref}?
+sym.role.attrib = attribute role {"type" | "sort" | "object" |
+ "binder" | "attribution" | "application" | "constant" |
+ "semantic-attribution" | "error"}
+theory-unique = xsd:NCName
+scope.attrib = attribute scope {"global" | "local"}?
+symbol.attribs = scope.attrib &
+ attribute name {theory-unique}? &
+ constitutive.attribs &
+ sym.role.attrib?
+symbol.model = metadata.class & type*
+symbol = element symbol {tref|(symbol.attribs & symbol.model)}
+
+forname.attrib = attribute for {list {xsd:NCName+}}
+axiom.attribs = constitutive.attribs & forname.attrib & attribute type {xsd:string}?
+axiom.model = metadata.class & mcf.class
+axiom = element axiom {tref|(axiom.attribs & axiom.model)}
+
+#informal definitions
+def.informal = attribute type {"informal"}?
+
+#simple definitions
+def.simple.attribs = attribute type {"simple"}
+def.simple = def.simple.attribs & mobj
+
+#implicit definitions
+exists.attrib = attribute existence {omdocref}
+unique.attrib = attribute uniqueness {omdocref}
+def.implicit.attribs = attribute type {"implicit"} & exists.attrib? & unique.attrib?
+def.implicit = def.implicit.attribs & FMP*
+
+exhaust.attrib = attribute exhaustivity {omdocref}
+consist.attrib = attribute consistency {omdocref}
+
+def.pattern.attribs = attribute type {"pattern"}? & exhaust.attrib? & consist.attrib?
+def.pattern.model = requation*
+def.pattern = def.pattern.attribs & def.pattern.model
+
+def.inductive.attribs = attribute type {"inductive"}? & exhaust.attrib? & consist.attrib?
+def.inductive.model = requation* & measure? & ordering?
+def.inductive = def.inductive.attribs & def.inductive.model
+
+def.eq = def.pattern | def.inductive
+
+#all definition forms, add more by extending this.
+defs.all = def.informal | def.simple | def.implicit | def.eq
+
+# 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.
+definition.attribs = constitutive.attribs & forname.attrib
+definition = element definition {tref|(definition.attribs & mc.class & defs.all)}
+
+requation.attribs = id.attribs
+requation.model = mobj,mobj
+requation = element requation {tref|(requation.attribs & requation.model)}
+
+measure.attribs = id.attribs
+measure.model = mobj
+measure = element measure {tref|(measure.attribs & measure.model)}
+
+ordering.attribs = id.attribs & attribute terminating {omdocref}?
+ordering.model = mobj
+ordering = element ordering {tref|(ordering.attribs & ordering.model)}
+
+# the non-constitutive statements, they need a theory attribute
+toplevel.attribs &= attribute theory {omdocref}?
+
+ded.status.class = "satisfiable" | "counter-satisfiable" | "no-consequence" |
+ "theorem" | "conter-theorem" | "contradictory-axioms" |
+ "tautologous-conclusion" | " tautology" | "equivalent" |
+ "conunter-equivalent" | "unsatisfiable-conclusion" | "unsatisfiable"
+
+just-by.attrib = attribute just-by {omdocref}
+assertion.attribs = toplevel.attribs &
+ attribute type {assertiontype}? &
+ attribute status {ded.status.class}? &
+ just-by.attrib?
+assertion.model = mcf.class
+assertion = element assertion {tref|(assertion.attribs & assertion.model)}
+# 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.
+
+type.attribs = toplevel.attribs & just-by.attrib? &
+ attribute system {omdocref}? &
+ attribute for {omdocref}?
+type.model = mc.class, mobj, mobj?
+type = element type {tref|(type.attribs & type.model)}
+
+##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)
+alternative.attribs = toplevel.attribs & for.attrib &
+ ((attribute equivalence {omdocref},
+ attribute equivalence-thm {omdocref}) |
+ (attribute entailed-by {omdocref} &
+ attribute entails {omdocref} &
+ attribute entailed-by-thm {omdocref} &
+ attribute entails-thm {omdocref}))
+alternative.model = mc.class & defs.all
+alternative = element alternative {tref|(alternative.attribs & alternative.model)}
+
+example.attribs = toplevel.attribs & for.attrib &
+ attribute type {"for" | "against" }? &
+ attribute assertion {omdocref}?
+example.model = mc.class,mobj*
+example = element example {tref|(example.attribs & example.model)}
+
+theory.attribs = id.attribs &
+ attribute cdurl {xsd:anyURI}? &
+ attribute cdbase {xsd:anyURI}? &
+ attribute cdreviewdate {xsd:date}? &
+ attribute cdversion {xsd:nonNegativeInteger}? &
+ attribute cdrevision {xsd:nonNegativeInteger}? &
+ attribute cdstatus {"official" | "experimental" |"private" | "obsolete"}?
+theory.model = metadata.class & omdoc.class
+theory = element theory {tref|(theory.attribs & theory.model)}
+
+imports.attribs = id.attribs & from.attrib
+imports.model = metadata.class
+imports = element imports {tref|(imports.attribs & imports.model)}
+
+
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/openmath2.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/openmath2.rnc
new file mode 100644
index 00000000000..2d07eb14148
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/openmath2.rnc
@@ -0,0 +1,89 @@
+# 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
+
+default namespace om = "http://www.openmath.org/OpenMath"
+
+start = OMOBJ
+
+# OpenMath object constructor
+OMOBJ = element OMOBJ { compound.attributes,
+ attribute version { xsd:string }?,
+ omel }
+
+# Elements which can appear inside an OpenMath object
+omel =
+ OMS | OMV | OMI | OMB | OMSTR | OMF | OMA | OMBIND | OME | OMATTR |OMR
+
+# things which can be variables
+omvar = OMV | attvar
+
+attvar = element OMATTR { common.attributes,(OMATP , (OMV | attvar))}
+
+
+cdbase = attribute cdbase { xsd:anyURI}?
+
+# attributes common to all elements
+common.attributes = (attribute id { xsd:ID })?
+
+# attributes common to all elements that construct compount OM objects.
+compound.attributes = common.attributes,cdbase
+
+# symbol
+OMS = element OMS { common.attributes,
+ attribute name {xsd:NCName},
+ attribute cd {xsd:NCName},
+ cdbase }
+
+# variable
+OMV = element OMV { common.attributes,
+ attribute name { xsd:NCName} }
+
+# integer
+OMI = element OMI { common.attributes,
+ xsd:string {pattern = "\s*(-\s?)?[0-9]+(\s[0-9]+)*\s*"}}
+# byte array
+OMB = element OMB { common.attributes, xsd:base64Binary }
+
+# string
+OMSTR = element OMSTR { common.attributes, text }
+
+# IEEE floating point number
+OMF = element OMF { common.attributes,
+ ( attribute dec { xsd:double } |
+ attribute hex { xsd:string {pattern = "[0-9A-F]+"}}) }
+
+# apply constructor
+OMA = element OMA { compound.attributes, omel+ }
+
+# binding constructor
+OMBIND = element OMBIND { compound.attributes, omel, OMBVAR, omel }
+
+# variables used in binding constructor
+OMBVAR = element OMBVAR { common.attributes, omvar+ }
+
+# error constructor
+OME = element OME { common.attributes, OMS, (omel|OMFOREIGN)* }
+
+# attribution constructor and attribute pair constructor
+OMATTR = element OMATTR { compound.attributes, OMATP, omel }
+
+OMATP = element OMATP { compound.attributes, (OMS, (omel | OMFOREIGN) )+ }
+
+# foreign constructor
+OMFOREIGN = element OMFOREIGN {
+ compound.attributes, attribute encoding {xsd:string}?,
+ (omel|notom)* }
+
+# Any elements not in the om namespace
+# (valid om is allowed as a descendant)
+notom =
+ (element * - om:* {attribute * { text }*,(omel|notom)*}
+ | text)
+
+# reference constructor
+OMR = element OMR { common.attributes,
+ attribute href { xsd:anyURI }
+ }
+
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/pxhtml.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/pxhtml.rnc
new file mode 100644
index 00000000000..f9758a57506
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/pxhtml.rnc
@@ -0,0 +1,17 @@
+# XHTML for paragraphs in OMDoc
+# this is a subset of the xhtml RelaxNG schema for XHTML we use it for paragraphs in OMDoc1.3
+
+default namespace xhtml = "http://www.w3.org/1999/xhtml"
+
+include "xhtml-datatypes.rnc"
+include "xhtml-attribs.rnc"
+include "xhtml-text.rnc"
+include "xhtml-hypertext.rnc"
+include "xhtml-list.rnc"
+include "xhtml-image.rnc"
+include "xhtml-param.rnc"
+include "xhtml-object.rnc"
+include "xhtml-bdo.rnc"
+include "xhtml-applet.rnc"
+include "xhtml-table.rnc"
+include "xhtml-inlstyle.rnc"
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/schemas.xml b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/schemas.xml
new file mode 100644
index 00000000000..7709ff94ead
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/schemas.xml
@@ -0,0 +1,4 @@
+<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
+ <uri pattern="*.omdoc" typeId="OMDoc"/>
+ <typeId id="OMDoc" uri="omdoc.rnc"/>
+</locatingRules>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/todo b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/todo
new file mode 100644
index 00000000000..1d7969e6fd5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/todo
@@ -0,0 +1,3 @@
+- maybe move metadata back into omdoc-core.mod
+- is omgroup.... really conditional now?
+- integrate MathML
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/todo.txt b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/todo.txt
new file mode 100644
index 00000000000..1b4aec578a8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/todo.txt
@@ -0,0 +1,2 @@
+- tighten up the grammar for definition, we can make the relation between
+ type and content explicit now
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-applet.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-applet.rnc
new file mode 100644
index 00000000000..eaaa1a15a52
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-applet.rnc
@@ -0,0 +1,19 @@
+# Applet Module
+
+applet =
+ element applet {
+ applet.attlist,
+ # No restrictions on mixed content in TREX.
+ param*,
+ Flow.model
+ }
+applet.attlist =
+ Core.attrib &
+ attribute alt { Text.datatype } &
+ attribute archive { text }? &
+ attribute code { text }? &
+ attribute codebase { URI.datatype }? &
+ attribute object { text }? &
+ attribute height { Length.datatype } &
+ attribute width { Length.datatype }
+Inline.class &= applet*
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-attribs.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-attribs.rnc
new file mode 100644
index 00000000000..0aa6e323164
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-attribs.rnc
@@ -0,0 +1,14 @@
+# Common Attributes Module
+
+id.attrib = attribute id { ID.datatype }?
+class.attrib = attribute class { NMTOKENS.datatype }?
+title.attrib = attribute title { Text.datatype }?
+Core.attrib = id.attrib & class.attrib & title.attrib
+lang.attrib = attribute xml:lang { LanguageCode.datatype }?
+I18n.attrib = lang.attrib
+Common.attrib = Core.attrib & I18n.attrib
+CommonIdRequired.attrib =
+ attribute id { ID.datatype } &
+ class.attrib &
+ title.attrib &
+ I18n.attrib
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-basic-table.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-basic-table.rnc
new file mode 100644
index 00000000000..c0205d29716
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-basic-table.rnc
@@ -0,0 +1,28 @@
+# Basic Tables Module
+
+table = element table { table.attlist & caption? & tr+ }
+table.attlist =
+ Common.attrib &
+ attribute summary { Text.datatype }?
+caption = element caption { caption.attlist, Inline.model }
+caption.attlist = Common.attrib
+tr = element tr { tr.attlist & (th | td)+ }
+tr.attlist = Common.attrib & CellHAlign.attrib & CellVAlign.attrib
+th = element th { th.attlist & Flow.model }
+th.attlist = Cell.attrib
+td = element td { td.attlist & Flow.model }
+td.attlist = Cell.attrib
+Cell.attrib =
+ Common.attrib &
+ attribute abbr { Text.datatype }? &
+ attribute axis { text }? &
+ attribute headers { IDREFS.datatype }? &
+ scope.attrib &
+ attribute rowspan { Number.datatype }? &
+ attribute colspan { Number.datatype }? &
+ CellHAlign.attrib &
+ CellVAlign.attrib
+CellHAlign.attrib = attribute align { "left" | "center" | "right" }?
+CellVAlign.attrib = attribute valign { "top" | "middle" | "bottom" }?
+scope.attrib = attribute scope { "row" | "col" }?
+Block.class &= table*
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-bdo.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-bdo.rnc
new file mode 100644
index 00000000000..96bd91e378d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-bdo.rnc
@@ -0,0 +1,7 @@
+# Bi-directional Module
+
+bdo = element bdo { bdo.attlist & Inline.model }
+bdo.attlist = Core.attrib & lang.attrib & dir.attrib
+dir.attrib = attribute dir { "ltr" | "rtl" }
+I18n.attrib &= dir.attrib?
+Inline.class &= bdo*
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-datatypes.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-datatypes.rnc
new file mode 100644
index 00000000000..596598039dd
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-datatypes.rnc
@@ -0,0 +1,47 @@
+# Datatypes Module
+
+# Length defined for cellpadding/cellspacing
+
+# nn for pixels or nn% for percentage length
+Length.datatype = text
+# space-separated list of link types
+LinkTypes.datatype = NMTOKENS.datatype
+# single or comma-separated list of media descriptors
+MediaDesc.datatype = text
+# pixel, percentage, or relative
+MultiLength.datatype = text
+# one or more digits (NUMBER)
+Number.datatype = text
+# integer representing length in pixels
+Pixels.datatype = text
+# script expression
+Script.datatype = text
+# textual content
+Text.datatype = text
+# Imported Datatypes ................................
+
+# a single character from [ISO10646]
+Character.datatype = text
+# a character encoding, as per [RFC2045]
+Charset.datatype = text
+# a space separated list of character encodings, as per [RFC2045]
+Charsets.datatype = text
+# media type, as per [RFC2045]
+ContentType.datatype = text
+# comma-separated list of media types, as per [RFC2045]
+ContentTypes.datatype = text
+# date and time information. ISO date format
+Datetime.datatype = text
+# formal public identifier, as per [ISO8879]
+FPI.datatype = text
+# a language code, as per [RFC1766]
+LanguageCode.datatype = xsd:language
+# a Uniform Resource Identifier, see [URI]
+URI.datatype = xsd:anyURI
+# a space-separated list of Uniform Resource Identifiers, see [URI]
+URIs.datatype = text
+NMTOKEN.datatype = xsd:NMTOKEN
+NMTOKENS.datatype = xsd:NMTOKENS
+ID.datatype = xsd:ID
+IDREF.datatype = xsd:IDREF
+IDREFS.datatype = xsd:IDREFS
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-hypertext.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-hypertext.rnc
new file mode 100644
index 00000000000..0dc78e6161f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-hypertext.rnc
@@ -0,0 +1,16 @@
+# Hypertext Module
+
+# Depends on text module.
+
+a = element a { a.attlist & Inline.model }
+a.attlist =
+ Common.attrib &
+ attribute href { URI.datatype }? &
+ attribute charset { Charset.datatype }? &
+ attribute type { ContentType.datatype }? &
+ attribute hreflang { LanguageCode.datatype }? &
+ attribute rel { LinkTypes.datatype }? &
+ attribute rev { LinkTypes.datatype }? &
+ attribute accesskey { Character.datatype }? &
+ attribute tabindex { Number.datatype }?
+Inline.class &= a*
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-image.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-image.rnc
new file mode 100644
index 00000000000..f897cc6d956
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-image.rnc
@@ -0,0 +1,11 @@
+# Image Module
+
+img = element img { img.attlist }
+img.attlist =
+ Common.attrib &
+ attribute src { URI.datatype } &
+ attribute alt { Text.datatype } &
+ attribute longdesc { URI.datatype }? &
+ attribute height { Length.datatype }? &
+ attribute width { Length.datatype }?
+Inline.class &= img*
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-inlstyle.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-inlstyle.rnc
new file mode 100644
index 00000000000..aa69b75ab61
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-inlstyle.rnc
@@ -0,0 +1,3 @@
+# Inline Style Module
+
+Core.attrib &= attribute style { text }?
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-list.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-list.rnc
new file mode 100644
index 00000000000..ce20fc89884
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-list.rnc
@@ -0,0 +1,16 @@
+# List Module
+
+dl = element dl { dl.attlist & (dt | dd)+ }
+dl.attlist = Common.attrib
+dt = element dt { dt.attlist & Inline.model }
+dt.attlist = Common.attrib
+dd = element dd { dd.attlist &Flow.model }
+dd.attlist = Common.attrib
+ol = element ol { ol.attlist & li+ }
+ol.attlist = Common.attrib
+ul = element ul { ul.attlist & li+ }
+ul.attlist = Common.attrib
+li = element li { li.attlist & Flow.model }
+li.attlist = Common.attrib
+List.class = ul* & ol* & dl*
+Block.class &= List.class
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-object.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-object.rnc
new file mode 100644
index 00000000000..2ec52ecf798
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-object.rnc
@@ -0,0 +1,24 @@
+# Object Module
+
+object =
+ element object {
+ object.attlist,
+ # No restrictions on mixed content in TREX.
+ param*,
+ Flow.model
+ }
+object.attlist =
+ Common.attrib &
+ attribute declare { "declare" }? &
+ attribute classid { URI.datatype }? &
+ attribute codebase { URI.datatype }? &
+ attribute data { URI.datatype }? &
+ attribute type { ContentType.datatype }? &
+ attribute codetype { ContentType.datatype }? &
+ attribute archive { URIs.datatype }? &
+ attribute standby { Text.datatype }? &
+ attribute height { Length.datatype }? &
+ attribute width { Length.datatype }? &
+ attribute name { text }? &
+ attribute tabindex { Number.datatype }?
+Inline.class &= object*
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-param.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-param.rnc
new file mode 100644
index 00000000000..641f695eab8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-param.rnc
@@ -0,0 +1,9 @@
+# Param Module
+
+param = element param { param.attlist }
+param.attlist =
+ id.attrib &
+ attribute name { text } &
+ attribute value { text }? &
+ attribute valuetype { "data" | "ref" | "object" }? &
+ attribute type { ContentType.datatype }?
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-table.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-table.rnc
new file mode 100644
index 00000000000..ab2b4d20ee4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-table.rnc
@@ -0,0 +1,67 @@
+# Tables Module
+
+# This builds on the basic tables module, unlike with the DTD
+# implementation.
+
+include "xhtml-basic-table.rnc" {
+ table =
+ element table {
+ table.attlist,
+ caption?,
+ (col* | colgroup*),
+ ((thead?, tfoot?, tbody+) | tr+)
+ }
+ th = element th { th.attlist & Flow.model }
+ td = element td { td.attlist & Flow.model }
+ CellHAlign.attrib =
+ attribute align {
+ "left" | "center" | "right" | "justify" | "char"
+ }? &
+ attribute char { Character.datatype }? &
+ attribute charoff { Length.datatype }?
+ CellVAlign.attrib =
+ attribute valign { "top" | "middle" | "bottom" | "baseline" }?
+ scope.attrib =
+ attribute scope { "row" | "col" | "rowgroup" | "colgroup" }?
+}
+table.attlist &=
+ attribute width { Length.datatype }? &
+ attribute border { Pixels.datatype }? &
+ frame.attrib &
+ rules.attrib &
+ attribute cellspacing { Length.datatype }? &
+ attribute cellpadding { Length.datatype }?
+col = element col { col.attlist }
+col.attlist =
+ Common.attrib &
+ attribute span { Number.datatype }? &
+ attribute width { MultiLength.datatype }? &
+ CellHAlign.attrib &
+ CellVAlign.attrib
+colgroup = element colgroup { colgroup.attlist & col* }
+colgroup.attlist =
+ Common.attrib &
+ attribute span { Number.datatype }? &
+ attribute width { MultiLength.datatype }? &
+ CellHAlign.attrib &
+ CellVAlign.attrib
+tbody = element tbody { tbody.attlist & tr+ }
+tbody.attlist = Common.attrib & CellHAlign.attrib & CellVAlign.attrib
+thead = element thead { thead.attlist & tr+ }
+thead.attlist = Common.attrib & CellHAlign.attrib & CellVAlign.attrib
+tfoot = element tfoot { tfoot.attlist & tr+ }
+tfoot.attlist = Common.attrib & CellHAlign.attrib & CellVAlign.attrib
+frame.attrib =
+ attribute frame {
+ "void"
+ | "above"
+ | "below"
+ | "hsides"
+ | "lhs"
+ | "rhs"
+ | "vsides"
+ | "box"
+ | "border"
+ }?
+rules.attrib =
+ attribute rules { "none" | "groups" | "rows" | "cols" | "all" }?
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-text.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-text.rnc
new file mode 100644
index 00000000000..b9e999be009
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/xhtml-text.rnc
@@ -0,0 +1,86 @@
+# Text Module
+br = element br { br.attlist & empty }
+br.attlist = Core.attrib
+
+span = element span { span.attlist & Inline.model }
+span.attlist = Common.attrib
+
+abbr = element abbr { abbr.attlist & Inline.model }
+abbr.attlist = Common.attrib
+
+acronym = element acronym { acronym.attlist & Inline.model }
+acronym.attlist = Common.attrib
+
+cite = element cite { cite.attlist & Inline.model }
+cite.attlist = Common.attrib
+
+code = element code { code.attlist & Inline.model }
+code.attlist = Common.attrib
+
+dfn = element dfn { dfn.attlist & Inline.model }
+dfn.attlist = Common.attrib
+
+em = element em { em.attlist & Inline.model }
+em.attlist = Common.attrib
+
+kbd = element kbd { kbd.attlist & Inline.model }
+kbd.attlist = Common.attrib
+
+q = element q { q.attlist & Inline.model }
+q.attlist =
+ Common.attrib &
+ attribute cite { URI.datatype }?
+
+samp = element samp { samp.attlist & Inline.model }
+samp.attlist = Common.attrib
+
+strong = element strong { strong.attlist & Inline.model }
+strong.attlist = Common.attrib
+
+var = element var { var.attlist & Inline.model }
+var.attlist = Common.attrib
+
+\div = element div { div.attlist & Flow.model }
+div.attlist = Common.attrib
+
+p = element p { p.attlist & Inline.model }
+p.attlist = Common.attrib
+
+address = element address { address.attlist & Inline.model }
+address.attlist = Common.attrib
+
+blockquote = element blockquote { blockquote.attlist & Block.model }
+blockquote.attlist =
+ Common.attrib &
+ attribute cite { URI.datatype }?
+
+pre = element pre { pre.attlist & Inline.model }
+pre.attlist =
+ Common.attrib &
+ attribute xml:space { "preserve" }?
+
+Block.class = address* & blockquote* & \div* & p* & pre*
+
+Inline.class =
+ abbr*
+ & acronym*
+ & br*
+ & cite*
+ & code*
+ & dfn*
+ & em*
+ & kbd*
+ & q*
+ & samp*
+ & span*
+ & strong*
+ & var*
+
+Inline.model = text & Inline.class
+# This is redefined by the legacy module to include inlines.
+
+Block.mix = Block.class
+
+Block.model = Block.mix+
+
+Flow.model = text & Inline.class & Block.class
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/owl.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/owl.rnc
new file mode 100644
index 00000000000..a262df3fc31
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/owl.rnc
@@ -0,0 +1,44 @@
+# 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)
+
+namespace owl = "http://www.w3.org/2002/07/owl#"
+namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+namespace rdfs = "http://www.w3.org/2000/01/rdf-schema#"
+namespace stex = "http://kwarc.info/ns/sTeX"
+namespace local = ""
+
+nonlocal-attribs = attribute * - (local:* | owl:* | rdf:* | rdfs:*) {xsd:string}
+
+start = RDF
+
+RDF = element rdf:RDF {nonlocal-attribs & Ontology}
+
+Ontology.attribs = nonlocal-attribs* & about.attrib?
+Ontology.model = Class* & Property*
+Ontology = element owl:Ontology {Ontology.attribs & Ontology.model}
+
+about.attrib = attribute rdf:about {xsd:anyURI}
+resource.attrib = attribute rdf:resource {xsd:anyURI}
+label.attrib = attribute rdfs:label {text}
+comment.attrib = attribute rdfs:comment {text}
+
+
+Class.attribs = nonlocal-attribs* & about.attrib? & label.attrib? & comment.attrib?
+Class.model = rdftype* & subClassOf* & disjointWith* & isDefinedBy?
+Class = element rdfs:Class {Class.attribs & Class.model}
+
+Property.attribs = nonlocal-attribs* & about.attrib? & label.attrib? & comment.attrib?
+Property.model = rdftype* & domain? & range & isDefinedBy?
+Property = element rdf:Property {Property.attribs & Property.model}
+
+rdftype.attribs = nonlocal-attribs* & resource.attrib
+#rdftype.model = notAllowed
+rdftype = element rdf:type {rdftype.attribs}
+
+subClassOf = element rdfs:subClassOf {resource.attrib}
+isDefinedBy = element rdfs:isDefinedBy {resource.attrib}
+disjointWith = element owl:disjointWith {resource.attrib}
+
+range = element rdfs:range {resource.attrib}
+domain = element rdfs:domain {resource.attrib}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/owl2+ltxml.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/owl2+ltxml.rnc
new file mode 100644
index 00000000000..4a2259005d8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/owl2+ltxml.rnc
@@ -0,0 +1,15 @@
+# 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)
+
+namespace owl = "http://www.w3.org/2002/07/owl#"
+
+include "owl2xml.rnc"
+
+LTXML.Math = grammar {
+ include "LaTeXML/LaTeXML-common.rnc"
+ include "LaTeXML/LaTeXML-math.rnc"
+ start = Math}
+Ontology.model &=LTXML.Math & axiom
+
+axiom = element owl:Axiom { LTXML.Math& Annotation}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/owl2-xml.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/owl2-xml.rnc
new file mode 100644
index 00000000000..cf0bb9c5774
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/owl2-xml.rnc
@@ -0,0 +1,532 @@
+# 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.
+
+default namespace = "http://www.w3.org/2002/07/owl#"
+
+# The ontology
+Prefix.type =
+ attribute name {
+ xsd:string {
+ pattern =
+ "([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿])(([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀]|\.)*([A-Z]|[a-z]|[À-Ö]|[Ø-ö]|[ø-˿]|[Ͱ-ͽ]|[Ϳ-῿]|[‌-‍]|[⁰-↏]|[Ⰰ-⿯]|[、-퟿]|[豈-﷏]|[ﷰ-�]|[𐀀-󯿿]|_|\-|[0-9]|·|[̀-ͯ]|[‿-⁀] ))?|"
+ }
+ },
+ attribute IRI { xsd:anyURI }
+start |= Prefix
+Prefix = element Prefix { Prefix.type }
+Import.type = attribute specialAttrs { text }
+start |= Import
+Import = element Import { Import.type }
+Ontology.type =
+ Prefix*,
+ Import*,
+ ontologyAnnotations,
+ Axiom*,
+ attribute ontologyIRI { xsd:anyURI }?,
+ attribute versionIRI { xsd:anyURI }?,
+ attribute specialAttrs { text }
+start |= Ontology
+Ontology = element Ontology { Ontology.type }
+# 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).
+Entity =
+ Class
+ | Datatype
+ | ObjectProperty
+ | DataProperty
+ | AnnotationProperty
+ | NamedIndividual
+# This is the type for the attribute. The complex type for the element is capitalized.
+abbreviatedIRI =
+ xsd:string {
+ 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]|·|[̀-ͯ]|[‿-⁀] ))?)?:)"
+ }
+Class.type =
+ ClassExpression,
+ attribute IRI { xsd:anyURI }?,
+ attribute abbreviatedIRI { abbreviatedIRI }?
+start |= Class
+Class = element Class { Class.type }
+Datatype.type =
+ DataRange,
+ attribute IRI { xsd:anyURI }?,
+ attribute abbreviatedIRI { abbreviatedIRI }?
+start |= Datatype
+Datatype = element Datatype { Datatype.type }
+ObjectProperty.type =
+ ObjectPropertyExpression,
+ attribute IRI { xsd:anyURI }?,
+ attribute abbreviatedIRI { abbreviatedIRI }?
+start |= ObjectProperty
+ObjectProperty = element ObjectProperty { ObjectProperty.type }
+DataProperty.type =
+ DataPropertyExpression,
+ attribute IRI { xsd:anyURI }?,
+ attribute abbreviatedIRI { abbreviatedIRI }?
+start |= DataProperty
+DataProperty = element DataProperty { DataProperty.type }
+AnnotationProperty.type =
+ attribute IRI { xsd:anyURI }?,
+ attribute abbreviatedIRI { abbreviatedIRI }?,
+ attribute specialAttrs { text }
+start |= AnnotationProperty
+AnnotationProperty = element AnnotationProperty { AnnotationProperty.type }
+Individual = attribute specialAttrs { text }, (NamedIndividual | AnonymousIndividual)
+NamedIndividual.type =
+ Individual,
+ attribute IRI { xsd:anyURI }?,
+ attribute abbreviatedIRI { abbreviatedIRI }?
+start |= NamedIndividual
+NamedIndividual = element NamedIndividual { NamedIndividual.type }
+AnonymousIndividual.type =
+ Individual,
+ attribute nodeID { xsd:NCName }
+start |= AnonymousIndividual
+AnonymousIndividual =
+ element AnonymousIndividual { AnonymousIndividual.type }
+Literal.type =
+ attribute datatypeIRI { xsd:anyURI },
+ attribute specialAttrs { text }
+start |= Literal
+Literal = element Literal { Literal.type }
+# Declarations
+Declaration.type = Axiom, Entity
+start |= Declaration
+Declaration = element Declaration { Declaration.type }
+# Object property expressions
+ObjectPropertyExpression = attribute specialAttrs { text }, (ObjectProperty | ObjectInverseOf)
+ObjectInverseOf.type = ObjectPropertyExpression, ObjectProperty
+start |= ObjectInverseOf
+ObjectInverseOf = element ObjectInverseOf { ObjectInverseOf.type }
+# Data property expressions
+DataPropertyExpression = attribute specialAttrs { text }, DataProperty
+# Data ranges
+DataRange = attribute specialAttrs { text },
+ (Datatype
+ | DataIntersectionOf
+ | DataUnionOf
+ | DataComplementOf
+ | DataOneOf
+ | DatatypeRestriction)
+DataIntersectionOf.type = DataRange, DataRange+
+start |= DataIntersectionOf
+DataIntersectionOf = element DataIntersectionOf { DataIntersectionOf.type }
+DataUnionOf.type = DataRange, DataRange+
+start |= DataUnionOf
+DataUnionOf = element DataUnionOf { DataUnionOf.type }
+DataComplementOf.type = DataRange, DataRange
+start |= DataComplementOf
+DataComplementOf = element DataComplementOf { DataComplementOf.type }
+DataOneOf.type = DataRange, Literal+
+start |= DataOneOf
+DataOneOf = element DataOneOf { DataOneOf.type }
+DatatypeRestriction.type =
+ DataRange,
+ Datatype,
+ element FacetRestriction { FacetRestriction }+
+start |= DatatypeRestriction
+DatatypeRestriction =
+ element DatatypeRestriction { DatatypeRestriction.type }
+FacetRestriction =
+ Literal,
+ attribute facet { xsd:anyURI },
+ attribute specialAttrs { text }
+# Class expressions
+ClassExpression = attribute specialAttrs { text },
+ (Class
+ | ObjectIntersectionOf
+ | ObjectUnionOf
+ | ObjectComplementOf
+ | ObjectOneOf
+ | ObjectSomeValuesFrom
+ | ObjectAllValuesFrom
+ | ObjectHasValue
+ | ObjectHasSelf
+ | ObjectMinCardinality
+ | ObjectMaxCardinality
+ | ObjectExactCardinality
+ | DataSomeValuesFrom
+ | DataAllValuesFrom
+ | DataHasValue
+ | DataMinCardinality
+ | DataMaxCardinality
+ | DataExactCardinality)
+ObjectIntersectionOf.type = ClassExpression, ClassExpression+
+start |= ObjectIntersectionOf
+ObjectIntersectionOf =
+ element ObjectIntersectionOf { ObjectIntersectionOf.type }
+ObjectUnionOf.type = ClassExpression, ClassExpression+
+start |= ObjectUnionOf
+ObjectUnionOf = element ObjectUnionOf { ObjectUnionOf.type }
+ObjectComplementOf.type = ClassExpression, ClassExpression
+start |= ObjectComplementOf
+ObjectComplementOf = element ObjectComplementOf { ObjectComplementOf.type }
+ObjectOneOf.type = ClassExpression, Individual+
+start |= ObjectOneOf
+ObjectOneOf = element ObjectOneOf { ObjectOneOf.type }
+ObjectSomeValuesFrom.type =
+ ClassExpression, ObjectPropertyExpression, ClassExpression
+start |= ObjectSomeValuesFrom
+ObjectSomeValuesFrom =
+ element ObjectSomeValuesFrom { ObjectSomeValuesFrom.type }
+ObjectAllValuesFrom.type =
+ ClassExpression, ObjectPropertyExpression, ClassExpression
+start |= ObjectAllValuesFrom
+ObjectAllValuesFrom =
+ element ObjectAllValuesFrom { ObjectAllValuesFrom.type }
+ObjectHasValue.type = ClassExpression, ObjectPropertyExpression, Individual
+start |= ObjectHasValue
+ObjectHasValue = element ObjectHasValue { ObjectHasValue.type }
+ObjectHasSelf.type = ClassExpression, ObjectPropertyExpression
+start |= ObjectHasSelf
+ObjectHasSelf = element ObjectHasSelf { ObjectHasSelf.type }
+ObjectMinCardinality.type =
+ ClassExpression,
+ ObjectPropertyExpression,
+ ClassExpression?,
+ attribute cardinality { xsd:nonNegativeInteger }
+start |= ObjectMinCardinality
+ObjectMinCardinality =
+ element ObjectMinCardinality { ObjectMinCardinality.type }
+ObjectMaxCardinality.type =
+ ClassExpression,
+ ObjectPropertyExpression,
+ ClassExpression?,
+ attribute cardinality { xsd:nonNegativeInteger }
+start |= ObjectMaxCardinality
+ObjectMaxCardinality =
+ element ObjectMaxCardinality { ObjectMaxCardinality.type }
+ObjectExactCardinality.type =
+ ClassExpression,
+ ObjectPropertyExpression,
+ ClassExpression?,
+ attribute cardinality { xsd:nonNegativeInteger }
+start |= ObjectExactCardinality
+ObjectExactCardinality =
+ element ObjectExactCardinality { ObjectExactCardinality.type }
+DataSomeValuesFrom.type = ClassExpression, DataPropertyExpression+, DataRange
+start |= DataSomeValuesFrom
+DataSomeValuesFrom = element DataSomeValuesFrom { DataSomeValuesFrom.type }
+DataAllValuesFrom.type = ClassExpression, DataPropertyExpression+, DataRange
+start |= DataAllValuesFrom
+DataAllValuesFrom = element DataAllValuesFrom { DataAllValuesFrom.type }
+DataHasValue.type = ClassExpression, DataPropertyExpression, Literal
+start |= DataHasValue
+DataHasValue = element DataHasValue { DataHasValue.type }
+DataMinCardinality.type =
+ ClassExpression,
+ DataPropertyExpression,
+ DataRange?,
+ attribute cardinality { xsd:nonNegativeInteger }
+start |= DataMinCardinality
+DataMinCardinality = element DataMinCardinality { DataMinCardinality.type }
+DataMaxCardinality.type =
+ ClassExpression,
+ DataPropertyExpression,
+ DataRange?,
+ attribute cardinality { xsd:nonNegativeInteger }
+start |= DataMaxCardinality
+DataMaxCardinality = element DataMaxCardinality { DataMaxCardinality.type }
+DataExactCardinality.type =
+ ClassExpression,
+ DataPropertyExpression,
+ DataRange?,
+ attribute cardinality { xsd:nonNegativeInteger }
+start |= DataExactCardinality
+DataExactCardinality =
+ element DataExactCardinality { DataExactCardinality.type }
+# Axioms
+Axiom = axiomAnnotations, attribute specialAttrs { text },
+ (Declaration
+ | ClassAxiom
+ | ObjectPropertyAxiom
+ | DataPropertyAxiom
+ | DatatypeDefinition
+ | HasKey
+ | Assertion
+ | AnnotationAxiom)
+# Class expression axioms
+ClassAxiom = Axiom | SubClassOf | EquivalentClasses | DisjointClasses | DisjointUnion
+SubClassOf.type =
+ ClassAxiom,
+ ClassExpression,
+ # This is the subexpression
+ ClassExpression
+ # This is the superexpression
+
+start |= SubClassOf
+SubClassOf = element SubClassOf { SubClassOf.type }
+EquivalentClasses.type = ClassAxiom, ClassExpression+
+start |= EquivalentClasses
+EquivalentClasses = element EquivalentClasses { EquivalentClasses.type }
+DisjointClasses.type = ClassAxiom, ClassExpression+
+start |= DisjointClasses
+DisjointClasses = element DisjointClasses { DisjointClasses.type }
+DisjointUnion.type = ClassAxiom, Class, ClassExpression+
+start |= DisjointUnion
+DisjointUnion = element DisjointUnion { DisjointUnion.type }
+# Object property axioms
+ObjectPropertyAxiom = Axiom|
+ SubObjectPropertyOf
+ | EquivalentObjectProperties
+ | DisjointObjectProperties
+ | InverseObjectProperties
+ | ObjectPropertyDomain
+ | ObjectPropertyRange
+ | FunctionalObjectProperty
+ | InverseFunctionalObjectProperty
+ | ReflexiveObjectProperty
+ | IrreflexiveObjectProperty
+ | SymmetricObjectProperty
+ | AsymmetricObjectProperty
+ | TransitiveObjectProperty
+SubObjectPropertyOf.type =
+ ObjectPropertyAxiom,
+ (# This is the subproperty expression or the property chain
+ ObjectPropertyExpression
+ | element ObjectPropertyChain { ObjectPropertyChain.type }),
+ ObjectPropertyExpression
+ # This is the superproperty expression
+
+start |= SubObjectPropertyOf
+SubObjectPropertyOf =
+ element SubObjectPropertyOf { SubObjectPropertyOf.type }
+ObjectPropertyChain.type =
+ ObjectPropertyExpression+,
+ attribute specialAttrs { text }
+EquivalentObjectProperties.type =
+ ObjectPropertyAxiom, ObjectPropertyExpression+
+start |= EquivalentObjectProperties
+EquivalentObjectProperties =
+ element EquivalentObjectProperties { EquivalentObjectProperties.type }
+DisjointObjectProperties.type =
+ ObjectPropertyAxiom, ObjectPropertyExpression+
+start |= DisjointObjectProperties
+DisjointObjectProperties =
+ element DisjointObjectProperties { DisjointObjectProperties.type }
+ObjectPropertyDomain.type =
+ ObjectPropertyAxiom, ObjectPropertyExpression, ClassExpression
+start |= ObjectPropertyDomain
+ObjectPropertyDomain =
+ element ObjectPropertyDomain { ObjectPropertyDomain.type }
+ObjectPropertyRange.type =
+ ObjectPropertyAxiom, ObjectPropertyExpression, ClassExpression
+start |= ObjectPropertyRange
+ObjectPropertyRange =
+ element ObjectPropertyRange { ObjectPropertyRange.type }
+InverseObjectProperties.type =
+ ObjectPropertyAxiom,
+ ObjectPropertyExpression,
+ ObjectPropertyExpression
+start |= InverseObjectProperties
+InverseObjectProperties =
+ element InverseObjectProperties { InverseObjectProperties.type }
+FunctionalObjectProperty.type = ObjectPropertyAxiom, ObjectPropertyExpression
+start |= FunctionalObjectProperty
+FunctionalObjectProperty =
+ element FunctionalObjectProperty { FunctionalObjectProperty.type }
+InverseFunctionalObjectProperty.type =
+ ObjectPropertyAxiom, ObjectPropertyExpression
+start |= InverseFunctionalObjectProperty
+InverseFunctionalObjectProperty =
+ element InverseFunctionalObjectProperty {
+ InverseFunctionalObjectProperty.type
+ }
+ReflexiveObjectProperty.type = ObjectPropertyAxiom, ObjectPropertyExpression
+start |= ReflexiveObjectProperty
+ReflexiveObjectProperty =
+ element ReflexiveObjectProperty { ReflexiveObjectProperty.type }
+IrreflexiveObjectProperty.type =
+ ObjectPropertyAxiom, ObjectPropertyExpression
+start |= IrreflexiveObjectProperty
+IrreflexiveObjectProperty =
+ element IrreflexiveObjectProperty { IrreflexiveObjectProperty.type }
+SymmetricObjectProperty.type = ObjectPropertyAxiom, ObjectPropertyExpression
+start |= SymmetricObjectProperty
+SymmetricObjectProperty =
+ element SymmetricObjectProperty { SymmetricObjectProperty.type }
+AsymmetricObjectProperty.type = ObjectPropertyAxiom, ObjectPropertyExpression
+start |= AsymmetricObjectProperty
+AsymmetricObjectProperty =
+ element AsymmetricObjectProperty { AsymmetricObjectProperty.type }
+TransitiveObjectProperty.type = ObjectPropertyAxiom, ObjectPropertyExpression
+start |= TransitiveObjectProperty
+TransitiveObjectProperty =
+ element TransitiveObjectProperty { TransitiveObjectProperty.type }
+# Data property axioms
+DataPropertyAxiom = Axiom |
+ SubDataPropertyOf
+ | EquivalentDataProperties
+ | DisjointDataProperties
+ | DataPropertyDomain
+ | DataPropertyRange
+ | FunctionalDataProperty
+SubDataPropertyOf.type =
+ DataPropertyAxiom,
+ DataPropertyExpression,
+ # This is the subproperty expression
+ DataPropertyExpression
+ # This is the superproperty expression
+
+start |= SubDataPropertyOf
+SubDataPropertyOf = element SubDataPropertyOf { SubDataPropertyOf.type }
+EquivalentDataProperties.type = DataPropertyAxiom, DataPropertyExpression+
+start |= EquivalentDataProperties
+EquivalentDataProperties =
+ element EquivalentDataProperties { EquivalentDataProperties.type }
+DisjointDataProperties.type = DataPropertyAxiom, DataPropertyExpression+
+start |= DisjointDataProperties
+DisjointDataProperties =
+ element DisjointDataProperties { DisjointDataProperties.type }
+DataPropertyDomain.type =
+ DataPropertyAxiom, DataPropertyExpression, ClassExpression
+start |= DataPropertyDomain
+DataPropertyDomain = element DataPropertyDomain { DataPropertyDomain.type}
+DataPropertyRange.type = DataPropertyAxiom, DataPropertyExpression, DataRange
+start |= DataPropertyRange
+DataPropertyRange = element DataPropertyRange { DataPropertyRange.type }
+FunctionalDataProperty.type = DataPropertyAxiom, DataPropertyExpression
+start |= FunctionalDataProperty
+FunctionalDataProperty =
+ element FunctionalDataProperty { FunctionalDataProperty.type }
+# Datatype definitions
+DatatypeDefinition.type = Axiom, Datatype, DataRange
+start |= DatatypeDefinition
+DatatypeDefinition = element DatatypeDefinition { DatatypeDefinition.type }
+# Key axioms
+HasKey.type =
+ Axiom,
+ ClassExpression,
+ ObjectPropertyExpression*,
+ DataPropertyExpression*
+start |= HasKey
+HasKey = element HasKey { HasKey.type }
+# Assertions
+Assertion = Axiom |
+ SameIndividual
+ | DifferentIndividuals
+ | ClassAssertion
+ | ObjectPropertyAssertion
+ | NegativeObjectPropertyAssertion
+ | DataPropertyAssertion
+ | NegativeDataPropertyAssertion
+SameIndividual.type = Assertion, Individual+
+start |= SameIndividual
+SameIndividual = element SameIndividual { SameIndividual.type }
+DifferentIndividuals.type = Assertion, Individual+
+start |= DifferentIndividuals
+DifferentIndividuals =
+ element DifferentIndividuals { DifferentIndividuals.type }
+ClassAssertion.type = Assertion, ClassExpression, Individual
+start |= ClassAssertion
+ClassAssertion = element ClassAssertion { ClassAssertion.type }
+ObjectPropertyAssertion.type =
+ Assertion,
+ ObjectPropertyExpression,
+ Individual,
+ # This is the source invididual
+ Individual
+ # This is the target individual
+
+start |= ObjectPropertyAssertion
+ObjectPropertyAssertion =
+ element ObjectPropertyAssertion { ObjectPropertyAssertion.type }
+NegativeObjectPropertyAssertion.type =
+ Assertion,
+ ObjectPropertyExpression,
+ Individual,
+ # This is the source invididual
+ Individual
+ # This is the target individual
+
+start |= NegativeObjectPropertyAssertion
+NegativeObjectPropertyAssertion =
+ element NegativeObjectPropertyAssertion {
+ NegativeObjectPropertyAssertion.type
+ }
+DataPropertyAssertion.type =
+ Assertion,
+ DataPropertyExpression,
+ Individual,
+ # This is the source invididual
+ Literal
+ # This is the target individual
+
+start |= DataPropertyAssertion
+DataPropertyAssertion =
+ element DataPropertyAssertion { DataPropertyAssertion.type }
+NegativeDataPropertyAssertion.type =
+ Assertion,
+ DataPropertyExpression,
+ Individual,
+ # This is the source invididual
+ Literal
+ # This is the target individual
+
+start |= NegativeDataPropertyAssertion
+NegativeDataPropertyAssertion =
+ element NegativeDataPropertyAssertion {
+ NegativeDataPropertyAssertion.type
+ }
+# Annotations
+IRI.type = attribute specialAttrs { text }
+start |= IRI
+IRI = element IRI { IRI.type }
+AbbreviatedIRI.type = attribute specialAttrs { text }
+start |= AbbreviatedIRI
+AbbreviatedIRI = element AbbreviatedIRI { AbbreviatedIRI.type }
+AnnotationSubject = IRI | AbbreviatedIRI | AnonymousIndividual
+AnnotationValue = IRI | AbbreviatedIRI | AnonymousIndividual | Literal
+Annotation.type =
+ annotationAnnotations,
+ AnnotationProperty,
+ AnnotationValue,
+ attribute specialAttrs { text }
+start |= Annotation
+Annotation = element Annotation { Annotation.type }
+axiomAnnotations = Annotation*
+ontologyAnnotations = Annotation*
+annotationAnnotations = Annotation*
+# Annotation axioms
+AnnotationAxiom = Axiom |
+ AnnotationAssertion
+ | SubAnnotationPropertyOf
+ | AnnotationPropertyDomain
+ | AnnotationPropertyRange
+AnnotationAssertion.type =
+ AnnotationAxiom,
+ AnnotationProperty,
+ AnnotationSubject,
+ AnnotationValue
+start |= AnnotationAssertion
+AnnotationAssertion =
+ element AnnotationAssertion { AnnotationAssertion.type }
+SubAnnotationPropertyOf.type =
+ AnnotationAxiom,
+ AnnotationProperty,
+ # This is the subproperty
+ AnnotationProperty
+ # This is the superproperty
+
+start |= SubAnnotationPropertyOf
+SubAnnotationPropertyOf =
+ element SubAnnotationPropertyOf { SubAnnotationPropertyOf.type }
+AnnotationPropertyDomain.type =
+ AnnotationAxiom, AnnotationProperty, IRI, AbbreviatedIRI
+start |= AnnotationPropertyDomain
+AnnotationPropertyDomain =
+ element AnnotationPropertyDomain { AnnotationPropertyDomain.type }
+AnnotationPropertyRange.type =
+ AnnotationAxiom, AnnotationProperty, IRI, AbbreviatedIRI
+start |= AnnotationPropertyRange
+AnnotationPropertyRange =
+ element AnnotationPropertyRange { AnnotationPropertyRange.type }
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/owl2xml.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/owl2xml.rnc
new file mode 100644
index 00000000000..73b0ba51cc9
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/owl2xml.rnc
@@ -0,0 +1,138 @@
+# 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)
+
+default namespace owl = "http://www.w3.org/2002/07/owl#"
+namespace local = ""
+
+nonlocal-attribs = attribute * - (local:* | owl:*) {xsd:string}
+
+start = Ontology
+
+base.attrib = element xml:base {xsd:anyURI}
+ontologyIRI.attrib = attribute ontologyIRI {xsd:anyURI}
+IRI.attrib = attribute IRI {text} | attribute abbreviatedIRI {text}
+datatypeIRI.attrib = attribute datatypeIRI {text}
+name.attrib = attribute name {text}
+facet.attrib = attribute facet {xsd:anyURI}
+cardinality.attrib = attribute cardinality {xsd:integer}
+
+Ontology.attribs = ontologyIRI.attrib? & base.attrib?
+Ontology.model = Prefix* & Declaration* & Import* & Axioms*
+
+Axioms = AnnotationAssertion*
+ & DatatypeDefinition* & HasKey* & SubClassOf* & EquivalentClasses*
+ & ObjectProperties* & DataProperties*
+ & DisjointClasses* & DifferentIndividuals* & SameIndividual*
+ & ObjectPropertyAssertion* & DataPropertyAssertion* & ClassAssertion*
+ & NegativeObjectPropertyAssertion* & NegativeDataPropertyAssertion* & NegativeClassAssertion*
+
+Ontology = element Ontology {Ontology.attribs & Ontology.model}
+
+Prefix = element Prefix {name.attrib & IRI.attrib}
+Import = element Import {xsd:anyURI}
+ObjectProperties = SymmetricObjectProperty* & AsymmetricObjectProperty* & ReflexiveObjectProperty*
+ & IrreflexiveObjectProperty* & FunctionalObjectProperty* & InverseObjectProperty*
+ & DisjointObjectProperties* & InverseFunctionalObjectProperty* & TransitiveObjectProperty*
+ & TransitiveObjectProperty* & ObjectPropertyDomain* & ObjectPropertyRange*
+ & InverseObjectProperties* & SubObjectPropertyOf* & EquivalentObjectProperties*
+DataProperties = SymmetricDataProperty* & AsymmetricDataProperty* & ReflexiveDataProperty*
+ & IrreflexiveDataProperty* & FunctionalDataProperty* & InverseDataProperty*
+ & DisjointDataProperties* & InverseFunctionalDataProperty* & TransitiveDataProperty*
+ & TransitiveDataProperty* & DataPropertyDomain* & DataPropertyRange*
+ & InverseDataProperties* & SubDataPropertyOf* & EquivalentDataProperties*
+
+Declaration.model = Class.model | Data.model
+Declaration = element Declaration {Declaration.model}
+NamedIndividual = element NamedIndividual {IRI.attrib}
+ClassAssertion = element ClassAssertion {Class.model,Ind.class}
+NegativeClassAssertion = element NegativeClassAssertion {Class.model,Ind.class}
+
+ObjectProperty = element ObjectProperty {IRI.attrib}
+SymmetricObjectProperty = element SymmetricObjectProperty {ObjectProperty*}
+AsymmetricObjectProperty = element AsymmetricObjectProperty {ObjectProperty*}
+DisjointObjectProperties = element DisjointObjectProperties {ObjectProperty*}
+ReflexiveObjectProperty = element ReflexiveObjectProperty {ObjectProperty}
+IrreflexiveObjectProperty = element IrreflexiveObjectProperty {ObjectProperty}
+FunctionalObjectProperty = element FunctionalObjectProperty {ObjectProperty}
+InverseFunctionalObjectProperty = element InverseFunctionalObjectProperty {ObjectProperty}
+InverseObjectProperty = element InverseObjectProperty {ObjectProperty}
+InverseObjectProperties = element InverseObjectProperties {ObjectProperty*}
+TransitiveObjectProperty = element TransitiveObjectProperty {ObjectProperty*}
+EquivalentObjectProperties = element EquivalentObjectProperties {ObjectProperty*}
+ObjectPropertyDomain = element ObjectPropertyDomain {ObjectProperty,Class}
+ObjectPropertyRange = element ObjectPropertyRange {ObjectProperty,Class}
+SubObjectPropertyOf = element SubObjectPropertyOf {(ObjectProperty|ObjectPropertyChain),ObjectProperty}
+ObjectPropertyChain = element ObjectPropertyChain {ObjectProperty*}
+ObjectPropertyAssertion = element ObjectPropertyAssertion {ObjectProperty*,Ind.class,Ind.class}
+NegativeObjectPropertyAssertion = element NegativeObjectPropertyAssertion {ObjectProperty*,Ind.class,Ind.class}
+
+SymmetricDataProperty = element SymmetricDataProperty {DataProperty*}
+AsymmetricDataProperty = element AsymmetricDataProperty {DataProperty*}
+DisjointDataProperties = element DisjointDataProperties {DataProperty*}
+ReflexiveDataProperty = element ReflexiveDataProperty {DataProperty}
+IrreflexiveDataProperty = element IrreflexiveDataProperty {DataProperty}
+FunctionalDataProperty = element FunctionalDataProperty {DataProperty}
+InverseFunctionalDataProperty = element InverseFunctionalDataProperty {DataProperty}
+InverseDataProperty = element InverseDataProperty {DataProperty}
+InverseDataProperties = element InverseDataProperties {DataProperty*}
+TransitiveDataProperty = element TransitiveDataProperty {DataProperty*}
+EquivalentDataProperties = element EquivalentDataProperties {DataProperty*}
+DataPropertyDomain = element DataPropertyDomain {DataProperty,Class}
+DataPropertyRange = element DataPropertyRange {DataProperty,Datatype}
+SubDataPropertyOf = element SubDataPropertyOf {(DataProperty|DataPropertyChain),DataProperty}
+DataPropertyChain = element DataPropertyChain {DataProperty*}
+DataPropertyAssertion = element DataPropertyAssertion {DataProperty*,Ind.class,Literal}
+NegativeDataPropertyAssertion = element NegativeDataPropertyAssertion {DataProperty*,Ind.class,Literal}
+
+
+DataProperty = element DataProperty {IRI.attrib}
+Datatype = element Datatype {IRI.attrib}
+Class= element Class{IRI.attrib}
+
+Annotation = element Annotation {AnnotationProperty & Literal}
+AnnotationAssertion= element AnnotationAssertion {AnnotationProperty,IRI,Literal}
+AnnotationProperty= element AnnotationProperty {IRI.attrib}
+IRI = element IRI {xsd:anyURI}
+Literal = element Literal {datatypeIRI.attrib? & text}
+
+DatatypeDefinition.model = Datatype* & DatatypeRestriction* & DataComplementOf* & DataIntersectionOf* & DataOneOf*
+DatatypeDefinition = element DatatypeDefinition {DatatypeDefinition.model}
+DatatypeRestriction = element DatatypeRestriction {Datatype & FacetRestriction*}
+FacetRestriction = element FacetRestriction {facet.attrib & Literal}
+DataIntersectionOf = element DataIntersectionOf {Data.model*}
+DataComplementOf = element DataComplementOf {Data.model*}
+DataOneOf = element DataOneOf {Literal*}
+DataSomeValuesFrom = element DataSomeValuesFrom {Data.model*}
+DataAllValuesFrom = element DataAllValuesFrom {Data.model*}
+Data.model = DataProperty | Datatype | DataOneOf | DataSomeValuesFrom
+ | DataAllValuesFrom | DataComplementOf | DatatypeRestriction
+
+
+HasKey = element HasKey {Class, ObjectProperty}
+SubClassOf = element SubClassOf {Annotation*,Class.model,(Data.model | Class.model)}
+EquivalentClasses = element EquivalentClasses{Class.model*}
+
+ObjectIntersectionOf = element ObjectIntersectionOf {Class.model*}
+ObjectComplementOf = element ObjectComplementOf {Class.model*}
+ObjectSomeValuesFrom = element ObjectSomeValuesFrom {Class.model*}
+ObjectAllValuesFrom = element ObjectAllValuesFrom {Class.model*}
+ObjectOneOf = element ObjectOneOf {Class.model*}
+ObjectInverseOf = element ObjectInverseOf {Class.model*}
+ObjectMaxCardinality = element ObjectMaxCardinality{cardinality.attrib & Class.model*}
+ObjectMinCardinality = element ObjectMinCardinality{cardinality.attrib & Class.model*}
+ObjectExactCardinality = element ObjectExactCardinality{cardinality.attrib & Class.model*}
+ObjectHasValue = element ObjectHasValue {ObjectProperty,Ind.class}
+ObjectHasSelf = element ObjectHasSelf {ObjectProperty}
+ObjectUnionOf = element ObjectUnionOf {Class.model*}
+Class.model = Class | ObjectIntersectionOf | ObjectComplementOf
+ | ObjectSomeValuesFrom | ObjectAllValuesFrom
+ | ObjectOneOf | Ind.class| ObjectInverseOf | ObjectProperty
+ | ObjectMaxCardinality | ObjectMinCardinality | ObjectExactCardinality
+ | ObjectHasValue | ObjectHasSelf | ObjectUnionOf
+
+DisjointClasses = element DisjointClasses {Annotation?,Class.model*}
+DifferentIndividuals = element DifferentIndividuals {Ind.class*}
+SameIndividual = element SameIndividual {Ind.class*}
+
+Ind.class = NamedIndividual
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/schemas.xml b/Master/texmf-dist/source/latex/stex/schema/rnc/schemas.xml
new file mode 100644
index 00000000000..301ddb0abc7
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/schemas.xml
@@ -0,0 +1,6 @@
+<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
+ <transformURI fromPattern="*.xml" toPattern="*.rnc"/>
+
+ <uri pattern="*.tex.xml" typeId="OMDoc+ltxml"/>
+ <typeId id="OMDoc+ltxml" uri="omdoc+ltxml.rnc"/>
+</locatingRules>
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/statements.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/statements.rnc
new file mode 100644
index 00000000000..dd29b4819e4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/statements.rnc
@@ -0,0 +1,50 @@
+# /=====================================================================\
+# | 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=/
+
+default namespace = "http://dlmf.nist.gov/LaTeXML"
+
+statement.model = text|Flow.class
+
+example = element example {Common.attribs,attribute for {xsd:string},metadata?,(statement.model)*}
+definition = element definition {Common.attribs,attribute for {xsd:string},metadata?,(statement.model)*}
+definiens = element definiens {attribute name {xsd:string},(statement.model)*}
+termin = element termin {attribute cd {xsd:NCName},attribute name {xsd:NCName},
+ (statement.model|Math)*}
+
+notation = element notation {Common.attribs,attribute for {xsd:string},(statement.model)*}
+notemph = element notemph {(statement.model|Math)*}
+
+statement-group = element statement-group
+ {Common.attribs,metadata?,
+ (omtext | example | definition | symbol | assertion |
+ notation | itemize | enumerate | description)*}
+
+symbol = element symbol {attribute name {xsd:string}}
+
+assertion = element assertion {Common.attribs,attribute type {xsd:string}?,metadata?,(statement.model)*}
+axiom = element axiom {Common.attribs,(statement.model)*}
+
+proof.model = omtext|step|cases
+proof = element proof {Common.attribs,attribute for {xsd:string}?,metadata?,(proof.model)*}
+cases = element cases {(case|omtext)*}
+case = element case {Common.attribs,attribute for {xsd:string}?,(proof.model)*}
+step = element step {Common.attribs,(statement.model|method)*}
+method = element method {Common.attribs,attribute xref {xsd:string},(text|Math|proof|premise)*}
+premise = element premise {Common.attribs,attribute xref {xsd:string}}
+
+omtext = element omtext {Common.attribs,attribute for {xsd:string}?,
+ attribute from {xsd:string}?,attribute type {xsd:string}?,
+ metadata?,(text|Flow.class)*}
+
+statements.Block.class |= example | definition | notation | symbol | assertion | proof
+ | axiom | omtext | statement-group
+statements.Inline.class |= definiens | notemph | termin | method
+
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-animation.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-animation.rnc
new file mode 100644
index 00000000000..89ef4dbea9e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-animation.rnc
@@ -0,0 +1,208 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Animation
+##
+## animate, set, animateMotion, animateColor, animateTransform, mpath
+##
+## This module declares markup to provide support for animation.
+##
+
+##
+## SVG.Animation.class
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.Animation.extra.class = notAllowed
+ SVG.Animation.class |=
+ animate
+ | set
+ | animateMotion
+ | animateColor
+ | animateTransform
+ | SVG.Animation.extra.class
+ a:documentation [ "\x{a}" ~ " SVG.Animation.attrib\x{a}" ~ " " ]
+ SVG.Animation.extra.attrib = empty
+ SVG.Animation.attrib = SVG.XLink.attrib, SVG.Animation.extra.attrib
+ a:documentation [
+ "\x{a}" ~
+ " SVG.AnimationAttribute.attrib\x{a}" ~
+ " "
+ ]
+ SVG.AnimationAttribute.extra.attrib = empty
+ SVG.AnimationAttribute.attrib =
+ attribute attributeName { text },
+ attribute attributeType { text }?,
+ SVG.AnimationAttribute.extra.attrib
+ a:documentation [
+ "\x{a}" ~
+ " SVG.AnimationTiming.attrib\x{a}" ~
+ " "
+ ]
+ SVG.AnimationTiming.extra.attrib = empty
+ SVG.AnimationTiming.attrib =
+ attribute begin { text }?,
+ attribute dur { text }?,
+ attribute end { text }?,
+ attribute min { text }?,
+ attribute max { text }?,
+ [ a:defaultValue = "always" ]
+ attribute restart { "always" | "never" | "whenNotActive" }?,
+ attribute repeatCount { text }?,
+ attribute repeatDur { text }?,
+ [ a:defaultValue = "remove" ]
+ attribute fill { "remove" | "freeze" }?,
+ SVG.AnimationTiming.extra.attrib
+ a:documentation [
+ "\x{a}" ~
+ " SVG.AnimationValue.attrib\x{a}" ~
+ " "
+ ]
+ SVG.AnimationValue.extra.attrib = empty
+ SVG.AnimationValue.attrib =
+ [ a:defaultValue = "linear" ]
+ attribute calcMode { "discrete" | "linear" | "paced" | "spline" }?,
+ attribute values { text }?,
+ attribute keyTimes { text }?,
+ attribute keySplines { text }?,
+ attribute from { text }?,
+ attribute to { text }?,
+ attribute by { text }?,
+ SVG.AnimationValue.extra.attrib
+ a:documentation [
+ "\x{a}" ~
+ " SVG.AnimationAddtion.attrib\x{a}" ~
+ " "
+ ]
+ SVG.AnimationAddtion.extra.attrib = empty
+ SVG.AnimationAddtion.attrib =
+ [ a:defaultValue = "replace" ]
+ attribute additive { "replace" | "sum" }?,
+ [ a:defaultValue = "none" ]
+ attribute accumulate { "none" | "sum" }?,
+ SVG.AnimationAddtion.extra.attrib
+ a:documentation [
+ "\x{a}" ~
+ " animate: Animate Element\x{a}" ~
+ " "
+ ]
+ SVG.animate.content = SVG.Description.class*
+ animate = element animate { attlist.animate, SVG.animate.content }
+ attlist.animate &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.AnimationEvents.attrib,
+ SVG.External.attrib,
+ SVG.Animation.attrib,
+ SVG.AnimationAttribute.attrib,
+ SVG.AnimationTiming.attrib,
+ SVG.AnimationValue.attrib,
+ SVG.AnimationAddtion.attrib
+ a:documentation [ "\x{a}" ~ " set: Set Element\x{a}" ~ " " ]
+ SVG.set.content = SVG.Description.class*
+ set = element set { attlist.set, SVG.set.content }
+ attlist.set &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.AnimationEvents.attrib,
+ SVG.External.attrib,
+ SVG.Animation.attrib,
+ SVG.AnimationAttribute.attrib,
+ SVG.AnimationTiming.attrib,
+ attribute to { text }?
+ a:documentation [
+ "\x{a}" ~
+ " animateMotion: Animate Motion Element\x{a}" ~
+ " "
+ ]
+ SVG.animateMotion.content = SVG.Description.class*, mpath?
+ animateMotion =
+ element animateMotion {
+ attlist.animateMotion, SVG.animateMotion.content
+ }
+ attlist.animateMotion &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.AnimationEvents.attrib,
+ SVG.External.attrib,
+ SVG.Animation.attrib,
+ SVG.AnimationTiming.attrib,
+ SVG.AnimationAddtion.attrib,
+ [ a:defaultValue = "paced" ]
+ attribute calcMode { "discrete" | "linear" | "paced" | "spline" }?,
+ attribute values { text }?,
+ attribute keyTimes { text }?,
+ attribute keySplines { text }?,
+ attribute from { text }?,
+ attribute to { text }?,
+ attribute by { text }?,
+ attribute path { text }?,
+ attribute keyPoints { text }?,
+ attribute rotate { text }?,
+ attribute origin { text }?
+ a:documentation [
+ "\x{a}" ~
+ " animateColor: Animate Color Element\x{a}" ~
+ " "
+ ]
+ SVG.animateColor.content = SVG.Description.class*
+ animateColor =
+ element animateColor {
+ attlist.animateColor, SVG.animateColor.content
+ }
+ attlist.animateColor &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.AnimationEvents.attrib,
+ SVG.External.attrib,
+ SVG.Animation.attrib,
+ SVG.AnimationAttribute.attrib,
+ SVG.AnimationTiming.attrib,
+ SVG.AnimationValue.attrib,
+ SVG.AnimationAddtion.attrib
+ a:documentation [
+ "\x{a}" ~
+ " animateTransform: Animate Transform Element\x{a}" ~
+ " "
+ ]
+ SVG.animateTransform.content = SVG.Description.class*
+ animateTransform =
+ element animateTransform {
+ attlist.animateTransform, SVG.animateTransform.content
+ }
+ attlist.animateTransform &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.AnimationEvents.attrib,
+ SVG.External.attrib,
+ SVG.Animation.attrib,
+ SVG.AnimationAttribute.attrib,
+ SVG.AnimationTiming.attrib,
+ SVG.AnimationValue.attrib,
+ SVG.AnimationAddtion.attrib,
+ [ a:defaultValue = "translate" ]
+ attribute type {
+ "translate" | "scale" | "rotate" | "skewX" | "skewY"
+ }?
+ a:documentation [
+ "\x{a}" ~
+ " mpath: Motion Path Element\x{a}" ~
+ " "
+ ]
+ SVG.mpath.content = SVG.Description.class*
+ mpath = element mpath { attlist.mpath, SVG.mpath.content }
+ attlist.mpath &=
+ SVG.Core.attrib, SVG.XLinkRequired.attrib, SVG.External.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-animevents-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-animevents-attrib.rnc
new file mode 100644
index 00000000000..efbbabc42c5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-animevents-attrib.rnc
@@ -0,0 +1,33 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Animation Events Attribute
+##
+## onbegin, onend, onrepeat, onload
+##
+## This module defines the AnimationEvents attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.onbegin.attrib = attribute onbegin { Script.datatype }?
+ SVG.onend.attrib = attribute onend { Script.datatype }?
+ SVG.onrepeat.attrib = attribute onrepeat { Script.datatype }?
+ SVG.AnimationEvents.extra.attrib = empty
+ SVG.AnimationEvents.attrib &=
+ SVG.onbegin.attrib,
+ SVG.onend.attrib,
+ SVG.onrepeat.attrib,
+ SVG.onload.attrib,
+ SVG.AnimationEvents.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-clip.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-clip.rnc
new file mode 100644
index 00000000000..5471141c5fa
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-clip.rnc
@@ -0,0 +1,64 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Basic Clip
+##
+## clipPath
+##
+## This module declares markup to provide support for clipping.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ ClipPathValue.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Clip.attrib\x{a}" ~ " " ]
+ SVG.Clip.extra.attrib = empty
+ SVG.Clip.attrib &=
+ attribute clip-path { ClipPathValue.datatype }?,
+ attribute clip-rule { ClipFillRule.datatype }?,
+ SVG.Clip.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Clip.class\x{a}" ~ " " ]
+ SVG.Clip.extra.class = notAllowed
+ SVG.Clip.class |= clipPath | SVG.Clip.extra.class
+ a:documentation [
+ "\x{a}" ~
+ " clipPath: Clip Path Element\x{a}" ~
+ " "
+ ]
+ SVG.clipPath.class = rect | SVG.Animation.class | SVG.Use.class
+ SVG.clipPath.content = SVG.Description.class*, SVG.clipPath.class*
+ clipPath = element clipPath { attlist.clipPath, SVG.clipPath.content }
+ attlist.clipPath &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Text.attrib,
+ SVG.TextContent.attrib,
+ SVG.Font.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute transform { TransformList.datatype }?,
+ attribute clipPathUnits { "userSpaceOnUse" | "objectBoundingBox" }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-filter.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-filter.rnc
new file mode 100644
index 00000000000..995c08e7daf
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-filter.rnc
@@ -0,0 +1,338 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## 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.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ FilterValue.datatype = xsd:string
+ NumberOptionalNumber.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Filter.attrib\x{a}" ~ " " ]
+ SVG.Filter.extra.attrib = empty
+ SVG.Filter.attrib &=
+ attribute filter { FilterValue.datatype }?,
+ SVG.Filter.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.FilterColor.attrib\x{a}" ~ " " ]
+ SVG.FilterColor.extra.attrib = empty
+ SVG.FilterColor.attrib &=
+ attribute color-interpolation-filters {
+ "auto" | "sRGB" | "linearRGB" | "inherit"
+ }?,
+ SVG.FilterColor.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Filter.class\x{a}" ~ " " ]
+ SVG.Filter.extra.class = notAllowed
+ SVG.Filter.class |= filter | SVG.Filter.extra.class
+ a:documentation [
+ "\x{a}" ~
+ " SVG.FilterPrimitive.class\x{a}" ~
+ " "
+ ]
+ SVG.FilterPrimitive.extra.class = notAllowed
+ SVG.FilterPrimitive.class =
+ feBlend
+ | feColorMatrix
+ | feComponentTransfer
+ | feComposite
+ | feFlood
+ | feGaussianBlur
+ | feImage
+ | feMerge
+ | feOffset
+ | feTile
+ | SVG.FilterPrimitive.extra.class
+ a:documentation [
+ "\x{a}" ~
+ " SVG.FilterPrimitive.attrib\x{a}" ~
+ " "
+ ]
+ SVG.FilterPrimitive.extra.attrib = empty
+ SVG.FilterPrimitive.attrib =
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype }?,
+ attribute height { Length.datatype }?,
+ attribute result { text }?,
+ SVG.FilterPrimitive.extra.attrib
+ a:documentation [
+ "\x{a}" ~
+ " SVG.FilterPrimitiveWithIn.attrib\x{a}" ~
+ " "
+ ]
+ SVG.FilterPrimitiveWithIn.extra.attrib = empty
+ SVG.FilterPrimitiveWithIn.attrib =
+ SVG.FilterPrimitive.attrib,
+ attribute in { text }?,
+ SVG.FilterPrimitiveWithIn.extra.attrib
+ a:documentation [ "\x{a}" ~ " filter: Filter Element\x{a}" ~ " " ]
+ SVG.filter.content =
+ SVG.Description.class*, (animate | set | SVG.FilterPrimitive.class)*
+ filter = element filter { attlist.filter, SVG.filter.content }
+ attlist.filter &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.XLink.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype }?,
+ attribute height { Length.datatype }?,
+ attribute filterRes { NumberOptionalNumber.datatype }?,
+ attribute filterUnits { "userSpaceOnUse" | "objectBoundingBox" }?,
+ attribute primitiveUnits { "userSpaceOnUse" | "objectBoundingBox" }?
+ a:documentation [
+ "\x{a}" ~
+ " feBlend: Filter Effect Blend Element\x{a}" ~
+ " "
+ ]
+ SVG.feBlend.content = (animate | set)*
+ feBlend = element feBlend { attlist.feBlend, SVG.feBlend.content }
+ attlist.feBlend &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute in2 { text },
+ [ a:defaultValue = "normal" ]
+ attribute mode {
+ "normal" | "multiply" | "screen" | "darken" | "lighten"
+ }?
+ a:documentation [
+ "\x{a}" ~
+ " feColorMatrix: Filter Effect Color Matrix Element\x{a}" ~
+ " "
+ ]
+ SVG.feColorMatrix.content = (animate | set)*
+ feColorMatrix =
+ element feColorMatrix {
+ attlist.feColorMatrix, SVG.feColorMatrix.content
+ }
+ attlist.feColorMatrix &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ [ a:defaultValue = "matrix" ]
+ attribute type {
+ "matrix" | "saturate" | "hueRotate" | "luminanceToAlpha"
+ }?,
+ attribute values { text }?
+ a:documentation [
+ "\x{a}" ~
+ " feComponentTransfer: Filter Effect Component Transfer Element\x{a}" ~
+ " "
+ ]
+ SVG.feComponentTransfer.content =
+ feFuncR?, feFuncG?, feFuncB?, feFuncA?
+ feComponentTransfer =
+ element feComponentTransfer {
+ attlist.feComponentTransfer, SVG.feComponentTransfer.content
+ }
+ attlist.feComponentTransfer &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib
+ a:documentation [
+ "\x{a}" ~
+ " feComposite: Filter Effect Composite Element\x{a}" ~
+ " "
+ ]
+ SVG.feComposite.content = (animate | set)*
+ feComposite =
+ element feComposite { attlist.feComposite, SVG.feComposite.content }
+ attlist.feComposite &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute in2 { text },
+ [ a:defaultValue = "over" ]
+ attribute operator {
+ "over" | "in" | "out" | "atop" | "xor" | "arithmetic"
+ }?,
+ attribute k1 { Number.datatype }?,
+ attribute k2 { Number.datatype }?,
+ attribute k3 { Number.datatype }?,
+ attribute k4 { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feFlood: Filter Effect Flood Element\x{a}" ~
+ " "
+ ]
+ SVG.feFlood.content = (animate | set | animateColor)*
+ feFlood = element feFlood { attlist.feFlood, SVG.feFlood.content }
+ attlist.feFlood &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Color.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute flood-color { SVGColor.datatype }?,
+ attribute flood-opacity { OpacityValue.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feGaussianBlur: Filter Effect Gaussian Blur Element\x{a}" ~
+ " "
+ ]
+ SVG.feGaussianBlur.content = (animate | set)*
+ feGaussianBlur =
+ element feGaussianBlur {
+ attlist.feGaussianBlur, SVG.feGaussianBlur.content
+ }
+ attlist.feGaussianBlur &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute stdDeviation { NumberOptionalNumber.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feImage: Filter Effect Image Element\x{a}" ~
+ " "
+ ]
+ SVG.feImage.content = (animate | set | animateTransform)*
+ feImage = element feImage { attlist.feImage, SVG.feImage.content }
+ attlist.feImage &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.FilterPrimitive.attrib,
+ SVG.XLinkEmbed.attrib,
+ SVG.External.attrib,
+ [ a:defaultValue = "xMidYMid meet" ]
+ attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feMerge: Filter Effect Merge Element\x{a}" ~
+ " "
+ ]
+ SVG.feMerge.content = feMergeNode*
+ feMerge = element feMerge { attlist.feMerge, SVG.feMerge.content }
+ attlist.feMerge &=
+ SVG.Core.attrib, SVG.FilterColor.attrib, SVG.FilterPrimitive.attrib
+ a:documentation [
+ "\x{a}" ~
+ " feMergeNode: Filter Effect Merge Node Element\x{a}" ~
+ " "
+ ]
+ SVG.feMergeNode.content = (animate | set)*
+ feMergeNode =
+ element feMergeNode { attlist.feMergeNode, SVG.feMergeNode.content }
+ attlist.feMergeNode &=
+ SVG.Core.attrib,
+ attribute in { text }?
+ a:documentation [
+ "\x{a}" ~
+ " feOffset: Filter Effect Offset Element\x{a}" ~
+ " "
+ ]
+ SVG.feOffset.content = (animate | set)*
+ feOffset = element feOffset { attlist.feOffset, SVG.feOffset.content }
+ attlist.feOffset &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute dx { Number.datatype }?,
+ attribute dy { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feTile: Filter Effect Tile Element\x{a}" ~
+ " "
+ ]
+ SVG.feTile.content = (animate | set)*
+ feTile = element feTile { attlist.feTile, SVG.feTile.content }
+ attlist.feTile &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib
+ a:documentation [
+ "\x{a}" ~
+ " feFuncR: Filter Effect Function Red Element\x{a}" ~
+ " "
+ ]
+ SVG.feFuncR.content = (animate | set)*
+ feFuncR = element feFuncR { attlist.feFuncR, SVG.feFuncR.content }
+ attlist.feFuncR &=
+ SVG.Core.attrib,
+ attribute type {
+ "identity" | "table" | "discrete" | "linear" | "gamma"
+ },
+ attribute tableValues { text }?,
+ attribute slope { Number.datatype }?,
+ attribute intercept { Number.datatype }?,
+ attribute amplitude { Number.datatype }?,
+ attribute exponent { Number.datatype }?,
+ attribute offset { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feFuncG: Filter Effect Function Green Element\x{a}" ~
+ " "
+ ]
+ SVG.feFuncG.content = (animate | set)*
+ feFuncG = element feFuncG { attlist.feFuncG, SVG.feFuncG.content }
+ attlist.feFuncG &=
+ SVG.Core.attrib,
+ attribute type {
+ "identity" | "table" | "discrete" | "linear" | "gamma"
+ },
+ attribute tableValues { text }?,
+ attribute slope { Number.datatype }?,
+ attribute intercept { Number.datatype }?,
+ attribute amplitude { Number.datatype }?,
+ attribute exponent { Number.datatype }?,
+ attribute offset { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feFuncB: Filter Effect Function Blue Element\x{a}" ~
+ " "
+ ]
+ SVG.feFuncB.content = (animate | set)*
+ feFuncB = element feFuncB { attlist.feFuncB, SVG.feFuncB.content }
+ attlist.feFuncB &=
+ SVG.Core.attrib,
+ attribute type {
+ "identity" | "table" | "discrete" | "linear" | "gamma"
+ },
+ attribute tableValues { text }?,
+ attribute slope { Number.datatype }?,
+ attribute intercept { Number.datatype }?,
+ attribute amplitude { Number.datatype }?,
+ attribute exponent { Number.datatype }?,
+ attribute offset { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feFuncA: Filter Effect Function Alpha Element\x{a}" ~
+ " "
+ ]
+ SVG.feFuncA.content = (animate | set)*
+ feFuncA = element feFuncA { attlist.feFuncA, SVG.feFuncA.content }
+ attlist.feFuncA &=
+ SVG.Core.attrib,
+ attribute type {
+ "identity" | "table" | "discrete" | "linear" | "gamma"
+ },
+ attribute tableValues { text }?,
+ attribute slope { Number.datatype }?,
+ attribute intercept { Number.datatype }?,
+ attribute amplitude { Number.datatype }?,
+ attribute exponent { Number.datatype }?,
+ attribute offset { Number.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-font.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-font.rnc
new file mode 100644
index 00000000000..a45d34e3c64
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-font.rnc
@@ -0,0 +1,196 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## 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.
+##
+
+##
+## SVG.Font.class
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.Font.extra.class = notAllowed
+ SVG.Font.class |= font | font-face | SVG.Font.extra.class
+ a:documentation [ "\x{a}" ~ " font: Font Element\x{a}" ~ " " ]
+ SVG.font.content =
+ SVG.Description.class*,
+ font-face,
+ missing-glyph,
+ (glyph | hkern | vkern)*
+ font = element font { attlist.font, SVG.font.content }
+ attlist.font &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.External.attrib,
+ attribute horiz-origin-x { Number.datatype }?,
+ attribute horiz-origin-y { Number.datatype }?,
+ attribute horiz-adv-x { Number.datatype },
+ attribute vert-origin-x { Number.datatype }?,
+ attribute vert-origin-y { Number.datatype }?,
+ attribute vert-adv-y { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " font-face: Font Face Element\x{a}" ~
+ " "
+ ]
+ SVG.font-face.extra.class = notAllowed
+ SVG.font-face.content =
+ SVG.Description.class*, font-face-src?, SVG.font-face.extra.class
+ font-face =
+ element font-face { attlist.font-face, SVG.font-face.content }
+ attlist.font-face &=
+ SVG.Core.attrib,
+ attribute font-family { text }?,
+ attribute font-style { text }?,
+ attribute font-variant { text }?,
+ attribute font-weight { text }?,
+ attribute font-stretch { text }?,
+ attribute font-size { text }?,
+ attribute unicode-range { text }?,
+ attribute units-per-em { Number.datatype }?,
+ attribute panose-1 { text }?,
+ attribute stemv { Number.datatype }?,
+ attribute stemh { Number.datatype }?,
+ attribute slope { Number.datatype }?,
+ attribute cap-height { Number.datatype }?,
+ attribute x-height { Number.datatype }?,
+ attribute accent-height { Number.datatype }?,
+ attribute ascent { Number.datatype }?,
+ attribute descent { Number.datatype }?,
+ attribute widths { text }?,
+ attribute bbox { text }?,
+ attribute ideographic { Number.datatype }?,
+ attribute alphabetic { Number.datatype }?,
+ attribute mathematical { Number.datatype }?,
+ attribute hanging { Number.datatype }?,
+ attribute v-ideographic { Number.datatype }?,
+ attribute v-alphabetic { Number.datatype }?,
+ attribute v-mathematical { Number.datatype }?,
+ attribute v-hanging { Number.datatype }?,
+ attribute underline-position { Number.datatype }?,
+ attribute underline-thickness { Number.datatype }?,
+ attribute strikethrough-position { Number.datatype }?,
+ attribute strikethrough-thickness { Number.datatype }?,
+ attribute overline-position { Number.datatype }?,
+ attribute overline-thickness { Number.datatype }?
+ a:documentation [ "\x{a}" ~ " glyph: Glyph Element\x{a}" ~ " " ]
+ SVG.glyph.class = notAllowed
+ SVG.glyph.content = SVG.Description.class*, SVG.glyph.class*
+ glyph = element glyph { attlist.glyph, SVG.glyph.content }
+ attlist.glyph &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ attribute unicode { text }?,
+ attribute glyph-name { text }?,
+ attribute d { PathData.datatype }?,
+ attribute orientation { text }?,
+ attribute arabic-form { text }?,
+ attribute lang { LanguageCodes.datatype }?,
+ attribute horiz-adv-x { Number.datatype }?,
+ attribute vert-origin-x { Number.datatype }?,
+ attribute vert-origin-y { Number.datatype }?,
+ attribute vert-adv-y { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " missing-glyph: Missing Glyph Element\x{a}" ~
+ " "
+ ]
+ SVG.missing-glyph.class = notAllowed
+ SVG.missing-glyph.content =
+ SVG.Description.class*, SVG.missing-glyph.class*
+ missing-glyph =
+ element missing-glyph {
+ attlist.missing-glyph, SVG.missing-glyph.content
+ }
+ attlist.missing-glyph &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ attribute d { PathData.datatype }?,
+ attribute horiz-adv-x { Number.datatype }?,
+ attribute vert-origin-x { Number.datatype }?,
+ attribute vert-origin-y { Number.datatype }?,
+ attribute vert-adv-y { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " hkern: Horizontal Kerning Element\x{a}" ~
+ " "
+ ]
+ SVG.hkern.content = empty
+ hkern = element hkern { attlist.hkern, SVG.hkern.content }
+ attlist.hkern &=
+ SVG.Core.attrib,
+ attribute u1 { text }?,
+ attribute g1 { text }?,
+ attribute u2 { text }?,
+ attribute g2 { text }?,
+ attribute k { Number.datatype }
+ a:documentation [
+ "\x{a}" ~
+ " vkern: Vertical Kerning Element\x{a}" ~
+ " "
+ ]
+ SVG.vkern.content = empty
+ vkern = element vkern { attlist.vkern, SVG.vkern.content }
+ attlist.vkern &=
+ SVG.Core.attrib,
+ attribute u1 { text }?,
+ attribute g1 { text }?,
+ attribute u2 { text }?,
+ attribute g2 { text }?,
+ attribute k { Number.datatype }
+ a:documentation [
+ "\x{a}" ~
+ " font-face-src: Font Face Source Element\x{a}" ~
+ " "
+ ]
+ SVG.font-face-src.content = (font-face-uri | font-face-name)+
+ font-face-src =
+ element font-face-src {
+ attlist.font-face-src, SVG.font-face-src.content
+ }
+ attlist.font-face-src &= SVG.Core.attrib
+ a:documentation [
+ "\x{a}" ~
+ " font-face-uri: Font Face URI Element\x{a}" ~
+ " "
+ ]
+ SVG.font-face-uri.content = empty
+ font-face-uri =
+ element font-face-uri {
+ attlist.font-face-uri, SVG.font-face-uri.content
+ }
+ attlist.font-face-uri &= SVG.Core.attrib, SVG.XLinkRequired.attrib
+ a:documentation [
+ "\x{a}" ~
+ " font-face-name: Font Face Name Element\x{a}" ~
+ " "
+ ]
+ SVG.font-face-name.content = empty
+ font-face-name =
+ element font-face-name {
+ attlist.font-face-name, SVG.font-face-name.content
+ }
+ attlist.font-face-name &=
+ SVG.Core.attrib,
+ attribute name { text }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-graphics-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-graphics-attrib.rnc
new file mode 100644
index 00000000000..606e2e4e92d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-graphics-attrib.rnc
@@ -0,0 +1,49 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Basic Graphics Attribute
+##
+## display, visibility
+##
+## This module defines the Graphics attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.display.attrib =
+ attribute display {
+ "inline"
+ | "block"
+ | "list-item"
+ | "run-in"
+ | "compact"
+ | "marker"
+ | "table"
+ | "inline-table"
+ | "table-row-group"
+ | "table-header-group"
+ | "table-footer-group"
+ | "table-row"
+ | "table-column-group"
+ | "table-column"
+ | "table-cell"
+ | "table-caption"
+ | "none"
+ | "inherit"
+ }?
+ SVG.visibility.attrib =
+ attribute visibility { "visible" | "hidden" | "inherit" }?
+ SVG.Graphics.extra.attrib = empty
+ SVG.Graphics.attrib &=
+ SVG.display.attrib, SVG.visibility.attrib, SVG.Graphics.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-structure.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-structure.rnc
new file mode 100644
index 00000000000..67b94df81a1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-structure.rnc
@@ -0,0 +1,293 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Basic Structure
+##
+## svg, g, defs, desc, title, metadata, use
+##
+## This module declares the major structural elements and their attributes.
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## The root element is "svg".
+ ##
+ start = svg
+
+ ##
+ ## Include core set of modules
+ ##
+ div {
+
+ ##
+ ## Datatypes Module
+ ##
+ include "svg-datatypes.rnc"
+
+ ##
+ ## Core Attribute Module
+ ##
+ include "svg-core-attrib.rnc"
+ }
+ a:documentation [
+ "\x{a}" ~
+ " Content Models (Default)\x{a}" ~
+ " "
+ ]
+ SVG.Profile.class = notAllowed
+ SVG.Gradient.class = notAllowed
+ SVG.Pattern.class = notAllowed
+ SVG.Clip.class = notAllowed
+ SVG.Mask.class = notAllowed
+ SVG.Filter.class = notAllowed
+ SVG.Cursor.class = notAllowed
+ SVG.Marker.class = notAllowed
+ SVG.View.class = notAllowed
+ SVG.Script.class = notAllowed
+ SVG.Font.class = notAllowed
+ SVG.Extensibility.class = notAllowed
+ SVG.Conditional.class = notAllowed
+ SVG.Image.class = notAllowed
+ SVG.Style.class = notAllowed
+ SVG.Shape.class = notAllowed
+ SVG.Text.class = notAllowed
+ SVG.Hyperlink.class = notAllowed
+ SVG.Animation.class = notAllowed
+ a:documentation [
+ "\x{a}" ~
+ " Attribute Collections (Default)\x{a}" ~
+ " "
+ ]
+ SVG.Container.attrib = empty
+ SVG.Viewport.attrib = empty
+ SVG.Text.attrib = empty
+ SVG.TextContent.attrib = empty
+ SVG.Opacity.attrib = empty
+ SVG.Marker.attrib = empty
+ SVG.Profile.attrib = empty
+ SVG.Gradient.attrib = empty
+ SVG.Clip.attrib = empty
+ SVG.Mask.attrib = empty
+ SVG.Filter.attrib = empty
+ SVG.FilterColor.attrib = empty
+ SVG.Cursor.attrib = empty
+ SVG.External.attrib = empty
+ SVG.Conditional.attrib = empty
+ SVG.Color.attrib = empty
+ SVG.Paint.attrib = empty
+ SVG.Graphics.attrib = empty
+ SVG.DocumentEvents.attrib = empty
+ SVG.GraphicalEvents.attrib = empty
+ SVG.onload.attrib = empty
+ SVG.AnimationEvents.attrib = empty
+ SVG.XLink.attrib = empty
+ SVG.XLinkRequired.attrib = empty
+ SVG.XLinkEmbed.attrib = empty
+ SVG.XLinkReplace.attrib = empty
+ SVG.Style.attrib = empty
+ SVG.Font.attrib = empty
+ a:documentation [ "\x{a}" ~ " SVG.Description.class\x{a}" ~ " " ]
+ SVG.Description.extra.class = notAllowed
+ SVG.Description.class =
+ desc | title | metadata | SVG.Description.extra.class
+ a:documentation [ "\x{a}" ~ " SVG.Use.class\x{a}" ~ " " ]
+ SVG.Use.extra.class = notAllowed
+ SVG.Use.class = use | SVG.Use.extra.class
+ a:documentation [ "\x{a}" ~ " SVG.Structure.class\x{a}" ~ " " ]
+ SVG.Structure.extra.class = notAllowed
+ SVG.Structure.class =
+ svg | g | defs | SVG.Use.class | SVG.Structure.extra.class
+ a:documentation [
+ "\x{a}" ~
+ " SVG.Presentation.attrib\x{a}" ~
+ " "
+ ]
+ SVG.Presentation.extra.attrib = empty
+ SVG.Presentation.attrib =
+ SVG.Container.attrib,
+ SVG.Viewport.attrib,
+ SVG.Text.attrib,
+ SVG.TextContent.attrib,
+ SVG.Font.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Marker.attrib,
+ SVG.Profile.attrib,
+ SVG.Gradient.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.FilterColor.attrib,
+ SVG.Cursor.attrib,
+ attribute flood-color { SVGColor.datatype }?,
+ attribute flood-opacity { OpacityValue.datatype }?,
+ attribute lighting-color { SVGColor.datatype }?,
+ SVG.Presentation.extra.attrib
+ a:documentation [
+ "\x{a}" ~
+ " svg: SVG Document Element\x{a}" ~
+ " "
+ ]
+ SVG.svg.content =
+ (SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ svg = element svg { attlist.svg, SVG.svg.content }
+ attlist.svg &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.DocumentEvents.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype }?,
+ attribute height { Length.datatype }?,
+ attribute viewBox { ViewBoxSpec.datatype }?,
+ [ a:defaultValue = "xMidYMid meet" ]
+ attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?,
+ [ a:defaultValue = "magnify" ]
+ attribute zoomAndPan { "disable" | "magnify" }?,
+ [ a:defaultValue = "1.1" ] attribute version { xsd:string "1.1" }?,
+ attribute baseProfile { Text.datatype }?,
+ [ a:defaultValue = "text/ecmascript" ]
+ attribute contentScriptType { ContentType.datatype }?,
+ [ a:defaultValue = "text/css" ]
+ attribute contentStyleType { ContentType.datatype }?
+ a:documentation [ "\x{a}" ~ " g: Group Element\x{a}" ~ " " ]
+ SVG.g.content =
+ (SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ g = element g { attlist.g, SVG.g.content }
+ attlist.g &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.External.attrib,
+ attribute transform { TransformList.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " defs: Definisions Element\x{a}" ~
+ " "
+ ]
+ SVG.defs.content =
+ (SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ defs = element defs { attlist.defs, SVG.defs.content }
+ attlist.defs &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.External.attrib,
+ attribute transform { TransformList.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " desc: Description Element\x{a}" ~
+ " "
+ ]
+ SVG.desc.content = text
+ desc = element desc { attlist.desc, SVG.desc.content }
+ attlist.desc &= SVG.Core.attrib, SVG.Style.attrib
+ a:documentation [ "\x{a}" ~ " title: Title Element\x{a}" ~ " " ]
+ SVG.title.content = text
+ title = element title { attlist.title, SVG.title.content }
+ attlist.title &= SVG.Core.attrib, SVG.Style.attrib
+ a:documentation [
+ "\x{a}" ~
+ " metadata: Metadata Element\x{a}" ~
+ " "
+ ]
+ SVG.metadata.content = text
+ metadata = element metadata { attlist.metadata, SVG.metadata.content }
+ attlist.metadata &= SVG.Core.attrib
+ a:documentation [ "\x{a}" ~ " use: Use Element\x{a}" ~ " " ]
+ SVG.use.content = SVG.Description.class*, SVG.Animation.class*
+ use = element use { attlist.use, SVG.use.content }
+ attlist.use &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.XLinkEmbed.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype }?,
+ attribute height { Length.datatype }?,
+ attribute transform { TransformList.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-text.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-text.rnc
new file mode 100644
index 00000000000..8e8b2c728bd
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-basic-text.rnc
@@ -0,0 +1,137 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Basic Text
+##
+## text, altGlyph, altGlyphDef, glyphRef
+##
+## This module declares markup to provide support for text.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ FontFamilyValue.datatype = xsd:string
+ FontSizeValue.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Font.attrib\x{a}" ~ " " ]
+ SVG.Font.extra.attrib = empty
+ SVG.Font.attrib &=
+ attribute font-family { FontFamilyValue.datatype }?,
+ attribute font-size { FontSizeValue.datatype }?,
+ attribute font-style {
+ "normal" | "italic" | "oblique" | "inherit"
+ }?,
+ attribute font-weight {
+ "normal"
+ | "bold"
+ | "bolder"
+ | "lighter"
+ | "100"
+ | "200"
+ | "300"
+ | "400"
+ | "500"
+ | "600"
+ | "700"
+ | "800"
+ | "900"
+ | "inherit"
+ }?,
+ SVG.Font.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Text.class\x{a}" ~ " " ]
+ SVG.Text.extra.class = notAllowed
+ SVG.Text.class |= \text | SVG.Text.extra.class
+ a:documentation [ "\x{a}" ~ " SVG.TextContent.class\x{a}" ~ " " ]
+ SVG.TextContent.extra.class = notAllowed
+ SVG.TextContent.class = altGlyph | SVG.TextContent.extra.class
+ a:documentation [ "\x{a}" ~ " text: Text Element\x{a}" ~ " " ]
+ SVG.text.class =
+ text
+ | SVG.Description.class
+ | SVG.Animation.class
+ | # <ref name="SVG.TextContent.extra.class"/>
+ SVG.Hyperlink.class
+ SVG.text.content = SVG.text.class*
+ \text = element text { attlist.text, SVG.text.content }
+ attlist.text &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Font.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinates.datatype }?,
+ attribute y { Coordinates.datatype }?,
+ attribute rotate { Numbers.datatype }?,
+ attribute transform { TransformList.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " altGlyph: Alternate Glyph Element\x{a}" ~
+ " "
+ ]
+ SVG.altGlyph.content = text
+ altGlyph = element altGlyph { attlist.altGlyph, SVG.altGlyph.content }
+ attlist.altGlyph &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Font.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.XLink.attrib,
+ SVG.External.attrib,
+ attribute glyphRef { text }?,
+ attribute format { text }?
+ a:documentation [
+ "\x{a}" ~
+ " altGlyphDef: Alternate Glyph Definition Element\x{a}" ~
+ " "
+ ]
+ SVG.altGlyphDef.content = glyphRef+
+ altGlyphDef =
+ element altGlyphDef { attlist.altGlyphDef, SVG.altGlyphDef.content }
+ attlist.altGlyphDef &= SVG.Core.attrib
+ a:documentation [
+ "\x{a}" ~
+ " glyphRef: Glyph Reference Element\x{a}" ~
+ " "
+ ]
+ SVG.glyphRef.content = empty
+ glyphRef = element glyphRef { attlist.glyphRef, SVG.glyphRef.content }
+ attlist.glyphRef &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Font.attrib,
+ SVG.XLink.attrib,
+ attribute glyphRef { text }?,
+ attribute format { text }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-clip.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-clip.rnc
new file mode 100644
index 00000000000..50dd76142ea
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-clip.rnc
@@ -0,0 +1,30 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+namespace ns1 = "http://www.w3.org/2000/svg"
+
+
+##
+## 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 $
+##
+
+##
+## Clip
+##
+## clipPath
+##
+## This module declares markup to provide support for clipping.
+##
+[ xml:lang = "en" ]
+grammar {
+ include "svg-basic-clip.rnc" inherit = ns1
+
+ ##
+ ## extend content model of clipPath
+ ##
+ SVG.clipPath.class |= SVG.Shape.class | SVG.Text.class
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-conditional.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-conditional.rnc
new file mode 100644
index 00000000000..922554a6a8d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-conditional.rnc
@@ -0,0 +1,62 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Conditional Processing
+##
+## switch
+##
+## This module declares markup to provide support for conditional processing.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ ExtensionList.datatype = xsd:string
+ FeatureList.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Conditional.attrib\x{a}" ~ " " ]
+ SVG.Conditional.extra.attrib = empty
+ SVG.Conditional.attrib &=
+ attribute requiredFeatures { FeatureList.datatype }?,
+ attribute requiredExtensions { ExtensionList.datatype }?,
+ attribute systemLanguage { LanguageCodes.datatype }?,
+ SVG.Conditional.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Conditional.class\x{a}" ~ " " ]
+ SVG.Conditional.extra.class = notAllowed
+ SVG.Conditional.class |= switch | SVG.Conditional.extra.class
+ a:documentation [ "\x{a}" ~ " switch: Switch Element\x{a}" ~ " " ]
+ SVG.switch.content =
+ SVG.Description.class*,
+ (svg
+ | g
+ | use
+ | \text
+ | SVG.Animation.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Shape.class
+ | SVG.Hyperlink.class
+ | SVG.Extensibility.class)*
+ switch = element switch { attlist.switch, SVG.switch.content }
+ attlist.switch &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.External.attrib,
+ attribute transform { TransformList.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-container-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-container-attrib.rnc
new file mode 100644
index 00000000000..fb4ac5ff47f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-container-attrib.rnc
@@ -0,0 +1,33 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Container Attribute
+##
+## enable-background
+##
+## This module defines the Container attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## 'enable-background' property/attribute value (e.g., 'new', 'accumulate')
+ ##
+ EnableBackgroundValue.datatype = xsd:string
+ SVG.enable-background.attrib =
+ attribute enable-background { EnableBackgroundValue.datatype }?
+ SVG.Container.extra.attrib = empty
+ SVG.Container.attrib &=
+ SVG.enable-background.attrib, SVG.Container.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-core-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-core-attrib.rnc
new file mode 100644
index 00000000000..e9d73f1601f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-core-attrib.rnc
@@ -0,0 +1,35 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Core Attribute
+##
+## id, xml:base, xml:lang, xml:space
+##
+## This module defines the core set of attributes that can be present on
+## any element.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.id.attrib = attribute id { xsd:ID }?
+ SVG.base.attrib = attribute xml:base { URI.datatype }?
+ SVG.lang.attrib = attribute xml:lang { LanguageCode.datatype }?
+ SVG.space.attrib = attribute xml:space { "default" | "preserve" }?
+ SVG.Core.extra.attrib = empty
+ SVG.Core.attrib =
+ SVG.id.attrib,
+ SVG.base.attrib,
+ SVG.lang.attrib,
+ SVG.space.attrib,
+ SVG.Core.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-cursor.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-cursor.rnc
new file mode 100644
index 00000000000..50b42d15627
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-cursor.rnc
@@ -0,0 +1,47 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Cursor
+##
+## cursor
+##
+## This module declares markup to provide support for cursor.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ CursorValue.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Cursor.attrib\x{a}" ~ " " ]
+ SVG.Cursor.extra.attrib = empty
+ SVG.Cursor.attrib &=
+ attribute cursor { CursorValue.datatype }?,
+ SVG.Cursor.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Cursor.class\x{a}" ~ " " ]
+ SVG.Cursor.extra.class = notAllowed
+ SVG.Cursor.class |= cursor | SVG.Cursor.extra.class
+ a:documentation [ "\x{a}" ~ " cursor: Cursor Element\x{a}" ~ " " ]
+ SVG.cursor.content = SVG.Description.class*
+ cursor = element cursor { attlist.cursor, SVG.cursor.content }
+ attlist.cursor &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.XLinkRequired.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-datatypes.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-datatypes.rnc
new file mode 100644
index 00000000000..7a3ea4b659f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-datatypes.rnc
@@ -0,0 +1,135 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Datatypes
+##
+## This module declares common data types for properties and attributes.
+##
+
+##
+## feature specification
+##
+[ xml:lang = "en" ]
+grammar {
+ Boolean.datatype = "false" | "true"
+
+ ##
+ ## 'clip-rule' or 'fill-rule' property/attribute value
+ ##
+ ClipFillRule.datatype = "nonzero" | "evenodd" | "inherit"
+
+ ##
+ ## media type, as per [RFC2045]
+ ##
+ ContentType.datatype = xsd:string
+
+ ##
+ ## a <coordinate>
+ ##
+ Coordinate.datatype = xsd:string
+
+ ##
+ ## a list of <coordinate>s
+ ##
+ Coordinates.datatype = xsd:string
+
+ ##
+ ## a <color> value
+ ##
+ Color.datatype = xsd:string
+
+ ##
+ ## a <integer>
+ ##
+ Integer.datatype = xsd:string
+
+ ##
+ ## a language code, as per [RFC3066]
+ ##
+ LanguageCode.datatype = xsd:language
+
+ ##
+ ## comma-separated list of language codes, as per [RFC3066]
+ ##
+ LanguageCodes.datatype = xsd:string
+
+ ##
+ ## a <ength>
+ ##
+ Length.datatype = xsd:string
+
+ ##
+ ## a list of <length>s
+ ##
+ Lengths.datatype = xsd:string
+
+ ##
+ ## a <number>
+ ##
+ Number.datatype = xsd:string
+
+ ##
+ ## a list of <number>s
+ ##
+ Numbers.datatype = xsd:string
+
+ ##
+ ## opacity value (e.g., <number>)
+ ##
+ OpacityValue.datatype = xsd:string
+
+ ##
+ ## a path data specification
+ ##
+ PathData.datatype = xsd:string
+
+ ##
+ ## 'preserveAspectRatio' attribute specification
+ ##
+ PreserveAspectRatioSpec.datatype =
+ xsd:string {
+ pattern =
+ "\s*(none|xMinYMin|xMidYMin|xMaxYMin|xMinYMid|xMidYMid|xMaxYMid|xMinYMax|xMidYMax|xMaxYMax)\s+(meet|slice)?\s*"
+ }
+
+ ##
+ ## script expression
+ ##
+ Script.datatype = xsd:string
+
+ ##
+ ## An SVG color value (RGB plus optional ICC)
+ ##
+ SVGColor.datatype = xsd:string
+
+ ##
+ ## arbitrary text string
+ ##
+ Text.datatype = xsd:string
+
+ ##
+ ## list of transforms
+ ##
+ TransformList.datatype = xsd:string
+
+ ##
+ ## a Uniform Resource Identifier, see [URI]
+ ##
+ URI.datatype = xsd:anyURI
+
+ ##
+ ## 'viewBox' attribute specification
+ ##
+ ViewBoxSpec.datatype = xsd:string
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-docevents-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-docevents-attrib.rnc
new file mode 100644
index 00000000000..a03b011c8d3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-docevents-attrib.rnc
@@ -0,0 +1,38 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Document Events Attribute
+##
+## onunload, onabort, onerror, onresize, onscroll, onzoom
+##
+## This module defines the DocumentEvents attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.onunload.attrib = attribute onunload { Script.datatype }?
+ SVG.onabort.attrib = attribute onabort { Script.datatype }?
+ SVG.onerror.attrib = attribute onerror { Script.datatype }?
+ SVG.onresize.attrib = attribute onresize { Script.datatype }?
+ SVG.onscroll.attrib = attribute onscroll { Script.datatype }?
+ SVG.onzoom.attrib = attribute onzoom { Script.datatype }?
+ SVG.DocumentEvents.extra.attrib = empty
+ SVG.DocumentEvents.attrib &=
+ SVG.onunload.attrib,
+ SVG.onabort.attrib,
+ SVG.onerror.attrib,
+ SVG.onresize.attrib,
+ SVG.onscroll.attrib,
+ SVG.onzoom.attrib,
+ SVG.DocumentEvents.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-extensibility.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-extensibility.rnc
new file mode 100644
index 00000000000..23ef64bf988
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-extensibility.rnc
@@ -0,0 +1,62 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+default namespace ns1 = "http://www.w3.org/2000/svg"
+
+a:documentation [
+ "\x{a}" ~
+ " SVG 1.1 Extensibility Module\x{a}" ~
+ " file: svg-extensibility.rng\x{a}" ~
+ "\x{a}" ~
+ " This is SVG, a language for describing two-dimensional graphics in XML.\x{a}" ~
+ " Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.\x{a}" ~
+ "\x{a}" ~
+ " $Id: svg-extensibility.rng,v 1.1 2003/07/15 07:11:10 dean Exp $\x{a}" ~
+ "\x{a}"
+]
+a:documentation [
+ "\x{a}" ~
+ " Extensibility\x{a}" ~
+ "\x{a}" ~
+ " foreignObject\x{a}" ~
+ "\x{a}" ~
+ " This module declares markup to provide support for extensibility.\x{a}" ~
+ " "
+]
+a:documentation [ "\x{a}" ~ " SVG.Extensibility.class\x{a}" ~ " " ]
+SVG.Extensibility.extra.class = notAllowed
+SVG.Extensibility.class |= foreignObject | SVG.Extensibility.extra.class
+a:documentation [
+ "\x{a}" ~
+ " foreignObject: Foreign Object Element\x{a}" ~
+ " "
+]
+SVG.foreignObject.content =
+ (text
+ | svg
+ # ref name="foreignElement"/
+ )*
+foreignObject =
+ element foreignObject {
+ attlist.foreignObject, SVG.foreignObject.content
+ }
+attlist.foreignObject &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype },
+ attribute height { Length.datatype },
+ attribute transform { TransformList.datatype }?
+
+##
+## any element in foreign namespace
+##
+foreignElement =
+ element * - ns1:* {
+ (attribute * - ns1:* { text }
+ | text
+ | foreignElement)*
+ }
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-extresources-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-extresources-attrib.rnc
new file mode 100644
index 00000000000..6c1274e082a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-extresources-attrib.rnc
@@ -0,0 +1,28 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## External Resources Attribute
+##
+## externalResourcesRequired
+##
+## This module defines the External attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.externalResourcesRequired.attrib =
+ attribute externalResourcesRequired { Boolean.datatype }?
+ SVG.External.extra.attrib = empty
+ SVG.External.attrib &=
+ SVG.externalResourcesRequired.attrib, SVG.External.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-filter.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-filter.rnc
new file mode 100644
index 00000000000..9d4cc259ef4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-filter.rnc
@@ -0,0 +1,214 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## 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.
+##
+[ xml:lang = "en" ]
+grammar {
+ include "svg-basic-filter.rnc"
+
+ ##
+ ## extend SVG.FilterPrimitive.class
+ ##
+ SVG.FilterPrimitive.class |=
+ feConvolveMatrix
+ | feDiffuseLighting
+ | feDisplacementMap
+ | feMorphology
+ | feSpecularLighting
+ | feTurbulence
+ a:documentation [
+ "\x{a}" ~
+ " feConvolveMatrix: Filter Effect Convolve Matrix Element\x{a}" ~
+ " "
+ ]
+ SVG.feConvolveMatrix.content = (animate | set)*
+ feConvolveMatrix =
+ element feConvolveMatrix {
+ attlist.feConvolveMatrix, SVG.feConvolveMatrix.content
+ }
+ attlist.feConvolveMatrix &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute order { NumberOptionalNumber.datatype },
+ attribute kernelMatrix { text },
+ attribute divisor { Number.datatype }?,
+ attribute bias { Number.datatype }?,
+ attribute targetX { Integer.datatype }?,
+ attribute targetY { Integer.datatype }?,
+ [ a:defaultValue = "duplicate" ]
+ attribute edgeMode { "duplicate" | "wrap" | "none" }?,
+ attribute kernelUnitLength { NumberOptionalNumber.datatype }?,
+ attribute preserveAlpha { Boolean.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feDiffuseLighting: Filter Effect Diffuse Lighting Element\x{a}" ~
+ " "
+ ]
+ SVG.feDiffuseLighting.content =
+ (feDistantLight | fePointLight | feSpotLight),
+ (animate | set | animateColor)*
+ feDiffuseLighting =
+ element feDiffuseLighting {
+ attlist.feDiffuseLighting, SVG.feDiffuseLighting.content
+ }
+ attlist.feDiffuseLighting &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Color.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute lighting-color { SVGColor.datatype }?,
+ attribute surfaceScale { Number.datatype }?,
+ attribute diffuseConstant { Number.datatype }?,
+ attribute kernelUnitLength { NumberOptionalNumber.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feDisplacementMap: Filter Effect Displacement Map Element\x{a}" ~
+ " "
+ ]
+ SVG.feDisplacementMap.content = (animate | set)*
+ feDisplacementMap =
+ element feDisplacementMap {
+ attlist.feDisplacementMap, SVG.feDisplacementMap.content
+ }
+ attlist.feDisplacementMap &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute in2 { text },
+ attribute scale { Number.datatype }?,
+ [ a:defaultValue = "A" ]
+ attribute xChannelSelector { "R" | "G" | "B" | "A" }?,
+ [ a:defaultValue = "A" ]
+ attribute yChannelSelector { "R" | "G" | "B" | "A" }?
+ a:documentation [
+ "\x{a}" ~
+ " feMorphology: Filter Effect Morphology Element\x{a}" ~
+ " "
+ ]
+ SVG.feMorphology.content = (animate | set)*
+ feMorphology =
+ element feMorphology {
+ attlist.feMorphology, SVG.feMorphology.content
+ }
+ attlist.feMorphology &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ [ a:defaultValue = "erode" ]
+ attribute operator { "erode" | "dilate" }?,
+ attribute radius { NumberOptionalNumber.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feSpecularLighting: Filter Effect Specular Lighting Element\x{a}" ~
+ " "
+ ]
+ SVG.feSpecularLighting.content =
+ (feDistantLight | fePointLight | feSpotLight),
+ (animate | set | animateColor)*
+ feSpecularLighting =
+ element feSpecularLighting {
+ attlist.feSpecularLighting, SVG.feSpecularLighting.content
+ }
+ attlist.feSpecularLighting &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Color.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitiveWithIn.attrib,
+ attribute lighting-color { SVGColor.datatype }?,
+ attribute surfaceScale { Number.datatype }?,
+ attribute specularConstant { Number.datatype }?,
+ attribute specularExponent { Number.datatype }?,
+ attribute kernelUnitLength { NumberOptionalNumber.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feTurbulence: Filter Effect Turbulence Element\x{a}" ~
+ " "
+ ]
+ SVG.feTurbulence.content = (animate | set)*
+ feTurbulence =
+ element feTurbulence {
+ attlist.feTurbulence, SVG.feTurbulence.content
+ }
+ attlist.feTurbulence &=
+ SVG.Core.attrib,
+ SVG.FilterColor.attrib,
+ SVG.FilterPrimitive.attrib,
+ attribute baseFrequency { NumberOptionalNumber.datatype }?,
+ attribute numOctaves { Integer.datatype }?,
+ attribute seed { Number.datatype }?,
+ [ a:defaultValue = "noStitch" ]
+ attribute stitchTiles { "stitch" | "noStitch" }?,
+ [ a:defaultValue = "turbulence" ]
+ attribute type { "fractalNoise" | "turbulence" }?
+ a:documentation [
+ "\x{a}" ~
+ " feDistantLight: Filter Effect Distant Light Element\x{a}" ~
+ " "
+ ]
+ SVG.feDistantLight.content = (animate | set)*
+ feDistantLight =
+ element feDistantLight {
+ attlist.feDistantLight, SVG.feDistantLight.content
+ }
+ attlist.feDistantLight &=
+ SVG.Core.attrib,
+ attribute azimuth { Number.datatype }?,
+ attribute elevation { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " fePointLight: Filter Effect Point Light Element\x{a}" ~
+ " "
+ ]
+ SVG.fePointLight.content = (animate | set)*
+ fePointLight =
+ element fePointLight {
+ attlist.fePointLight, SVG.fePointLight.content
+ }
+ attlist.fePointLight &=
+ SVG.Core.attrib,
+ attribute x { Number.datatype }?,
+ attribute y { Number.datatype }?,
+ attribute z { Number.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " feSpotLight: Filter Effect Spot Light Element\x{a}" ~
+ " "
+ ]
+ SVG.feSpotLight.content = (animate | set)*
+ feSpotLight =
+ element feSpotLight { attlist.feSpotLight, SVG.feSpotLight.content }
+ attlist.feSpotLight &=
+ SVG.Core.attrib,
+ attribute x { Number.datatype }?,
+ attribute y { Number.datatype }?,
+ attribute z { Number.datatype }?,
+ attribute pointsAtX { Number.datatype }?,
+ attribute pointsAtY { Number.datatype }?,
+ attribute pointsAtZ { Number.datatype }?,
+ attribute specularExponent { Number.datatype }?,
+ attribute limitingConeAngle { Number.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-font.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-font.rnc
new file mode 100644
index 00000000000..f14e10c2342
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-font.rnc
@@ -0,0 +1,108 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## 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.
+##
+[ xml:lang = "en" ]
+grammar {
+ include "svg-basic-font.rnc"
+ a:documentation [
+ "\x{a}" ~
+ " font-face: Font Face Element\x{a}" ~
+ " "
+ ]
+ SVG.font-face.extra.class &= definition-src?
+ a:documentation [ "\x{a}" ~ " glyph: Glyph Element\x{a}" ~ " " ]
+ SVG.glyph.class |=
+ SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class
+ a:documentation [
+ "\x{a}" ~
+ " missing-glyph: Missing Glyph Element\x{a}" ~
+ " "
+ ]
+ SVG.missing-glyph.class |=
+ SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class
+ a:documentation [
+ "\x{a}" ~
+ " font-face-uri: Font Face URI Element\x{a}" ~
+ " "
+ ]
+ SVG.font-face-uri.content |= font-face-format*
+ a:documentation [
+ "\x{a}" ~
+ " font-face-format: Font Face Format Element\x{a}" ~
+ " "
+ ]
+ SVG.font-face-format.content = empty
+ font-face-format =
+ element font-face-format {
+ attlist.font-face-format, SVG.font-face-format.content
+ }
+ attlist.font-face-format &=
+ SVG.Core.attrib,
+ attribute string { text }?
+ a:documentation [
+ "\x{a}" ~
+ " definition-src: Definition Source Element\x{a}" ~
+ " "
+ ]
+ SVG.definition-src.content = empty
+ definition-src =
+ element definition-src {
+ attlist.definition-src, SVG.definition-src.content
+ }
+ attlist.definition-src &= SVG.Core.attrib, SVG.XLinkRequired.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-gradient.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-gradient.rnc
new file mode 100644
index 00000000000..e8c6e60525f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-gradient.rnc
@@ -0,0 +1,99 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Gradient
+##
+## linearGradient, radialGradient, stop
+##
+## This module declares markup to provide support for gradient fill.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ NumberOrPercentage.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Gradient.attrib\x{a}" ~ " " ]
+ SVG.Gradient.extra.attrib = empty
+ SVG.Gradient.attrib &=
+ attribute stop-color { SVGColor.datatype }?,
+ attribute stop-opacity { OpacityValue.datatype }?,
+ SVG.Gradient.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Gradient.class\x{a}" ~ " " ]
+ SVG.Gradient.extra.class = notAllowed
+ SVG.Gradient.class |=
+ linearGradient | radialGradient | SVG.Gradient.extra.class
+ a:documentation [
+ "\x{a}" ~
+ " linearGradient: Linear Gradient Element\x{a}" ~
+ " "
+ ]
+ SVG.linearGradient.content =
+ SVG.Description.class*, (stop | animate | set | animateTransform)*
+ linearGradient =
+ element linearGradient {
+ attlist.linearGradient, SVG.linearGradient.content
+ }
+ attlist.linearGradient &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Color.attrib,
+ SVG.Gradient.attrib,
+ SVG.XLink.attrib,
+ SVG.External.attrib,
+ attribute x1 { Coordinate.datatype }?,
+ attribute y1 { Coordinate.datatype }?,
+ attribute x2 { Coordinate.datatype }?,
+ attribute y2 { Coordinate.datatype }?,
+ attribute gradientUnits { "userSpaceOnUse" | "objectBoundingBox" }?,
+ attribute gradientTransform { TransformList.datatype }?,
+ attribute spreadMethod { "pad" | "reflect" | "repeat" }?
+ a:documentation [
+ "\x{a}" ~
+ " radialGradient: Radial Gradient Element\x{a}" ~
+ " "
+ ]
+ SVG.radialGradient.content =
+ SVG.Description.class*, (stop | animate | set | animateTransform)*
+ radialGradient =
+ element radialGradient {
+ attlist.radialGradient, SVG.radialGradient.content
+ }
+ attlist.radialGradient &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Color.attrib,
+ SVG.Gradient.attrib,
+ SVG.XLink.attrib,
+ SVG.External.attrib,
+ attribute cx { Coordinate.datatype }?,
+ attribute cy { Coordinate.datatype }?,
+ attribute r { Length.datatype }?,
+ attribute fx { Coordinate.datatype }?,
+ attribute fy { Coordinate.datatype }?,
+ attribute gradientUnits { "userSpaceOnUse" | "objectBoundingBox" }?,
+ attribute gradientTransform { TransformList.datatype }?,
+ attribute spreadMethod { "pad" | "reflect" | "repeat" }?
+ a:documentation [ "\x{a}" ~ " stop: Stop Element\x{a}" ~ " " ]
+ SVG.stop.content = (animate | set | animateColor)*
+ stop = element stop { attlist.stop, SVG.stop.content }
+ attlist.stop &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Color.attrib,
+ SVG.Gradient.attrib,
+ attribute offset { NumberOrPercentage.datatype }
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-graphevents-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-graphevents-attrib.rnc
new file mode 100644
index 00000000000..e5828f3dab8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-graphevents-attrib.rnc
@@ -0,0 +1,47 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Graphical Element Events Attribute
+##
+## onfocusin, onfocusout, onactivate, onclick, onmousedown, onmouseup,
+## onmouseover, onmousemove, onmouseout, onload
+##
+## This module defines the GraphicalEvents attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.onfocusin.attrib = attribute onfocusin { Script.datatype }?
+ SVG.onfocusout.attrib = attribute onfocusout { Script.datatype }?
+ SVG.onactivate.attrib = attribute onactivate { Script.datatype }?
+ SVG.onclick.attrib = attribute onclick { Script.datatype }?
+ SVG.onmousedown.attrib = attribute onmousedown { Script.datatype }?
+ SVG.onmouseup.attrib = attribute onmouseup { Script.datatype }?
+ SVG.onmouseover.attrib = attribute onmouseover { Script.datatype }?
+ SVG.onmousemove.attrib = attribute onmousemove { Script.datatype }?
+ SVG.onmouseout.attrib = attribute onmouseout { Script.datatype }?
+ SVG.onload.attrib &= attribute onload { Script.datatype }?
+ SVG.GraphicalEvents.extra.attrib = empty
+ SVG.GraphicalEvents.attrib &=
+ SVG.onfocusin.attrib,
+ SVG.onfocusout.attrib,
+ SVG.onactivate.attrib,
+ SVG.onclick.attrib,
+ SVG.onmousedown.attrib,
+ SVG.onmouseup.attrib,
+ SVG.onmouseover.attrib,
+ SVG.onmousemove.attrib,
+ SVG.onmouseout.attrib,
+ SVG.onload.attrib,
+ SVG.GraphicalEvents.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-graphics-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-graphics-attrib.rnc
new file mode 100644
index 00000000000..bbf132ab971
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-graphics-attrib.rnc
@@ -0,0 +1,64 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+namespace ns1 = "http://www.w3.org/2000/svg"
+
+
+##
+## 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 $
+##
+
+##
+## Graphics Attribute
+##
+## display, image-rendering, pointer-events, shape-rendering,
+## text-rendering, visibility
+##
+## This module defines the Graphics attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ include "svg-basic-graphics-attrib.rnc" inherit = ns1
+ SVG.image-rendering.attrib =
+ attribute image-rendering {
+ "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
+ }?
+ SVG.pointer-events.attrib =
+ attribute pointer-events {
+ "visiblePainted"
+ | "visibleFill"
+ | "visibleStroke"
+ | "visible"
+ | "painted"
+ | "fill"
+ | "stroke"
+ | "all"
+ | "none"
+ | "inherit"
+ }?
+ SVG.shape-rendering.attrib =
+ attribute shape-rendering {
+ "auto"
+ | "optimizeSpeed"
+ | "crispEdges"
+ | "geometricPrecision"
+ | "inherit"
+ }?
+ SVG.text-rendering.attrib =
+ attribute text-rendering {
+ "auto"
+ | "optimizeSpeed"
+ | "optimizeLegibility"
+ | "geometricPrecision"
+ | "inherit"
+ }?
+ SVG.Graphics.attrib &=
+ SVG.image-rendering.attrib,
+ SVG.pointer-events.attrib,
+ SVG.shape-rendering.attrib,
+ SVG.text-rendering.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-hyperlink.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-hyperlink.rnc
new file mode 100644
index 00000000000..705e3e3334d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-hyperlink.rnc
@@ -0,0 +1,66 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Hyperlinking
+##
+## a
+##
+## This module declares markup to provide support for hyper linking.
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## link to this target
+ ##
+ LinkTarget.datatype = xsd:NMTOKEN
+ a:documentation [ "\x{a}" ~ " SVG.Hyperlink.class\x{a}" ~ " " ]
+ SVG.Hyperlink.extra.class = notAllowed
+ SVG.Hyperlink.class |= a | SVG.Hyperlink.extra.class
+ a:documentation [ "\x{a}" ~ " a: Anchor Element\x{a}" ~ " " ]
+ SVG.a.content =
+ (text
+ | SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ a = element a { attlist.a, SVG.a.content }
+ attlist.a &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.XLinkReplace.attrib,
+ SVG.External.attrib,
+ attribute transform { TransformList.datatype }?,
+ attribute target { LinkTarget.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-image.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-image.rnc
new file mode 100644
index 00000000000..0dffc8e1b92
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-image.rnc
@@ -0,0 +1,56 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Image
+##
+## image
+##
+## This module declares markup to provide support for image.
+##
+
+##
+## SVG.Image.class
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.Image.extra.class = notAllowed
+ SVG.Image.class |= image | SVG.Image.extra.class
+ a:documentation [ "\x{a}" ~ " image: Image Element\x{a}" ~ " " ]
+ SVG.image.content = SVG.Description.class*, SVG.Animation.class*
+ image = element image { attlist.image, SVG.image.content }
+ attlist.image &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Viewport.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Profile.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.XLinkEmbed.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype },
+ attribute height { Length.datatype },
+ [ a:defaultValue = "xMidYMid meet" ]
+ attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?,
+ attribute transform { TransformList.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-marker.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-marker.rnc
new file mode 100644
index 00000000000..bfb7c316bd5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-marker.rnc
@@ -0,0 +1,76 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Marker
+##
+## marker
+##
+## This module declares markup to provide support for marker.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ MarkerValue.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Marker.attrib\x{a}" ~ " " ]
+ SVG.Marker.extra.attrib = empty
+ SVG.Marker.attrib &=
+ attribute marker-start { MarkerValue.datatype }?,
+ attribute marker-mid { MarkerValue.datatype }?,
+ attribute marker-end { MarkerValue.datatype }?,
+ SVG.Marker.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Marker.class\x{a}" ~ " " ]
+ SVG.Marker.extra.class = notAllowed
+ SVG.Marker.class |= marker | SVG.Marker.extra.class
+ a:documentation [ "\x{a}" ~ " marker: Marker Element\x{a}" ~ " " ]
+ SVG.marker.content =
+ (SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ marker = element marker { attlist.marker, SVG.marker.content }
+ attlist.marker &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.External.attrib,
+ attribute refX { Coordinate.datatype }?,
+ attribute refY { Coordinate.datatype }?,
+ attribute markerUnits { "strokeWidth" | "userSpaceOnUse" }?,
+ attribute markerWidth { Length.datatype }?,
+ attribute markerHeight { Length.datatype }?,
+ attribute orient { text }?,
+ attribute viewBox { ViewBoxSpec.datatype }?,
+ [ a:defaultValue = "xMidYMid meet" ]
+ attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-mask.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-mask.rnc
new file mode 100644
index 00000000000..c5b8722bf8f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-mask.rnc
@@ -0,0 +1,74 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Mask
+##
+## mask
+##
+## This module declares markup to provide support for masking.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ MaskValue.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Mask.attrib\x{a}" ~ " " ]
+ SVG.Mask.extra.attrib = empty
+ SVG.Mask.attrib &=
+ attribute mask { MaskValue.datatype }?,
+ SVG.Mask.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Mask.class\x{a}" ~ " " ]
+ SVG.Mask.extra.class = notAllowed
+ SVG.Mask.class |= mask | SVG.Mask.extra.class
+ a:documentation [ "\x{a}" ~ " mask: Mask Element\x{a}" ~ " " ]
+ SVG.mask.content =
+ (SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ mask = element mask { attlist.mask, SVG.mask.content }
+ attlist.mask &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype }?,
+ attribute height { Length.datatype }?,
+ attribute maskUnits { "userSpaceOnUse" | "objectBoundingBox" }?,
+ attribute maskContentUnits {
+ "userSpaceOnUse" | "objectBoundingBox"
+ }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-opacity-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-opacity-attrib.rnc
new file mode 100644
index 00000000000..c794117b5fa
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-opacity-attrib.rnc
@@ -0,0 +1,34 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Paint Opacity Attribute
+##
+## opacity, fill-opacity, stroke-opacity
+##
+## This module defines the Opacity attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.opacity.attrib = attribute opacity { OpacityValue.datatype }?
+ SVG.fill-opacity.attrib =
+ attribute fill-opacity { OpacityValue.datatype }?
+ SVG.stroke-opacity.attrib =
+ attribute stroke-opacity { OpacityValue.datatype }?
+ SVG.Opacity.extra.attrib = empty
+ SVG.Opacity.attrib &=
+ SVG.opacity.attrib,
+ SVG.fill-opacity.attrib,
+ SVG.stroke-opacity.attrib,
+ SVG.Opacity.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-paint-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-paint-attrib.rnc
new file mode 100644
index 00000000000..bcb9ccce9e4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-paint-attrib.rnc
@@ -0,0 +1,97 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## 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.
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## a 'fill' or 'stroke' property/attribute value: <paint>
+ ##
+ Paint.datatype = xsd:string
+
+ ##
+ ## 'stroke-dasharray' property/attribute value
+ ## (e.g., 'none', list of <number>s)
+ ##
+ StrokeDashArrayValue.datatype = xsd:string
+
+ ##
+ ## 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>)
+ ##
+ StrokeDashOffsetValue.datatype = xsd:string
+
+ ##
+ ## 'stroke-miterlimit' property/attribute value (e.g., <number>)
+ ##
+ StrokeMiterLimitValue.datatype = xsd:string
+
+ ##
+ ## 'stroke-width' property/attribute value (e.g., <length>)
+ ##
+ StrokeWidthValue.datatype = xsd:string
+ SVG.fill.attrib = attribute fill { Paint.datatype }?
+ SVG.fill-rule.attrib = attribute fill-rule { ClipFillRule.datatype }?
+ SVG.stroke.attrib = attribute stroke { Paint.datatype }?
+ SVG.stroke-dasharray.attrib =
+ attribute stroke-dasharray { StrokeDashArrayValue.datatype }?
+ SVG.stroke-dashoffset.attrib =
+ attribute stroke-dashoffset { StrokeDashOffsetValue.datatype }?
+ SVG.stroke-linecap.attrib =
+ attribute stroke-linecap {
+ "butt" | "round" | "square" | "inherit"
+ }?
+ SVG.stroke-linejoin.attrib =
+ attribute stroke-linejoin {
+ "miter" | "round" | "bevel" | "inherit"
+ }?
+ SVG.stroke-miterlimit.attrib =
+ attribute stroke-miterlimit { StrokeMiterLimitValue.datatype }?
+ SVG.stroke-width.attrib =
+ attribute stroke-width { StrokeWidthValue.datatype }?
+ SVG.Paint.extra.attrib = empty
+ SVG.Paint.attrib &=
+ SVG.fill.attrib,
+ SVG.fill-rule.attrib,
+ SVG.stroke.attrib,
+ SVG.stroke-dasharray.attrib,
+ SVG.stroke-dashoffset.attrib,
+ SVG.stroke-linecap.attrib,
+ SVG.stroke-linejoin.attrib,
+ SVG.stroke-miterlimit.attrib,
+ SVG.stroke-width.attrib,
+ SVG.Paint.extra.attrib
+ SVG.color.attrib = attribute color { Color.datatype }?
+ SVG.color-interpolation.attrib =
+ attribute color-interpolation {
+ "auto" | "sRGB" | "linearRGB" | "inherit"
+ }?
+ SVG.color-rendering.attrib =
+ attribute color-rendering {
+ "auto" | "optimizeSpeed" | "optimizeQuality" | "inherit"
+ }?
+ SVG.Color.extra.attrib = empty
+ SVG.Color.attrib &=
+ SVG.color.attrib,
+ SVG.color-interpolation.attrib,
+ SVG.color-rendering.attrib,
+ SVG.Color.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-pattern.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-pattern.rnc
new file mode 100644
index 00000000000..0a538fe96a8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-pattern.rnc
@@ -0,0 +1,76 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Pattern
+##
+## pattern
+##
+## This module declares markup to provide support for pattern fill.
+##
+
+##
+## SVG.Pattern.class
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.Pattern.extra.class = notAllowed
+ SVG.Pattern.class |= pattern | SVG.Pattern.extra.class
+ a:documentation [
+ "\x{a}" ~
+ " pattern: Pattern Element\x{a}" ~
+ " "
+ ]
+ SVG.pattern.content =
+ (SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ pattern = element pattern { attlist.pattern, SVG.pattern.content }
+ attlist.pattern &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.XLink.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype }?,
+ attribute height { Length.datatype }?,
+ attribute patternUnits { "userSpaceOnUse" | "objectBoundingBox" }?,
+ attribute patternContentUnits {
+ "userSpaceOnUse" | "objectBoundingBox"
+ }?,
+ attribute patternTransform { TransformList.datatype }?,
+ attribute viewBox { ViewBoxSpec.datatype }?,
+ [ a:defaultValue = "xMidYMid meet" ]
+ attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-profile.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-profile.rnc
new file mode 100644
index 00000000000..ba154bdca8b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-profile.rnc
@@ -0,0 +1,58 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Color Profile
+##
+## color-profile
+##
+## This module declares markup to provide support for color profile.
+##
+
+##
+## SVG.Profile.attrib
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.Profile.extra.attrib = empty
+ SVG.Profile.attrib &=
+ attribute color-profile { text }?,
+ SVG.Profile.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Profile.class\x{a}" ~ " " ]
+ SVG.Profile.extra.class = notAllowed
+ SVG.Profile.class |= color-profile | SVG.Profile.extra.class
+ a:documentation [
+ "\x{a}" ~
+ " color-profile: Color Profile Element\x{a}" ~
+ " "
+ ]
+ SVG.color-profile.content = SVG.Description.class*
+ color-profile =
+ element color-profile {
+ attlist.color-profile, SVG.color-profile.content
+ }
+ attlist.color-profile &=
+ SVG.Core.attrib,
+ SVG.XLink.attrib,
+ attribute local { text }?,
+ attribute name { text },
+ [ a:defaultValue = "auto" ]
+ attribute rendering-intent {
+ "auto"
+ | "perceptual"
+ | "relative-colorimetric"
+ | "saturation"
+ | "absolute-colorimetric"
+ }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-qname.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-qname.rnc
new file mode 100644
index 00000000000..884c76d157d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-qname.rnc
@@ -0,0 +1,116 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+namespace xlink = "http://www.w3.org/1999/xlink"
+
+# .......................................................................
+
+# SVG 1.1 Qualified Name Module .........................................
+
+# file: svg-qname.mod
+#
+# This is SVG, a language for describing two-dimensional graphics in XML.
+# Copyright 2001, 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
+# Revision: $Id: svg-qname.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+#
+# This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+#
+# PUBLIC "-//W3C//ENTITIES SVG 1.1 Qualified Name//EN"
+# SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg-qname.mod"
+#
+# .......................................................................
+
+# Qualified Name
+#
+# This module is contained in two parts, labeled Section 'A' and 'B':
+#
+# Section A declares parameter entities to support namespace-
+# qualified names, namespace declarations, and name prefixing
+# for SVG and extensions.
+#
+# Section B declares parameter entities used to provide
+# namespace-qualified names for all SVG element types:
+
+# Section A: SVG XML Namespace Framework ::::::::::::::::::::::
+
+# 1. Declare a %SVG.prefixed; conditional section keyword, used
+# to activate namespace prefixing. The default value should
+# inherit '%NS.prefixed;' from the DTD driver, so that unless
+# overridden, the default behaviour follows the overall DTD
+# prefixing scheme.
+
+# 2. Declare a parameter entity (eg., %SVG.xmlns;) containing
+# the URI reference used to identify the SVG namespace:
+
+# 3. Declare parameter entities (eg., %SVG.prefix;) containing
+# the default namespace prefix string(s) to use when prefixing
+# is enabled. This may be overridden in the DTD driver or the
+# internal subset of an document instance. If no default prefix
+# is desired, this may be declared as an empty string.
+
+# 4. Declare parameter entities (eg., %SVG.pfx;) containing the
+# colonized prefix(es) (eg., '%SVG.prefix;:') used when
+# prefixing is active, an empty string when it is not.
+
+# 5. The parameter entity %SVG.xmlns.extra.attrib; may be
+# redeclared to contain any non-SVG namespace declaration
+# attributes for namespaces embedded in SVG. The default
+# is an empty string.
+
+# Declare a parameter entity XLINK.xmlns.attrib containing
+# the XML Namespace declarations for XLink.
+XLINK.xmlns.attrib = empty
+# Declare a parameter entity %NS.decl.attrib; containing
+# all XML Namespace declarations used in the DTD, plus the
+# xmlns declaration for SVG, its form dependent on whether
+# prefixing is active.
+
+# Declare a parameter entity %SVG.xmlns.attrib; containing
+# all XML namespace declaration attributes used by SVG,
+# including a default xmlns attribute when prefixing is
+# inactive.
+SVG.xmlns.attrib = empty, XLINK.xmlns.attrib
+# Section B: SVG Qualified Names ::::::::::::::::::::::::::::::
+
+# 6. This section declares parameter entities used to provide
+# namespace-qualified names for all SVG element types.
+
+# module: svg-structure.mod .........................
+
+# module: svg-conditional.mod .......................
+
+# module: svg-image.mod .............................
+
+# module: svg-style.mod .............................
+
+# module: svg-shape.mod .............................
+
+# module: svg-text.mod ..............................
+
+# module: svg-marker.mod ............................
+
+# module: svg-profile.mod ...........................
+
+# module: svg-gradient.mod ..........................
+
+# module: svg-pattern.mod ...........................
+
+# module: svg-clip.mod ..............................
+
+# module: svg-mask.mod ..............................
+
+# module: svg-filter.mod ............................
+
+# module: svg-cursor.mod ............................
+
+# module: svg-hyperlink.mod .........................
+
+# module: svg-view.mod ..............................
+
+# module: svg-script.mod ............................
+
+# module: svg-animation.mod .........................
+
+# module: svg-font.mod ..............................
+
+# module: svg-extensibility.mod .....................
+
+# end of svg-qname.mod
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-script.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-script.rnc
new file mode 100644
index 00000000000..a990e5497fc
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-script.rnc
@@ -0,0 +1,38 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Scripting
+##
+## script
+##
+## This module declares markup to provide support for scripting.
+##
+
+##
+## SVG.Script.class
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.Script.extra.class = notAllowed
+ SVG.Script.class |= script | SVG.Script.extra.class
+ a:documentation [ "\x{a}" ~ " script: Script Element\x{a}" ~ " " ]
+ SVG.script.content = text
+ script = element script { attlist.script, SVG.script.content }
+ attlist.script &=
+ SVG.Core.attrib,
+ SVG.XLink.attrib,
+ SVG.External.attrib,
+ attribute type { ContentType.datatype }
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-shape.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-shape.rnc
new file mode 100644
index 00000000000..cc80462b97d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-shape.rnc
@@ -0,0 +1,207 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Shape
+##
+## path, rect, circle, line, ellipse, polyline, polygon
+##
+## This module declares markup to provide support for graphical shapes.
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## a list of points
+ ##
+ Points.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Shape.class\x{a}" ~ " " ]
+ SVG.Shape.extra.class = notAllowed
+ SVG.Shape.class |=
+ path
+ | rect
+ | circle
+ | line
+ | ellipse
+ | polyline
+ | polygon
+ | SVG.Shape.extra.class
+ a:documentation [ "\x{a}" ~ " path: Path Element\x{a}" ~ " " ]
+ SVG.path.content = SVG.Description.class*, SVG.Animation.class*
+ path = element path { attlist.path, SVG.path.content }
+ attlist.path &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Marker.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute d { PathData.datatype },
+ attribute pathLength { Number.datatype }?,
+ attribute transform { TransformList.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " rect: Rectangle Element\x{a}" ~
+ " "
+ ]
+ SVG.rect.content = SVG.Description.class*, SVG.Animation.class*
+ rect = element rect { attlist.rect, SVG.rect.content }
+ attlist.rect &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinate.datatype }?,
+ attribute y { Coordinate.datatype }?,
+ attribute width { Length.datatype },
+ attribute height { Length.datatype },
+ attribute rx { Length.datatype }?,
+ attribute ry { Length.datatype }?,
+ attribute transform { TransformList.datatype }?
+ a:documentation [ "\x{a}" ~ " circle: Circle Element\x{a}" ~ " " ]
+ SVG.circle.content = SVG.Description.class*, SVG.Animation.class*
+ circle = element circle { attlist.circle, SVG.circle.content }
+ attlist.circle &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute cx { Coordinate.datatype }?,
+ attribute cy { Coordinate.datatype }?,
+ attribute r { Length.datatype },
+ attribute transform { TransformList.datatype }?
+ a:documentation [ "\x{a}" ~ " line: Line Element\x{a}" ~ " " ]
+ SVG.line.content = SVG.Description.class*, SVG.Animation.class*
+ line = element line { attlist.line, SVG.line.content }
+ attlist.line &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Marker.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute x1 { Coordinate.datatype }?,
+ attribute y1 { Coordinate.datatype }?,
+ attribute x2 { Coordinate.datatype }?,
+ attribute y2 { Coordinate.datatype }?,
+ attribute transform { TransformList.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " ellipse: Ellipse Element\x{a}" ~
+ " "
+ ]
+ SVG.ellipse.content = SVG.Description.class*, SVG.Animation.class*
+ ellipse = element ellipse { attlist.ellipse, SVG.ellipse.content }
+ attlist.ellipse &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute cx { Coordinate.datatype }?,
+ attribute cy { Coordinate.datatype }?,
+ attribute rx { Length.datatype },
+ attribute ry { Length.datatype },
+ attribute transform { TransformList.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " polyline: Polyline Element\x{a}" ~
+ " "
+ ]
+ SVG.polyline.content = SVG.Description.class*, SVG.Animation.class*
+ polyline = element polyline { attlist.polyline, SVG.polyline.content }
+ attlist.polyline &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Marker.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute points { Points.datatype },
+ attribute transform { TransformList.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " polygon: Polygon Element\x{a}" ~
+ " "
+ ]
+ SVG.polygon.content = SVG.Description.class*, SVG.Animation.class*
+ polygon = element polygon { attlist.polygon, SVG.polygon.content }
+ attlist.polygon &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Marker.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute points { Points.datatype },
+ attribute transform { TransformList.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-structure.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-structure.rnc
new file mode 100644
index 00000000000..370c4259c05
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-structure.rnc
@@ -0,0 +1,62 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Structure
+##
+## svg, g, defs, desc, title, metadata, symbol, use
+##
+## This module declares the major structural elements and their attributes.
+##
+[ xml:lang = "en" ]
+grammar {
+ include "svg-basic-structure.rnc"
+
+ ##
+ ## extend SVG.Structure.class
+ ##
+ SVG.Structure.class |= symbol
+ a:documentation [ "\x{a}" ~ " symbol: Symbol Element\x{a}" ~ " " ]
+ SVG.symbol.content =
+ (SVG.Description.class
+ | SVG.Animation.class
+ | SVG.Structure.class
+ | SVG.Conditional.class
+ | SVG.Image.class
+ | SVG.Style.class
+ | SVG.Shape.class
+ | SVG.Text.class
+ | SVG.Marker.class
+ | SVG.Profile.class
+ | SVG.Gradient.class
+ | SVG.Pattern.class
+ | SVG.Clip.class
+ | SVG.Mask.class
+ | SVG.Filter.class
+ | SVG.Cursor.class
+ | SVG.Hyperlink.class
+ | SVG.View.class
+ | SVG.Script.class
+ | SVG.Font.class)*
+ symbol = element symbol { attlist.symbol, SVG.symbol.content }
+ attlist.symbol &=
+ SVG.Core.attrib,
+ SVG.Style.attrib,
+ SVG.Presentation.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.External.attrib,
+ attribute viewBox { ViewBoxSpec.datatype }?,
+ [ a:defaultValue = "xMidYMid meet" ]
+ attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-style.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-style.rnc
new file mode 100644
index 00000000000..68c7f48c1a3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-style.rnc
@@ -0,0 +1,56 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Style
+##
+## style
+##
+## This module declares markup to provide support for stylesheet.
+##
+
+##
+## Datatypes
+##
+[ xml:lang = "en" ]
+grammar {
+ ClassList.datatype = xsd:NMTOKENS
+ StyleSheet.datatype = xsd:string
+
+ ##
+ ## comma-separated list of media descriptors.
+ ##
+ MediaDesc.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Style.attrib\x{a}" ~ " " ]
+ SVG.Style.extra.attrib = empty
+ SVG.Style.attrib &=
+ attribute style { StyleSheet.datatype }?,
+ attribute class { ClassList.datatype }?,
+ SVG.Style.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.Style.class\x{a}" ~ " " ]
+ SVG.Style.extra.class = notAllowed
+ SVG.Style.class |= style | SVG.Style.extra.class
+ a:documentation [ "\x{a}" ~ " style: Style Element\x{a}" ~ " " ]
+ SVG.style.content = text
+ style = element style { attlist.style, SVG.style.content }
+ attlist.style &=
+ [ a:defaultValue = "preserve" ] attribute xml:space { "preserve" }?,
+ SVG.id.attrib,
+ SVG.base.attrib,
+ SVG.lang.attrib,
+ SVG.Core.extra.attrib,
+ attribute type { ContentType.datatype },
+ attribute media { MediaDesc.datatype }?,
+ attribute title { Text.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-text.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-text.rnc
new file mode 100644
index 00000000000..b9d52e14420
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-text.rnc
@@ -0,0 +1,275 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Text
+##
+## text, tspan, tref, textPath, altGlyph, altGlyphDef, altGlyphItem,
+## glyphRef
+##
+## This module declares markup to provide support for alternate glyph.
+##
+[ xml:lang = "en" ]
+grammar {
+ include "svg-basic-text.rnc"
+ a:documentation [ "\x{a}" ~ " Datatypes\x{a}" ~ " " ]
+ BaselineShiftValue.datatype = xsd:string
+ FontSizeAdjustValue.datatype = xsd:string
+ GlyphOrientationHorizontalValue.datatype = xsd:string
+ GlyphOrientationVerticalValue.datatype = xsd:string
+ KerningValue.datatype = xsd:string
+ SpacingValue.datatype = xsd:string
+ TextDecorationValue.datatype = xsd:string
+ a:documentation [ "\x{a}" ~ " SVG.Text.attrib\x{a}" ~ " " ]
+ SVG.Text.extra.attrib = empty
+ SVG.Text.attrib &=
+ attribute writing-mode {
+ "lr-tb" | "rl-tb" | "tb-rl" | "lr" | "rl" | "tb" | "inherit"
+ }?,
+ SVG.Text.extra.attrib
+ a:documentation [ "\x{a}" ~ " SVG.TextContent.attrib\x{a}" ~ " " ]
+ SVG.TextContent.extra.attrib = empty
+ SVG.TextContent.attrib &=
+ attribute alignment-baseline {
+ "auto"
+ | "baseline"
+ | "before-edge"
+ | "text-before-edge"
+ | "middle"
+ | "central"
+ | "after-edge"
+ | "text-after-edge"
+ | "ideographic"
+ | "alphabetic"
+ | "hanging"
+ | "mathematical"
+ | "inherit"
+ }?,
+ attribute baseline-shift { BaselineShiftValue.datatype }?,
+ attribute direction { "ltr" | "rtl" | "inherit" }?,
+ attribute dominant-baseline {
+ "auto"
+ | "use-script"
+ | "no-change"
+ | "reset-size"
+ | "ideographic"
+ | "alphabetic"
+ | "hanging"
+ | "mathematical"
+ | "central"
+ | "middle"
+ | "text-after-edge"
+ | "text-before-edge"
+ | "inherit"
+ }?,
+ attribute glyph-orientation-horizontal {
+ GlyphOrientationHorizontalValue.datatype
+ }?,
+ attribute glyph-orientation-vertical {
+ GlyphOrientationVerticalValue.datatype
+ }?,
+ attribute kerning { KerningValue.datatype }?,
+ attribute letter-spacing { SpacingValue.datatype }?,
+ attribute text-anchor { "start" | "middle" | "end" | "inherit" }?,
+ attribute text-decoration { TextDecorationValue.datatype }?,
+ attribute unicode-bidi {
+ "normal" | "embed" | "bidi-override" | "inherit"
+ }?,
+ attribute word-spacing { SpacingValue.datatype }?,
+ SVG.TextContent.extra.attrib
+ SVG.Font.attrib &=
+ attribute font-size-adjust { FontSizeAdjustValue.datatype }?,
+ attribute font-stretch {
+ "normal"
+ | "wider"
+ | "narrower"
+ | "ultra-condensed"
+ | "extra-condensed"
+ | "condensed"
+ | "semi-condensed"
+ | "semi-expanded"
+ | "expanded"
+ | "extra-expanded"
+ | "ultra-expanded"
+ | "inherit"
+ }?,
+ attribute font-variant { "normal" | "small-caps" | "inherit" }?
+
+ ##
+ ## extend SVG.Text.class
+ ##
+ SVG.Text.class |= altGlyphDef
+
+ ##
+ ## extend SVG.TextContent.class
+ ##
+ SVG.TextContent.class |= tspan | tref | textPath
+ a:documentation [ "\x{a}" ~ " text: Text Element\x{a}" ~ " " ]
+ SVG.text.class |= SVG.TextContent.class
+ attlist.text &=
+ SVG.Text.attrib,
+ SVG.TextContent.attrib,
+ attribute dx { Lengths.datatype }?,
+ attribute dy { Lengths.datatype }?,
+ attribute textLength { Length.datatype }?,
+ attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }?
+ a:documentation [
+ "\x{a}" ~
+ " tspan: Text Span Element\x{a}" ~
+ " "
+ ]
+ SVG.tspan.content =
+ (text
+ | tspan
+ | tref
+ | altGlyph
+ | animate
+ | set
+ | animateColor
+ | SVG.Description.class
+ | SVG.Hyperlink.class)*
+ tspan = element tspan { attlist.tspan, SVG.tspan.content }
+ attlist.tspan &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.TextContent.attrib,
+ SVG.Font.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinates.datatype }?,
+ attribute y { Coordinates.datatype }?,
+ attribute dx { Lengths.datatype }?,
+ attribute dy { Lengths.datatype }?,
+ attribute rotate { Numbers.datatype }?,
+ attribute textLength { Length.datatype }?,
+ attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }?
+ a:documentation [
+ "\x{a}" ~
+ " tref: Text Reference Element\x{a}" ~
+ " "
+ ]
+ SVG.tref.content =
+ (animate | set | animateColor | SVG.Description.class)*
+ tref = element tref { attlist.tref, SVG.tref.content }
+ attlist.tref &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.TextContent.attrib,
+ SVG.Font.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.XLinkRequired.attrib,
+ SVG.External.attrib,
+ attribute x { Coordinates.datatype }?,
+ attribute y { Coordinates.datatype }?,
+ attribute dx { Lengths.datatype }?,
+ attribute dy { Lengths.datatype }?,
+ attribute rotate { Numbers.datatype }?,
+ attribute textLength { Length.datatype }?,
+ attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }?
+ a:documentation [
+ "\x{a}" ~
+ " textPath: Text Path Element\x{a}" ~
+ " "
+ ]
+ SVG.textPath.content =
+ (text
+ | tspan
+ | tref
+ | altGlyph
+ | animate
+ | set
+ | animateColor
+ | SVG.Description.class
+ | SVG.Hyperlink.class)*
+ textPath = element textPath { attlist.textPath, SVG.textPath.content }
+ attlist.textPath &=
+ SVG.Core.attrib,
+ SVG.Conditional.attrib,
+ SVG.Style.attrib,
+ SVG.TextContent.attrib,
+ SVG.Font.attrib,
+ SVG.Paint.attrib,
+ SVG.Color.attrib,
+ SVG.Opacity.attrib,
+ SVG.Graphics.attrib,
+ SVG.Clip.attrib,
+ SVG.Mask.attrib,
+ SVG.Filter.attrib,
+ SVG.GraphicalEvents.attrib,
+ SVG.Cursor.attrib,
+ SVG.XLinkRequired.attrib,
+ SVG.External.attrib,
+ attribute startOffset { Length.datatype }?,
+ attribute textLength { Length.datatype }?,
+ attribute lengthAdjust { "spacing" | "spacingAndGlyphs" }?,
+ attribute method { "align" | "stretch" }?,
+ attribute spacing { "auto" | "exact" }?
+ a:documentation [
+ "\x{a}" ~
+ " altGlyph: Alternate Glyph Element\x{a}" ~
+ " "
+ ]
+ attlist.altGlyph &=
+ SVG.TextContent.attrib,
+ attribute x { Coordinates.datatype }?,
+ attribute y { Coordinates.datatype }?,
+ attribute dx { Lengths.datatype }?,
+ attribute dy { Lengths.datatype }?,
+ attribute rotate { Numbers.datatype }?
+ a:documentation [
+ "\x{a}" ~
+ " altGlyphDef: Alternate Glyph Definition Element\x{a}" ~
+ " "
+ ]
+ SVG.altGlyphDef.content |= altGlyphItem+
+ a:documentation [
+ "\x{a}" ~
+ " altGlyphItem: Alternate Glyph Item Element\x{a}" ~
+ " "
+ ]
+ SVG.altGlyphItem.content = glyphRef+
+ altGlyphItem =
+ element altGlyphItem {
+ attlist.altGlyphItem, SVG.altGlyphItem.content
+ }
+ attlist.altGlyphItem &= SVG.Core.attrib
+ a:documentation [
+ "\x{a}" ~
+ " glyphRef: Glyph Reference Element\x{a}" ~
+ " "
+ ]
+ attlist.glyphRef &=
+ attribute x { Number.datatype }?,
+ attribute y { Number.datatype }?,
+ attribute dx { Number.datatype }?,
+ attribute dy { Number.datatype }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-view.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-view.rnc
new file mode 100644
index 00000000000..41501c31f92
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-view.rnc
@@ -0,0 +1,42 @@
+default namespace = "http://www.w3.org/2000/svg"
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## View
+##
+## view
+##
+## This module declares markup to provide support for view.
+##
+
+##
+## SVG.View.class
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.View.extra.class = notAllowed
+ SVG.View.class |= view | SVG.View.extra.class
+ a:documentation [ "\x{a}" ~ " view: View Element\x{a}" ~ " " ]
+ SVG.view.content = SVG.Description.class*
+ view = element view { attlist.view, SVG.view.content }
+ attlist.view &=
+ SVG.Core.attrib,
+ SVG.External.attrib,
+ attribute viewBox { ViewBoxSpec.datatype }?,
+ [ a:defaultValue = "xMidYMid meet" ]
+ attribute preserveAspectRatio { PreserveAspectRatioSpec.datatype }?,
+ [ a:defaultValue = "magnify" ]
+ attribute zoomAndPan { "disable" | "magnify" }?,
+ attribute viewTarget { text }?
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-viewport-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-viewport-attrib.rnc
new file mode 100644
index 00000000000..d7acd96d7c5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-viewport-attrib.rnc
@@ -0,0 +1,36 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+
+
+##
+## 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 $
+##
+
+##
+## Viewport Attribute
+##
+## clip, overflow
+##
+## This module defines the Viewport attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## 'clip' property/attribute value (e.g., 'auto', rect(...))
+ ##
+ ClipValue.datatype = xsd:string
+ SVG.clip.attrib = attribute clip { ClipValue.datatype }?
+ SVG.overflow.attrib =
+ attribute overflow {
+ "visible" | "hidden" | "scroll" | "auto" | "inherit"
+ }?
+ SVG.Viewport.extra.attrib = empty
+ SVG.Viewport.attrib &=
+ SVG.clip.attrib, SVG.overflow.attrib, SVG.Viewport.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-xlink-attrib.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-xlink-attrib.rnc
new file mode 100644
index 00000000000..c31505e04d2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg-xlink-attrib.rnc
@@ -0,0 +1,67 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+namespace xlink = "http://www.w3.org/1999/xlink"
+
+
+##
+## 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 $
+##
+
+##
+## XLink Attribute
+##
+## type, href, role, arcrole, title, show, actuate
+##
+## This module defines the XLink, XLinkRequired, XLinkEmbed, and
+## XLinkReplace attribute set.
+##
+[ xml:lang = "en" ]
+grammar {
+ SVG.XLink.extra.attrib = empty
+ SVG.XLink.attrib &=
+ [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
+ attribute xlink:href { URI.datatype }?,
+ attribute xlink:role { URI.datatype }?,
+ attribute xlink:arcrole { URI.datatype }?,
+ attribute xlink:title { text }?,
+ [ a:defaultValue = "other" ] attribute xlink:show { "other" }?,
+ [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?,
+ SVG.XLink.extra.attrib
+ SVG.XLinkRequired.extra.attrib = empty
+ SVG.XLinkRequired.attrib &=
+ [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
+ attribute xlink:href { URI.datatype },
+ attribute xlink:role { URI.datatype }?,
+ attribute xlink:arcrole { URI.datatype }?,
+ attribute xlink:title { text }?,
+ [ a:defaultValue = "other" ] attribute xlink:show { "other" }?,
+ [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?,
+ SVG.XLinkRequired.extra.attrib
+ SVG.XLinkEmbed.extra.attrib = empty
+ SVG.XLinkEmbed.attrib &=
+ [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
+ attribute xlink:href { URI.datatype },
+ attribute xlink:role { URI.datatype }?,
+ attribute xlink:arcrole { URI.datatype }?,
+ attribute xlink:title { text }?,
+ [ a:defaultValue = "embed" ] attribute xlink:show { "embed" }?,
+ [ a:defaultValue = "onLoad" ] attribute xlink:actuate { "onLoad" }?,
+ SVG.XLinkEmbed.extra.attrib
+ SVG.XLinkReplace.extra.attrib = empty
+ SVG.XLinkReplace.attrib &=
+ [ a:defaultValue = "simple" ] attribute xlink:type { "simple" }?,
+ attribute xlink:href { URI.datatype },
+ attribute xlink:role { URI.datatype }?,
+ attribute xlink:arcrole { URI.datatype }?,
+ attribute xlink:title { text }?,
+ [ a:defaultValue = "replace" ]
+ attribute xlink:show { "new" | "replace" }?,
+ [ a:defaultValue = "onRequest" ]
+ attribute xlink:actuate { "onRequest" }?,
+ SVG.XLinkReplace.extra.attrib
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11-basic.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11-basic.rnc
new file mode 100644
index 00000000000..846970b1357
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11-basic.rnc
@@ -0,0 +1,183 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+namespace ns1 = "http://www.w3.org/2000/svg"
+namespace xlink = "http://www.w3.org/1999/xlink"
+
+
+##
+## RELAX NG schema for SVG 1.1 Basic
+## file: svg11-basic.rng
+##
+## This is SVG Basic, a proper subset of SVG.
+##
+## 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-basic.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+##
+## This is the driver file for version 1.1 of the SVG Basic RELAX NG schema.
+##
+## The DTD version is identified by the PUBLIC and SYSTEM identifiers:
+##
+## PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN"
+## SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd"
+##
+## Use this URI to identify the default namespace:
+##
+## "http://www.w3.org/2000/svg"
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## Viewport Attribute Module
+ ##
+ include "svg-viewport-attrib.rnc" inherit = ns1
+
+ ##
+ ## Paint Attribute Module
+ ##
+ include "svg-paint-attrib.rnc" inherit = ns1
+
+ ##
+ ## Opacity Attribute Module
+ ##
+ include "svg-opacity-attrib.rnc" inherit = ns1
+
+ ##
+ ## Graphics Attribute Module
+ ##
+ include "svg-graphics-attrib.rnc" inherit = ns1
+
+ ##
+ ## Document Events Attribute Module
+ ##
+ include "svg-docevents-attrib.rnc" inherit = ns1
+
+ ##
+ ## Graphical Element Events Attribute Module
+ ##
+ include "svg-graphevents-attrib.rnc" inherit = ns1
+
+ ##
+ ## Animation Events Attribute Module
+ ##
+ include "svg-animevents-attrib.rnc" inherit = ns1
+
+ ##
+ ## XLink Attribute Module
+ ##
+ include "svg-xlink-attrib.rnc" inherit = ns1
+
+ ##
+ ## External Resources Attribute Module
+ ##
+ include "svg-extresources-attrib.rnc" inherit = ns1
+
+ ##
+ ## Structure Module (required)
+ ##
+ include "svg-structure.rnc" inherit = ns1
+
+ ##
+ ## Conditional Processing Module
+ ##
+ include "svg-conditional.rnc" inherit = ns1
+
+ ##
+ ## Image Module
+ ##
+ include "svg-image.rnc" inherit = ns1
+
+ ##
+ ## Style Module
+ ##
+ include "svg-style.rnc" inherit = ns1
+
+ ##
+ ## Shape Module
+ ##
+ include "svg-shape.rnc" inherit = ns1
+
+ ##
+ ## Text Module
+ ##
+ include "svg-text.rnc" inherit = ns1
+
+ ##
+ ## Color Profile Module
+ ##
+ include "svg-profile.rnc" inherit = ns1
+
+ ##
+ ## Gradient Module
+ ##
+ include "svg-gradient.rnc" inherit = ns1
+
+ ##
+ ## Pattern Module
+ ##
+ include "svg-pattern.rnc" inherit = ns1
+
+ ##
+ ## Basic Clip Module
+ ##
+ include "svg-basic-clip.rnc" inherit = ns1
+
+ ##
+ ## Mask Module
+ ##
+ include "svg-mask.rnc" inherit = ns1
+
+ ##
+ ## Basic Filter Module
+ ##
+ include "svg-basic-filter.rnc" inherit = ns1
+
+ ##
+ ## Cursor Module
+ ##
+ include "svg-cursor.rnc" inherit = ns1
+
+ ##
+ ## Hyperlinking Module
+ ##
+ include "svg-hyperlink.rnc" inherit = ns1
+
+ ##
+ ## View Module
+ ##
+ include "svg-view.rnc" inherit = ns1
+
+ ##
+ ## Scripting Module
+ ##
+ include "svg-script.rnc" inherit = ns1
+
+ ##
+ ## Animation Module
+ ##
+ include "svg-animation.rnc" inherit = ns1
+
+ ##
+ ## Font Module
+ ##
+ include "svg-font.rnc" inherit = ns1
+
+ ##
+ ## Extensibility Module
+ ##
+ include "svg-extensibility.rnc" inherit = ns1
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11-tiny.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11-tiny.rnc
new file mode 100644
index 00000000000..40ff52469a1
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11-tiny.rnc
@@ -0,0 +1,138 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+namespace ns1 = "http://www.w3.org/2000/svg"
+namespace xlink = "http://www.w3.org/1999/xlink"
+
+
+##
+## RELAX NG schema for SVG 1.1 Tiny
+## file: svg11-tiny.rng
+##
+## This is SVG Tiny, a proper subset of SVG.
+##
+## 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-tiny.rng,v 1.1 2003/07/15 07:11:10 dean Exp $
+##
+## This is the driver file for version 1.1 of the SVG Tiny RELAX NG schema.
+##
+## The DTD version is identified by the PUBLIC and SYSTEM identifiers:
+##
+## PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN"
+## SYSTEM "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"
+##
+## Use this URI to identify the default namespace:
+##
+## "http://www.w3.org/2000/svg"
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## Paint Attribute Module
+ ##
+ include "svg-paint-attrib.rnc" inherit = ns1
+
+ ##
+ ## Basic Graphics Attribute Module
+ ##
+ include "svg-basic-graphics-attrib.rnc" inherit = ns1
+
+ ##
+ ## Document Events Attribute Module
+ ##
+ include "svg-docevents-attrib.rnc" inherit = ns1
+
+ ##
+ ## Graphical Element Events Attribute Module
+ ##
+ include "svg-graphevents-attrib.rnc" inherit = ns1
+
+ ##
+ ## Animation Events Attribute Module
+ ##
+ include "svg-animevents-attrib.rnc" inherit = ns1
+
+ ##
+ ## XLink Attribute Module
+ ##
+ include "svg-xlink-attrib.rnc" inherit = ns1
+
+ ##
+ ## External Resources Attribute Module
+ ##
+ include "svg-extresources-attrib.rnc" inherit = ns1
+
+ ##
+ ## Basic Structure Module (required)
+ ##
+ include "svg-basic-structure.rnc" inherit = ns1
+
+ ##
+ ## Conditional Processing Module
+ ##
+ include "svg-conditional.rnc" inherit = ns1
+
+ ##
+ ## Image Module
+ ##
+ include "svg-image.rnc" inherit = ns1
+
+ ##
+ ## Style Module
+ ##
+ include "svg-style.rnc" inherit = ns1
+
+ ##
+ ## Shape Module
+ ##
+ include "svg-shape.rnc" inherit = ns1
+
+ ##
+ ## Basic Text Module
+ ##
+ include "svg-basic-text.rnc" inherit = ns1
+
+ ##
+ ## Hyperlinking Module
+ ##
+ include "svg-hyperlink.rnc" inherit = ns1
+
+ ##
+ ## View Module
+ ##
+ include "svg-view.rnc" inherit = ns1
+
+ ##
+ ## Scripting Module
+ ##
+ include "svg-script.rnc" inherit = ns1
+
+ ##
+ ## Animation Module
+ ##
+ include "svg-animation.rnc" inherit = ns1
+
+ ##
+ ## Basic Font Module
+ ##
+ include "svg-basic-font.rnc" inherit = ns1
+
+ ##
+ ## Extensibility Module
+ ##
+ include "svg-extensibility.rnc" inherit = ns1
+}
diff --git a/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11.rnc b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11.rnc
new file mode 100644
index 00000000000..4e3f3b4366a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/stex/schema/rnc/svg/svg11.rnc
@@ -0,0 +1,193 @@
+namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
+namespace ns1 = "http://www.w3.org/2000/svg"
+namespace xlink = "http://www.w3.org/1999/xlink"
+
+
+##
+## 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"
+##
+[ xml:lang = "en" ]
+grammar {
+
+ ##
+ ## Container Attribute Module
+ ##
+ include "svg-container-attrib.rnc" inherit = ns1
+
+ ##
+ ## Viewport Attribute Module
+ ##
+ include "svg-viewport-attrib.rnc" inherit = ns1
+
+ ##
+ ## Paint Attribute Module
+ ##
+ include "svg-paint-attrib.rnc" inherit = ns1
+
+ ##
+ ## Paint Opacity Attribute Module
+ ##
+ include "svg-opacity-attrib.rnc" inherit = ns1
+
+ ##
+ ## Graphics Attribute Module
+ ##
+ include "svg-graphics-attrib.rnc" inherit = ns1
+
+ ##
+ ## Document Events Attribute Module
+ ##
+ include "svg-docevents-attrib.rnc" inherit = ns1
+
+ ##
+ ## Graphical Element Events Attribute Module
+ ##
+ include "svg-graphevents-attrib.rnc" inherit = ns1
+
+ ##
+ ## Animation Events Attribute Module
+ ##
+ include "svg-animevents-attrib.rnc" inherit = ns1
+
+ ##
+ ## XLink Attribute Module
+ ##
+ include "svg-xlink-attrib.rnc" inherit = ns1
+
+ ##
+ ## External Resources Attribute Module
+ ##
+ include "svg-extresources-attrib.rnc" inherit = ns1
+
+ ##
+ ## Structure Module (required)
+ ##
+ include "svg-structure.rnc" inherit = ns1
+
+ ##
+ ## Conditional Processing Module
+ ##
+ include "svg-conditional.rnc" inherit = ns1
+
+ ##
+ ## Image Module
+ ##
+ include "svg-image.rnc" inherit = ns1
+
+ ##
+ ## Style Module
+ ##
+ include "svg-style.rnc" inherit = ns1
+
+ ##
+ ## Shape Module
+ ##
+ include "svg-shape.rnc" inherit = ns1
+
+ ##
+ ## Text Module
+ ##
+ include "svg-text.rnc" inherit = ns1
+
+ ##
+ ## Marker Module
+ ##
+ include "svg-marker.rnc" inherit = ns1
+
+ ##
+ ## Color Profile Module
+ ##
+ include "svg-profile.rnc" inherit = ns1
+
+ ##
+ ## Gradient Module
+ ##
+ Include "svg-gradient.rnc" inherit = ns1
+
+ ##
+ ## Pattern Module
+ ##
+ include "svg-pattern.rnc" inherit = ns1
+
+ ##
+ ## Clip Module
+ ##
+ include "svg-clip.rnc" inherit = ns1
+
+ ##
+ ## Mask Module
+ ##
+ include "svg-mask.rnc" inherit = ns1
+
+ ##
+ ## Filter Module
+ ##
+ include "svg-filter.rnc" inherit = ns1
+
+ ##
+ ## Cursor Module
+ ##
+ include "svg-cursor.rnc" inherit = ns1
+
+ ##
+ ## Hyperlinking Module
+ ##
+ include "svg-hyperlink.rnc" inherit = ns1
+
+ ##
+ ## View Module
+ ##
+ include "svg-view.rnc" inherit = ns1
+
+ ##
+ ## Scripting Module
+ ##
+ include "svg-script.rnc" inherit = ns1
+
+ ##
+ ## Animation Module
+ ##
+ include "svg-animation.rnc" inherit = ns1
+
+ ##
+ ## Font Module
+ ##
+ include "svg-font.rnc" inherit = ns1
+
+ ##
+ ## Extensibility Module
+ ##
+ include "svg-extensibility.rnc" inherit = ns1
+}