summaryrefslogtreecommitdiffstats
path: root/htdocs/sgml-lib
diff options
context:
space:
mode:
authorlink <link@localhost>2002-10-17 00:12:30 +0000
committerlink <link@localhost>2002-10-17 00:12:30 +0000
commit9917caeeacfea4d89a70387f62ef1bb9368fa59b (patch)
tree515e3281b3e081e61ff0d54647e59e10e28ff228 /htdocs/sgml-lib
parentc824abcd081164dfe5af8c46fed4befd9173e219 (diff)
downloadmarkup-validator-9917caeeacfea4d89a70387f62ef1bb9368fa59b.zip
markup-validator-9917caeeacfea4d89a70387f62ef1bb9368fa59b.tar.gz
markup-validator-9917caeeacfea4d89a70387f62ef1bb9368fa59b.tar.bz2
Adding updated MathML DTDs (by request from maxf/davidc).
Diffstat (limited to 'htdocs/sgml-lib')
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsa.ent77
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsb.ent63
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsc.ent31
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsn.ent83
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamso.ent38
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsr.ent103
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isobox.ent61
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isocyr1.ent88
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isocyr2.ent47
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isodia.ent35
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk1.ent70
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk2.ent41
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk3.ent64
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk4.ent40
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isolat1.ent83
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isolat2.ent142
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isonum.ent97
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isopub.ent104
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isotech.ent83
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsa.ent167
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsb.ent143
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsc.ent43
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsn.ent114
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamso.ent71
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsr.ent201
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isogrk3.ent64
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isogrk4.ent40
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isomfrk.ent75
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isomopf.ent49
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isomscr.ent75
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isotech.ent182
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isoamsa.ent173
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isoamsb.ent146
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isoamsc.ent49
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isoamsn.ent117
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isoamso.ent77
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isoamsr.ent205
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isobox.ent67
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isocyr1.ent94
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isocyr2.ent53
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isodia.ent41
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isogrk3.ent70
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isolat1.ent89
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isolat2.ent148
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isomfrk.ent79
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isomopf.ent53
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isomscr.ent79
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isonum.ent103
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isopub.ent110
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/isotech.ent183
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/mathml/mmlalias.ent564
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/mathml/mmlextra.ent122
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/mathml2-qname-1.mod275
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/mathml2.dtd2078
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/mmlalias.ent564
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/mmlextra.ent128
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/xhtml-math11-f.dtd9677
-rw-r--r--htdocs/sgml-lib/UPD-MathML2-20021015/xhtml-math11.dtd9
-rw-r--r--htdocs/sgml-lib/xml.soc8
59 files changed, 17931 insertions, 4 deletions
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsa.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsa.ent
new file mode 100644
index 0000000..aadb45a
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsa.ent
@@ -0,0 +1,77 @@
+
+<!--
+ File isoamsa.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY cularr "&#x021B6;" ><!--/curvearrowleft A: left curved arrow -->
+<!ENTITY curarr "&#x021B7;" ><!--/curvearrowright A: rt curved arrow -->
+<!ENTITY dArr "&#x021D3;" ><!--/Downarrow A: down dbl arrow -->
+<!ENTITY darr2 "&#x021CA;" ><!--/downdownarrows A: two down arrows -->
+<!ENTITY dharl "&#x021C3;" ><!--/downleftharpoon A: dn harpoon-left -->
+<!ENTITY dharr "&#x021C2;" ><!--/downrightharpoon A: down harpoon-rt -->
+<!ENTITY dlarr "&#x02199;" ><!--/swarrow A: downward l arrow -->
+<!ENTITY drarr "&#x02198;" ><!--/searrow A: downward rt arrow -->
+<!ENTITY hArr "&#x021D4;" ><!--/Leftrightarrow A: l&r dbl arrow -->
+<!ENTITY harr "&#x02194;" ><!--/leftrightarrow A: l&r arrow -->
+<!ENTITY harrw "&#x021AD;" ><!--/leftrightsquigarrow A: l&r arr-wavy -->
+<!ENTITY lAarr "&#x021DA;" ><!--/Lleftarrow A: left triple arrow -->
+<!ENTITY Larr "&#x0219E;" ><!--/twoheadleftarrow A: -->
+<!ENTITY larr2 "&#x021C7;" ><!--/leftleftarrows A: two left arrows -->
+<!ENTITY larrhk "&#x021A9;" ><!--/hookleftarrow A: left arrow-hooked -->
+<!ENTITY larrlp "&#x021AB;" ><!--/looparrowleft A: left arrow-looped -->
+<!ENTITY larrtl "&#x021A2;" ><!--/leftarrowtail A: left arrow-tailed -->
+<!ENTITY lhard "&#x021BD;" ><!--/leftharpoondown A: l harpoon-down -->
+<!ENTITY lharu "&#x021BC;" ><!--/leftharpoonup A: left harpoon-up -->
+<!ENTITY lrarr2 "&#x021C6;" ><!--/leftrightarrows A: l arr over r arr -->
+<!ENTITY lrhar2 "&#x021CB;" ><!--/leftrightharpoons A: l harp over r -->
+<!ENTITY lsh "&#x021B0;" ><!--/Lsh A: -->
+<!ENTITY map "&#x021A6;" ><!--/mapsto A: -->
+<!ENTITY mumap "&#x022B8;" ><!--/multimap A: -->
+<!ENTITY nearr "&#x02197;" ><!--/nearrow A: NE pointing arrow -->
+<!ENTITY nhArr "&#x021CE;" ><!--/nLeftrightarrow A: not l&r dbl arr -->
+<!ENTITY nharr "&#x021AE;" ><!--/nleftrightarrow A: not l&r arrow -->
+<!ENTITY nlArr "&#x021CD;" ><!--/nLeftarrow A: not implied by -->
+<!ENTITY nlarr "&#x0219A;" ><!--/nleftarrow A: not left arrow -->
+<!ENTITY nrArr "&#x021CF;" ><!--/nRightarrow A: not implies -->
+<!ENTITY nrarr "&#x0219B;" ><!--/nrightarrow A: not right arrow -->
+<!ENTITY nwarr "&#x02196;" ><!--/nwarrow A: NW pointing arrow -->
+<!ENTITY olarr "&#x021BA;" ><!--/circlearrowleft A: l arr in circle -->
+<!ENTITY orarr "&#x021BB;" ><!--/circlearrowright A: r arr in circle -->
+<!ENTITY rAarr "&#x021DB;" ><!--/Rrightarrow A: right triple arrow -->
+<!ENTITY Rarr "&#x021A0;" ><!--/twoheadrightarrow A: -->
+<!ENTITY rarr2 "&#x021C9;" ><!--/rightrightarrows A: two rt arrows -->
+<!ENTITY rarrhk "&#x021AA;" ><!--/hookrightarrow A: rt arrow-hooked -->
+<!ENTITY rarrlp "&#x021AC;" ><!--/looparrowright A: rt arrow-looped -->
+<!ENTITY rarrtl "&#x021A3;" ><!--/rightarrowtail A: rt arrow-tailed -->
+<!ENTITY rarrw "&#x0219D;" ><!--/squigarrowright A: rt arrow-wavy -->
+<!ENTITY rhard "&#x021C1;" ><!--/rightharpoondown A: rt harpoon-down -->
+<!ENTITY rharu "&#x021C0;" ><!--/rightharpoonup A: rt harpoon-up -->
+<!ENTITY rlarr2 "&#x021C4;" ><!--/rightleftarrows A: r arr over l arr -->
+<!ENTITY rlhar2 "&#x021CC;" ><!--/rightleftharpoons A: r harp over l -->
+<!ENTITY rsh "&#x021B1;" ><!--/Rsh A: -->
+<!ENTITY uArr "&#x021D1;" ><!--/Uparrow A: up dbl arrow -->
+<!ENTITY uarr2 "&#x021C8;" ><!--/upuparrows A: two up arrows -->
+<!ENTITY uharl "&#x021BF;" ><!--/upleftharpoon A: up harpoon-left -->
+<!ENTITY uharr "&#x021BE;" ><!--/uprightharpoon A: up harp-r -->
+<!ENTITY vArr "&#x021D5;" ><!--/Updownarrow A: up&down dbl arrow -->
+<!ENTITY varr "&#x02195;" ><!--/updownarrow A: up&down arrow -->
+<!ENTITY xhArr "&#x027FA;" ><!--/Longleftrightarrow A: long l&r dbl arr -->
+<!ENTITY xharr "&#x027F7;" ><!--/longleftrightarrow A: long l&r arr -->
+<!ENTITY xlArr "&#x027F8;" ><!--/Longleftarrow A: long l dbl arrow -->
+<!ENTITY xrArr "&#x027F9;" ><!--/Longrightarrow A: long rt dbl arr -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsb.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsb.ent
new file mode 100644
index 0000000..5e435dd
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsb.ent
@@ -0,0 +1,63 @@
+
+<!--
+ File isoamsb.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY amalg "&#x02A3F;" ><!--/amalg B: amalgamation or coproduct -->
+<!ENTITY Barwed "&#x02306;" ><!--/doublebarwedge B: log and, dbl bar -->
+<!ENTITY barwed "&#x022BC;" ><!--/barwedge B: logical and, bar above -->
+<!ENTITY Cap "&#x022D2;" ><!--/Cap /doublecap B: dbl intersection -->
+<!ENTITY coprod "&#x02210;" ><!--/coprod L: coproduct operator -->
+<!ENTITY Cup "&#x022D3;" ><!--/Cup /doublecup B: dbl union -->
+<!ENTITY cuvee "&#x022CE;" ><!--/curlyvee B: curly logical or -->
+<!ENTITY cuwed "&#x022CF;" ><!--/curlywedge B: curly logical and -->
+<!ENTITY diam "&#x022C4;" ><!--/diamond B: open diamond -->
+<!ENTITY divonx "&#x022C7;" ><!--/divideontimes B: division on times -->
+<!ENTITY intcal "&#x022BA;" ><!--/intercal B: intercal -->
+<!ENTITY lthree "&#x022CB;" ><!--/leftthreetimes B: -->
+<!ENTITY ltimes "&#x022C9;" ><!--/ltimes B: times sign, left closed -->
+<!ENTITY minusb "&#x0229F;" ><!--/boxminus B: minus sign in box -->
+<!ENTITY oast "&#x0229B;" ><!--/circledast B: asterisk in circle -->
+<!ENTITY ocir "&#x0229A;" ><!--/circledcirc B: open dot in circle -->
+<!ENTITY odash "&#x0229D;" ><!--/circleddash B: hyphen in circle -->
+<!ENTITY odot "&#x02299;" ><!--/odot B: middle dot in circle -->
+<!ENTITY ominus "&#x02296;" ><!--/ominus B: minus sign in circle -->
+<!ENTITY oplus "&#x02295;" ><!--/oplus B: plus sign in circle -->
+<!ENTITY osol "&#x02298;" ><!--/oslash B: solidus in circle -->
+<!ENTITY otimes "&#x02297;" ><!--/otimes B: multiply sign in circle -->
+<!ENTITY plusb "&#x0229E;" ><!--/boxplus B: plus sign in box -->
+<!ENTITY plusdo "&#x02214;" ><!--/dotplus B: plus sign, dot above -->
+<!ENTITY prod "&#x0220F;" ><!--/prod L: product operator -->
+<!ENTITY rthree "&#x022CC;" ><!--/rightthreetimes B: -->
+<!ENTITY rtimes "&#x022CA;" ><!--/rtimes B: times sign, right closed -->
+<!ENTITY sdot "&#x022C5;" ><!--/cdot B: small middle dot -->
+<!ENTITY sdotb "&#x022A1;" ><!--/dotsquare /boxdot B: small dot in box -->
+<!ENTITY setmn "&#x02216;" ><!--/setminus B: reverse solidus -->
+<!ENTITY sqcap "&#x02293;" ><!--/sqcap B: square intersection -->
+<!ENTITY sqcup "&#x02294;" ><!--/sqcup B: square union -->
+<!ENTITY ssetmn "&#x02216;" ><!--/smallsetminus B: sm reverse solidus -->
+<!ENTITY sstarf "&#x022C6;" ><!--/star B: small star, filled -->
+<!ENTITY sum "&#x02211;" ><!--/sum L: summation operator -->
+<!ENTITY timesb "&#x022A0;" ><!--/boxtimes B: multiply sign in box -->
+<!ENTITY top "&#x022A4;" ><!--/top B: inverted perpendicular -->
+<!ENTITY uplus "&#x0228E;" ><!--/uplus B: plus sign in union -->
+<!ENTITY wreath "&#x02240;" ><!--/wr B: wreath product -->
+<!ENTITY xcirc "&#x025EF;" ><!--/bigcirc B: large circle -->
+<!ENTITY xdtri "&#x025BD;" ><!--/bigtriangledown B: big dn tri, open -->
+<!ENTITY xutri "&#x025B3;" ><!--/bigtriangleup B: big up tri, open -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsc.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsc.ent
new file mode 100644
index 0000000..bcae021
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsc.ent
@@ -0,0 +1,31 @@
+
+<!--
+ File isoamsc.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY dlcorn "&#x0231E;" ><!--/llcorner O: downward left corner -->
+<!ENTITY drcorn "&#x0231F;" ><!--/lrcorner C: downward right corner -->
+<!ENTITY lceil "&#x02308;" ><!--/lceil O: left ceiling -->
+<!ENTITY lfloor "&#x0230A;" ><!--/lfloor O: left floor -->
+<!ENTITY lpargt "&#x029A0;" ><!--/leftparengtr O: left parenthesis, gt -->
+<!ENTITY rceil "&#x02309;" ><!--/rceil C: right ceiling -->
+<!ENTITY rfloor "&#x0230B;" ><!--/rfloor C: right floor -->
+<!ENTITY rpargt "&#x02994;" ><!--/rightparengtr C: right paren, gt -->
+<!ENTITY ulcorn "&#x0231C;" ><!--/ulcorner O: upper left corner -->
+<!ENTITY urcorn "&#x0231D;" ><!--/urcorner C: upper right corner -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsn.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsn.ent
new file mode 100644
index 0000000..953865f
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsn.ent
@@ -0,0 +1,83 @@
+
+<!--
+ File isoamsn.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ References to the VARIANT SELECTOR 1 character (&#x0FE00;)
+ should match the uses listed in Unicode Technical Report 25.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY gnap "&#x02A8A;" ><!--/gnapprox N: greater, not approximate -->
+<!ENTITY gnE "&#x02269;" ><!--/gneqq N: greater, not dbl equals -->
+<!ENTITY gne "&#x02269;" ><!--/gneq N: greater, not equals -->
+<!ENTITY gnsim "&#x022E7;" ><!--/gnsim N: greater, not similar -->
+<!ENTITY gvnE "&#x02269;&#x0FE00;" ><!--/gvertneqq N: gt, vert, not dbl eq -->
+<!ENTITY lnap "&#x02A89;" ><!--/lnapprox N: less, not approximate -->
+<!ENTITY lnE "&#x02268;" ><!--/lneqq N: less, not double equals -->
+<!ENTITY lne "&#x02268;" ><!--/lneq N: less, not equals -->
+<!ENTITY lnsim "&#x022E6;" ><!--/lnsim N: less, not similar -->
+<!ENTITY lvnE "&#x02268;&#x0FE00;" ><!--/lvertneqq N: less, vert, not dbl eq -->
+<!ENTITY nap "&#x02249;" ><!--/napprox N: not approximate -->
+<!ENTITY ncong "&#x02247;" ><!--/ncong N: not congruent with -->
+<!ENTITY nequiv "&#x02262;" ><!--/nequiv N: not identical with -->
+<!ENTITY ngE "&#x02A7E;&#x00338;" ><!--/ngeqq N: not greater, dbl equals -->
+<!ENTITY nge "&#x02271;" ><!--/ngeq N: not greater-than-or-equal -->
+<!ENTITY nges "&#x02A7E;&#x00338;" ><!--/ngeqslant N: not gt-or-eq, slanted -->
+<!ENTITY ngt "&#x0226F;" ><!--/ngtr N: not greater-than -->
+<!ENTITY nlE "&#x02A7D;&#x00338;" ><!--/nleqq N: not less, dbl equals -->
+<!ENTITY nle "&#x02270;" ><!--/nleq N: not less-than-or-equal -->
+<!ENTITY nles "&#x02A7D;&#x00338;" ><!--/nleqslant N: not less-or-eq, slant -->
+<!ENTITY nlt "&#x0226E;" ><!--/nless N: not less-than -->
+<!ENTITY nltri "&#x022EA;" ><!--/ntriangleleft N: not left triangle -->
+<!ENTITY nltrie "&#x022EC;" ><!--/ntrianglelefteq N: not l tri, eq -->
+<!ENTITY nmid "&#x02224;" ><!--/nmid -->
+<!ENTITY npar "&#x02226;" ><!--/nparallel N: not parallel -->
+<!ENTITY npr "&#x02280;" ><!--/nprec N: not precedes -->
+<!ENTITY npre "&#x02AAF;&#x00338;" ><!--/npreceq N: not precedes, equals -->
+<!ENTITY nrtri "&#x022EB;" ><!--/ntriangleright N: not rt triangle -->
+<!ENTITY nrtrie "&#x022ED;" ><!--/ntrianglerighteq N: not r tri, eq -->
+<!ENTITY nsc "&#x02281;" ><!--/nsucc N: not succeeds -->
+<!ENTITY nsce "&#x02AB0;&#x00338;" ><!--/nsucceq N: not succeeds, equals -->
+<!ENTITY nsim "&#x02241;" ><!--/nsim N: not similar -->
+<!ENTITY nsime "&#x02244;" ><!--/nsimeq N: not similar, equals -->
+<!ENTITY nsmid "&#x02224;" ><!--/nshortmid -->
+<!ENTITY nspar "&#x02226;" ><!--/nshortparallel N: not short par -->
+<!ENTITY nsub "&#x02284;" ><!--/nsubset N: not subset -->
+<!ENTITY nsubE "&#x02288;" ><!--/nsubseteqq N: not subset, dbl eq -->
+<!ENTITY nsube "&#x02288;" ><!--/nsubseteq N: not subset, equals -->
+<!ENTITY nsup "&#x02285;" ><!--/nsupset N: not superset -->
+<!ENTITY nsupE "&#x02289;" ><!--/nsupseteqq N: not superset, dbl eq -->
+<!ENTITY nsupe "&#x02289;" ><!--/nsupseteq N: not superset, equals -->
+<!ENTITY nVDash "&#x022AF;" ><!--/nVDash N: not dbl vert, dbl dash -->
+<!ENTITY nVdash "&#x022AE;" ><!--/nVdash N: not dbl vertical, dash -->
+<!ENTITY nvDash "&#x022AD;" ><!--/nvDash N: not vertical, dbl dash -->
+<!ENTITY nvdash "&#x022AC;" ><!--/nvdash N: not vertical, dash -->
+<!ENTITY prnap "&#x022E8;" ><!--/precnapprox N: precedes, not approx -->
+<!ENTITY prnE "&#x02AB5;" ><!--/precneqq N: precedes, not dbl eq -->
+<!ENTITY prnsim "&#x022E8;" ><!--/precnsim N: precedes, not similar -->
+<!ENTITY scnap "&#x022E9;" ><!--/succnapprox N: succeeds, not approx -->
+<!ENTITY scnE "&#x02AB6;" ><!--/succneqq N: succeeds, not dbl eq -->
+<!ENTITY scnsim "&#x022E9;" ><!--/succnsim N: succeeds, not similar -->
+<!ENTITY subnE "&#x0228A;" ><!--/subsetneqq N: subset, not dbl eq -->
+<!ENTITY subne "&#x0228A;" ><!--/subsetneq N: subset, not equals -->
+<!ENTITY supnE "&#x0228B;" ><!--/supsetneqq N: superset, not dbl eq -->
+<!ENTITY supne "&#x0228B;" ><!--/supsetneq N: superset, not equals -->
+<!ENTITY vsubnE "&#x0228A;&#x0FE00;" ><!--/subsetneqq N: subset not dbl eq, var -->
+<!ENTITY vsubne "&#x0228A;&#x0FE00;" ><!--/subsetneq N: subset, not eq, var -->
+<!ENTITY vsupnE "&#x0228B;&#x0FE00;" ><!--/supsetneqq N: super not dbl eq, var -->
+<!ENTITY vsupne "&#x0228B;&#x0FE00;" ><!--/supsetneq N: superset, not eq, var -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamso.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamso.ent
new file mode 100644
index 0000000..80c3141
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamso.ent
@@ -0,0 +1,38 @@
+
+<!--
+ File isoamso.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY ang "&#x02220;" ><!--/angle - angle -->
+<!ENTITY angmsd "&#x02221;" ><!--/measuredangle - angle-measured -->
+<!ENTITY beth "&#x02136;" ><!--/beth - beth, Hebrew -->
+<!ENTITY bprime "&#x02035;" ><!--/backprime - reverse prime -->
+<!ENTITY comp "&#x02201;" ><!--/complement - complement sign -->
+<!ENTITY daleth "&#x02138;" ><!--/daleth - daleth, Hebrew -->
+<!ENTITY ell "&#x02113;" ><!--/ell - cursive small l -->
+<!ENTITY empty "&#x02205;" ><!--/emptyset /varnothing =small o, slash -->
+<!ENTITY gimel "&#x02137;" ><!--/gimel - gimel, Hebrew -->
+<!ENTITY inodot "&#x00131;" ><!--/imath =small i, no dot -->
+<!ENTITY jnodot "&#x0006A;" ><!--/jmath - small j, no dot -->
+<!ENTITY nexist "&#x02204;" ><!--/nexists - negated exists -->
+<!ENTITY oS "&#x024C8;" ><!--/circledS - capital S in circle -->
+<!ENTITY planck "&#x0210F;" ><!--/hbar /hslash - Planck's over 2pi -->
+<!ENTITY real "&#x0211C;" ><!--/Re - real -->
+<!ENTITY vprime "&#x02032;" ><!--/varprime - prime, variant -->
+<!ENTITY weierp "&#x02118;" ><!--/wp - Weierstrass p -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsr.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsr.ent
new file mode 100644
index 0000000..1a3603b
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isoamsr.ent
@@ -0,0 +1,103 @@
+
+<!--
+ File isoamsr.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY ape "&#x0224A;" ><!--/approxeq R: approximate, equals -->
+<!ENTITY asymp "&#x02248;" ><!--/asymp R: asymptotically equal to -->
+<!ENTITY bcong "&#x0224C;" ><!--/backcong R: reverse congruent -->
+<!ENTITY bepsi "&#x003F6;" ><!--/backepsilon R: such that -->
+<!ENTITY bowtie "&#x022C8;" ><!--/bowtie R: -->
+<!ENTITY bsim "&#x0223D;" ><!--/backsim R: reverse similar -->
+<!ENTITY bsime "&#x022CD;" ><!--/backsimeq R: reverse similar, eq -->
+<!ENTITY bump "&#x0224E;" ><!--/Bumpeq R: bumpy equals -->
+<!ENTITY bumpe "&#x0224F;" ><!--/bumpeq R: bumpy equals, equals -->
+<!ENTITY cire "&#x02257;" ><!--/circeq R: circle, equals -->
+<!ENTITY colone "&#x02254;" ><!--/coloneq R: colon, equals -->
+<!ENTITY cuepr "&#x022DE;" ><!--/curlyeqprec R: curly eq, precedes -->
+<!ENTITY cuesc "&#x022DF;" ><!--/curlyeqsucc R: curly eq, succeeds -->
+<!ENTITY cupre "&#x0227C;" ><!--/curlypreceq R: curly precedes, eq -->
+<!ENTITY dashv "&#x022A3;" ><!--/dashv R: dash, vertical -->
+<!ENTITY ecir "&#x02256;" ><!--/eqcirc R: circle on equals sign -->
+<!ENTITY ecolon "&#x02255;" ><!--/eqcolon R: equals, colon -->
+<!ENTITY eDot "&#x02251;" ><!--/doteqdot /Doteq R: eq, even dots -->
+<!ENTITY efDot "&#x02252;" ><!--/fallingdotseq R: eq, falling dots -->
+<!ENTITY egs "&#x022DD;" ><!--/eqslantgtr R: equal-or-gtr, slanted -->
+<!ENTITY els "&#x022DC;" ><!--/eqslantless R: eq-or-less, slanted -->
+<!ENTITY erDot "&#x02253;" ><!--/risingdotseq R: eq, rising dots -->
+<!ENTITY esdot "&#x02250;" ><!--/doteq R: equals, single dot above -->
+<!ENTITY fork "&#x022D4;" ><!--/pitchfork R: pitchfork -->
+<!ENTITY frown "&#x02322;" ><!--/frown R: down curve -->
+<!ENTITY gap "&#x02273;" ><!--/gtrapprox R: greater, approximate -->
+<!ENTITY gE "&#x02267;" ><!--/geqq R: greater, double equals -->
+<!ENTITY gEl "&#x022DB;" ><!--/gtreqqless R: gt, dbl equals, less -->
+<!ENTITY gel "&#x022DB;" ><!--/gtreqless R: greater, equals, less -->
+<!ENTITY ges "&#x02A7E;" ><!--/geqslant R: gt-or-equal, slanted -->
+<!ENTITY Gg "&#x022D9;" ><!--/ggg /Gg /gggtr R: triple gtr-than -->
+<!ENTITY gl "&#x02277;" ><!--/gtrless R: greater, less -->
+<!ENTITY gsdot "&#x022D7;" ><!--/gtrdot R: greater than, single dot -->
+<!ENTITY gsim "&#x02273;" ><!--/gtrsim R: greater, similar -->
+<!ENTITY Gt "&#x0226B;" ><!--/gg R: dbl greater-than sign -->
+<!ENTITY lap "&#x02272;" ><!--/lessapprox R: less, approximate -->
+<!ENTITY ldot "&#x022D6;" ><!--/lessdot R: less than, with dot -->
+<!ENTITY lE "&#x02266;" ><!--/leqq R: less, double equals -->
+<!ENTITY lEg "&#x022DA;" ><!--/lesseqqgtr R: less, dbl eq, greater -->
+<!ENTITY leg "&#x022DA;" ><!--/lesseqgtr R: less, eq, greater -->
+<!ENTITY les "&#x02A7D;" ><!--/leqslant R: less-than-or-eq, slant -->
+<!ENTITY lg "&#x02276;" ><!--/lessgtr R: less, greater -->
+<!ENTITY Ll "&#x022D8;" ><!--/Ll /lll /llless R: triple less-than -->
+<!ENTITY lsim "&#x02272;" ><!--/lesssim R: less, similar -->
+<!ENTITY Lt "&#x0226A;" ><!--/ll R: double less-than sign -->
+<!ENTITY ltrie "&#x022B4;" ><!--/trianglelefteq R: left triangle, eq -->
+<!ENTITY mid "&#x02223;" ><!--/mid R: -->
+<!ENTITY models "&#x022A7;" ><!--/models R: -->
+<!ENTITY pr "&#x0227A;" ><!--/prec R: precedes -->
+<!ENTITY prap "&#x0227E;" ><!--/precapprox R: precedes, approximate -->
+<!ENTITY pre "&#x02AAF;" ><!--/preceq R: precedes, equals -->
+<!ENTITY prsim "&#x0227E;" ><!--/precsim R: precedes, similar -->
+<!ENTITY rtrie "&#x022B5;" ><!--/trianglerighteq R: right tri, eq -->
+<!ENTITY samalg "&#x02210;" ><!--/smallamalg R: small amalg -->
+<!ENTITY sc "&#x0227B;" ><!--/succ R: succeeds -->
+<!ENTITY scap "&#x0227F;" ><!--/succapprox R: succeeds, approximate -->
+<!ENTITY sccue "&#x0227D;" ><!--/succcurlyeq R: succeeds, curly eq -->
+<!ENTITY sce "&#x0227D;" ><!--/succeq R: succeeds, equals -->
+<!ENTITY scsim "&#x0227F;" ><!--/succsim R: succeeds, similar -->
+<!ENTITY smid "&#x02223;" ><!--/shortmid R: -->
+<!ENTITY smile "&#x02323;" ><!--/smile R: up curve -->
+<!ENTITY spar "&#x02225;" ><!--/shortparallel R: short parallel -->
+<!ENTITY sqsub "&#x0228F;" ><!--/sqsubset R: square subset -->
+<!ENTITY sqsube "&#x02291;" ><!--/sqsubseteq R: square subset, equals -->
+<!ENTITY sqsup "&#x02290;" ><!--/sqsupset R: square superset -->
+<!ENTITY sqsupe "&#x02292;" ><!--/sqsupseteq R: square superset, eq -->
+<!ENTITY Sub "&#x022D0;" ><!--/Subset R: double subset -->
+<!ENTITY subE "&#x02286;" ><!--/subseteqq R: subset, dbl equals -->
+<!ENTITY Sup "&#x022D1;" ><!--/Supset R: dbl superset -->
+<!ENTITY supE "&#x02287;" ><!--/supseteqq R: superset, dbl equals -->
+<!ENTITY thkap "&#x02248;" ><!--/thickapprox R: thick approximate -->
+<!ENTITY thksim "&#x0223C;" ><!--/thicksim R: thick similar -->
+<!ENTITY trie "&#x0225C;" ><!--/triangleq R: triangle, equals -->
+<!ENTITY twixt "&#x0226C;" ><!--/between R: between -->
+<!ENTITY Vdash "&#x022A9;" ><!--/Vdash R: dbl vertical, dash -->
+<!ENTITY vDash "&#x022A8;" ><!--/vDash R: vertical, dbl dash -->
+<!ENTITY vdash "&#x022A2;" ><!--/vdash R: vertical, dash -->
+<!ENTITY veebar "&#x022BB;" ><!--/veebar R: logical or, bar below -->
+<!ENTITY vltri "&#x022B2;" ><!--/vartriangleleft R: l tri, open, var -->
+<!ENTITY vprop "&#x0221D;" ><!--/varpropto R: proportional, variant -->
+<!ENTITY vrtri "&#x022B3;" ><!--/vartriangleright R: r tri, open, var -->
+<!ENTITY Vvdash "&#x022AA;" ><!--/Vvdash R: triple vertical, dash -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isobox.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isobox.ent
new file mode 100644
index 0000000..d43392f
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isobox.ent
@@ -0,0 +1,61 @@
+
+<!--
+ File isobox.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY boxDL "&#x02557;" ><!--lower left quadrant -->
+<!ENTITY boxDl "&#x02556;" ><!--lower left quadrant -->
+<!ENTITY boxdL "&#x02555;" ><!--lower left quadrant -->
+<!ENTITY boxdl "&#x02510;" ><!--lower left quadrant -->
+<!ENTITY boxDR "&#x02554;" ><!--lower right quadrant -->
+<!ENTITY boxDr "&#x02553;" ><!--lower right quadrant -->
+<!ENTITY boxdR "&#x02552;" ><!--lower right quadrant -->
+<!ENTITY boxdr "&#x0250C;" ><!--lower right quadrant -->
+<!ENTITY boxH "&#x02550;" ><!--horizontal line -->
+<!ENTITY boxh "&#x02500;" ><!--horizontal line -->
+<!ENTITY boxHD "&#x02566;" ><!--lower left and right quadrants -->
+<!ENTITY boxHd "&#x02564;" ><!--lower left and right quadrants -->
+<!ENTITY boxhD "&#x02565;" ><!--lower left and right quadrants -->
+<!ENTITY boxhd "&#x0252C;" ><!--lower left and right quadrants -->
+<!ENTITY boxHU "&#x02569;" ><!--upper left and right quadrants -->
+<!ENTITY boxHu "&#x02567;" ><!--upper left and right quadrants -->
+<!ENTITY boxhU "&#x02568;" ><!--upper left and right quadrants -->
+<!ENTITY boxhu "&#x02534;" ><!--upper left and right quadrants -->
+<!ENTITY boxUL "&#x0255D;" ><!--upper left quadrant -->
+<!ENTITY boxUl "&#x0255C;" ><!--upper left quadrant -->
+<!ENTITY boxuL "&#x0255B;" ><!--upper left quadrant -->
+<!ENTITY boxul "&#x02518;" ><!--upper left quadrant -->
+<!ENTITY boxUR "&#x0255A;" ><!--upper right quadrant -->
+<!ENTITY boxUr "&#x02559;" ><!--upper right quadrant -->
+<!ENTITY boxuR "&#x02558;" ><!--upper right quadrant -->
+<!ENTITY boxur "&#x02514;" ><!--upper right quadrant -->
+<!ENTITY boxV "&#x02551;" ><!--vertical line -->
+<!ENTITY boxv "&#x02502;" ><!--vertical line -->
+<!ENTITY boxVH "&#x0256C;" ><!--all four quadrants -->
+<!ENTITY boxVh "&#x0256B;" ><!--all four quadrants -->
+<!ENTITY boxvH "&#x0256A;" ><!--all four quadrants -->
+<!ENTITY boxvh "&#x0253C;" ><!--all four quadrants -->
+<!ENTITY boxVL "&#x02563;" ><!--upper and lower left quadrants -->
+<!ENTITY boxVl "&#x02562;" ><!--upper and lower left quadrants -->
+<!ENTITY boxvL "&#x02561;" ><!--upper and lower left quadrants -->
+<!ENTITY boxvl "&#x02524;" ><!--upper and lower left quadrants -->
+<!ENTITY boxVR "&#x02560;" ><!--upper and lower right quadrants -->
+<!ENTITY boxVr "&#x0255F;" ><!--upper and lower right quadrants -->
+<!ENTITY boxvR "&#x0255E;" ><!--upper and lower right quadrants -->
+<!ENTITY boxvr "&#x0251C;" ><!--upper and lower right quadrants -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isocyr1.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isocyr1.ent
new file mode 100644
index 0000000..4912232
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isocyr1.ent
@@ -0,0 +1,88 @@
+
+<!--
+ File isocyr1.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY Acy "&#x00410;" ><!--=capital A, Cyrillic -->
+<!ENTITY acy "&#x00430;" ><!--=small a, Cyrillic -->
+<!ENTITY Bcy "&#x00411;" ><!--=capital BE, Cyrillic -->
+<!ENTITY bcy "&#x00431;" ><!--=small be, Cyrillic -->
+<!ENTITY CHcy "&#x00427;" ><!--=capital CHE, Cyrillic -->
+<!ENTITY chcy "&#x00447;" ><!--=small che, Cyrillic -->
+<!ENTITY Dcy "&#x00414;" ><!--=capital DE, Cyrillic -->
+<!ENTITY dcy "&#x00434;" ><!--=small de, Cyrillic -->
+<!ENTITY Ecy "&#x0042D;" ><!--=capital E, Cyrillic -->
+<!ENTITY ecy "&#x0044D;" ><!--=small e, Cyrillic -->
+<!ENTITY Fcy "&#x00424;" ><!--=capital EF, Cyrillic -->
+<!ENTITY fcy "&#x00444;" ><!--=small ef, Cyrillic -->
+<!ENTITY Gcy "&#x00413;" ><!--=capital GHE, Cyrillic -->
+<!ENTITY gcy "&#x00433;" ><!--=small ghe, Cyrillic -->
+<!ENTITY HARDcy "&#x0042A;" ><!--=capital HARD sign, Cyrillic -->
+<!ENTITY hardcy "&#x0044A;" ><!--=small hard sign, Cyrillic -->
+<!ENTITY Icy "&#x00418;" ><!--=capital I, Cyrillic -->
+<!ENTITY icy "&#x00438;" ><!--=small i, Cyrillic -->
+<!ENTITY IEcy "&#x00415;" ><!--=capital IE, Cyrillic -->
+<!ENTITY iecy "&#x00435;" ><!--=small ie, Cyrillic -->
+<!ENTITY IOcy "&#x00401;" ><!--=capital IO, Russian -->
+<!ENTITY iocy "&#x00451;" ><!--=small io, Russian -->
+<!ENTITY Jcy "&#x00419;" ><!--=capital short I, Cyrillic -->
+<!ENTITY jcy "&#x00439;" ><!--=small short i, Cyrillic -->
+<!ENTITY Kcy "&#x0041A;" ><!--=capital KA, Cyrillic -->
+<!ENTITY kcy "&#x0043A;" ><!--=small ka, Cyrillic -->
+<!ENTITY KHcy "&#x00425;" ><!--=capital HA, Cyrillic -->
+<!ENTITY khcy "&#x00445;" ><!--=small ha, Cyrillic -->
+<!ENTITY Lcy "&#x0041B;" ><!--=capital EL, Cyrillic -->
+<!ENTITY lcy "&#x0043B;" ><!--=small el, Cyrillic -->
+<!ENTITY Mcy "&#x0041C;" ><!--=capital EM, Cyrillic -->
+<!ENTITY mcy "&#x0043C;" ><!--=small em, Cyrillic -->
+<!ENTITY Ncy "&#x0041D;" ><!--=capital EN, Cyrillic -->
+<!ENTITY ncy "&#x0043D;" ><!--=small en, Cyrillic -->
+<!ENTITY numero "&#x02116;" ><!--=numero sign -->
+<!ENTITY Ocy "&#x0041E;" ><!--=capital O, Cyrillic -->
+<!ENTITY ocy "&#x0043E;" ><!--=small o, Cyrillic -->
+<!ENTITY Pcy "&#x0041F;" ><!--=capital PE, Cyrillic -->
+<!ENTITY pcy "&#x0043F;" ><!--=small pe, Cyrillic -->
+<!ENTITY Rcy "&#x00420;" ><!--=capital ER, Cyrillic -->
+<!ENTITY rcy "&#x00440;" ><!--=small er, Cyrillic -->
+<!ENTITY Scy "&#x00421;" ><!--=capital ES, Cyrillic -->
+<!ENTITY scy "&#x00441;" ><!--=small es, Cyrillic -->
+<!ENTITY SHCHcy "&#x00429;" ><!--=capital SHCHA, Cyrillic -->
+<!ENTITY shchcy "&#x00449;" ><!--=small shcha, Cyrillic -->
+<!ENTITY SHcy "&#x00428;" ><!--=capital SHA, Cyrillic -->
+<!ENTITY shcy "&#x00448;" ><!--=small sha, Cyrillic -->
+<!ENTITY SOFTcy "&#x0042C;" ><!--=capital SOFT sign, Cyrillic -->
+<!ENTITY softcy "&#x0044C;" ><!--=small soft sign, Cyrillic -->
+<!ENTITY Tcy "&#x00422;" ><!--=capital TE, Cyrillic -->
+<!ENTITY tcy "&#x00442;" ><!--=small te, Cyrillic -->
+<!ENTITY TScy "&#x00426;" ><!--=capital TSE, Cyrillic -->
+<!ENTITY tscy "&#x00446;" ><!--=small tse, Cyrillic -->
+<!ENTITY Ucy "&#x00423;" ><!--=capital U, Cyrillic -->
+<!ENTITY ucy "&#x00443;" ><!--=small u, Cyrillic -->
+<!ENTITY Vcy "&#x00412;" ><!--=capital VE, Cyrillic -->
+<!ENTITY vcy "&#x00432;" ><!--=small ve, Cyrillic -->
+<!ENTITY YAcy "&#x0042F;" ><!--=capital YA, Cyrillic -->
+<!ENTITY yacy "&#x0044F;" ><!--=small ya, Cyrillic -->
+<!ENTITY Ycy "&#x0042B;" ><!--=capital YERU, Cyrillic -->
+<!ENTITY ycy "&#x0044B;" ><!--=small yeru, Cyrillic -->
+<!ENTITY YUcy "&#x0042E;" ><!--=capital YU, Cyrillic -->
+<!ENTITY yucy "&#x0044E;" ><!--=small yu, Cyrillic -->
+<!ENTITY Zcy "&#x00417;" ><!--=capital ZE, Cyrillic -->
+<!ENTITY zcy "&#x00437;" ><!--=small ze, Cyrillic -->
+<!ENTITY ZHcy "&#x00416;" ><!--=capital ZHE, Cyrillic -->
+<!ENTITY zhcy "&#x00436;" ><!--=small zhe, Cyrillic -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isocyr2.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isocyr2.ent
new file mode 100644
index 0000000..9be1896
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isocyr2.ent
@@ -0,0 +1,47 @@
+
+<!--
+ File isocyr2.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY DJcy "&#x00402;" ><!--=capital DJE, Serbian -->
+<!ENTITY djcy "&#x00452;" ><!--=small dje, Serbian -->
+<!ENTITY DScy "&#x00405;" ><!--=capital DSE, Macedonian -->
+<!ENTITY dscy "&#x00455;" ><!--=small dse, Macedonian -->
+<!ENTITY DZcy "&#x0040F;" ><!--=capital dze, Serbian -->
+<!ENTITY dzcy "&#x0045F;" ><!--=small dze, Serbian -->
+<!ENTITY GJcy "&#x00403;" ><!--=capital GJE Macedonian -->
+<!ENTITY gjcy "&#x00453;" ><!--=small gje, Macedonian -->
+<!ENTITY Iukcy "&#x00406;" ><!--=capital I, Ukrainian -->
+<!ENTITY iukcy "&#x00456;" ><!--=small i, Ukrainian -->
+<!ENTITY Jsercy "&#x00408;" ><!--=capital JE, Serbian -->
+<!ENTITY jsercy "&#x00458;" ><!--=small je, Serbian -->
+<!ENTITY Jukcy "&#x00404;" ><!--=capital JE, Ukrainian -->
+<!ENTITY jukcy "&#x00454;" ><!--=small je, Ukrainian -->
+<!ENTITY KJcy "&#x0040C;" ><!--=capital KJE, Macedonian -->
+<!ENTITY kjcy "&#x0045C;" ><!--=small kje Macedonian -->
+<!ENTITY LJcy "&#x00409;" ><!--=capital LJE, Serbian -->
+<!ENTITY ljcy "&#x00459;" ><!--=small lje, Serbian -->
+<!ENTITY NJcy "&#x0040A;" ><!--=capital NJE, Serbian -->
+<!ENTITY njcy "&#x0045A;" ><!--=small nje, Serbian -->
+<!ENTITY TSHcy "&#x0040B;" ><!--=capital TSHE, Serbian -->
+<!ENTITY tshcy "&#x0045B;" ><!--=small tshe, Serbian -->
+<!ENTITY Ubrcy "&#x0040E;" ><!--=capital U, Byelorussian -->
+<!ENTITY ubrcy "&#x0045E;" ><!--=small u, Byelorussian -->
+<!ENTITY YIcy "&#x00407;" ><!--=capital YI, Ukrainian -->
+<!ENTITY yicy "&#x00457;" ><!--=small yi, Ukrainian -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isodia.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isodia.ent
new file mode 100644
index 0000000..d547702
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isodia.ent
@@ -0,0 +1,35 @@
+
+<!--
+ File isodia.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY acute "&#x000B4;" ><!--=acute accent -->
+<!ENTITY breve "&#x002D8;" ><!--=breve -->
+<!ENTITY caron "&#x002C7;" ><!--=caron -->
+<!ENTITY cedil "&#x000B8;" ><!--=cedilla -->
+<!ENTITY circ "&#x002C6;" ><!--circumflex accent -->
+<!ENTITY dblac "&#x002DD;" ><!--=double acute accent -->
+<!ENTITY die "&#x000A8;" ><!--=dieresis -->
+<!ENTITY dot "&#x002D9;" ><!--=dot above -->
+<!ENTITY grave "&#x00060;" ><!--=grave accent -->
+<!ENTITY macr "&#x000AF;" ><!--=macron -->
+<!ENTITY ogon "&#x002DB;" ><!--=ogonek -->
+<!ENTITY ring "&#x002DA;" ><!--=ring -->
+<!ENTITY tilde "&#x002DC;" ><!--=tilde -->
+<!ENTITY uml "&#x000A8;" ><!--=umlaut mark -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk1.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk1.ent
new file mode 100644
index 0000000..99fc443
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk1.ent
@@ -0,0 +1,70 @@
+
+<!--
+ File isogrk1.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY Agr "&#x00391;" ><!--=capital Alpha, Greek -->
+<!ENTITY agr "&#x003B1;" ><!--=small alpha, Greek -->
+<!ENTITY Bgr "&#x00392;" ><!--=capital Beta, Greek -->
+<!ENTITY bgr "&#x003B2;" ><!--=small beta, Greek -->
+<!ENTITY Dgr "&#x00394;" ><!--=capital Delta, Greek -->
+<!ENTITY dgr "&#x003B4;" ><!--=small delta, Greek -->
+<!ENTITY EEgr "&#x00397;" ><!--=capital Eta, Greek -->
+<!ENTITY eegr "&#x003B7;" ><!--=small eta, Greek -->
+<!ENTITY Egr "&#x00395;" ><!--=capital Epsilon, Greek -->
+<!ENTITY egr "&#x003B5;" ><!--=small epsilon, Greek -->
+<!ENTITY Ggr "&#x00393;" ><!--=capital Gamma, Greek -->
+<!ENTITY ggr "&#x003B3;" ><!--=small gamma, Greek -->
+<!ENTITY Igr "&#x00399;" ><!--=capital Iota, Greek -->
+<!ENTITY igr "&#x003B9;" ><!--=small iota, Greek -->
+<!ENTITY Kgr "&#x0039A;" ><!--=capital Kappa, Greek -->
+<!ENTITY kgr "&#x003BA;" ><!--=small kappa, Greek -->
+<!ENTITY KHgr "&#x003A7;" ><!--=capital Chi, Greek -->
+<!ENTITY khgr "&#x003C7;" ><!--=small chi, Greek -->
+<!ENTITY Lgr "&#x0039B;" ><!--=capital Lambda, Greek -->
+<!ENTITY lgr "&#x003BB;" ><!--=small lambda, Greek -->
+<!ENTITY Mgr "&#x0039C;" ><!--=capital Mu, Greek -->
+<!ENTITY mgr "&#x003BC;" ><!--=small mu, Greek -->
+<!ENTITY Ngr "&#x0039D;" ><!--=capital Nu, Greek -->
+<!ENTITY ngr "&#x003BD;" ><!--=small nu, Greek -->
+<!ENTITY Ogr "&#x0039F;" ><!--=capital Omicron, Greek -->
+<!ENTITY ogr "&#x003BF;" ><!--=small omicron, Greek -->
+<!ENTITY OHgr "&#x003A9;" ><!--=capital Omega, Greek -->
+<!ENTITY ohgr "&#x003C9;" ><!--=small omega, Greek -->
+<!ENTITY Pgr "&#x003A0;" ><!--=capital Pi, Greek -->
+<!ENTITY pgr "&#x003C0;" ><!--=small pi, Greek -->
+<!ENTITY PHgr "&#x003A6;" ><!--=capital Phi, Greek -->
+<!ENTITY phgr "&#x003C6;" ><!--=small phi, Greek -->
+<!ENTITY PSgr "&#x003A8;" ><!--=capital Psi, Greek -->
+<!ENTITY psgr "&#x003C8;" ><!--=small psi, Greek -->
+<!ENTITY Rgr "&#x003A1;" ><!--=capital Rho, Greek -->
+<!ENTITY rgr "&#x003C1;" ><!--=small rho, Greek -->
+<!ENTITY sfgr "&#x003C2;" ><!--=final small sigma, Greek -->
+<!ENTITY Sgr "&#x003A3;" ><!--=capital Sigma, Greek -->
+<!ENTITY sgr "&#x003C3;" ><!--=small sigma, Greek -->
+<!ENTITY Tgr "&#x003A4;" ><!--=capital Tau, Greek -->
+<!ENTITY tgr "&#x003C4;" ><!--=small tau, Greek -->
+<!ENTITY THgr "&#x00398;" ><!--=capital Theta, Greek -->
+<!ENTITY thgr "&#x003B8;" ><!--=small theta, Greek -->
+<!ENTITY Ugr "&#x003A5;" ><!--=capital Upsilon, Greek -->
+<!ENTITY ugr "&#x003C5;" ><!--=small upsilon, Greek -->
+<!ENTITY Xgr "&#x0039E;" ><!--=capital Xi, Greek -->
+<!ENTITY xgr "&#x003BE;" ><!--=small xi, Greek -->
+<!ENTITY Zgr "&#x00396;" ><!--=capital Zeta, Greek -->
+<!ENTITY zgr "&#x003B6;" ><!--=small zeta, Greek -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk2.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk2.ent
new file mode 100644
index 0000000..cd56f4c
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk2.ent
@@ -0,0 +1,41 @@
+
+<!--
+ File isogrk2.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY Aacgr "&#x00386;" ><!--=capital Alpha, accent, Greek -->
+<!ENTITY aacgr "&#x003AC;" ><!--=small alpha, accent, Greek -->
+<!ENTITY Eacgr "&#x00388;" ><!--=capital Epsilon, accent, Greek -->
+<!ENTITY eacgr "&#x003AD;" ><!--=small epsilon, accent, Greek -->
+<!ENTITY EEacgr "&#x00389;" ><!--=capital Eta, accent, Greek -->
+<!ENTITY eeacgr "&#x003AE;" ><!--=small eta, accent, Greek -->
+<!ENTITY Iacgr "&#x0038A;" ><!--=capital Iota, accent, Greek -->
+<!ENTITY iacgr "&#x003AF;" ><!--=small iota, accent, Greek -->
+<!ENTITY idiagr "&#x00390;" ><!--=small iota, dieresis, accent, Greek -->
+<!ENTITY Idigr "&#x003AA;" ><!--=capital Iota, dieresis, Greek -->
+<!ENTITY idigr "&#x003CA;" ><!--=small iota, dieresis, Greek -->
+<!ENTITY Oacgr "&#x0038C;" ><!--=capital Omicron, accent, Greek -->
+<!ENTITY oacgr "&#x003CC;" ><!--=small omicron, accent, Greek -->
+<!ENTITY OHacgr "&#x0038F;" ><!--=capital Omega, accent, Greek -->
+<!ENTITY ohacgr "&#x003CE;" ><!--=small omega, accent, Greek -->
+<!ENTITY Uacgr "&#x0038E;" ><!--=capital Upsilon, accent, Greek -->
+<!ENTITY uacgr "&#x003CD;" ><!--=small upsilon, accent, Greek -->
+<!ENTITY udiagr "&#x003B0;" ><!--=small upsilon, dieresis, accent, Greek -->
+<!ENTITY Udigr "&#x003AB;" ><!--=capital Upsilon, dieresis, Greek -->
+<!ENTITY udigr "&#x003CB;" ><!--=small upsilon, dieresis, Greek -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk3.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk3.ent
new file mode 100644
index 0000000..0af88b6
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk3.ent
@@ -0,0 +1,64 @@
+
+<!--
+ File isogrk3.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY alpha "&#x003B1;" ><!--=small alpha, Greek -->
+<!ENTITY beta "&#x003B2;" ><!--=small beta, Greek -->
+<!ENTITY chi "&#x003C7;" ><!--=small chi, Greek -->
+<!ENTITY Delta "&#x00394;" ><!--=capital Delta, Greek -->
+<!ENTITY delta "&#x003B4;" ><!--=small delta, Greek -->
+<!ENTITY epsi "&#x003B5;" ><!--=small epsilon, Greek -->
+<!ENTITY epsis "&#x003B5;" ><!--/straightepsilon -->
+<!ENTITY epsiv "&#x0025B;" ><!--/varepsilon -->
+<!ENTITY eta "&#x003B7;" ><!--=small eta, Greek -->
+<!ENTITY Gamma "&#x00393;" ><!--=capital Gamma, Greek -->
+<!ENTITY gamma "&#x003B3;" ><!--=small gamma, Greek -->
+<!ENTITY gammad "&#x003DC;" ><!--/digamma -->
+<!ENTITY iota "&#x003B9;" ><!--=small iota, Greek -->
+<!ENTITY kappa "&#x003BA;" ><!--=small kappa, Greek -->
+<!ENTITY kappav "&#x003F0;" ><!--/varkappa -->
+<!ENTITY Lambda "&#x0039B;" ><!--=capital Lambda, Greek -->
+<!ENTITY lambda "&#x003BB;" ><!--=small lambda, Greek -->
+<!ENTITY mu "&#x003BC;" ><!--=small mu, Greek -->
+<!ENTITY nu "&#x003BD;" ><!--=small nu, Greek -->
+<!ENTITY Omega "&#x003A9;" ><!--=capital Omega, Greek -->
+<!ENTITY omega "&#x003C9;" ><!--=small omega, Greek -->
+<!ENTITY Phi "&#x003A6;" ><!--=capital Phi, Greek -->
+<!ENTITY phis "&#x003D5;" ><!--/straightphi - straight phi -->
+<!ENTITY phiv "&#x003C6;" ><!--/varphi - curly or open phi -->
+<!ENTITY Pi "&#x003A0;" ><!--=capital Pi, Greek -->
+<!ENTITY pi "&#x003C0;" ><!--=small pi, Greek -->
+<!ENTITY piv "&#x003D6;" ><!--/varpi -->
+<!ENTITY Psi "&#x003A8;" ><!--=capital Psi, Greek -->
+<!ENTITY psi "&#x003C8;" ><!--=small psi, Greek -->
+<!ENTITY rho "&#x003C1;" ><!--=small rho, Greek -->
+<!ENTITY rhov "&#x003F1;" ><!--/varrho -->
+<!ENTITY Sigma "&#x003A3;" ><!--=capital Sigma, Greek -->
+<!ENTITY sigma "&#x003C3;" ><!--=small sigma, Greek -->
+<!ENTITY sigmav "&#x003C2;" ><!--/varsigma -->
+<!ENTITY tau "&#x003C4;" ><!--=small tau, Greek -->
+<!ENTITY Theta "&#x00398;" ><!--=capital Theta, Greek -->
+<!ENTITY thetas "&#x003B8;" ><!--straight theta -->
+<!ENTITY thetav "&#x003D1;" ><!--/vartheta - curly or open theta -->
+<!ENTITY Upsi "&#x003D2;" ><!--=capital Upsilon, Greek -->
+<!ENTITY upsi "&#x003C5;" ><!--=small upsilon, Greek -->
+<!ENTITY Xi "&#x0039E;" ><!--=capital Xi, Greek -->
+<!ENTITY xi "&#x003BE;" ><!--=small xi, Greek -->
+<!ENTITY zeta "&#x003B6;" ><!--=small zeta, Greek -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk4.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk4.ent
new file mode 100644
index 0000000..98a4712
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isogrk4.ent
@@ -0,0 +1,40 @@
+
+<!--
+ File isogrk4.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY % plane1D "&#38;#38;#x1D">
+
+<!ENTITY b.alpha "%plane1D;6C2;" ><!--small alpha, Greek -->
+<!ENTITY b.beta "%plane1D;6C3;" ><!--small beta, Greek -->
+<!ENTITY b.delta "%plane1D;6C5;" ><!--small delta, Greek -->
+<!ENTITY b.epsi "%plane1D;6C6;" ><!--small epsilon, Greek -->
+<!ENTITY b.eta "%plane1D;6C8;" ><!--small eta, Greek -->
+<!ENTITY b.Gamma "%plane1D;6AA;" ><!--capital gamma, Greek -->
+<!ENTITY b.gamma "%plane1D;6C4;" ><!--small gamma, Greek -->
+<!ENTITY b.iota "%plane1D;6CA;" ><!--small iota, Greek -->
+<!ENTITY b.kappa "%plane1D;6CB;" ><!--small kappa, Greek -->
+<!ENTITY b.lambda "%plane1D;6CC;" ><!--small lambda, Greek -->
+<!ENTITY b.mu "%plane1D;6CD;" ><!--small mu, Greek -->
+<!ENTITY b.nu "%plane1D;6CE;" ><!--small nu, Greek -->
+<!ENTITY b.pi "%plane1D;6D1;" ><!--small pi, Greek -->
+<!ENTITY b.rho "%plane1D;6D2;" ><!--small rho, Greek -->
+<!ENTITY b.thetas "%plane1D;6C9;" ><!--straight theta, Greek -->
+<!ENTITY b.xi "%plane1D;6CF;" ><!--small xi, Greek -->
+<!ENTITY b.zeta "%plane1D;6C7;" ><!--small zeta, Greek -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isolat1.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isolat1.ent
new file mode 100644
index 0000000..98cd5f0
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isolat1.ent
@@ -0,0 +1,83 @@
+
+<!--
+ File isolat1.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY Aacute "&#x000C1;" ><!--=capital A, acute accent -->
+<!ENTITY aacute "&#x000E1;" ><!--=small a, acute accent -->
+<!ENTITY Acirc "&#x000C2;" ><!--=capital A, circumflex accent -->
+<!ENTITY acirc "&#x000E2;" ><!--=small a, circumflex accent -->
+<!ENTITY AElig "&#x000C6;" ><!--=capital AE diphthong (ligature) -->
+<!ENTITY aelig "&#x000E6;" ><!--=small ae diphthong (ligature) -->
+<!ENTITY Agrave "&#x000C0;" ><!--=capital A, grave accent -->
+<!ENTITY agrave "&#x000E0;" ><!--=small a, grave accent -->
+<!ENTITY Aring "&#x000C5;" ><!--=capital A, ring -->
+<!ENTITY aring "&#x000E5;" ><!--=small a, ring -->
+<!ENTITY Atilde "&#x000C3;" ><!--=capital A, tilde -->
+<!ENTITY atilde "&#x000E3;" ><!--=small a, tilde -->
+<!ENTITY Auml "&#x000C4;" ><!--=capital A, dieresis or umlaut mark -->
+<!ENTITY auml "&#x000E4;" ><!--=small a, dieresis or umlaut mark -->
+<!ENTITY Ccedil "&#x000C7;" ><!--=capital C, cedilla -->
+<!ENTITY ccedil "&#x000E7;" ><!--=small c, cedilla -->
+<!ENTITY Eacute "&#x000C9;" ><!--=capital E, acute accent -->
+<!ENTITY eacute "&#x000E9;" ><!--=small e, acute accent -->
+<!ENTITY Ecirc "&#x000CA;" ><!--=capital E, circumflex accent -->
+<!ENTITY ecirc "&#x000EA;" ><!--=small e, circumflex accent -->
+<!ENTITY Egrave "&#x000C8;" ><!--=capital E, grave accent -->
+<!ENTITY egrave "&#x000E8;" ><!--=small e, grave accent -->
+<!ENTITY ETH "&#x000D0;" ><!--=capital Eth, Icelandic -->
+<!ENTITY eth "&#x000F0;" ><!--=small eth, Icelandic -->
+<!ENTITY Euml "&#x000CB;" ><!--=capital E, dieresis or umlaut mark -->
+<!ENTITY euml "&#x000EB;" ><!--=small e, dieresis or umlaut mark -->
+<!ENTITY Iacute "&#x000CD;" ><!--=capital I, acute accent -->
+<!ENTITY iacute "&#x000ED;" ><!--=small i, acute accent -->
+<!ENTITY Icirc "&#x000CE;" ><!--=capital I, circumflex accent -->
+<!ENTITY icirc "&#x000EE;" ><!--=small i, circumflex accent -->
+<!ENTITY Igrave "&#x000CC;" ><!--=capital I, grave accent -->
+<!ENTITY igrave "&#x000EC;" ><!--=small i, grave accent -->
+<!ENTITY Iuml "&#x000CF;" ><!--=capital I, dieresis or umlaut mark -->
+<!ENTITY iuml "&#x000EF;" ><!--=small i, dieresis or umlaut mark -->
+<!ENTITY Ntilde "&#x000D1;" ><!--=capital N, tilde -->
+<!ENTITY ntilde "&#x000F1;" ><!--=small n, tilde -->
+<!ENTITY Oacute "&#x000D3;" ><!--=capital O, acute accent -->
+<!ENTITY oacute "&#x000F3;" ><!--=small o, acute accent -->
+<!ENTITY Ocirc "&#x000D4;" ><!--=capital O, circumflex accent -->
+<!ENTITY ocirc "&#x000F4;" ><!--=small o, circumflex accent -->
+<!ENTITY Ograve "&#x000D2;" ><!--=capital O, grave accent -->
+<!ENTITY ograve "&#x000F2;" ><!--=small o, grave accent -->
+<!ENTITY Oslash "&#x000D8;" ><!--=capital O, slash -->
+<!ENTITY oslash "&#x000F8;" ><!--latin small letter o with stroke -->
+<!ENTITY Otilde "&#x000D5;" ><!--=capital O, tilde -->
+<!ENTITY otilde "&#x000F5;" ><!--=small o, tilde -->
+<!ENTITY Ouml "&#x000D6;" ><!--=capital O, dieresis or umlaut mark -->
+<!ENTITY ouml "&#x000F6;" ><!--=small o, dieresis or umlaut mark -->
+<!ENTITY szlig "&#x000DF;" ><!--=small sharp s, German (sz ligature) -->
+<!ENTITY THORN "&#x000DE;" ><!--=capital THORN, Icelandic -->
+<!ENTITY thorn "&#x000FE;" ><!--=small thorn, Icelandic -->
+<!ENTITY Uacute "&#x000DA;" ><!--=capital U, acute accent -->
+<!ENTITY uacute "&#x000FA;" ><!--=small u, acute accent -->
+<!ENTITY Ucirc "&#x000DB;" ><!--=capital U, circumflex accent -->
+<!ENTITY ucirc "&#x000FB;" ><!--=small u, circumflex accent -->
+<!ENTITY Ugrave "&#x000D9;" ><!--=capital U, grave accent -->
+<!ENTITY ugrave "&#x000F9;" ><!--=small u, grave accent -->
+<!ENTITY Uuml "&#x000DC;" ><!--=capital U, dieresis or umlaut mark -->
+<!ENTITY uuml "&#x000FC;" ><!--=small u, dieresis or umlaut mark -->
+<!ENTITY Yacute "&#x000DD;" ><!--=capital Y, acute accent -->
+<!ENTITY yacute "&#x000FD;" ><!--=small y, acute accent -->
+<!ENTITY yuml "&#x000FF;" ><!--=small y, dieresis or umlaut mark -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isolat2.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isolat2.ent
new file mode 100644
index 0000000..df79d45
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isolat2.ent
@@ -0,0 +1,142 @@
+
+<!--
+ File isolat2.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY Abreve "&#x00102;" ><!--=capital A, breve -->
+<!ENTITY abreve "&#x00103;" ><!--=small a, breve -->
+<!ENTITY Amacr "&#x00100;" ><!--=capital A, macron -->
+<!ENTITY amacr "&#x00101;" ><!--=small a, macron -->
+<!ENTITY Aogon "&#x00104;" ><!--=capital A, ogonek -->
+<!ENTITY aogon "&#x00105;" ><!--=small a, ogonek -->
+<!ENTITY Cacute "&#x00106;" ><!--=capital C, acute accent -->
+<!ENTITY cacute "&#x00107;" ><!--=small c, acute accent -->
+<!ENTITY Ccaron "&#x0010C;" ><!--=capital C, caron -->
+<!ENTITY ccaron "&#x0010D;" ><!--=small c, caron -->
+<!ENTITY Ccirc "&#x00108;" ><!--=capital C, circumflex accent -->
+<!ENTITY ccirc "&#x00109;" ><!--=small c, circumflex accent -->
+<!ENTITY Cdot "&#x0010A;" ><!--=capital C, dot above -->
+<!ENTITY cdot "&#x0010B;" ><!--=small c, dot above -->
+<!ENTITY Dcaron "&#x0010E;" ><!--=capital D, caron -->
+<!ENTITY dcaron "&#x0010F;" ><!--=small d, caron -->
+<!ENTITY Dstrok "&#x00110;" ><!--=capital D, stroke -->
+<!ENTITY dstrok "&#x00111;" ><!--=small d, stroke -->
+<!ENTITY Ecaron "&#x0011A;" ><!--=capital E, caron -->
+<!ENTITY ecaron "&#x0011B;" ><!--=small e, caron -->
+<!ENTITY Edot "&#x00116;" ><!--=capital E, dot above -->
+<!ENTITY edot "&#x00117;" ><!--=small e, dot above -->
+<!ENTITY Emacr "&#x00112;" ><!--=capital E, macron -->
+<!ENTITY emacr "&#x00113;" ><!--=small e, macron -->
+<!ENTITY ENG "&#x0014A;" ><!--=capital ENG, Lapp -->
+<!ENTITY eng "&#x0014B;" ><!--=small eng, Lapp -->
+<!ENTITY Eogon "&#x00118;" ><!--=capital E, ogonek -->
+<!ENTITY eogon "&#x00119;" ><!--=small e, ogonek -->
+<!ENTITY gacute "&#x001F5;" ><!--=small g, acute accent -->
+<!ENTITY Gbreve "&#x0011E;" ><!--=capital G, breve -->
+<!ENTITY gbreve "&#x0011F;" ><!--=small g, breve -->
+<!ENTITY Gcedil "&#x00122;" ><!--=capital G, cedilla -->
+<!ENTITY Gcirc "&#x0011C;" ><!--=capital G, circumflex accent -->
+<!ENTITY gcirc "&#x0011D;" ><!--=small g, circumflex accent -->
+<!ENTITY Gdot "&#x00120;" ><!--=capital G, dot above -->
+<!ENTITY gdot "&#x00121;" ><!--=small g, dot above -->
+<!ENTITY Hcirc "&#x00124;" ><!--=capital H, circumflex accent -->
+<!ENTITY hcirc "&#x00125;" ><!--=small h, circumflex accent -->
+<!ENTITY Hstrok "&#x00126;" ><!--=capital H, stroke -->
+<!ENTITY hstrok "&#x00127;" ><!--=small h, stroke -->
+<!ENTITY Idot "&#x00130;" ><!--=capital I, dot above -->
+<!ENTITY IJlig "&#x00132;" ><!--=capital IJ ligature -->
+<!ENTITY ijlig "&#x00133;" ><!--=small ij ligature -->
+<!ENTITY Imacr "&#x0012A;" ><!--=capital I, macron -->
+<!ENTITY imacr "&#x0012B;" ><!--=small i, macron -->
+<!ENTITY inodot "&#x00131;" ><!--=small i without dot -->
+<!ENTITY Iogon "&#x0012E;" ><!--=capital I, ogonek -->
+<!ENTITY iogon "&#x0012F;" ><!--=small i, ogonek -->
+<!ENTITY Itilde "&#x00128;" ><!--=capital I, tilde -->
+<!ENTITY itilde "&#x00129;" ><!--=small i, tilde -->
+<!ENTITY Jcirc "&#x00134;" ><!--=capital J, circumflex accent -->
+<!ENTITY jcirc "&#x00135;" ><!--=small j, circumflex accent -->
+<!ENTITY Kcedil "&#x00136;" ><!--=capital K, cedilla -->
+<!ENTITY kcedil "&#x00137;" ><!--=small k, cedilla -->
+<!ENTITY kgreen "&#x00138;" ><!--=small k, Greenlandic -->
+<!ENTITY Lacute "&#x00139;" ><!--=capital L, acute accent -->
+<!ENTITY lacute "&#x0013A;" ><!--=small l, acute accent -->
+<!ENTITY Lcaron "&#x0013D;" ><!--=capital L, caron -->
+<!ENTITY lcaron "&#x0013E;" ><!--=small l, caron -->
+<!ENTITY Lcedil "&#x0013B;" ><!--=capital L, cedilla -->
+<!ENTITY lcedil "&#x0013C;" ><!--=small l, cedilla -->
+<!ENTITY Lmidot "&#x0013F;" ><!--=capital L, middle dot -->
+<!ENTITY lmidot "&#x00140;" ><!--=small l, middle dot -->
+<!ENTITY Lstrok "&#x00141;" ><!--=capital L, stroke -->
+<!ENTITY lstrok "&#x00142;" ><!--=small l, stroke -->
+<!ENTITY Nacute "&#x00143;" ><!--=capital N, acute accent -->
+<!ENTITY nacute "&#x00144;" ><!--=small n, acute accent -->
+<!ENTITY napos "&#x00149;" ><!--=small n, apostrophe -->
+<!ENTITY Ncaron "&#x00147;" ><!--=capital N, caron -->
+<!ENTITY ncaron "&#x00148;" ><!--=small n, caron -->
+<!ENTITY Ncedil "&#x00145;" ><!--=capital N, cedilla -->
+<!ENTITY ncedil "&#x00146;" ><!--=small n, cedilla -->
+<!ENTITY Odblac "&#x00150;" ><!--=capital O, double acute accent -->
+<!ENTITY odblac "&#x00151;" ><!--=small o, double acute accent -->
+<!ENTITY OElig "&#x00152;" ><!--=capital OE ligature -->
+<!ENTITY oelig "&#x00153;" ><!--=small oe ligature -->
+<!ENTITY Omacr "&#x0014C;" ><!--=capital O, macron -->
+<!ENTITY omacr "&#x0014D;" ><!--=small o, macron -->
+<!ENTITY Racute "&#x00154;" ><!--=capital R, acute accent -->
+<!ENTITY racute "&#x00155;" ><!--=small r, acute accent -->
+<!ENTITY Rcaron "&#x00158;" ><!--=capital R, caron -->
+<!ENTITY rcaron "&#x00159;" ><!--=small r, caron -->
+<!ENTITY Rcedil "&#x00156;" ><!--=capital R, cedilla -->
+<!ENTITY rcedil "&#x00157;" ><!--=small r, cedilla -->
+<!ENTITY Sacute "&#x0015A;" ><!--=capital S, acute accent -->
+<!ENTITY sacute "&#x0015B;" ><!--=small s, acute accent -->
+<!ENTITY Scaron "&#x00160;" ><!--=capital S, caron -->
+<!ENTITY scaron "&#x00161;" ><!--=small s, caron -->
+<!ENTITY Scedil "&#x0015E;" ><!--=capital S, cedilla -->
+<!ENTITY scedil "&#x0015F;" ><!--=small s, cedilla -->
+<!ENTITY Scirc "&#x0015C;" ><!--=capital S, circumflex accent -->
+<!ENTITY scirc "&#x0015D;" ><!--=small s, circumflex accent -->
+<!ENTITY Tcaron "&#x00164;" ><!--=capital T, caron -->
+<!ENTITY tcaron "&#x00165;" ><!--=small t, caron -->
+<!ENTITY Tcedil "&#x00162;" ><!--=capital T, cedilla -->
+<!ENTITY tcedil "&#x00163;" ><!--=small t, cedilla -->
+<!ENTITY Tstrok "&#x00166;" ><!--=capital T, stroke -->
+<!ENTITY tstrok "&#x00167;" ><!--=small t, stroke -->
+<!ENTITY Ubreve "&#x0016C;" ><!--=capital U, breve -->
+<!ENTITY ubreve "&#x0016D;" ><!--=small u, breve -->
+<!ENTITY Udblac "&#x00170;" ><!--=capital U, double acute accent -->
+<!ENTITY udblac "&#x00171;" ><!--=small u, double acute accent -->
+<!ENTITY Umacr "&#x0016A;" ><!--=capital U, macron -->
+<!ENTITY umacr "&#x0016B;" ><!--=small u, macron -->
+<!ENTITY Uogon "&#x00172;" ><!--=capital U, ogonek -->
+<!ENTITY uogon "&#x00173;" ><!--=small u, ogonek -->
+<!ENTITY Uring "&#x0016E;" ><!--=capital U, ring -->
+<!ENTITY uring "&#x0016F;" ><!--=small u, ring -->
+<!ENTITY Utilde "&#x00168;" ><!--=capital U, tilde -->
+<!ENTITY utilde "&#x00169;" ><!--=small u, tilde -->
+<!ENTITY Wcirc "&#x00174;" ><!--=capital W, circumflex accent -->
+<!ENTITY wcirc "&#x00175;" ><!--=small w, circumflex accent -->
+<!ENTITY Ycirc "&#x00176;" ><!--=capital Y, circumflex accent -->
+<!ENTITY ycirc "&#x00177;" ><!--=small y, circumflex accent -->
+<!ENTITY Yuml "&#x00178;" ><!--=capital Y, dieresis or umlaut mark -->
+<!ENTITY Zacute "&#x00179;" ><!--=capital Z, acute accent -->
+<!ENTITY zacute "&#x0017A;" ><!--=small z, acute accent -->
+<!ENTITY Zcaron "&#x0017D;" ><!--=capital Z, caron -->
+<!ENTITY zcaron "&#x0017E;" ><!--=small z, caron -->
+<!ENTITY Zdot "&#x0017B;" ><!--=capital Z, dot above -->
+<!ENTITY zdot "&#x0017C;" ><!--=small z, dot above -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isonum.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isonum.ent
new file mode 100644
index 0000000..2ef90ef
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isonum.ent
@@ -0,0 +1,97 @@
+
+<!--
+ File isonum.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY amp "&#38;#38;" ><!--=ampersand -->
+<!ENTITY apos "&#x00027;" ><!--=apostrophe -->
+<!ENTITY ast "&#x0002A;" ><!--/ast B: =asterisk -->
+<!ENTITY brvbar "&#x000A6;" ><!--=broken (vertical) bar -->
+<!ENTITY bsol "&#x0005C;" ><!--/backslash =reverse solidus -->
+<!ENTITY cent "&#x000A2;" ><!--=cent sign -->
+<!ENTITY colon "&#x0003A;" ><!--/colon P: -->
+<!ENTITY comma "&#x0002C;" ><!--P: =comma -->
+<!ENTITY commat "&#x00040;" ><!--=commercial at -->
+<!ENTITY copy "&#x000A9;" ><!--=copyright sign -->
+<!ENTITY curren "&#x000A4;" ><!--=general currency sign -->
+<!ENTITY darr "&#x02193;" ><!--/downarrow A: =downward arrow -->
+<!ENTITY deg "&#x000B0;" ><!--=degree sign -->
+<!ENTITY divide "&#x000F7;" ><!--/div B: =divide sign -->
+<!ENTITY dollar "&#x00024;" ><!--=dollar sign -->
+<!ENTITY equals "&#x0003D;" ><!--=equals sign R: -->
+<!ENTITY excl "&#x00021;" ><!--=exclamation mark -->
+<!ENTITY frac12 "&#x000BD;" ><!--=fraction one-half -->
+<!ENTITY frac14 "&#x000BC;" ><!--=fraction one-quarter -->
+<!ENTITY frac18 "&#x0215B;" ><!--=fraction one-eighth -->
+<!ENTITY frac34 "&#x000BE;" ><!--=fraction three-quarters -->
+<!ENTITY frac38 "&#x0215C;" ><!--=fraction three-eighths -->
+<!ENTITY frac58 "&#x0215D;" ><!--=fraction five-eighths -->
+<!ENTITY frac78 "&#x0215E;" ><!--=fraction seven-eighths -->
+<!ENTITY gt "&#x0003E;" ><!--=greater-than sign R: -->
+<!ENTITY half "&#x000BD;" ><!--=fraction one-half -->
+<!ENTITY horbar "&#x02015;" ><!--=horizontal bar -->
+<!ENTITY hyphen "&#x02010;" ><!--=hyphen -->
+<!ENTITY iexcl "&#x000A1;" ><!--=inverted exclamation mark -->
+<!ENTITY iquest "&#x000BF;" ><!--=inverted question mark -->
+<!ENTITY laquo "&#x000AB;" ><!--=angle quotation mark, left -->
+<!ENTITY larr "&#x02190;" ><!--/leftarrow /gets A: =leftward arrow -->
+<!ENTITY lcub "&#x0007B;" ><!--/lbrace O: =left curly bracket -->
+<!ENTITY ldquo "&#x0201C;" ><!--=double quotation mark, left -->
+<!ENTITY lowbar "&#x0005F;" ><!--=low line -->
+<!ENTITY lpar "&#x00028;" ><!--O: =left parenthesis -->
+<!ENTITY lsqb "&#x0005B;" ><!--/lbrack O: =left square bracket -->
+<!ENTITY lsquo "&#x02018;" ><!--=single quotation mark, left -->
+<!ENTITY lt "&#38;#60;" ><!--=less-than sign R: -->
+<!ENTITY micro "&#x000B5;" ><!--=micro sign -->
+<!ENTITY middot "&#x000B7;" ><!--/centerdot B: =middle dot -->
+<!ENTITY nbsp "&#x000A0;" ><!--=no break (required) space -->
+<!ENTITY not "&#x000AC;" ><!--/neg /lnot =not sign -->
+<!ENTITY num "&#x00023;" ><!--=number sign -->
+<!ENTITY ohm "&#x02126;" ><!--=ohm sign -->
+<!ENTITY ordf "&#x000AA;" ><!--=ordinal indicator, feminine -->
+<!ENTITY ordm "&#x000BA;" ><!--=ordinal indicator, masculine -->
+<!ENTITY para "&#x000B6;" ><!--=pilcrow (paragraph sign) -->
+<!ENTITY percnt "&#x00025;" ><!--=percent sign -->
+<!ENTITY period "&#x0002E;" ><!--=full stop, period -->
+<!ENTITY plus "&#x0002B;" ><!--=plus sign B: -->
+<!ENTITY plusmn "&#x000B1;" ><!--/pm B: =plus-or-minus sign -->
+<!ENTITY pound "&#x000A3;" ><!--=pound sign -->
+<!ENTITY quest "&#x0003F;" ><!--=question mark -->
+<!ENTITY quot "&#x00022;" ><!--=quotation mark -->
+<!ENTITY raquo "&#x000BB;" ><!--=angle quotation mark, right -->
+<!ENTITY rarr "&#x02192;" ><!--/rightarrow /to A: =rightward arrow -->
+<!ENTITY rcub "&#x0007D;" ><!--/rbrace C: =right curly bracket -->
+<!ENTITY rdquo "&#x0201D;" ><!--=double quotation mark, right -->
+<!ENTITY reg "&#x000AE;" ><!--/circledR =registered sign -->
+<!ENTITY rpar "&#x00029;" ><!--C: =right parenthesis -->
+<!ENTITY rsqb "&#x0005D;" ><!--/rbrack C: =right square bracket -->
+<!ENTITY rsquo "&#x02019;" ><!--=single quotation mark, right -->
+<!ENTITY sect "&#x000A7;" ><!--=section sign -->
+<!ENTITY semi "&#x0003B;" ><!--=semicolon P: -->
+<!ENTITY shy "&#x000AD;" ><!--=soft hyphen -->
+<!ENTITY sol "&#x0002F;" ><!--=solidus -->
+<!ENTITY sung "&#x0266A;" ><!--=music note (sung text sign) -->
+<!ENTITY sup1 "&#x000B9;" ><!--=superscript one -->
+<!ENTITY sup2 "&#x000B2;" ><!--=superscript two -->
+<!ENTITY sup3 "&#x000B3;" ><!--=superscript three -->
+<!ENTITY times "&#x000D7;" ><!--/times B: =multiply sign -->
+<!ENTITY trade "&#x02122;" ><!--=trade mark sign -->
+<!ENTITY uarr "&#x02191;" ><!--/uparrow A: =upward arrow -->
+<!ENTITY verbar "&#x0007C;" ><!--/vert =vertical bar -->
+<!ENTITY yen "&#x000A5;" ><!--/yen =yen sign -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isopub.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isopub.ent
new file mode 100644
index 0000000..59f4ce8
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isopub.ent
@@ -0,0 +1,104 @@
+
+<!--
+ File isopub.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY blank "&#x02423;" ><!--=significant blank symbol -->
+<!ENTITY blk12 "&#x02592;" ><!--=50% shaded block -->
+<!ENTITY blk14 "&#x02591;" ><!--=25% shaded block -->
+<!ENTITY blk34 "&#x02593;" ><!--=75% shaded block -->
+<!ENTITY block "&#x02588;" ><!--=full block -->
+<!ENTITY bull "&#x02022;" ><!--/bullet B: =round bullet, filled -->
+<!ENTITY caret "&#x02041;" ><!--=caret (insertion mark) -->
+<!ENTITY check "&#x02713;" ><!--/checkmark =tick, check mark -->
+<!ENTITY cir "&#x025CB;" ><!--/circ B: =circle, open -->
+<!ENTITY clubs "&#x02663;" ><!--/clubsuit =club suit symbol -->
+<!ENTITY copysr "&#x02117;" ><!--=sound recording copyright sign -->
+<!ENTITY cross "&#x02717;" ><!--=ballot cross -->
+<!ENTITY Dagger "&#x02021;" ><!--/ddagger B: =double dagger -->
+<!ENTITY dagger "&#x02020;" ><!--/dagger B: =dagger -->
+<!ENTITY dash "&#x02010;" ><!--=hyphen (true graphic) -->
+<!ENTITY diams "&#x02666;" ><!--/diamondsuit =diamond suit symbol -->
+<!ENTITY dlcrop "&#x0230D;" ><!--downward left crop mark -->
+<!ENTITY drcrop "&#x0230C;" ><!--downward right crop mark -->
+<!ENTITY dtri "&#x025BF;" ><!--/triangledown =down triangle, open -->
+<!ENTITY dtrif "&#x025BE;" ><!--/blacktriangledown =dn tri, filled -->
+<!ENTITY emsp "&#x02003;" ><!--=em space -->
+<!ENTITY emsp13 "&#x02004;" ><!--=1/3-em space -->
+<!ENTITY emsp14 "&#x02005;" ><!--=1/4-em space -->
+<!ENTITY ensp "&#x02002;" ><!--=en space (1/2-em) -->
+<!ENTITY female "&#x02640;" ><!--=female symbol -->
+<!ENTITY ffilig "&#x0FB03;" ><!--small ffi ligature -->
+<!ENTITY fflig "&#x0FB00;" ><!--small ff ligature -->
+<!ENTITY ffllig "&#x0FB04;" ><!--small ffl ligature -->
+<!ENTITY filig "&#x0FB01;" ><!--small fi ligature -->
+<!ENTITY flat "&#x0266D;" ><!--/flat =musical flat -->
+<!ENTITY fllig "&#x0FB02;" ><!--small fl ligature -->
+<!ENTITY frac13 "&#x02153;" ><!--=fraction one-third -->
+<!ENTITY frac15 "&#x02155;" ><!--=fraction one-fifth -->
+<!ENTITY frac16 "&#x02159;" ><!--=fraction one-sixth -->
+<!ENTITY frac23 "&#x02154;" ><!--=fraction two-thirds -->
+<!ENTITY frac25 "&#x02156;" ><!--=fraction two-fifths -->
+<!ENTITY frac35 "&#x02157;" ><!--=fraction three-fifths -->
+<!ENTITY frac45 "&#x02158;" ><!--=fraction four-fifths -->
+<!ENTITY frac56 "&#x0215A;" ><!--=fraction five-sixths -->
+<!ENTITY hairsp "&#x0200A;" ><!--=hair space -->
+<!ENTITY hellip "&#x02026;" ><!--=ellipsis (horizontal) -->
+<!ENTITY hybull "&#x02043;" ><!--rectangle, filled (hyphen bullet) -->
+<!ENTITY incare "&#x02105;" ><!--=in-care-of symbol -->
+<!ENTITY ldquor "&#x0201E;" ><!--=rising dbl quote, left (low) -->
+<!ENTITY lhblk "&#x02584;" ><!--=lower half block -->
+<!ENTITY loz "&#x025CA;" ><!--/lozenge - lozenge or total mark -->
+<!ENTITY lozf "&#x029EB;" ><!--/blacklozenge - lozenge, filled -->
+<!ENTITY lsquor "&#x0201A;" ><!--=rising single quote, left (low) -->
+<!ENTITY ltri "&#x025C3;" ><!--/triangleleft B: l triangle, open -->
+<!ENTITY ltrif "&#x025C2;" ><!--/blacktriangleleft R: =l tri, filled -->
+<!ENTITY male "&#x02642;" ><!--=male symbol -->
+<!ENTITY malt "&#x02720;" ><!--/maltese =maltese cross -->
+<!ENTITY marker "&#x025AE;" ><!--=histogram marker -->
+<!ENTITY mdash "&#x02014;" ><!--=em dash -->
+<!ENTITY mldr "&#x02026;" ><!--em leader -->
+<!ENTITY natur "&#x0266E;" ><!--/natural - music natural -->
+<!ENTITY ndash "&#x02013;" ><!--=en dash -->
+<!ENTITY nldr "&#x02025;" ><!--=double baseline dot (en leader) -->
+<!ENTITY numsp "&#x02007;" ><!--=digit space (width of a number) -->
+<!ENTITY phone "&#x0260E;" ><!--=telephone symbol -->
+<!ENTITY puncsp "&#x02008;" ><!--=punctuation space (width of comma) -->
+<!ENTITY rdquor "&#x0201D;" ><!--rising dbl quote, right (high) -->
+<!ENTITY rect "&#x025AD;" ><!--=rectangle, open -->
+<!ENTITY rsquor "&#x02019;" ><!--rising single quote, right (high) -->
+<!ENTITY rtri "&#x025B9;" ><!--/triangleright B: r triangle, open -->
+<!ENTITY rtrif "&#x025B8;" ><!--/blacktriangleright R: =r tri, filled -->
+<!ENTITY rx "&#x0211E;" ><!--pharmaceutical prescription (Rx) -->
+<!ENTITY sext "&#x02736;" ><!--sextile (6-pointed star) -->
+<!ENTITY sharp "&#x0266F;" ><!--/sharp =musical sharp -->
+<!ENTITY spades "&#x02660;" ><!--/spadesuit =spades suit symbol -->
+<!ENTITY squ "&#x025A1;" ><!--=square, open -->
+<!ENTITY squf "&#x025AA;" ><!--/blacksquare =sq bullet, filled -->
+<!ENTITY star "&#x022C6;" ><!--=star, open -->
+<!ENTITY starf "&#x02605;" ><!--/bigstar - star, filled -->
+<!ENTITY target "&#x02316;" ><!--register mark or target -->
+<!ENTITY telrec "&#x02315;" ><!--=telephone recorder symbol -->
+<!ENTITY thinsp "&#x02009;" ><!--=thin space (1/6-em) -->
+<!ENTITY uhblk "&#x02580;" ><!--=upper half block -->
+<!ENTITY ulcrop "&#x0230F;" ><!--upward left crop mark -->
+<!ENTITY urcrop "&#x0230E;" ><!--upward right crop mark -->
+<!ENTITY utri "&#x025B5;" ><!--/triangle =up triangle, open -->
+<!ENTITY utrif "&#x025B4;" ><!--/blacktriangle =up tri, filled -->
+<!ENTITY vellip "&#x022EE;" ><!--vertical ellipsis -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isotech.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isotech.ent
new file mode 100644
index 0000000..8febf28
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso8879/isotech.ent
@@ -0,0 +1,83 @@
+
+<!--
+ File isotech.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY aleph "&#x02135;" ><!--/aleph =aleph, Hebrew -->
+<!ENTITY and "&#x02227;" ><!--/wedge /land B: =logical and -->
+<!ENTITY ang90 "&#x0221F;" ><!--=right (90 degree) angle -->
+<!ENTITY angsph "&#x02222;" ><!--/sphericalangle =angle-spherical -->
+<!ENTITY angst "&#x0212B;" ><!--Angstrom =capital A, ring -->
+<!ENTITY ap "&#x02248;" ><!--/approx R: =approximate -->
+<!ENTITY becaus "&#x02235;" ><!--/because R: =because -->
+<!ENTITY bernou "&#x0212C;" ><!--Bernoulli function (script capital B) -->
+<!ENTITY bottom "&#x022A5;" ><!--/bot B: =perpendicular -->
+<!ENTITY cap "&#x02229;" ><!--/cap B: =intersection -->
+<!ENTITY compfn "&#x02218;" ><!--B: composite function (small circle) -->
+<!ENTITY cong "&#x02245;" ><!--/cong R: =congruent with -->
+<!ENTITY conint "&#x0222E;" ><!--/oint L: =contour integral operator -->
+<!ENTITY cup "&#x0222A;" ><!--/cup B: =union or logical sum -->
+<!ENTITY Dot "&#x000A8;" ><!--=dieresis or umlaut mark -->
+<!ENTITY DotDot "&#x020DC;" ><!--four dots above -->
+<!ENTITY equiv "&#x02261;" ><!--/equiv R: =identical with -->
+<!ENTITY exist "&#x02203;" ><!--/exists =at least one exists -->
+<!ENTITY fnof "&#x00192;" ><!--=function of (italic small f) -->
+<!ENTITY forall "&#x02200;" ><!--/forall =for all -->
+<!ENTITY ge "&#x02265;" ><!--/geq /ge R: =greater-than-or-equal -->
+<!ENTITY hamilt "&#x0210B;" ><!--Hamiltonian (script capital H) -->
+<!ENTITY iff "&#x021D4;" ><!--/iff =if and only if -->
+<!ENTITY infin "&#x0221E;" ><!--/infty =infinity -->
+<!ENTITY int "&#x0222B;" ><!--/int L: =integral operator -->
+<!ENTITY isin "&#x02208;" ><!--/in R: =set membership -->
+<!ENTITY lagran "&#x02112;" ><!--Lagrangian (script capital L) -->
+<!ENTITY lang "&#x02329;" ><!--/langle O: =left angle bracket -->
+<!ENTITY lArr "&#x021D0;" ><!--/Leftarrow A: =is implied by -->
+<!ENTITY le "&#x02264;" ><!--/leq /le R: =less-than-or-equal -->
+<!ENTITY lowast "&#x02217;" ><!--low asterisk -->
+<!ENTITY minus "&#x02212;" ><!--B: =minus sign -->
+<!ENTITY mnplus "&#x02213;" ><!--/mp B: =minus-or-plus sign -->
+<!ENTITY nabla "&#x02207;" ><!--/nabla =del, Hamilton operator -->
+<!ENTITY ne "&#x02260;" ><!--/ne /neq R: =not equal -->
+<!ENTITY ni "&#x0220B;" ><!--/ni /owns R: =contains -->
+<!ENTITY notin "&#x02209;" ><!--N: negated set membership -->
+<!ENTITY or "&#x02228;" ><!--/vee /lor B: =logical or -->
+<!ENTITY order "&#x02134;" ><!--order of (script small o) -->
+<!ENTITY par "&#x02225;" ><!--/parallel R: =parallel -->
+<!ENTITY part "&#x02202;" ><!--/partial =partial differential -->
+<!ENTITY permil "&#x02030;" ><!--=per thousand -->
+<!ENTITY perp "&#x022A5;" ><!--/perp R: =perpendicular -->
+<!ENTITY phmmat "&#x02133;" ><!--physics M-matrix (script capital M) -->
+<!ENTITY Prime "&#x02033;" ><!--=double prime or second -->
+<!ENTITY prime "&#x02032;" ><!--/prime =prime or minute -->
+<!ENTITY prop "&#x0221D;" ><!--/propto R: =is proportional to -->
+<!ENTITY radic "&#x0221A;" ><!--/surd =radical -->
+<!ENTITY rang "&#x0232A;" ><!--/rangle C: =right angle bracket -->
+<!ENTITY rArr "&#x021D2;" ><!--/Rightarrow A: =implies -->
+<!ENTITY sim "&#x0223C;" ><!--/sim R: =similar -->
+<!ENTITY sime "&#x02243;" ><!--/simeq R: =similar, equals -->
+<!ENTITY square "&#x025A1;" ><!--/square B: =square -->
+<!ENTITY sub "&#x02282;" ><!--/subset R: =subset or is implied by -->
+<!ENTITY sube "&#x02286;" ><!--/subseteq R: =subset, equals -->
+<!ENTITY sup "&#x02283;" ><!--/supset R: =superset or implies -->
+<!ENTITY supe "&#x02287;" ><!--/supseteq R: =superset, equals -->
+<!ENTITY tdot "&#x020DB;" ><!--three dots above -->
+<!ENTITY there4 "&#x02234;" ><!--/therefore R: =therefore -->
+<!ENTITY tprime "&#x02034;" ><!--triple prime -->
+<!ENTITY Verbar "&#x02016;" ><!--/Vert =dbl vertical bar -->
+<!ENTITY wedgeq "&#x02259;" ><!--R: corresponds to (wedge, equals) -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsa.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsa.ent
new file mode 100644
index 0000000..27a9ed8
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsa.ent
@@ -0,0 +1,167 @@
+
+<!--
+ File isoamsa.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY angzarr "&#x0237C;" ><!--angle with down zig-zag arrow -->
+<!ENTITY cirmid "&#x02AEF;" ><!--circle, mid below -->
+<!ENTITY cudarrl "&#x02938;" ><!--left, curved, down arrow -->
+<!ENTITY cudarrr "&#x02935;" ><!--right, curved, down arrow -->
+<!ENTITY cularr "&#x021B6;" ><!--/curvearrowleft A: left curved arrow -->
+<!ENTITY cularrp "&#x0293D;" ><!--curved left arrow with plus -->
+<!ENTITY curarr "&#x021B7;" ><!--/curvearrowright A: rt curved arrow -->
+<!ENTITY curarrm "&#x0293C;" ><!--curved right arrow with minus -->
+<!ENTITY Darr "&#x021A1;" ><!--down two-headed arrow -->
+<!ENTITY dArr "&#x021D3;" ><!--/Downarrow A: down dbl arrow -->
+<!ENTITY ddarr "&#x021CA;" ><!--/downdownarrows A: two down arrows -->
+<!ENTITY DDotrahd "&#x02911;" ><!--right arrow with dotted stem -->
+<!ENTITY dfisht "&#x0297F;" ><!--down fish tail -->
+<!ENTITY dHar "&#x02965;" ><!--down harpoon-left, down harpoon-right -->
+<!ENTITY dharl "&#x021C3;" ><!--/downharpoonleft A: dn harpoon-left -->
+<!ENTITY dharr "&#x021C2;" ><!--/downharpoonright A: down harpoon-rt -->
+<!ENTITY duarr "&#x021F5;" ><!--down arrow, up arrow -->
+<!ENTITY duhar "&#x0296F;" ><!--down harp, up harp -->
+<!ENTITY dzigrarr "&#x027FF;" ><!--right long zig-zag arrow -->
+<!ENTITY erarr "&#x02971;" ><!--equal, right arrow below -->
+<!ENTITY hArr "&#x021D4;" ><!--/Leftrightarrow A: l&r dbl arrow -->
+<!ENTITY harr "&#x02194;" ><!--/leftrightarrow A: l&r arrow -->
+<!ENTITY harrcir "&#x02948;" ><!--left and right arrow with a circle -->
+<!ENTITY harrw "&#x021AD;" ><!--/leftrightsquigarrow A: l&r arr-wavy -->
+<!ENTITY hoarr "&#x021FF;" ><!--horizontal open arrow -->
+<!ENTITY imof "&#x022B7;" ><!--image of -->
+<!ENTITY lAarr "&#x021DA;" ><!--/Lleftarrow A: left triple arrow -->
+<!ENTITY Larr "&#x0219E;" ><!--/twoheadleftarrow A: -->
+<!ENTITY larrbfs "&#x0291F;" ><!--left arrow-bar, filled square -->
+<!ENTITY larrfs "&#x0291D;" ><!--left arrow, filled square -->
+<!ENTITY larrhk "&#x021A9;" ><!--/hookleftarrow A: left arrow-hooked -->
+<!ENTITY larrlp "&#x021AB;" ><!--/looparrowleft A: left arrow-looped -->
+<!ENTITY larrpl "&#x02939;" ><!--left arrow, plus -->
+<!ENTITY larrsim "&#x02973;" ><!--left arrow, similar -->
+<!ENTITY larrtl "&#x021A2;" ><!--/leftarrowtail A: left arrow-tailed -->
+<!ENTITY lAtail "&#x0291B;" ><!--left double arrow-tail -->
+<!ENTITY latail "&#x02919;" ><!--left arrow-tail -->
+<!ENTITY lBarr "&#x0290E;" ><!--left doubly broken arrow -->
+<!ENTITY lbarr "&#x0290C;" ><!--left broken arrow -->
+<!ENTITY ldca "&#x02936;" ><!--left down curved arrow -->
+<!ENTITY ldrdhar "&#x02967;" ><!--left harpoon-down over right harpoon-down -->
+<!ENTITY ldrushar "&#x0294B;" ><!--left-down-right-up harpoon -->
+<!ENTITY ldsh "&#x021B2;" ><!--left down angled arrow -->
+<!ENTITY lfisht "&#x0297C;" ><!--left fish tail -->
+<!ENTITY lHar "&#x02962;" ><!--left harpoon-up over left harpoon-down -->
+<!ENTITY lhard "&#x021BD;" ><!--/leftharpoondown A: l harpoon-down -->
+<!ENTITY lharu "&#x021BC;" ><!--/leftharpoonup A: left harpoon-up -->
+<!ENTITY lharul "&#x0296A;" ><!--left harpoon-up over long dash -->
+<!ENTITY llarr "&#x021C7;" ><!--/leftleftarrows A: two left arrows -->
+<!ENTITY llhard "&#x0296B;" ><!--left harpoon-down below long dash -->
+<!ENTITY loarr "&#x021FD;" ><!--left open arrow -->
+<!ENTITY lrarr "&#x021C6;" ><!--/leftrightarrows A: l arr over r arr -->
+<!ENTITY lrhar "&#x021CB;" ><!--/leftrightharpoons A: l harp over r -->
+<!ENTITY lrhard "&#x0296D;" ><!--right harpoon-down below long dash -->
+<!ENTITY lsh "&#x021B0;" ><!--/Lsh A: -->
+<!ENTITY lurdshar "&#x0294A;" ><!--left-up-right-down harpoon -->
+<!ENTITY luruhar "&#x02966;" ><!--left harpoon-up over right harpoon-up -->
+<!ENTITY Map "&#x02905;" ><!--twoheaded mapsto -->
+<!ENTITY map "&#x021A6;" ><!--/mapsto A: -->
+<!ENTITY midcir "&#x02AF0;" ><!--mid, circle below -->
+<!ENTITY mumap "&#x022B8;" ><!--/multimap A: -->
+<!ENTITY nearhk "&#x02924;" ><!--NE arrow-hooked -->
+<!ENTITY neArr "&#x021D7;" ><!--NE pointing dbl arrow -->
+<!ENTITY nearr "&#x02197;" ><!--/nearrow A: NE pointing arrow -->
+<!ENTITY nesear "&#x02928;" ><!--/toea A: NE & SE arrows -->
+<!ENTITY nhArr "&#x021CE;" ><!--/nLeftrightarrow A: not l&r dbl arr -->
+<!ENTITY nharr "&#x021AE;" ><!--/nleftrightarrow A: not l&r arrow -->
+<!ENTITY nlArr "&#x021CD;" ><!--/nLeftarrow A: not implied by -->
+<!ENTITY nlarr "&#x0219A;" ><!--/nleftarrow A: not left arrow -->
+<!ENTITY nrArr "&#x021CF;" ><!--/nRightarrow A: not implies -->
+<!ENTITY nrarr "&#x0219B;" ><!--/nrightarrow A: not right arrow -->
+<!ENTITY nrarrc "&#x02933;&#x00338;" ><!--not right arrow-curved -->
+<!ENTITY nrarrw "&#x0219D;&#x00338;" ><!--not right arrow-wavy -->
+<!ENTITY nvHarr "&#x021CE;" ><!--not, vert, left and right double arrow -->
+<!ENTITY nvlArr "&#x021CD;" ><!--not, vert, left double arrow -->
+<!ENTITY nvrArr "&#x021CF;" ><!--not, vert, right double arrow -->
+<!ENTITY nwarhk "&#x02923;" ><!--NW arrow-hooked -->
+<!ENTITY nwArr "&#x021D6;" ><!--NW pointing dbl arrow -->
+<!ENTITY nwarr "&#x02196;" ><!--/nwarrow A: NW pointing arrow -->
+<!ENTITY nwnear "&#x02927;" ><!--NW & NE arrows -->
+<!ENTITY olarr "&#x021BA;" ><!--/circlearrowleft A: l arr in circle -->
+<!ENTITY orarr "&#x021BB;" ><!--/circlearrowright A: r arr in circle -->
+<!ENTITY origof "&#x022B6;" ><!--original of -->
+<!ENTITY rAarr "&#x021DB;" ><!--/Rrightarrow A: right triple arrow -->
+<!ENTITY Rarr "&#x021A0;" ><!--/twoheadrightarrow A: -->
+<!ENTITY rarrap "&#x02975;" ><!--approximate, right arrow above -->
+<!ENTITY rarrbfs "&#x02920;" ><!--right arrow-bar, filled square -->
+<!ENTITY rarrc "&#x02933;" ><!--right arrow-curved -->
+<!ENTITY rarrfs "&#x0291E;" ><!--right arrow, filled square -->
+<!ENTITY rarrhk "&#x021AA;" ><!--/hookrightarrow A: rt arrow-hooked -->
+<!ENTITY rarrlp "&#x021AC;" ><!--/looparrowright A: rt arrow-looped -->
+<!ENTITY rarrpl "&#x02945;" ><!--right arrow, plus -->
+<!ENTITY rarrsim "&#x02974;" ><!--right arrow, similar -->
+<!ENTITY Rarrtl "&#x02916;" ><!--right two-headed arrow with tail -->
+<!ENTITY rarrtl "&#x021A3;" ><!--/rightarrowtail A: rt arrow-tailed -->
+<!ENTITY rarrw "&#x0219D;" ><!--/rightsquigarrow A: rt arrow-wavy -->
+<!ENTITY rAtail "&#x0291C;" ><!--right double arrow-tail -->
+<!ENTITY ratail "&#x021A3;" ><!--right arrow-tail -->
+<!ENTITY RBarr "&#x02910;" ><!--/drbkarow A: twoheaded right broken arrow -->
+<!ENTITY rBarr "&#x0290F;" ><!--/dbkarow A: right doubly broken arrow -->
+<!ENTITY rbarr "&#x0290D;" ><!--/bkarow A: right broken arrow -->
+<!ENTITY rdca "&#x02937;" ><!--right down curved arrow -->
+<!ENTITY rdldhar "&#x02969;" ><!--right harpoon-down over left harpoon-down -->
+<!ENTITY rdsh "&#x021B3;" ><!--right down angled arrow -->
+<!ENTITY rfisht "&#x0297D;" ><!--right fish tail -->
+<!ENTITY rHar "&#x02964;" ><!--right harpoon-up over right harpoon-down -->
+<!ENTITY rhard "&#x021C1;" ><!--/rightharpoondown A: rt harpoon-down -->
+<!ENTITY rharu "&#x021C0;" ><!--/rightharpoonup A: rt harpoon-up -->
+<!ENTITY rharul "&#x0296C;" ><!--right harpoon-up over long dash -->
+<!ENTITY rlarr "&#x021C4;" ><!--/rightleftarrows A: r arr over l arr -->
+<!ENTITY rlhar "&#x021CC;" ><!--/rightleftharpoons A: r harp over l -->
+<!ENTITY roarr "&#x021FE;" ><!--right open arrow -->
+<!ENTITY rrarr "&#x021C9;" ><!--/rightrightarrows A: two rt arrows -->
+<!ENTITY rsh "&#x021B1;" ><!--/Rsh A: -->
+<!ENTITY ruluhar "&#x02968;" ><!--right harpoon-up over left harpoon-up -->
+<!ENTITY searhk "&#x02925;" ><!--/hksearow A: SE arrow-hooken -->
+<!ENTITY seArr "&#x021D8;" ><!--SE pointing dbl arrow -->
+<!ENTITY searr "&#x02198;" ><!--/searrow A: SE pointing arrow -->
+<!ENTITY seswar "&#x02929;" ><!--/tosa A: SE & SW arrows -->
+<!ENTITY simrarr "&#x02972;" ><!--similar, right arrow below -->
+<!ENTITY slarr "&#x02190;" ><!--short left arrow -->
+<!ENTITY srarr "&#x02192;" ><!--short right arrow -->
+<!ENTITY swarhk "&#x02926;" ><!--/hkswarow A: SW arrow-hooked -->
+<!ENTITY swArr "&#x021D9;" ><!--SW pointing dbl arrow -->
+<!ENTITY swarr "&#x02199;" ><!--/swarrow A: SW pointing arrow -->
+<!ENTITY swnwar "&#x0292A;" ><!--SW & NW arrows -->
+<!ENTITY Uarr "&#x0219F;" ><!--up two-headed arrow -->
+<!ENTITY uArr "&#x021D1;" ><!--/Uparrow A: up dbl arrow -->
+<!ENTITY Uarrocir "&#x02949;" ><!--up two-headed arrow above circle -->
+<!ENTITY udarr "&#x021C5;" ><!--up arrow, down arrow -->
+<!ENTITY udhar "&#x0296E;" ><!--up harp, down harp -->
+<!ENTITY ufisht "&#x0297E;" ><!--up fish tail -->
+<!ENTITY uHar "&#x02963;" ><!--up harpoon-left, up harpoon-right -->
+<!ENTITY uharl "&#x021BF;" ><!--/upharpoonleft A: up harpoon-left -->
+<!ENTITY uharr "&#x021BE;" ><!--/upharpoonright /restriction A: up harp-r -->
+<!ENTITY uuarr "&#x021C8;" ><!--/upuparrows A: two up arrows -->
+<!ENTITY vArr "&#x021D5;" ><!--/Updownarrow A: up&down dbl arrow -->
+<!ENTITY varr "&#x02195;" ><!--/updownarrow A: up&down arrow -->
+<!ENTITY xhArr "&#x027FA;" ><!--/Longleftrightarrow A: long l&r dbl arr -->
+<!ENTITY xharr "&#x027F7;" ><!--/longleftrightarrow A: long l&r arr -->
+<!ENTITY xlArr "&#x027F8;" ><!--/Longleftarrow A: long l dbl arrow -->
+<!ENTITY xlarr "&#x027F5;" ><!--/longleftarrow A: long left arrow -->
+<!ENTITY xmap "&#x027FC;" ><!--/longmapsto A: -->
+<!ENTITY xrArr "&#x027F9;" ><!--/Longrightarrow A: long rt dbl arr -->
+<!ENTITY xrarr "&#x027F6;" ><!--/longrightarrow A: long right arrow -->
+<!ENTITY zigrarr "&#x021DD;" ><!--right zig-zag arrow -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsb.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsb.ent
new file mode 100644
index 0000000..fc7152e
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsb.ent
@@ -0,0 +1,143 @@
+
+<!--
+ File isoamsb.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ References to the VARIANT SELECTOR 1 character (&#x0FE00;)
+ should match the uses listed in Unicode Technical Report 25.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY ac "&#x0290F;" ><!--most positive -->
+<!ENTITY acE "&#x029DB;" ><!--most positive, two lines below -->
+<!ENTITY amalg "&#x02A3F;" ><!--/amalg B: amalgamation or coproduct -->
+<!ENTITY barvee "&#x022BD;" ><!--bar, vee -->
+<!ENTITY Barwed "&#x02306;" ><!--/doublebarwedge B: log and, dbl bar above -->
+<!ENTITY barwed "&#x022BC;" ><!--/barwedge B: logical and, bar above -->
+<!ENTITY bsolb "&#x029C5;" ><!--reverse solidus in square -->
+<!ENTITY Cap "&#x022D2;" ><!--/Cap /doublecap B: dbl intersection -->
+<!ENTITY capand "&#x02A44;" ><!--intersection, and -->
+<!ENTITY capbrcup "&#x02A49;" ><!--intersection, bar, union -->
+<!ENTITY capcap "&#x02A4B;" ><!--intersection, intersection, joined -->
+<!ENTITY capcup "&#x02A47;" ><!--intersection above union -->
+<!ENTITY capdot "&#x02A40;" ><!--intersection, with dot -->
+<!ENTITY caps "&#x02229;&#x0FE00;" ><!--intersection, serifs -->
+<!ENTITY ccaps "&#x02A4D;" ><!--closed intersection, serifs -->
+<!ENTITY ccups "&#x02A4C;" ><!--closed union, serifs -->
+<!ENTITY ccupssm "&#x02A50;" ><!--closed union, serifs, smash product -->
+<!ENTITY coprod "&#x02210;" ><!--/coprod L: coproduct operator -->
+<!ENTITY Cup "&#x022D3;" ><!--/Cup /doublecup B: dbl union -->
+<!ENTITY cupbrcap "&#x02A48;" ><!--union, bar, intersection -->
+<!ENTITY cupcap "&#x02A46;" ><!--union above intersection -->
+<!ENTITY cupcup "&#x02A4A;" ><!--union, union, joined -->
+<!ENTITY cupdot "&#x0228D;" ><!--union, with dot -->
+<!ENTITY cupor "&#x02A45;" ><!--union, or -->
+<!ENTITY cups "&#x0222A;&#x0FE00;" ><!--union, serifs -->
+<!ENTITY cuvee "&#x022CE;" ><!--/curlyvee B: curly logical or -->
+<!ENTITY cuwed "&#x022CF;" ><!--/curlywedge B: curly logical and -->
+<!ENTITY Dagger "&#x02021;" ><!--/ddagger B: double dagger relation -->
+<!ENTITY dagger "&#x02020;" ><!--/dagger B: dagger relation -->
+<!ENTITY diam "&#x022C4;" ><!--/diamond B: open diamond -->
+<!ENTITY divonx "&#x022C7;" ><!--/divideontimes B: division on times -->
+<!ENTITY eplus "&#x02A71;" ><!--equal, plus -->
+<!ENTITY hercon "&#x022B9;" ><!--hermitian conjugate matrix -->
+<!ENTITY intcal "&#x022BA;" ><!--/intercal B: intercal -->
+<!ENTITY iprod "&#x02A3C;" ><!--/intprod -->
+<!ENTITY loplus "&#x02A2D;" ><!--plus sign in left half circle -->
+<!ENTITY lotimes "&#x02A34;" ><!--multiply sign in left half circle -->
+<!ENTITY lthree "&#x022CB;" ><!--/leftthreetimes B: -->
+<!ENTITY ltimes "&#x022C9;" ><!--/ltimes B: times sign, left closed -->
+<!ENTITY midast "&#x0002A;" ><!--/ast B: asterisk -->
+<!ENTITY minusb "&#x0229F;" ><!--/boxminus B: minus sign in box -->
+<!ENTITY minusd "&#x02238;" ><!--/dotminus B: minus sign, dot above -->
+<!ENTITY minusdu "&#x02A2A;" ><!--minus sign, dot below -->
+<!ENTITY ncap "&#x02A43;" ><!--bar, intersection -->
+<!ENTITY ncup "&#x02A42;" ><!--bar, union -->
+<!ENTITY oast "&#x0229B;" ><!--/circledast B: asterisk in circle -->
+<!ENTITY ocir "&#x0229A;" ><!--/circledcirc B: small circle in circle -->
+<!ENTITY odash "&#x0229D;" ><!--/circleddash B: hyphen in circle -->
+<!ENTITY odiv "&#x02A38;" ><!--divide in circle -->
+<!ENTITY odot "&#x02299;" ><!--/odot B: middle dot in circle -->
+<!ENTITY odsold "&#x029BC;" ><!--dot, solidus, dot in circle -->
+<!ENTITY ofcir "&#x029BF;" ><!--filled circle in circle -->
+<!ENTITY ogt "&#x029C1;" ><!--greater-than in circle -->
+<!ENTITY ohbar "&#x029B5;" ><!--circle with horizontal bar -->
+<!ENTITY olcir "&#x029BE;" ><!--large circle in circle -->
+<!ENTITY olt "&#x029C0;" ><!--less-than in circle -->
+<!ENTITY omid "&#x029B6;" ><!--vertical bar in circle -->
+<!ENTITY ominus "&#x02296;" ><!--/ominus B: minus sign in circle -->
+<!ENTITY opar "&#x029B7;" ><!--parallel in circle -->
+<!ENTITY operp "&#x029B9;" ><!--perpendicular in circle -->
+<!ENTITY oplus "&#x02295;" ><!--/oplus B: plus sign in circle -->
+<!ENTITY osol "&#x02298;" ><!--/oslash B: solidus in circle -->
+<!ENTITY Otimes "&#x02A37;" ><!--multiply sign in double circle -->
+<!ENTITY otimes "&#x02297;" ><!--/otimes B: multiply sign in circle -->
+<!ENTITY otimesas "&#x02A36;" ><!--multiply sign in circle, circumflex accent -->
+<!ENTITY ovbar "&#x0233D;" ><!--circle with vertical bar -->
+<!ENTITY plusacir "&#x02A23;" ><!--plus, circumflex accent above -->
+<!ENTITY plusb "&#x0229E;" ><!--/boxplus B: plus sign in box -->
+<!ENTITY pluscir "&#x02A22;" ><!--plus, small circle above -->
+<!ENTITY plusdo "&#x02214;" ><!--/dotplus B: plus sign, dot above -->
+<!ENTITY plusdu "&#x02A25;" ><!--plus sign, dot below -->
+<!ENTITY pluse "&#x02A72;" ><!--plus, equals -->
+<!ENTITY plussim "&#x02A26;" ><!--plus, similar below -->
+<!ENTITY plustwo "&#x02A27;" ><!--plus, two; Nim-addition -->
+<!ENTITY prod "&#x0220F;" ><!--/prod L: product operator -->
+<!ENTITY race "&#x029DA;" ><!--reverse most positive, line below -->
+<!ENTITY roplus "&#x02A2E;" ><!--plus sign in right half circle -->
+<!ENTITY rotimes "&#x02A35;" ><!--multiply sign in right half circle -->
+<!ENTITY rthree "&#x022CC;" ><!--/rightthreetimes B: -->
+<!ENTITY rtimes "&#x022CA;" ><!--/rtimes B: times sign, right closed -->
+<!ENTITY sdot "&#x022C5;" ><!--/cdot B: small middle dot -->
+<!ENTITY sdotb "&#x022A1;" ><!--/dotsquare /boxdot B: small dot in box -->
+<!ENTITY setmn "&#x02216;" ><!--/setminus B: reverse solidus -->
+<!ENTITY simplus "&#x02A24;" ><!--plus, similar above -->
+<!ENTITY smashp "&#x02A33;" ><!--smash product -->
+<!ENTITY solb "&#x029C4;" ><!--solidus in square -->
+<!ENTITY sqcap "&#x02293;" ><!--/sqcap B: square intersection -->
+<!ENTITY sqcaps "&#x02293;&#x0FE00;" ><!--square intersection, serifs -->
+<!ENTITY sqcup "&#x02294;" ><!--/sqcup B: square union -->
+<!ENTITY sqcups "&#x02294;&#x0FE00;" ><!--square union, serifs -->
+<!ENTITY ssetmn "&#x02216;" ><!--/smallsetminus B: sm reverse solidus -->
+<!ENTITY sstarf "&#x022C6;" ><!--/star B: small star, filled -->
+<!ENTITY subdot "&#x02ABD;" ><!--subset, with dot -->
+<!ENTITY sum "&#x02211;" ><!--/sum L: summation operator -->
+<!ENTITY supdot "&#x02ABE;" ><!--superset, with dot -->
+<!ENTITY timesb "&#x022A0;" ><!--/boxtimes B: multiply sign in box -->
+<!ENTITY timesbar "&#x02A31;" ><!--multiply sign, bar below -->
+<!ENTITY timesd "&#x02A30;" ><!--times, dot -->
+<!ENTITY tridot "&#x025EC;" ><!--dot in triangle -->
+<!ENTITY triminus "&#x02A3A;" ><!--minus in triangle -->
+<!ENTITY triplus "&#x02A39;" ><!--plus in triangle -->
+<!ENTITY trisb "&#x029CD;" ><!--triangle, serifs at bottom -->
+<!ENTITY tritime "&#x02A3B;" ><!--multiply in triangle -->
+<!ENTITY uplus "&#x0228E;" ><!--/uplus B: plus sign in union -->
+<!ENTITY veebar "&#x022BB;" ><!--/veebar B: logical or, bar below -->
+<!ENTITY wedbar "&#x02A5F;" ><!--wedge, bar below -->
+<!ENTITY wreath "&#x02240;" ><!--/wr B: wreath product -->
+<!ENTITY xcap "&#x022C2;" ><!--/bigcap L: intersection operator -->
+<!ENTITY xcirc "&#x025EF;" ><!--/bigcirc B: large circle -->
+<!ENTITY xcup "&#x022C3;" ><!--/bigcup L: union operator -->
+<!ENTITY xdtri "&#x025BD;" ><!--/bigtriangledown B: big dn tri, open -->
+<!ENTITY xodot "&#x02299;" ><!--/bigodot L: circle dot operator -->
+<!ENTITY xoplus "&#x02295;" ><!--/bigoplus L: circle plus operator -->
+<!ENTITY xotime "&#x02297;" ><!--/bigotimes L: circle times operator -->
+<!ENTITY xsqcup "&#x02294;" ><!--/bigsqcup L: square union operator -->
+<!ENTITY xuplus "&#x0228E;" ><!--/biguplus L: -->
+<!ENTITY xutri "&#x025B3;" ><!--/bigtriangleup B: big up tri, open -->
+<!ENTITY xvee "&#x022C1;" ><!--/bigvee L: logical and operator -->
+<!ENTITY xwedge "&#x022C0;" ><!--/bigwedge L: logical or operator -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsc.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsc.ent
new file mode 100644
index 0000000..8a22e1a
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsc.ent
@@ -0,0 +1,43 @@
+
+<!--
+ File isoamsc.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY dlcorn "&#x0231E;" ><!--/llcorner O: lower left corner -->
+<!ENTITY drcorn "&#x0231F;" ><!--/lrcorner C: lower right corner -->
+<!ENTITY gtlPar "&#x02995;" ><!--dbl left parenthesis, greater -->
+<!ENTITY langd "&#x02991;" ><!--left angle, dot -->
+<!ENTITY lbrke "&#x0298B;" ><!--left bracket, equal -->
+<!ENTITY lbrksld "&#x0298F;" ><!--left bracket, solidus bottom corner -->
+<!ENTITY lbrkslu "&#x0298D;" ><!--left bracket, solidus top corner -->
+<!ENTITY lceil "&#x02308;" ><!--/lceil O: left ceiling -->
+<!ENTITY lfloor "&#x0230A;" ><!--/lfloor O: left floor -->
+<!ENTITY lmoust "&#x023B0;" ><!--/lmoustache -->
+<!ENTITY lparlt "&#x02993;" ><!--O: left parenthesis, lt -->
+<!ENTITY ltrPar "&#x02996;" ><!--dbl right parenthesis, less -->
+<!ENTITY rangd "&#x02992;" ><!--right angle, dot -->
+<!ENTITY rbrke "&#x0298C;" ><!--right bracket, equal -->
+<!ENTITY rbrksld "&#x0298E;" ><!--right bracket, solidus bottom corner -->
+<!ENTITY rbrkslu "&#x02990;" ><!--right bracket, solidus top corner -->
+<!ENTITY rceil "&#x02309;" ><!--/rceil C: right ceiling -->
+<!ENTITY rfloor "&#x0230B;" ><!--/rfloor C: right floor -->
+<!ENTITY rmoust "&#x023B1;" ><!--/rmoustache -->
+<!ENTITY rpargt "&#x02994;" ><!--C: right paren, gt -->
+<!ENTITY ulcorn "&#x0231C;" ><!--/ulcorner O: upper left corner -->
+<!ENTITY urcorn "&#x0231D;" ><!--/urcorner C: upper right corner -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsn.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsn.ent
new file mode 100644
index 0000000..160a656
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsn.ent
@@ -0,0 +1,114 @@
+
+<!--
+ File isoamsn.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ References to the VARIANT SELECTOR 1 character (&#x0FE00;)
+ should match the uses listed in Unicode Technical Report 25.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY gnap "&#x02A8A;" ><!--/gnapprox N: greater, not approximate -->
+<!ENTITY gnE "&#x02269;" ><!--/gneqq N: greater, not dbl equals -->
+<!ENTITY gne "&#x02269;" ><!--/gneq N: greater, not equals -->
+<!ENTITY gnsim "&#x022E7;" ><!--/gnsim N: greater, not similar -->
+<!ENTITY gvnE "&#x02269;&#x0FE00;" ><!--/gvertneqq N: gt, vert, not dbl eq -->
+<!ENTITY lnap "&#x02A89;" ><!--/lnapprox N: less, not approximate -->
+<!ENTITY lnE "&#x02268;" ><!--/lneqq N: less, not double equals -->
+<!ENTITY lne "&#x02268;" ><!--/lneq N: less, not equals -->
+<!ENTITY lnsim "&#x022E6;" ><!--/lnsim N: less, not similar -->
+<!ENTITY lvnE "&#x02268;&#x0FE00;" ><!--/lvertneqq N: less, vert, not dbl eq -->
+<!ENTITY nap "&#x02249;" ><!--/napprox N: not approximate -->
+<!ENTITY napE "&#x02A70;&#x00338;" ><!--not approximately equal or equal to -->
+<!ENTITY napid "&#x0224B;&#x00338;" ><!--not approximately identical to -->
+<!ENTITY ncong "&#x02247;" ><!--/ncong N: not congruent with -->
+<!ENTITY ncongdot "&#x02A6D;&#x00338;" ><!--not congruent, dot -->
+<!ENTITY nequiv "&#x02262;" ><!--/nequiv N: not identical with -->
+<!ENTITY ngE "&#x02A7E;&#x00338;" ><!--/ngeqq N: not greater, dbl equals -->
+<!ENTITY nge "&#x02271;" ><!--/ngeq N: not greater-than-or-equal -->
+<!ENTITY nges "&#x02A7E;&#x00338;" ><!--/ngeqslant N: not gt-or-eq, slanted -->
+<!ENTITY nGg "&#x022D9;&#x00338;" ><!--not triple greater than -->
+<!ENTITY ngsim "&#x02275;" ><!--not greater, similar -->
+<!ENTITY nGt "&#x0226B;&#x020D2;" ><!--not, vert, much greater than -->
+<!ENTITY ngt "&#x0226F;" ><!--/ngtr N: not greater-than -->
+<!ENTITY nGtv "&#x0226B;&#x00338;" ><!--not much greater than, variant -->
+<!ENTITY nlE "&#x02A7D;&#x00338;" ><!--/nleqq N: not less, dbl equals -->
+<!ENTITY nle "&#x02270;" ><!--/nleq N: not less-than-or-equal -->
+<!ENTITY nles "&#x02A7D;&#x00338;" ><!--/nleqslant N: not less-or-eq, slant -->
+<!ENTITY nLl "&#x022D8;&#x00338;" ><!--not triple less than -->
+<!ENTITY nlsim "&#x02274;" ><!--not less, similar -->
+<!ENTITY nLt "&#x0226A;&#x020D2;" ><!--not, vert, much less than -->
+<!ENTITY nlt "&#x0226E;" ><!--/nless N: not less-than -->
+<!ENTITY nltri "&#x022EA;" ><!--/ntriangleleft N: not left triangle -->
+<!ENTITY nltrie "&#x022EC;" ><!--/ntrianglelefteq N: not l tri, eq -->
+<!ENTITY nLtv "&#x0226A;&#x00338;" ><!--not much less than, variant -->
+<!ENTITY nmid "&#x02224;" ><!--/nmid -->
+<!ENTITY npar "&#x02226;" ><!--/nparallel N: not parallel -->
+<!ENTITY npr "&#x02280;" ><!--/nprec N: not precedes -->
+<!ENTITY nprcue "&#x022E0;" ><!--not curly precedes, eq -->
+<!ENTITY npre "&#x02AAF;&#x00338;" ><!--/npreceq N: not precedes, equals -->
+<!ENTITY nrtri "&#x022EB;" ><!--/ntriangleright N: not rt triangle -->
+<!ENTITY nrtrie "&#x022ED;" ><!--/ntrianglerighteq N: not r tri, eq -->
+<!ENTITY nsc "&#x02281;" ><!--/nsucc N: not succeeds -->
+<!ENTITY nsccue "&#x022E1;" ><!--not succeeds, curly eq -->
+<!ENTITY nsce "&#x02AB0;&#x00338;" ><!--/nsucceq N: not succeeds, equals -->
+<!ENTITY nsim "&#x02241;" ><!--/nsim N: not similar -->
+<!ENTITY nsime "&#x02244;" ><!--/nsimeq N: not similar, equals -->
+<!ENTITY nsmid "&#x02224;" ><!--/nshortmid -->
+<!ENTITY nspar "&#x02226;" ><!--/nshortparallel N: not short par -->
+<!ENTITY nsqsube "&#x022E2;" ><!--not, square subset, equals -->
+<!ENTITY nsqsupe "&#x022E3;" ><!--not, square superset, equals -->
+<!ENTITY nsub "&#x02284;" ><!--not subset -->
+<!ENTITY nsubE "&#x02288;" ><!--/nsubseteqq N: not subset, dbl eq -->
+<!ENTITY nsube "&#x02288;" ><!--/nsubseteq N: not subset, equals -->
+<!ENTITY nsup "&#x02285;" ><!--not superset -->
+<!ENTITY nsupE "&#x02289;" ><!--/nsupseteqq N: not superset, dbl eq -->
+<!ENTITY nsupe "&#x02289;" ><!--/nsupseteq N: not superset, equals -->
+<!ENTITY ntgl "&#x02279;" ><!--not greater, less -->
+<!ENTITY ntlg "&#x02278;" ><!--not less, greater -->
+<!ENTITY nvap "&#x0224D;&#x020D2;" ><!--not, vert, approximate -->
+<!ENTITY nVDash "&#x022AF;" ><!--/nVDash N: not dbl vert, dbl dash -->
+<!ENTITY nVdash "&#x022AE;" ><!--/nVdash N: not dbl vertical, dash -->
+<!ENTITY nvDash "&#x022AD;" ><!--/nvDash N: not vertical, dbl dash -->
+<!ENTITY nvdash "&#x022AC;" ><!--/nvdash N: not vertical, dash -->
+<!ENTITY nvge "&#x02A7E;&#x00338;" ><!--not, vert, greater-than-or-equal -->
+<!ENTITY nvgt "&#x0226F;" ><!--not, vert, greater-than -->
+<!ENTITY nvle "&#x02A7D;&#x00338;" ><!--not, vert, less-than-or-equal -->
+<!ENTITY nvlt "&#x0226E;" ><!--not, vert, less-than -->
+<!ENTITY nvltrie "&#x022B4;&#x020D2;" ><!--not, vert, left triangle, equals -->
+<!ENTITY nvrtrie "&#x022B5;&#x020D2;" ><!--not, vert, right triangle, equals -->
+<!ENTITY nvsim "&#x0223C;&#x020D2;" ><!--not, vert, similar -->
+<!ENTITY parsim "&#x02AF3;" ><!--parallel, similar -->
+<!ENTITY prnap "&#x022E8;" ><!--/precnapprox N: precedes, not approx -->
+<!ENTITY prnE "&#x02AB5;" ><!--/precneqq N: precedes, not dbl eq -->
+<!ENTITY prnsim "&#x022E8;" ><!--/precnsim N: precedes, not similar -->
+<!ENTITY rnmid "&#x02AEE;" ><!--reverse /nmid -->
+<!ENTITY scnap "&#x022E9;" ><!--/succnapprox N: succeeds, not approx -->
+<!ENTITY scnE "&#x02AB6;" ><!--/succneqq N: succeeds, not dbl eq -->
+<!ENTITY scnsim "&#x022E9;" ><!--/succnsim N: succeeds, not similar -->
+<!ENTITY simne "&#x02246;" ><!--similar, not equals -->
+<!ENTITY solbar "&#x0233F;" ><!--solidus, bar through -->
+<!ENTITY subnE "&#x0228A;" ><!--/subsetneqq N: subset, not dbl eq -->
+<!ENTITY subne "&#x0228A;" ><!--/subsetneq N: subset, not equals -->
+<!ENTITY supnE "&#x0228B;" ><!--/supsetneqq N: superset, not dbl eq -->
+<!ENTITY supne "&#x0228B;" ><!--/supsetneq N: superset, not equals -->
+<!ENTITY vnsub "&#x02284;" ><!--/nsubset N: not subset, var -->
+<!ENTITY vnsup "&#x02285;" ><!--/nsupset N: not superset, var -->
+<!ENTITY vsubnE "&#x0228A;&#x0FE00;" ><!--/varsubsetneqq N: subset not dbl eq, var -->
+<!ENTITY vsubne "&#x0228A;&#x0FE00;" ><!--/varsubsetneq N: subset, not eq, var -->
+<!ENTITY vsupnE "&#x0228B;&#x0FE00;" ><!--/varsupsetneqq N: super not dbl eq, var -->
+<!ENTITY vsupne "&#x0228B;&#x0FE00;" ><!--/varsupsetneq N: superset, not eq, var -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamso.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamso.ent
new file mode 100644
index 0000000..bf43419
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamso.ent
@@ -0,0 +1,71 @@
+
+<!--
+ File isoamso.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY ang "&#x02220;" ><!--/angle - angle -->
+<!ENTITY ange "&#x029A4;" ><!--angle, equal -->
+<!ENTITY angmsd "&#x02221;" ><!--/measuredangle - angle-measured -->
+<!ENTITY angmsdaa "&#x029A8;" ><!--angle-measured, arrow, up, right -->
+<!ENTITY angmsdab "&#x029A9;" ><!--angle-measured, arrow, up, left -->
+<!ENTITY angmsdac "&#x029AA;" ><!--angle-measured, arrow, down, right -->
+<!ENTITY angmsdad "&#x029AB;" ><!--angle-measured, arrow, down, left -->
+<!ENTITY angmsdae "&#x029AC;" ><!--angle-measured, arrow, right, up -->
+<!ENTITY angmsdaf "&#x029AD;" ><!--angle-measured, arrow, left, up -->
+<!ENTITY angmsdag "&#x029AE;" ><!--angle-measured, arrow, right, down -->
+<!ENTITY angmsdah "&#x029AF;" ><!--angle-measured, arrow, left, down -->
+<!ENTITY angrtvb "&#x022BE;" ><!--right angle-measured -->
+<!ENTITY angrtvbd "&#x0299D;" ><!--right angle-measured, dot -->
+<!ENTITY bbrk "&#x023B5;" ><!--bottom square bracket -->
+<!ENTITY bemptyv "&#x029B0;" ><!--reversed circle, slash -->
+<!ENTITY beth "&#x02136;" ><!--/beth - beth, Hebrew -->
+<!ENTITY boxbox "&#x029C9;" ><!--two joined squares -->
+<!ENTITY bprime "&#x02035;" ><!--/backprime - reverse prime -->
+<!ENTITY bsemi "&#x0204F;" ><!--reverse semi-colon -->
+<!ENTITY cemptyv "&#x029B2;" ><!--circle, slash, small circle above -->
+<!ENTITY cirE "&#x029C3;" ><!--circle, two horizontal stroked to the right -->
+<!ENTITY cirscir "&#x029C2;" ><!--circle, small circle to the right -->
+<!ENTITY comp "&#x02201;" ><!--/complement - complement sign -->
+<!ENTITY daleth "&#x02138;" ><!--/daleth - daleth, Hebrew -->
+<!ENTITY demptyv "&#x029B1;" ><!--circle, slash, bar above -->
+<!ENTITY ell "&#x02113;" ><!--/ell - cursive small l -->
+<!ENTITY empty "&#x02205;" ><!--/emptyset - zero, slash -->
+<!ENTITY emptyv "&#x02205;" ><!--/varnothing - circle, slash -->
+<!ENTITY gimel "&#x02137;" ><!--/gimel - gimel, Hebrew -->
+<!ENTITY iiota "&#x02129;" ><!--inverted iota -->
+<!ENTITY image "&#x02111;" ><!--/Im - imaginary -->
+<!ENTITY imath "&#x00131;" ><!--/imath - small i, no dot -->
+<!ENTITY jmath "&#x0006A;" ><!--/jmath - small j, no dot -->
+<!ENTITY laemptyv "&#x029B4;" ><!--circle, slash, left arrow above -->
+<!ENTITY lltri "&#x025FA;" ><!--lower left triangle -->
+<!ENTITY lrtri "&#x022BF;" ><!--lower right triangle -->
+<!ENTITY mho "&#x02127;" ><!--/mho - conductance -->
+<!ENTITY nang "&#x02220;&#x020D2;" ><!--not, vert, angle -->
+<!ENTITY nexist "&#x02204;" ><!--/nexists - negated exists -->
+<!ENTITY oS "&#x024C8;" ><!--/circledS - capital S in circle -->
+<!ENTITY planck "&#x0210F;" ><!--/hbar - Planck's over 2pi -->
+<!ENTITY plankv "&#x0210F;" ><!--/hslash - variant Planck's over 2pi -->
+<!ENTITY raemptyv "&#x029B3;" ><!--circle, slash, right arrow above -->
+<!ENTITY range "&#x029A5;" ><!--reverse angle, equal -->
+<!ENTITY real "&#x0211C;" ><!--/Re - real -->
+<!ENTITY tbrk "&#x023B4;" ><!--top square bracket -->
+<!ENTITY ultri "&#x025F8;" ><!--upper left triangle -->
+<!ENTITY urtri "&#x025F9;" ><!--upper right triangle -->
+<!ENTITY vzigzag "&#x0299A;" ><!--vertical zig-zag line -->
+<!ENTITY weierp "&#x02118;" ><!--/wp - Weierstrass p -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsr.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsr.ent
new file mode 100644
index 0000000..1bdff4e
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isoamsr.ent
@@ -0,0 +1,201 @@
+
+<!--
+ File isoamsr.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ References to the VARIANT SELECTOR 1 character (&#x0FE00;)
+ should match the uses listed in Unicode Technical Report 25.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY apE "&#x0224A;" ><!--approximately equal or equal to -->
+<!ENTITY ape "&#x0224A;" ><!--/approxeq R: approximate, equals -->
+<!ENTITY apid "&#x0224B;" ><!--approximately identical to -->
+<!ENTITY asymp "&#x02248;" ><!--/asymp R: asymptotically equal to -->
+<!ENTITY Barv "&#x02AE7;" ><!--vert, dbl bar (over) -->
+<!ENTITY bcong "&#x0224C;" ><!--/backcong R: reverse congruent -->
+<!ENTITY bepsi "&#x003F6;" ><!--/backepsilon R: such that -->
+<!ENTITY bowtie "&#x022C8;" ><!--/bowtie R: -->
+<!ENTITY bsim "&#x0223D;" ><!--/backsim R: reverse similar -->
+<!ENTITY bsime "&#x022CD;" ><!--/backsimeq R: reverse similar, eq -->
+<!ENTITY bsolhsub "&#x0005C;&#x02282;" ><!--reverse solidus, subset -->
+<!ENTITY bump "&#x0224E;" ><!--/Bumpeq R: bumpy equals -->
+<!ENTITY bumpE "&#x02AAE;" ><!--bump, equals -->
+<!ENTITY bumpe "&#x0224F;" ><!--/bumpeq R: bumpy equals, equals -->
+<!ENTITY cire "&#x02257;" ><!--/circeq R: circle, equals -->
+<!ENTITY Colon "&#x02237;" ><!--/Colon, two colons -->
+<!ENTITY Colone "&#x02A74;" ><!--double colon, equals -->
+<!ENTITY colone "&#x02254;" ><!--/coloneq R: colon, equals -->
+<!ENTITY congdot "&#x02A6D;" ><!--congruent, dot -->
+<!ENTITY csub "&#x02ACF;" ><!--subset, closed -->
+<!ENTITY csube "&#x02AD1;" ><!--subset, closed, equals -->
+<!ENTITY csup "&#x02AD0;" ><!--superset, closed -->
+<!ENTITY csupe "&#x02AD2;" ><!--superset, closed, equals -->
+<!ENTITY cuepr "&#x022DE;" ><!--/curlyeqprec R: curly eq, precedes -->
+<!ENTITY cuesc "&#x022DF;" ><!--/curlyeqsucc R: curly eq, succeeds -->
+<!ENTITY Dashv "&#x02AE4;" ><!--dbl dash, vertical -->
+<!ENTITY dashv "&#x022A3;" ><!--/dashv R: dash, vertical -->
+<!ENTITY easter "&#x0225B;" ><!--equal, asterisk above -->
+<!ENTITY ecir "&#x02256;" ><!--/eqcirc R: circle on equals sign -->
+<!ENTITY ecolon "&#x02255;" ><!--/eqcolon R: equals, colon -->
+<!ENTITY eDDot "&#x02A77;" ><!--/ddotseq R: equal with four dots -->
+<!ENTITY eDot "&#x02251;" ><!--/doteqdot /Doteq R: eq, even dots -->
+<!ENTITY efDot "&#x02252;" ><!--/fallingdotseq R: eq, falling dots -->
+<!ENTITY eg "&#x02A9A;" ><!--equal-or-greater -->
+<!ENTITY egs "&#x022DD;" ><!--/eqslantgtr R: equal-or-gtr, slanted -->
+<!ENTITY egsdot "&#x02A98;" ><!--equal-or-greater, slanted, dot inside -->
+<!ENTITY el "&#x02A99;" ><!--equal-or-less -->
+<!ENTITY els "&#x022DC;" ><!--/eqslantless R: eq-or-less, slanted -->
+<!ENTITY elsdot "&#x02A97;" ><!--equal-or-less, slanted, dot inside -->
+<!ENTITY equest "&#x0225F;" ><!--/questeq R: equal with questionmark -->
+<!ENTITY equivDD "&#x02A78;" ><!--equivalent, four dots above -->
+<!ENTITY erDot "&#x02253;" ><!--/risingdotseq R: eq, rising dots -->
+<!ENTITY esdot "&#x02250;" ><!--/doteq R: equals, single dot above -->
+<!ENTITY Esim "&#x02A73;" ><!--equal, similar -->
+<!ENTITY esim "&#x02242;" ><!--/esim R: equals, similar -->
+<!ENTITY fork "&#x022D4;" ><!--/pitchfork R: pitchfork -->
+<!ENTITY forkv "&#x02AD9;" ><!--fork, variant -->
+<!ENTITY frown "&#x02322;" ><!--/frown R: down curve -->
+<!ENTITY gap "&#x02273;" ><!--/gtrapprox R: greater, approximate -->
+<!ENTITY gE "&#x02267;" ><!--/geqq R: greater, double equals -->
+<!ENTITY gEl "&#x022DB;" ><!--/gtreqqless R: gt, dbl equals, less -->
+<!ENTITY gel "&#x022DB;" ><!--/gtreqless R: greater, equals, less -->
+<!ENTITY ges "&#x02A7E;" ><!--/geqslant R: gt-or-equal, slanted -->
+<!ENTITY gescc "&#x02AA9;" ><!--greater than, closed by curve, equal, slanted -->
+<!ENTITY gesdot "&#x02A80;" ><!--greater-than-or-equal, slanted, dot inside -->
+<!ENTITY gesdoto "&#x02A82;" ><!--greater-than-or-equal, slanted, dot above -->
+<!ENTITY gesdotol "&#x02A84;" ><!--greater-than-or-equal, slanted, dot above left -->
+<!ENTITY gesl "&#x022DB;&#x0FE00;" ><!--greater, equal, slanted, less -->
+<!ENTITY gesles "&#x02A94;" ><!--greater, equal, slanted, less, equal, slanted -->
+<!ENTITY Gg "&#x022D9;" ><!--/ggg /Gg /gggtr R: triple gtr-than -->
+<!ENTITY gl "&#x02277;" ><!--/gtrless R: greater, less -->
+<!ENTITY gla "&#x02AA5;" ><!--greater, less, apart -->
+<!ENTITY glE "&#x02A92;" ><!--greater, less, equal -->
+<!ENTITY glj "&#x02AA4;" ><!--greater, less, overlapping -->
+<!ENTITY gsim "&#x02273;" ><!--/gtrsim R: greater, similar -->
+<!ENTITY gsime "&#x02A8E;" ><!--greater, similar, equal -->
+<!ENTITY gsiml "&#x02A90;" ><!--greater, similar, less -->
+<!ENTITY Gt "&#x0226B;" ><!--/gg R: dbl greater-than sign -->
+<!ENTITY gtcc "&#x02AA7;" ><!--greater than, closed by curve -->
+<!ENTITY gtcir "&#x02A7A;" ><!--greater than, circle inside -->
+<!ENTITY gtdot "&#x022D7;" ><!--/gtrdot R: greater than, with dot -->
+<!ENTITY gtquest "&#x02A7C;" ><!--greater than, questionmark above -->
+<!ENTITY gtrarr "&#x02978;" ><!--greater than, right arrow -->
+<!ENTITY homtht "&#x0223B;" ><!--homothetic -->
+<!ENTITY lap "&#x02272;" ><!--/lessapprox R: less, approximate -->
+<!ENTITY lat "&#x02AAB;" ><!--larger than -->
+<!ENTITY late "&#x02AAD;" ><!--larger than or equal -->
+<!ENTITY lates "&#x02AAD;&#x0FE00;" ><!--larger than or equal, slanted -->
+<!ENTITY lE "&#x02266;" ><!--/leqq R: less, double equals -->
+<!ENTITY lEg "&#x022DA;" ><!--/lesseqqgtr R: less, dbl eq, greater -->
+<!ENTITY leg "&#x022DA;" ><!--/lesseqgtr R: less, eq, greater -->
+<!ENTITY les "&#x02A7D;" ><!--/leqslant R: less-than-or-eq, slant -->
+<!ENTITY lescc "&#x02AA8;" ><!--less than, closed by curve, equal, slanted -->
+<!ENTITY lesdot "&#x02A7F;" ><!--less-than-or-equal, slanted, dot inside -->
+<!ENTITY lesdoto "&#x02A81;" ><!--less-than-or-equal, slanted, dot above -->
+<!ENTITY lesdotor "&#x02A83;" ><!--less-than-or-equal, slanted, dot above right -->
+<!ENTITY lesg "&#x022DA;&#x0FE00;" ><!--less, equal, slanted, greater -->
+<!ENTITY lesges "&#x02A93;" ><!--less, equal, slanted, greater, equal, slanted -->
+<!ENTITY lg "&#x02276;" ><!--/lessgtr R: less, greater -->
+<!ENTITY lgE "&#x02A91;" ><!--less, greater, equal -->
+<!ENTITY Ll "&#x022D8;" ><!--/Ll /lll /llless R: triple less-than -->
+<!ENTITY lsim "&#x02272;" ><!--/lesssim R: less, similar -->
+<!ENTITY lsime "&#x02A8D;" ><!--less, similar, equal -->
+<!ENTITY lsimg "&#x02A8F;" ><!--less, similar, greater -->
+<!ENTITY Lt "&#x0226A;" ><!--/ll R: double less-than sign -->
+<!ENTITY ltcc "&#x02AA6;" ><!--less than, closed by curve -->
+<!ENTITY ltcir "&#x02A79;" ><!--less than, circle inside -->
+<!ENTITY ltdot "&#x022D6;" ><!--/lessdot R: less than, with dot -->
+<!ENTITY ltlarr "&#x02976;" ><!--less than, left arrow -->
+<!ENTITY ltquest "&#x02A7B;" ><!--less than, questionmark above -->
+<!ENTITY ltrie "&#x022B4;" ><!--/trianglelefteq R: left triangle, eq -->
+<!ENTITY mcomma "&#x02A29;" ><!--minus, comma above -->
+<!ENTITY mDDot "&#x0223A;" ><!--minus with four dots, geometric properties -->
+<!ENTITY mid "&#x02223;" ><!--/mid R: -->
+<!ENTITY mlcp "&#x02ADB;" ><!--/mlcp -->
+<!ENTITY models "&#x022A7;" ><!--/models R: -->
+<!ENTITY mstpos "&#x0223E;" ><!--most positive -->
+<!ENTITY Pr "&#x02ABB;" ><!--dbl precedes -->
+<!ENTITY pr "&#x0227A;" ><!--/prec R: precedes -->
+<!ENTITY prap "&#x0227E;" ><!--/precapprox R: precedes, approximate -->
+<!ENTITY prcue "&#x0227C;" ><!--/preccurlyeq R: precedes, curly eq -->
+<!ENTITY prE "&#x02AAF;" ><!--precedes, dbl equals -->
+<!ENTITY pre "&#x02AAF;" ><!--/preceq R: precedes, equals -->
+<!ENTITY prsim "&#x0227E;" ><!--/precsim R: precedes, similar -->
+<!ENTITY prurel "&#x022B0;" ><!--element precedes under relation -->
+<!ENTITY ratio "&#x02236;" ><!--/ratio -->
+<!ENTITY rtrie "&#x022B5;" ><!--/trianglerighteq R: right tri, eq -->
+<!ENTITY rtriltri "&#x029CE;" ><!--right triangle above left triangle -->
+<!ENTITY Sc "&#x02ABC;" ><!--dbl succeeds -->
+<!ENTITY sc "&#x0227B;" ><!--/succ R: succeeds -->
+<!ENTITY scap "&#x0227F;" ><!--/succapprox R: succeeds, approximate -->
+<!ENTITY sccue "&#x0227D;" ><!--/succcurlyeq R: succeeds, curly eq -->
+<!ENTITY scE "&#x0227E;" ><!--succeeds, dbl equals -->
+<!ENTITY sce "&#x0227D;" ><!--/succeq R: succeeds, equals -->
+<!ENTITY scsim "&#x0227F;" ><!--/succsim R: succeeds, similar -->
+<!ENTITY sdote "&#x02A66;" ><!--equal, dot below -->
+<!ENTITY simg "&#x02A9E;" ><!--similar, greater -->
+<!ENTITY simgE "&#x02AA0;" ><!--similar, greater, equal -->
+<!ENTITY siml "&#x02A9D;" ><!--similar, less -->
+<!ENTITY simlE "&#x02A9F;" ><!--similar, less, equal -->
+<!ENTITY smid "&#x02223;" ><!--/shortmid R: -->
+<!ENTITY smile "&#x02323;" ><!--/smile R: up curve -->
+<!ENTITY smt "&#x02AAA;" ><!--smaller than -->
+<!ENTITY smte "&#x02AAC;" ><!--smaller than or equal -->
+<!ENTITY smtes "&#x02AAC;&#x0FE00;" ><!--smaller than or equal, slanted -->
+<!ENTITY spar "&#x02225;" ><!--/shortparallel R: short parallel -->
+<!ENTITY sqsub "&#x0228F;" ><!--/sqsubset R: square subset -->
+<!ENTITY sqsube "&#x02291;" ><!--/sqsubseteq R: square subset, equals -->
+<!ENTITY sqsup "&#x02290;" ><!--/sqsupset R: square superset -->
+<!ENTITY sqsupe "&#x02292;" ><!--/sqsupseteq R: square superset, eq -->
+<!ENTITY Sub "&#x022D0;" ><!--/Subset R: double subset -->
+<!ENTITY subE "&#x02286;" ><!--/subseteqq R: subset, dbl equals -->
+<!ENTITY subedot "&#x02AC3;" ><!--subset, equals, dot -->
+<!ENTITY submult "&#x02AC1;" ><!--subset, multiply -->
+<!ENTITY subplus "&#x02ABF;" ><!--subset, plus -->
+<!ENTITY subrarr "&#x02979;" ><!--subset, right arrow -->
+<!ENTITY subsim "&#x02AC7;" ><!--subset, similar -->
+<!ENTITY subsub "&#x02AD5;" ><!--subset above subset -->
+<!ENTITY subsup "&#x02AD3;" ><!--subset above superset -->
+<!ENTITY Sup "&#x022D1;" ><!--/Supset R: dbl superset -->
+<!ENTITY supdsub "&#x02AD8;" ><!--superset, subset, dash joining them -->
+<!ENTITY supE "&#x02287;" ><!--/supseteqq R: superset, dbl equals -->
+<!ENTITY supedot "&#x02AC4;" ><!--superset, equals, dot -->
+<!ENTITY suphsol "&#x02283;&#x00338;" ><!--superset, solidus -->
+<!ENTITY suphsub "&#x02AD7;" ><!--superset, subset -->
+<!ENTITY suplarr "&#x0297B;" ><!--superset, left arrow -->
+<!ENTITY supmult "&#x02AC2;" ><!--superset, multiply -->
+<!ENTITY supplus "&#x02AC0;" ><!--superset, plus -->
+<!ENTITY supsim "&#x02AC8;" ><!--superset, similar -->
+<!ENTITY supsub "&#x02AD4;" ><!--superset above subset -->
+<!ENTITY supsup "&#x02AD6;" ><!--superset above superset -->
+<!ENTITY thkap "&#x02248;" ><!--/thickapprox R: thick approximate -->
+<!ENTITY topfork "&#x02ADA;" ><!--fork with top -->
+<!ENTITY trie "&#x0225C;" ><!--/triangleq R: triangle, equals -->
+<!ENTITY twixt "&#x0226C;" ><!--/between R: between -->
+<!ENTITY Vbar "&#x02AEB;" ><!--dbl vert, bar (under) -->
+<!ENTITY vBar "&#x02AE8;" ><!--vert, dbl bar (under) -->
+<!ENTITY vBarv "&#x02AE9;" ><!--dbl bar, vert over and under -->
+<!ENTITY VDash "&#x022AB;" ><!--dbl vert, dbl dash -->
+<!ENTITY Vdash "&#x022A9;" ><!--/Vdash R: dbl vertical, dash -->
+<!ENTITY vDash "&#x022A8;" ><!--/vDash R: vertical, dbl dash -->
+<!ENTITY vdash "&#x022A2;" ><!--/vdash R: vertical, dash -->
+<!ENTITY Vdashl "&#x02AE6;" ><!--vertical, dash (long) -->
+<!ENTITY vltri "&#x022B2;" ><!--/vartriangleleft R: l tri, open, var -->
+<!ENTITY vprop "&#x0221D;" ><!--/varpropto R: proportional, variant -->
+<!ENTITY vrtri "&#x022B3;" ><!--/vartriangleright R: r tri, open, var -->
+<!ENTITY Vvdash "&#x022AA;" ><!--/Vvdash R: triple vertical, dash -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isogrk3.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isogrk3.ent
new file mode 100644
index 0000000..3fa1d2e
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isogrk3.ent
@@ -0,0 +1,64 @@
+
+<!--
+ File isogrk3.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY alpha "&#x003B1;" ><!--/alpha small alpha, Greek -->
+<!ENTITY beta "&#x003B2;" ><!--/beta small beta, Greek -->
+<!ENTITY chi "&#x003C7;" ><!--/chi small chi, Greek -->
+<!ENTITY Delta "&#x00394;" ><!--/Delta capital Delta, Greek -->
+<!ENTITY delta "&#x003B4;" ><!--/delta small delta, Greek -->
+<!ENTITY epsi "&#x003B5;" ><!--/straightepsilon, small epsilon, Greek -->
+<!ENTITY epsiv "&#x0025B;" ><!--/varepsilon -->
+<!ENTITY eta "&#x003B7;" ><!--/eta small eta, Greek -->
+<!ENTITY Gamma "&#x00393;" ><!--/Gamma capital Gamma, Greek -->
+<!ENTITY gamma "&#x003B3;" ><!--/gamma small gamma, Greek -->
+<!ENTITY Gammad "&#x003DC;" ><!--capital digamma -->
+<!ENTITY gammad "&#x003DC;" ><!--/digamma -->
+<!ENTITY iota "&#x003B9;" ><!--/iota small iota, Greek -->
+<!ENTITY kappa "&#x003BA;" ><!--/kappa small kappa, Greek -->
+<!ENTITY kappav "&#x003F0;" ><!--/varkappa -->
+<!ENTITY Lambda "&#x0039B;" ><!--/Lambda capital Lambda, Greek -->
+<!ENTITY lambda "&#x003BB;" ><!--/lambda small lambda, Greek -->
+<!ENTITY mu "&#x003BC;" ><!--/mu small mu, Greek -->
+<!ENTITY nu "&#x003BD;" ><!--/nu small nu, Greek -->
+<!ENTITY Omega "&#x003A9;" ><!--/Omega capital Omega, Greek -->
+<!ENTITY omega "&#x003C9;" ><!--/omega small omega, Greek -->
+<!ENTITY Phi "&#x003A6;" ><!--/Phi capital Phi, Greek -->
+<!ENTITY phi "&#x003D5;" ><!--/straightphi - small phi, Greek -->
+<!ENTITY phiv "&#x003C6;" ><!--/varphi - curly or open phi -->
+<!ENTITY Pi "&#x003A0;" ><!--/Pi capital Pi, Greek -->
+<!ENTITY pi "&#x003C0;" ><!--/pi small pi, Greek -->
+<!ENTITY piv "&#x003D6;" ><!--/varpi -->
+<!ENTITY Psi "&#x003A8;" ><!--/Psi capital Psi, Greek -->
+<!ENTITY psi "&#x003C8;" ><!--/psi small psi, Greek -->
+<!ENTITY rho "&#x003C1;" ><!--/rho small rho, Greek -->
+<!ENTITY rhov "&#x003F1;" ><!--/varrho -->
+<!ENTITY Sigma "&#x003A3;" ><!--/Sigma capital Sigma, Greek -->
+<!ENTITY sigma "&#x003C3;" ><!--/sigma small sigma, Greek -->
+<!ENTITY sigmav "&#x003C2;" ><!--/varsigma -->
+<!ENTITY tau "&#x003C4;" ><!--/tau small tau, Greek -->
+<!ENTITY Theta "&#x00398;" ><!--/Theta capital Theta, Greek -->
+<!ENTITY theta "&#x003B8;" ><!--/theta straight theta, small theta, Greek -->
+<!ENTITY thetav "&#x003D1;" ><!--/vartheta - curly or open theta -->
+<!ENTITY Upsi "&#x003D2;" ><!--/Upsilon capital Upsilon, Greek -->
+<!ENTITY upsi "&#x003C5;" ><!--/upsilon small upsilon, Greek -->
+<!ENTITY Xi "&#x0039E;" ><!--/Xi capital Xi, Greek -->
+<!ENTITY xi "&#x003BE;" ><!--/xi small xi, Greek -->
+<!ENTITY zeta "&#x003B6;" ><!--/zeta small zeta, Greek -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isogrk4.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isogrk4.ent
new file mode 100644
index 0000000..8166294
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isogrk4.ent
@@ -0,0 +1,40 @@
+
+<!--
+ File isogrk4.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY % plane1D "&#38;#38;#x1D">
+
+<!ENTITY b.alpha "%plane1D;6C2;" ><!--small alpha, Greek -->
+<!ENTITY b.beta "%plane1D;6C3;" ><!--small beta, Greek -->
+<!ENTITY b.delta "%plane1D;6C5;" ><!--small delta, Greek -->
+<!ENTITY b.epsi "%plane1D;6C6;" ><!--small epsilon, Greek -->
+<!ENTITY b.eta "%plane1D;6C8;" ><!--small eta, Greek -->
+<!ENTITY b.Gamma "%plane1D;6AA;" ><!--capital gamma, Greek -->
+<!ENTITY b.gamma "%plane1D;6C4;" ><!--small gamma, Greek -->
+<!ENTITY b.iota "%plane1D;6CA;" ><!--small iota, Greek -->
+<!ENTITY b.kappa "%plane1D;6CB;" ><!--small kappa, Greek -->
+<!ENTITY b.lambda "%plane1D;6CC;" ><!--small lambda, Greek -->
+<!ENTITY b.mu "%plane1D;6CD;" ><!--small mu, Greek -->
+<!ENTITY b.nu "%plane1D;6CE;" ><!--small nu, Greek -->
+<!ENTITY b.pi "%plane1D;6D1;" ><!--small pi, Greek -->
+<!ENTITY b.rho "%plane1D;6D2;" ><!--small rho, Greek -->
+<!ENTITY b.thetas "%plane1D;6C9;" ><!--straight theta, Greek -->
+<!ENTITY b.xi "%plane1D;6CF;" ><!--small xi, Greek -->
+<!ENTITY b.zeta "%plane1D;6C7;" ><!--small zeta, Greek -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isomfrk.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isomfrk.ent
new file mode 100644
index 0000000..eec9324
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isomfrk.ent
@@ -0,0 +1,75 @@
+
+<!--
+ File isomfrk.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY % plane1D "&#38;#38;#x1D">
+
+<!ENTITY Afr "%plane1D;504;" ><!--/frak A, upper case a -->
+<!ENTITY afr "%plane1D;51E;" ><!--/frak a, lower case a -->
+<!ENTITY Bfr "%plane1D;505;" ><!--/frak B, upper case b -->
+<!ENTITY bfr "%plane1D;51F;" ><!--/frak b, lower case b -->
+<!ENTITY Cfr "&#x0212D;" ><!--/frak C, upper case c -->
+<!ENTITY cfr "%plane1D;520;" ><!--/frak c, lower case c -->
+<!ENTITY Dfr "%plane1D;507;" ><!--/frak D, upper case d -->
+<!ENTITY dfr "%plane1D;521;" ><!--/frak d, lower case d -->
+<!ENTITY Efr "%plane1D;508;" ><!--/frak E, upper case e -->
+<!ENTITY efr "%plane1D;522;" ><!--/frak e, lower case e -->
+<!ENTITY Ffr "%plane1D;509;" ><!--/frak F, upper case f -->
+<!ENTITY ffr "%plane1D;523;" ><!--/frak f, lower case f -->
+<!ENTITY Gfr "%plane1D;50A;" ><!--/frak G, upper case g -->
+<!ENTITY gfr "%plane1D;524;" ><!--/frak g, lower case g -->
+<!ENTITY Hfr "&#x0210C;" ><!--/frak H, upper case h -->
+<!ENTITY hfr "%plane1D;525;" ><!--/frak h, lower case h -->
+<!ENTITY Ifr "&#x02111;" ><!--/frak I, upper case i -->
+<!ENTITY ifr "%plane1D;526;" ><!--/frak i, lower case i -->
+<!ENTITY Jfr "%plane1D;50D;" ><!--/frak J, upper case j -->
+<!ENTITY jfr "%plane1D;527;" ><!--/frak j, lower case j -->
+<!ENTITY Kfr "%plane1D;50E;" ><!--/frak K, upper case k -->
+<!ENTITY kfr "%plane1D;528;" ><!--/frak k, lower case k -->
+<!ENTITY Lfr "%plane1D;50F;" ><!--/frak L, upper case l -->
+<!ENTITY lfr "%plane1D;529;" ><!--/frak l, lower case l -->
+<!ENTITY Mfr "%plane1D;510;" ><!--/frak M, upper case m -->
+<!ENTITY mfr "%plane1D;52A;" ><!--/frak m, lower case m -->
+<!ENTITY Nfr "%plane1D;511;" ><!--/frak N, upper case n -->
+<!ENTITY nfr "%plane1D;52B;" ><!--/frak n, lower case n -->
+<!ENTITY Ofr "%plane1D;512;" ><!--/frak O, upper case o -->
+<!ENTITY ofr "%plane1D;52C;" ><!--/frak o, lower case o -->
+<!ENTITY Pfr "%plane1D;513;" ><!--/frak P, upper case p -->
+<!ENTITY pfr "%plane1D;52D;" ><!--/frak p, lower case p -->
+<!ENTITY Qfr "%plane1D;514;" ><!--/frak Q, upper case q -->
+<!ENTITY qfr "%plane1D;52E;" ><!--/frak q, lower case q -->
+<!ENTITY Rfr "&#x0211C;" ><!--/frak R, upper case r -->
+<!ENTITY rfr "%plane1D;52F;" ><!--/frak r, lower case r -->
+<!ENTITY Sfr "%plane1D;516;" ><!--/frak S, upper case s -->
+<!ENTITY sfr "%plane1D;530;" ><!--/frak s, lower case s -->
+<!ENTITY Tfr "%plane1D;517;" ><!--/frak T, upper case t -->
+<!ENTITY tfr "%plane1D;531;" ><!--/frak t, lower case t -->
+<!ENTITY Ufr "%plane1D;518;" ><!--/frak U, upper case u -->
+<!ENTITY ufr "%plane1D;532;" ><!--/frak u, lower case u -->
+<!ENTITY Vfr "%plane1D;519;" ><!--/frak V, upper case v -->
+<!ENTITY vfr "%plane1D;533;" ><!--/frak v, lower case v -->
+<!ENTITY Wfr "%plane1D;51A;" ><!--/frak W, upper case w -->
+<!ENTITY wfr "%plane1D;534;" ><!--/frak w, lower case w -->
+<!ENTITY Xfr "%plane1D;51B;" ><!--/frak X, upper case x -->
+<!ENTITY xfr "%plane1D;535;" ><!--/frak x, lower case x -->
+<!ENTITY Yfr "%plane1D;51C;" ><!--/frak Y, upper case y -->
+<!ENTITY yfr "%plane1D;536;" ><!--/frak y, lower case y -->
+<!ENTITY Zfr "&#x02128;" ><!--/frak Z, upper case z -->
+<!ENTITY zfr "%plane1D;537;" ><!--/frak z, lower case z -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isomopf.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isomopf.ent
new file mode 100644
index 0000000..b7c1c90
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isomopf.ent
@@ -0,0 +1,49 @@
+
+<!--
+ File isomopf.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY % plane1D "&#38;#38;#x1D">
+
+<!ENTITY Aopf "%plane1D;538;" ><!--/Bbb A, open face A -->
+<!ENTITY Bopf "%plane1D;539;" ><!--/Bbb B, open face B -->
+<!ENTITY Copf "&#x02102;" ><!--/Bbb C, open face C -->
+<!ENTITY Dopf "%plane1D;53B;" ><!--/Bbb D, open face D -->
+<!ENTITY Eopf "%plane1D;53C;" ><!--/Bbb E, open face E -->
+<!ENTITY Fopf "%plane1D;53D;" ><!--/Bbb F, open face F -->
+<!ENTITY Gopf "%plane1D;53E;" ><!--/Bbb G, open face G -->
+<!ENTITY Hopf "&#x0210D;" ><!--/Bbb H, open face H -->
+<!ENTITY Iopf "%plane1D;540;" ><!--/Bbb I, open face I -->
+<!ENTITY Jopf "%plane1D;541;" ><!--/Bbb J, open face J -->
+<!ENTITY Kopf "%plane1D;542;" ><!--/Bbb K, open face K -->
+<!ENTITY Lopf "%plane1D;543;" ><!--/Bbb L, open face L -->
+<!ENTITY Mopf "%plane1D;544;" ><!--/Bbb M, open face M -->
+<!ENTITY Nopf "&#x02115;" ><!--/Bbb N, open face N -->
+<!ENTITY Oopf "%plane1D;546;" ><!--/Bbb O, open face O -->
+<!ENTITY Popf "&#x02119;" ><!--/Bbb P, open face P -->
+<!ENTITY Qopf "&#x0211A;" ><!--/Bbb Q, open face Q -->
+<!ENTITY Ropf "&#x0211D;" ><!--/Bbb R, open face R -->
+<!ENTITY Sopf "%plane1D;54A;" ><!--/Bbb S, open face S -->
+<!ENTITY Topf "%plane1D;54B;" ><!--/Bbb T, open face T -->
+<!ENTITY Uopf "%plane1D;54C;" ><!--/Bbb U, open face U -->
+<!ENTITY Vopf "%plane1D;54D;" ><!--/Bbb V, open face V -->
+<!ENTITY Wopf "%plane1D;54E;" ><!--/Bbb W, open face W -->
+<!ENTITY Xopf "%plane1D;54F;" ><!--/Bbb X, open face X -->
+<!ENTITY Yopf "%plane1D;550;" ><!--/Bbb Y, open face Y -->
+<!ENTITY Zopf "&#x02124;" ><!--/Bbb Z, open face Z -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isomscr.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isomscr.ent
new file mode 100644
index 0000000..4369d73
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isomscr.ent
@@ -0,0 +1,75 @@
+
+<!--
+ File isomscr.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY % plane1D "&#38;#38;#x1D">
+
+<!ENTITY Ascr "%plane1D;49C;" ><!--/scr A, script letter A -->
+<!ENTITY ascr "%plane1D;4B6;" ><!--/scr a, script letter a -->
+<!ENTITY Bscr "&#x0212C;" ><!--/scr B, script letter B -->
+<!ENTITY bscr "%plane1D;4B7;" ><!--/scr b, script letter b -->
+<!ENTITY Cscr "%plane1D;49E;" ><!--/scr C, script letter C -->
+<!ENTITY cscr "%plane1D;4B8;" ><!--/scr c, script letter c -->
+<!ENTITY Dscr "%plane1D;49F;" ><!--/scr D, script letter D -->
+<!ENTITY dscr "%plane1D;4B9;" ><!--/scr d, script letter d -->
+<!ENTITY Escr "&#x02130;" ><!--/scr E, script letter E -->
+<!ENTITY escr "&#x0212F;" ><!--/scr e, script letter e -->
+<!ENTITY Fscr "&#x02131;" ><!--/scr F, script letter F -->
+<!ENTITY fscr "%plane1D;4BB;" ><!--/scr f, script letter f -->
+<!ENTITY Gscr "%plane1D;4A2;" ><!--/scr G, script letter G -->
+<!ENTITY gscr "&#x0210A;" ><!--/scr g, script letter g -->
+<!ENTITY Hscr "&#x0210B;" ><!--/scr H, script letter H -->
+<!ENTITY hscr "%plane1D;4BD;" ><!--/scr h, script letter h -->
+<!ENTITY Iscr "&#x02110;" ><!--/scr I, script letter I -->
+<!ENTITY iscr "%plane1D;4BE;" ><!--/scr i, script letter i -->
+<!ENTITY Jscr "%plane1D;4A5;" ><!--/scr J, script letter J -->
+<!ENTITY jscr "%plane1D;4BF;" ><!--/scr j, script letter j -->
+<!ENTITY Kscr "%plane1D;4A6;" ><!--/scr K, script letter K -->
+<!ENTITY kscr "%plane1D;4C0;" ><!--/scr k, script letter k -->
+<!ENTITY Lscr "&#x02112;" ><!--/scr L, script letter L -->
+<!ENTITY lscr "&#x02113;" ><!--/scr l, script letter l -->
+<!ENTITY Mscr "&#x02133;" ><!--/scr M, script letter M -->
+<!ENTITY mscr "%plane1D;4C2;" ><!--/scr m, script letter m -->
+<!ENTITY Nscr "%plane1D;4A9;" ><!--/scr N, script letter N -->
+<!ENTITY nscr "%plane1D;4C3;" ><!--/scr n, script letter n -->
+<!ENTITY Oscr "%plane1D;4AA;" ><!--/scr O, script letter O -->
+<!ENTITY oscr "&#x02134;" ><!--/scr o, script letter o -->
+<!ENTITY Pscr "%plane1D;4AB;" ><!--/scr P, script letter P -->
+<!ENTITY pscr "%plane1D;4C5;" ><!--/scr p, script letter p -->
+<!ENTITY Qscr "%plane1D;4AC;" ><!--/scr Q, script letter Q -->
+<!ENTITY qscr "%plane1D;4C6;" ><!--/scr q, script letter q -->
+<!ENTITY Rscr "&#x0211B;" ><!--/scr R, script letter R -->
+<!ENTITY rscr "%plane1D;4C7;" ><!--/scr r, script letter r -->
+<!ENTITY Sscr "%plane1D;4AE;" ><!--/scr S, script letter S -->
+<!ENTITY sscr "%plane1D;4C8;" ><!--/scr s, script letter s -->
+<!ENTITY Tscr "%plane1D;4AF;" ><!--/scr T, script letter T -->
+<!ENTITY tscr "%plane1D;4C9;" ><!--/scr t, script letter t -->
+<!ENTITY Uscr "%plane1D;4B0;" ><!--/scr U, script letter U -->
+<!ENTITY uscr "%plane1D;4CA;" ><!--/scr u, script letter u -->
+<!ENTITY Vscr "%plane1D;4B1;" ><!--/scr V, script letter V -->
+<!ENTITY vscr "%plane1D;4CB;" ><!--/scr v, script letter v -->
+<!ENTITY Wscr "%plane1D;4B2;" ><!--/scr W, script letter W -->
+<!ENTITY wscr "%plane1D;4CC;" ><!--/scr w, script letter w -->
+<!ENTITY Xscr "%plane1D;4B3;" ><!--/scr X, script letter X -->
+<!ENTITY xscr "%plane1D;4CD;" ><!--/scr x, script letter x -->
+<!ENTITY Yscr "%plane1D;4B4;" ><!--/scr Y, script letter Y -->
+<!ENTITY yscr "%plane1D;4CE;" ><!--/scr y, script letter y -->
+<!ENTITY Zscr "%plane1D;4B5;" ><!--/scr Z, script letter Z -->
+<!ENTITY zscr "%plane1D;4CF;" ><!--/scr z, script letter z -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isotech.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isotech.ent
new file mode 100644
index 0000000..9cbf44d
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/iso9573-13/isotech.ent
@@ -0,0 +1,182 @@
+
+<!--
+ File isotech.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ References to the VARIANT SELECTOR 1 character (&#x0FE00;)
+ should match the uses listed in Unicode Technical Report 25.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY % plane1D "&#38;#38;#x1D">
+
+<!ENTITY acd "&#x0223F;" ><!--ac current -->
+<!ENTITY aleph "&#x02135;" ><!--/aleph aleph, Hebrew -->
+<!ENTITY And "&#x02A53;" ><!--dbl logical and -->
+<!ENTITY and "&#x02227;" ><!--/wedge /land B: logical and -->
+<!ENTITY andand "&#x02A55;" ><!--two logical and -->
+<!ENTITY andd "&#x02A5C;" ><!--and, horizontal dash -->
+<!ENTITY andslope "&#x02A58;" ><!--sloping large and -->
+<!ENTITY andv "&#x02A5A;" ><!--and with middle stem -->
+<!ENTITY angrt "&#x0221F;" ><!--right (90 degree) angle -->
+<!ENTITY angsph "&#x02222;" ><!--/sphericalangle angle-spherical -->
+<!ENTITY angst "&#x0212B;" ><!--Angstrom capital A, ring -->
+<!ENTITY ap "&#x02248;" ><!--/approx R: approximate -->
+<!ENTITY apacir "&#x02A6F;" ><!--approximate, circumflex accent -->
+<!ENTITY awconint "&#x02233;" ><!--contour integral, anti-clockwise -->
+<!ENTITY awint "&#x02A11;" ><!--anti clock-wise integration -->
+<!ENTITY becaus "&#x02235;" ><!--/because R: because -->
+<!ENTITY bernou "&#x0212C;" ><!--Bernoulli function (script capital B) -->
+<!ENTITY bne "&#x0003D;&#x020E5;" ><!--reverse not equal -->
+<!ENTITY bnequiv "&#x02261;&#x020E5;" ><!--reverse not equivalent -->
+<!ENTITY bNot "&#x02AED;" ><!--reverse not with two horizontal strokes -->
+<!ENTITY bnot "&#x02310;" ><!--reverse not -->
+<!ENTITY bottom "&#x022A5;" ><!--/bot bottom -->
+<!ENTITY cap "&#x02229;" ><!--/cap B: intersection -->
+<!ENTITY Cconint "&#x02230;" ><!--triple contour integral operator -->
+<!ENTITY cirfnint "&#x02A10;" ><!--circulation function -->
+<!ENTITY compfn "&#x02218;" ><!--/circ B: composite function (small circle) -->
+<!ENTITY cong "&#x02245;" ><!--/cong R: congruent with -->
+<!ENTITY Conint "&#x0222F;" ><!--double contour integral operator -->
+<!ENTITY conint "&#x0222E;" ><!--/oint L: contour integral operator -->
+<!ENTITY ctdot "&#x022EF;" ><!--/cdots, three dots, centered -->
+<!ENTITY cup "&#x0222A;" ><!--/cup B: union or logical sum -->
+<!ENTITY cwconint "&#x02232;" ><!--contour integral, clockwise -->
+<!ENTITY cwint "&#x02231;" ><!--clockwise integral -->
+<!ENTITY cylcty "&#x0232D;" ><!--cylindricity -->
+<!ENTITY disin "&#x022F2;" ><!--set membership, long horizontal stroke -->
+<!ENTITY Dot "&#x000A8;" ><!--dieresis or umlaut mark -->
+<!ENTITY DotDot "&#x020DC;" ><!--four dots above -->
+<!ENTITY dsol "&#x029F6;" ><!--solidus, bar above -->
+<!ENTITY dtdot "&#x022F1;" ><!--/ddots, three dots, descending -->
+<!ENTITY dwangle "&#x029A6;" ><!--large downward pointing angle -->
+<!ENTITY epar "&#x022D5;" ><!--parallel, equal; equal or parallel -->
+<!ENTITY eparsl "&#x029E3;" ><!--parallel, slanted, equal; homothetically congruent to -->
+<!ENTITY equiv "&#x02261;" ><!--/equiv R: identical with -->
+<!ENTITY eqvparsl "&#x029E5;" ><!--equivalent, equal; congruent and parallel -->
+<!ENTITY exist "&#x02203;" ><!--/exists at least one exists -->
+<!ENTITY fnof "&#x00192;" ><!--function of (italic small f) -->
+<!ENTITY forall "&#x02200;" ><!--/forall for all -->
+<!ENTITY fpartint "&#x02A0D;" ><!--finite part integral -->
+<!ENTITY ge "&#x02265;" ><!--/geq /ge R: greater-than-or-equal -->
+<!ENTITY hamilt "&#x0210B;" ><!--Hamiltonian (script capital H) -->
+<!ENTITY iff "&#x021D4;" ><!--/iff if and only if -->
+<!ENTITY iinfin "&#x029DC;" ><!--infinity sign, incomplete -->
+<!ENTITY imped "%plane1D;543;" ><!--impedance -->
+<!ENTITY infin "&#x0221E;" ><!--/infty infinity -->
+<!ENTITY Int "&#x0222C;" ><!--double integral operator -->
+<!ENTITY int "&#x0222B;" ><!--/int L: integral operator -->
+<!ENTITY intlarhk "&#x02A17;" ><!--integral, left arrow with hook -->
+<!ENTITY isin "&#x02208;" ><!--/in R: set membership -->
+<!ENTITY isindot "&#x022F5;" ><!--set membership, dot above -->
+<!ENTITY isinE "&#x022F9;" ><!--set membership, two horizontal strokes -->
+<!ENTITY isins "&#x022F4;" ><!--set membership, vertical bar on horizontal stroke -->
+<!ENTITY isinsv "&#x022F3;" ><!--large set membership, vertical bar on horizontal stroke -->
+<!ENTITY isinv "&#x02208;" ><!--set membership, variant -->
+<!ENTITY lagran "&#x02112;" ><!--Lagrangian (script capital L) -->
+<!ENTITY Lang "&#x0300A;" ><!--left angle bracket, double -->
+<!ENTITY lang "&#x02329;" ><!--/langle O: left angle bracket -->
+<!ENTITY lArr "&#x021D0;" ><!--/Leftarrow A: is implied by -->
+<!ENTITY lbbrk "&#x03014;" ><!--left broken bracket -->
+<!ENTITY le "&#x02264;" ><!--/leq /le R: less-than-or-equal -->
+<!ENTITY loang "&#x02989;" ><!--left open angular bracket -->
+<!ENTITY lobrk "&#x0301A;" ><!--left open bracket -->
+<!ENTITY lopar "&#x02985;" ><!--left open parenthesis -->
+<!ENTITY lowast "&#x02217;" ><!--low asterisk -->
+<!ENTITY minus "&#x02212;" ><!--B: minus sign -->
+<!ENTITY mnplus "&#x02213;" ><!--/mp B: minus-or-plus sign -->
+<!ENTITY nabla "&#x02207;" ><!--/nabla del, Hamilton operator -->
+<!ENTITY ne "&#x02260;" ><!--/ne /neq R: not equal -->
+<!ENTITY nedot "&#x02260;&#x00307;" ><!--not equal, dot -->
+<!ENTITY nhpar "&#x02AF2;" ><!--not, horizontal, parallel -->
+<!ENTITY ni "&#x0220B;" ><!--/ni /owns R: contains -->
+<!ENTITY nis "&#x022FC;" ><!--contains, vertical bar on horizontal stroke -->
+<!ENTITY nisd "&#x022FA;" ><!--contains, long horizontal stroke -->
+<!ENTITY niv "&#x0220B;" ><!--contains, variant -->
+<!ENTITY Not "&#x02AEC;" ><!--not with two horizontal strokes -->
+<!ENTITY notin "&#x02209;" ><!--/notin N: negated set membership -->
+<!ENTITY notindot "&#x02209;&#x00307;" ><!--negated set membership, dot above -->
+<!ENTITY notinva "&#x02209;" ><!--negated set membership, variant -->
+<!ENTITY notinvb "&#x022F7;" ><!--negated set membership, variant -->
+<!ENTITY notinvc "&#x022F6;" ><!--negated set membership, variant -->
+<!ENTITY notni "&#x0220C;" ><!--negated contains -->
+<!ENTITY notniva "&#x0220C;" ><!--negated contains, variant -->
+<!ENTITY notnivb "&#x022FE;" ><!--contains, variant -->
+<!ENTITY notnivc "&#x022FD;" ><!--contains, variant -->
+<!ENTITY nparsl "&#x02225;&#x0FE00;&#x020E5;" ><!--not parallel, slanted -->
+<!ENTITY npart "&#x02202;&#x00338;" ><!--not partial differential -->
+<!ENTITY npolint "&#x02A14;" ><!--line integration, not including the pole -->
+<!ENTITY nvinfin "&#x029DE;" ><!--not, vert, infinity -->
+<!ENTITY olcross "&#x029BB;" ><!--circle, cross -->
+<!ENTITY Or "&#x02A54;" ><!--dbl logical or -->
+<!ENTITY or "&#x02228;" ><!--/vee /lor B: logical or -->
+<!ENTITY ord "&#x02A5D;" ><!--or, horizontal dash -->
+<!ENTITY order "&#x02134;" ><!--order of (script small o) -->
+<!ENTITY oror "&#x02A56;" ><!--two logical or -->
+<!ENTITY orslope "&#x02A57;" ><!--sloping large or -->
+<!ENTITY orv "&#x02A5B;" ><!--or with middle stem -->
+<!ENTITY par "&#x02225;" ><!--/parallel R: parallel -->
+<!ENTITY parsl "&#x02225;&#x0FE00;" ><!--parallel, slanted -->
+<!ENTITY part "&#x02202;" ><!--/partial partial differential -->
+<!ENTITY permil "&#x02030;" ><!--per thousand -->
+<!ENTITY perp "&#x022A5;" ><!--/perp R: perpendicular -->
+<!ENTITY pertenk "&#x02031;" ><!--per 10 thousand -->
+<!ENTITY phmmat "&#x02133;" ><!--physics M-matrix (script capital M) -->
+<!ENTITY pointint "&#x02A15;" ><!--integral around a point operator -->
+<!ENTITY Prime "&#x02033;" ><!--double prime or second -->
+<!ENTITY prime "&#x02032;" ><!--/prime prime or minute -->
+<!ENTITY profalar "&#x0232E;" ><!--all-around profile -->
+<!ENTITY profline "&#x02312;" ><!--profile of a line -->
+<!ENTITY profsurf "&#x02313;" ><!--profile of a surface -->
+<!ENTITY prop "&#x0221D;" ><!--/propto R: is proportional to -->
+<!ENTITY qint "&#x02A0C;" ><!--/iiiint quadruple integral operator -->
+<!ENTITY qprime "&#x02057;" ><!--quadruple prime -->
+<!ENTITY quatint "&#x02A16;" ><!--quaternion integral operator -->
+<!ENTITY radic "&#x0221A;" ><!--/surd radical -->
+<!ENTITY Rang "&#x0300B;" ><!--right angle bracket, double -->
+<!ENTITY rang "&#x0232A;" ><!--/rangle C: right angle bracket -->
+<!ENTITY rArr "&#x021D2;" ><!--/Rightarrow A: implies -->
+<!ENTITY rbbrk "&#x03015;" ><!--right broken bracket -->
+<!ENTITY roang "&#x0298A;" ><!--right open angular bracket -->
+<!ENTITY robrk "&#x0301B;" ><!--right open bracket -->
+<!ENTITY ropar "&#x02986;" ><!--right open parenthesis -->
+<!ENTITY rppolint "&#x02A12;" ><!--line integration, rectangular path around pole -->
+<!ENTITY scpolint "&#x02A13;" ><!--line integration, semi-circular path around pole -->
+<!ENTITY sim "&#x0223C;" ><!--/sim R: similar -->
+<!ENTITY simdot "&#x02A6A;" ><!--similar, dot -->
+<!ENTITY sime "&#x02243;" ><!--/simeq R: similar, equals -->
+<!ENTITY smeparsl "&#x029E4;" ><!--similar, parallel, slanted, equal -->
+<!ENTITY square "&#x025A1;" ><!--/square, square -->
+<!ENTITY squarf "&#x025AA;" ><!--/blacksquare, square, filled -->
+<!ENTITY sub "&#x02282;" ><!--/subset R: subset or is implied by -->
+<!ENTITY sube "&#x02286;" ><!--/subseteq R: subset, equals -->
+<!ENTITY sup "&#x02283;" ><!--/supset R: superset or implies -->
+<!ENTITY supe "&#x02287;" ><!--/supseteq R: superset, equals -->
+<!ENTITY tdot "&#x020DB;" ><!--three dots above -->
+<!ENTITY there4 "&#x02234;" ><!--/therefore R: therefore -->
+<!ENTITY tint "&#x0222D;" ><!--/iiint triple integral operator -->
+<!ENTITY top "&#x022A4;" ><!--/top top -->
+<!ENTITY topbot "&#x02336;" ><!--top and bottom -->
+<!ENTITY topcir "&#x02AF1;" ><!--top, circle below -->
+<!ENTITY tprime "&#x02034;" ><!--triple prime -->
+<!ENTITY utdot "&#x022F0;" ><!--three dots, ascending -->
+<!ENTITY uwangle "&#x029A7;" ><!--large upward pointing angle -->
+<!ENTITY vangrt "&#x022BE;" ><!--right angle, variant -->
+<!ENTITY veeeq "&#x0225A;" ><!--logical or, equals -->
+<!ENTITY Verbar "&#x02016;" ><!--/Vert dbl vertical bar -->
+<!ENTITY wedgeq "&#x02259;" ><!--/wedgeq R: corresponds to (wedge, equals) -->
+<!ENTITY xnis "&#x022FB;" ><!--large contains, vertical bar on horizontal stroke -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isoamsa.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isoamsa.ent
new file mode 100644
index 0000000..543248b
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isoamsa.ent
@@ -0,0 +1,173 @@
+
+<!--
+ File isoamsa.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY angzarr "&#x0237C;" ><!--angle with down zig-zag arrow -->
+<!ENTITY cirmid "&#x02AEF;" ><!--circle, mid below -->
+<!ENTITY cudarrl "&#x02938;" ><!--left, curved, down arrow -->
+<!ENTITY cudarrr "&#x02935;" ><!--right, curved, down arrow -->
+<!ENTITY cularr "&#x021B6;" ><!--/curvearrowleft A: left curved arrow -->
+<!ENTITY cularrp "&#x0293D;" ><!--curved left arrow with plus -->
+<!ENTITY curarr "&#x021B7;" ><!--/curvearrowright A: rt curved arrow -->
+<!ENTITY curarrm "&#x0293C;" ><!--curved right arrow with minus -->
+<!ENTITY dArr "&#x021D3;" ><!--/Downarrow A: down dbl arrow -->
+<!ENTITY Darr "&#x021A1;" ><!--down two-headed arrow -->
+<!ENTITY ddarr "&#x021CA;" ><!--/downdownarrows A: two down arrows -->
+<!ENTITY DDotrahd "&#x02911;" ><!--right arrow with dotted stem -->
+<!ENTITY dfisht "&#x0297F;" ><!--down fish tail -->
+<!ENTITY dHar "&#x02965;" ><!--down harpoon-left, down harpoon-right -->
+<!ENTITY dharl "&#x021C3;" ><!--/downharpoonleft A: dn harpoon-left -->
+<!ENTITY dharr "&#x021C2;" ><!--/downharpoonright A: down harpoon-rt -->
+<!ENTITY duarr "&#x021F5;" ><!--down arrow, up arrow -->
+<!ENTITY duhar "&#x0296F;" ><!--down harp, up harp -->
+<!ENTITY dzigrarr "&#x027FF;" ><!--right long zig-zag arrow -->
+<!ENTITY erarr "&#x02971;" ><!--equal, right arrow below -->
+<!ENTITY harr "&#x02194;" ><!--/leftrightarrow A: l&r arrow -->
+<!ENTITY hArr "&#x021D4;" ><!--/Leftrightarrow A: l&r dbl arrow -->
+<!ENTITY harrcir "&#x02948;" ><!--left and right arrow with a circle -->
+<!ENTITY harrw "&#x021AD;" ><!--/leftrightsquigarrow A: l&r arr-wavy -->
+<!ENTITY hoarr "&#x021FF;" ><!--horizontal open arrow -->
+<!ENTITY imof "&#x022B7;" ><!--image of -->
+<!ENTITY lAarr "&#x021DA;" ><!--/Lleftarrow A: left triple arrow -->
+<!ENTITY Larr "&#x0219E;" ><!--/twoheadleftarrow A: -->
+<!ENTITY larrbfs "&#x0291F;" ><!--left arrow-bar, filled square -->
+<!ENTITY larrfs "&#x0291D;" ><!--left arrow, filled square -->
+<!ENTITY larrhk "&#x021A9;" ><!--/hookleftarrow A: left arrow-hooked -->
+<!ENTITY larrlp "&#x021AB;" ><!--/looparrowleft A: left arrow-looped -->
+<!ENTITY larrpl "&#x02939;" ><!--left arrow, plus -->
+<!ENTITY larrsim "&#x02973;" ><!--left arrow, similar -->
+<!ENTITY larrtl "&#x021A2;" ><!--/leftarrowtail A: left arrow-tailed -->
+<!ENTITY latail "&#x02919;" ><!--left arrow-tail -->
+<!ENTITY lAtail "&#x0291B;" ><!--left double arrow-tail -->
+<!ENTITY lbarr "&#x0290C;" ><!--left broken arrow -->
+<!ENTITY lBarr "&#x0290E;" ><!--left doubly broken arrow -->
+<!ENTITY ldca "&#x02936;" ><!--left down curved arrow -->
+<!ENTITY ldrdhar "&#x02967;" ><!--left harpoon-down over right harpoon-down -->
+<!ENTITY ldrushar "&#x0294B;" ><!--left-down-right-up harpoon -->
+<!ENTITY ldsh "&#x021B2;" ><!--left down angled arrow -->
+<!ENTITY lfisht "&#x0297C;" ><!--left fish tail -->
+<!ENTITY lHar "&#x02962;" ><!--left harpoon-up over left harpoon-down -->
+<!ENTITY lhard "&#x021BD;" ><!--/leftharpoondown A: l harpoon-down -->
+<!ENTITY lharu "&#x021BC;" ><!--/leftharpoonup A: left harpoon-up -->
+<!ENTITY lharul "&#x0296A;" ><!--left harpoon-up over long dash -->
+<!ENTITY llarr "&#x021C7;" ><!--/leftleftarrows A: two left arrows -->
+<!ENTITY llhard "&#x0296B;" ><!--left harpoon-down below long dash -->
+<!ENTITY loarr "&#x021FD;" ><!--left open arrow -->
+<!ENTITY lrarr "&#x021C6;" ><!--/leftrightarrows A: l arr over r arr -->
+<!ENTITY lrhar "&#x021CB;" ><!--/leftrightharpoons A: l harp over r -->
+<!ENTITY lrhard "&#x0296D;" ><!--right harpoon-down below long dash -->
+<!ENTITY lsh "&#x021B0;" ><!--/Lsh A: -->
+<!ENTITY lurdshar "&#x0294A;" ><!--left-up-right-down harpoon -->
+<!ENTITY luruhar "&#x02966;" ><!--left harpoon-up over right harpoon-up -->
+<!ENTITY map "&#x021A6;" ><!--/mapsto A: -->
+<!ENTITY Map "&#x02905;" ><!--twoheaded mapsto -->
+<!ENTITY midcir "&#x02AF0;" ><!--mid, circle below -->
+<!ENTITY mumap "&#x022B8;" ><!--/multimap A: -->
+<!ENTITY nearhk "&#x02924;" ><!--NE arrow-hooked -->
+<!ENTITY nearr "&#x02197;" ><!--/nearrow A: NE pointing arrow -->
+<!ENTITY neArr "&#x021D7;" ><!--NE pointing dbl arrow -->
+<!ENTITY nesear "&#x02928;" ><!--/toea A: NE & SE arrows -->
+<!ENTITY nharr "&#x021AE;" ><!--/nleftrightarrow A: not l&r arrow -->
+<!ENTITY nhArr "&#x021CE;" ><!--/nLeftrightarrow A: not l&r dbl arr -->
+<!ENTITY nlarr "&#x0219A;" ><!--/nleftarrow A: not left arrow -->
+<!ENTITY nlArr "&#x021CD;" ><!--/nLeftarrow A: not implied by -->
+<!ENTITY nrarr "&#x0219B;" ><!--/nrightarrow A: not right arrow -->
+<!ENTITY nrArr "&#x021CF;" ><!--/nRightarrow A: not implies -->
+<!ENTITY nrarrc "&#x02933;&#x00338;" ><!--not right arrow-curved -->
+<!ENTITY nrarrw "&#x0219D;&#x00338;" ><!--not right arrow-wavy -->
+<!ENTITY nvHarr "&#x021CE;" ><!--not, vert, left and right double arrow -->
+<!ENTITY nvlArr "&#x021CD;" ><!--not, vert, left double arrow -->
+<!ENTITY nvrArr "&#x021CF;" ><!--not, vert, right double arrow -->
+<!ENTITY nwarhk "&#x02923;" ><!--NW arrow-hooked -->
+<!ENTITY nwarr "&#x02196;" ><!--/nwarrow A: NW pointing arrow -->
+<!ENTITY nwArr "&#x021D6;" ><!--NW pointing dbl arrow -->
+<!ENTITY nwnear "&#x02927;" ><!--NW & NE arrows -->
+<!ENTITY olarr "&#x021BA;" ><!--/circlearrowleft A: l arr in circle -->
+<!ENTITY orarr "&#x021BB;" ><!--/circlearrowright A: r arr in circle -->
+<!ENTITY origof "&#x022B6;" ><!--original of -->
+<!ENTITY rAarr "&#x021DB;" ><!--/Rrightarrow A: right triple arrow -->
+<!ENTITY Rarr "&#x021A0;" ><!--/twoheadrightarrow A: -->
+<!ENTITY rarrap "&#x02975;" ><!--approximate, right arrow above -->
+<!ENTITY rarrbfs "&#x02920;" ><!--right arrow-bar, filled square -->
+<!ENTITY rarrc "&#x02933;" ><!--right arrow-curved -->
+<!ENTITY rarrfs "&#x0291E;" ><!--right arrow, filled square -->
+<!ENTITY rarrhk "&#x021AA;" ><!--/hookrightarrow A: rt arrow-hooked -->
+<!ENTITY rarrlp "&#x021AC;" ><!--/looparrowright A: rt arrow-looped -->
+<!ENTITY rarrpl "&#x02945;" ><!--right arrow, plus -->
+<!ENTITY rarrsim "&#x02974;" ><!--right arrow, similar -->
+<!ENTITY rarrtl "&#x021A3;" ><!--/rightarrowtail A: rt arrow-tailed -->
+<!ENTITY Rarrtl "&#x02916;" ><!--right two-headed arrow with tail -->
+<!ENTITY rarrw "&#x0219D;" ><!--/rightsquigarrow A: rt arrow-wavy -->
+<!ENTITY ratail "&#x021A3;" ><!--right arrow-tail -->
+<!ENTITY rAtail "&#x0291C;" ><!--right double arrow-tail -->
+<!ENTITY rbarr "&#x0290D;" ><!--/bkarow A: right broken arrow -->
+<!ENTITY rBarr "&#x0290F;" ><!--/dbkarow A: right doubly broken arrow -->
+<!ENTITY RBarr "&#x02910;" ><!--/drbkarow A: twoheaded right broken arrow -->
+<!ENTITY rdca "&#x02937;" ><!--right down curved arrow -->
+<!ENTITY rdldhar "&#x02969;" ><!--right harpoon-down over left harpoon-down -->
+<!ENTITY rdsh "&#x021B3;" ><!--right down angled arrow -->
+<!ENTITY rfisht "&#x0297D;" ><!--right fish tail -->
+<!ENTITY rHar "&#x02964;" ><!--right harpoon-up over right harpoon-down -->
+<!ENTITY rhard "&#x021C1;" ><!--/rightharpoondown A: rt harpoon-down -->
+<!ENTITY rharu "&#x021C0;" ><!--/rightharpoonup A: rt harpoon-up -->
+<!ENTITY rharul "&#x0296C;" ><!--right harpoon-up over long dash -->
+<!ENTITY rlarr "&#x021C4;" ><!--/rightleftarrows A: r arr over l arr -->
+<!ENTITY rlhar "&#x021CC;" ><!--/rightleftharpoons A: r harp over l -->
+<!ENTITY roarr "&#x021FE;" ><!--right open arrow -->
+<!ENTITY rrarr "&#x021C9;" ><!--/rightrightarrows A: two rt arrows -->
+<!ENTITY rsh "&#x021B1;" ><!--/Rsh A: -->
+<!ENTITY ruluhar "&#x02968;" ><!--right harpoon-up over left harpoon-up -->
+<!ENTITY searhk "&#x02925;" ><!--/hksearow A: SE arrow-hooken -->
+<!ENTITY searr "&#x02198;" ><!--/searrow A: SE pointing arrow -->
+<!ENTITY seArr "&#x021D8;" ><!--SE pointing dbl arrow -->
+<!ENTITY seswar "&#x02929;" ><!--/tosa A: SE & SW arrows -->
+<!ENTITY simrarr "&#x02972;" ><!--similar, right arrow below -->
+<!ENTITY slarr "&#x02190;&#x0FE00;" ><!--short left arrow -->
+<!ENTITY srarr "&#x02192;&#x0FE00;" ><!--short right arrow -->
+<!ENTITY swarhk "&#x02926;" ><!--/hkswarow A: SW arrow-hooked -->
+<!ENTITY swarr "&#x02199;" ><!--/swarrow A: SW pointing arrow -->
+<!ENTITY swArr "&#x021D9;" ><!--SW pointing dbl arrow -->
+<!ENTITY swnwar "&#x0292A;" ><!--SW & NW arrows -->
+<!ENTITY uArr "&#x021D1;" ><!--/Uparrow A: up dbl arrow -->
+<!ENTITY Uarr "&#x0219F;" ><!--up two-headed arrow -->
+<!ENTITY Uarrocir "&#x02949;" ><!--up two-headed arrow above circle -->
+<!ENTITY udarr "&#x021C5;" ><!--up arrow, down arrow -->
+<!ENTITY udhar "&#x0296E;" ><!--up harp, down harp -->
+<!ENTITY ufisht "&#x0297E;" ><!--up fish tail -->
+<!ENTITY uHar "&#x02963;" ><!--up harpoon-left, up harpoon-right -->
+<!ENTITY uharl "&#x021BF;" ><!--/upharpoonleft A: up harpoon-left -->
+<!ENTITY uharr "&#x021BE;" ><!--/upharpoonright /restriction A: up harp-r -->
+<!ENTITY uuarr "&#x021C8;" ><!--/upuparrows A: two up arrows -->
+<!ENTITY varr "&#x02195;" ><!--/updownarrow A: up&down arrow -->
+<!ENTITY vArr "&#x021D5;" ><!--/Updownarrow A: up&down dbl arrow -->
+<!ENTITY xharr "&#x027F7;" ><!--/longleftrightarrow A: long l&r arr -->
+<!ENTITY xhArr "&#x027FA;" ><!--/Longleftrightarrow A: long l&r dbl arr -->
+<!ENTITY xlarr "&#x027F5;" ><!--/longleftarrow A: long left arrow -->
+<!ENTITY xlArr "&#x027F8;" ><!--/Longleftarrow A: long l dbl arrow -->
+<!ENTITY xmap "&#x027FC;" ><!--/longmapsto A: -->
+<!ENTITY xrarr "&#x027F6;" ><!--/longrightarrow A: long right arrow -->
+<!ENTITY xrArr "&#x027F9;" ><!--/Longrightarrow A: long rt dbl arr -->
+<!ENTITY zigrarr "&#x021DD;" ><!--right zig-zag arrow -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isoamsb.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isoamsb.ent
new file mode 100644
index 0000000..0137313
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isoamsb.ent
@@ -0,0 +1,146 @@
+
+<!--
+ File isoamsb.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY ac "&#x0290F;" ><!--most positive -->
+<!ENTITY acE "&#x029DB;" ><!--most positive, two lines below -->
+<!ENTITY amalg "&#x02A3F;" ><!--/amalg B: amalgamation or coproduct -->
+<!ENTITY barvee "&#x022BD;" ><!--bar, vee -->
+<!ENTITY barwed "&#x022BC;" ><!--/barwedge B: logical and, bar above -->
+<!ENTITY Barwed "&#x02306;" ><!--/doublebarwedge B: log and, dbl bar above -->
+<!ENTITY bsolb "&#x029C5;" ><!--reverse solidus in square -->
+<!ENTITY Cap "&#x022D2;" ><!--/Cap /doublecap B: dbl intersection -->
+<!ENTITY capand "&#x02A44;" ><!--intersection, and -->
+<!ENTITY capbrcup "&#x02A49;" ><!--intersection, bar, union -->
+<!ENTITY capcap "&#x02A4B;" ><!--intersection, intersection, joined -->
+<!ENTITY capcup "&#x02A47;" ><!--intersection above union -->
+<!ENTITY capdot "&#x02A40;" ><!--intersection, with dot -->
+<!ENTITY caps "&#x02229;&#x0FE00;" ><!--intersection, serifs -->
+<!ENTITY ccaps "&#x02A4D;" ><!--closed intersection, serifs -->
+<!ENTITY ccups "&#x02A4C;" ><!--closed union, serifs -->
+<!ENTITY ccupssm "&#x02A50;" ><!--closed union, serifs, smash product -->
+<!ENTITY coprod "&#x02210;" ><!--/coprod L: coproduct operator -->
+<!ENTITY Cup "&#x022D3;" ><!--/Cup /doublecup B: dbl union -->
+<!ENTITY cupbrcap "&#x02A48;" ><!--union, bar, intersection -->
+<!ENTITY cupcap "&#x02A46;" ><!--union above intersection -->
+<!ENTITY cupcup "&#x02A4A;" ><!--union, union, joined -->
+<!ENTITY cupdot "&#x0228D;" ><!--union, with dot -->
+<!ENTITY cupor "&#x02A45;" ><!--union, or -->
+<!ENTITY cups "&#x0222A;&#x0FE00;" ><!--union, serifs -->
+<!ENTITY cuvee "&#x022CE;" ><!--/curlyvee B: curly logical or -->
+<!ENTITY cuwed "&#x022CF;" ><!--/curlywedge B: curly logical and -->
+<!ENTITY dagger "&#x02020;" ><!--/dagger B: dagger relation -->
+<!ENTITY Dagger "&#x02021;" ><!--/ddagger B: double dagger relation -->
+<!ENTITY diam "&#x022C4;" ><!--/diamond B: open diamond -->
+<!ENTITY divonx "&#x022C7;" ><!--/divideontimes B: division on times -->
+<!ENTITY eplus "&#x02A71;" ><!--equal, plus -->
+<!ENTITY hercon "&#x022B9;" ><!--hermitian conjugate matrix -->
+<!ENTITY intcal "&#x022BA;" ><!--/intercal B: intercal -->
+<!ENTITY iprod "&#x02A3C;" ><!--/intprod -->
+<!ENTITY loplus "&#x02A2D;" ><!--plus sign in left half circle -->
+<!ENTITY lotimes "&#x02A34;" ><!--multiply sign in left half circle -->
+<!ENTITY lthree "&#x022CB;" ><!--/leftthreetimes B: -->
+<!ENTITY ltimes "&#x022C9;" ><!--/ltimes B: times sign, left closed -->
+<!ENTITY midast "&#x0002A;" ><!--/ast B: asterisk -->
+<!ENTITY minusb "&#x0229F;" ><!--/boxminus B: minus sign in box -->
+<!ENTITY minusd "&#x02238;" ><!--/dotminus B: minus sign, dot above -->
+<!ENTITY minusdu "&#x02A2A;" ><!--minus sign, dot below -->
+<!ENTITY ncap "&#x02A43;" ><!--bar, intersection -->
+<!ENTITY ncup "&#x02A42;" ><!--bar, union -->
+<!ENTITY oast "&#x0229B;" ><!--/circledast B: asterisk in circle -->
+<!ENTITY ocir "&#x0229A;" ><!--/circledcirc B: small circle in circle -->
+<!ENTITY odash "&#x0229D;" ><!--/circleddash B: hyphen in circle -->
+<!ENTITY odiv "&#x02A38;" ><!--divide in circle -->
+<!ENTITY odot "&#x02299;" ><!--/odot B: middle dot in circle -->
+<!ENTITY odsold "&#x029BC;" ><!--dot, solidus, dot in circle -->
+<!ENTITY ofcir "&#x029BF;" ><!--filled circle in circle -->
+<!ENTITY ogt "&#x029C1;" ><!--greater-than in circle -->
+<!ENTITY ohbar "&#x029B5;" ><!--circle with horizontal bar -->
+<!ENTITY olcir "&#x029BE;" ><!--large circle in circle -->
+<!ENTITY olt "&#x029C0;" ><!--less-than in circle -->
+<!ENTITY omid "&#x029B6;" ><!--vertical bar in circle -->
+<!ENTITY ominus "&#x02296;" ><!--/ominus B: minus sign in circle -->
+<!ENTITY opar "&#x029B7;" ><!--parallel in circle -->
+<!ENTITY operp "&#x029B9;" ><!--perpendicular in circle -->
+<!ENTITY oplus "&#x02295;" ><!--/oplus B: plus sign in circle -->
+<!ENTITY osol "&#x02298;" ><!--/oslash B: solidus in circle -->
+<!ENTITY otimes "&#x02297;" ><!--/otimes B: multiply sign in circle -->
+<!ENTITY Otimes "&#x02A37;" ><!--multiply sign in double circle -->
+<!ENTITY otimesas "&#x02A36;" ><!--multiply sign in circle, circumflex accent -->
+<!ENTITY ovbar "&#x0233D;" ><!--circle with vertical bar -->
+<!ENTITY plusacir "&#x02A23;" ><!--plus, circumflex accent above -->
+<!ENTITY plusb "&#x0229E;" ><!--/boxplus B: plus sign in box -->
+<!ENTITY pluscir "&#x02A22;" ><!--plus, small circle above -->
+<!ENTITY plusdo "&#x02214;" ><!--/dotplus B: plus sign, dot above -->
+<!ENTITY plusdu "&#x02A25;" ><!--plus sign, dot below -->
+<!ENTITY pluse "&#x02A72;" ><!--plus, equals -->
+<!ENTITY plussim "&#x02A26;" ><!--plus, similar below -->
+<!ENTITY plustwo "&#x02A27;" ><!--plus, two; Nim-addition -->
+<!ENTITY prod "&#x0220F;" ><!--/prod L: product operator -->
+<!ENTITY race "&#x029DA;" ><!--reverse most positive, line below -->
+<!ENTITY roplus "&#x02A2E;" ><!--plus sign in right half circle -->
+<!ENTITY rotimes "&#x02A35;" ><!--multiply sign in right half circle -->
+<!ENTITY rthree "&#x022CC;" ><!--/rightthreetimes B: -->
+<!ENTITY rtimes "&#x022CA;" ><!--/rtimes B: times sign, right closed -->
+<!ENTITY sdot "&#x022C5;" ><!--/cdot B: small middle dot -->
+<!ENTITY sdotb "&#x022A1;" ><!--/dotsquare /boxdot B: small dot in box -->
+<!ENTITY setmn "&#x02216;" ><!--/setminus B: reverse solidus -->
+<!ENTITY simplus "&#x02A24;" ><!--plus, similar above -->
+<!ENTITY smashp "&#x02A33;" ><!--smash product -->
+<!ENTITY solb "&#x029C4;" ><!--solidus in square -->
+<!ENTITY sqcap "&#x02293;" ><!--/sqcap B: square intersection -->
+<!ENTITY sqcaps "&#x02293;&#x0FE00;" ><!--square intersection, serifs -->
+<!ENTITY sqcup "&#x02294;" ><!--/sqcup B: square union -->
+<!ENTITY sqcups "&#x02294;&#x0FE00;" ><!--square union, serifs -->
+<!ENTITY ssetmn "&#x02216;&#x0FE00;" ><!--/smallsetminus B: sm reverse solidus -->
+<!ENTITY sstarf "&#x022C6;" ><!--/star B: small star, filled -->
+<!ENTITY subdot "&#x02ABD;" ><!--subset, with dot -->
+<!ENTITY sum "&#x02211;" ><!--/sum L: summation operator -->
+<!ENTITY supdot "&#x02ABE;" ><!--superset, with dot -->
+<!ENTITY timesb "&#x022A0;" ><!--/boxtimes B: multiply sign in box -->
+<!ENTITY timesbar "&#x02A31;" ><!--multiply sign, bar below -->
+<!ENTITY timesd "&#x02A30;" ><!--times, dot -->
+<!ENTITY tridot "&#x025EC;" ><!--dot in triangle -->
+<!ENTITY triminus "&#x02A3A;" ><!--minus in triangle -->
+<!ENTITY triplus "&#x02A39;" ><!--plus in triangle -->
+<!ENTITY trisb "&#x029CD;" ><!--triangle, serifs at bottom -->
+<!ENTITY tritime "&#x02A3B;" ><!--multiply in triangle -->
+<!ENTITY uplus "&#x0228E;" ><!--/uplus B: plus sign in union -->
+<!ENTITY veebar "&#x022BB;" ><!--/veebar B: logical or, bar below -->
+<!ENTITY wedbar "&#x02A5F;" ><!--wedge, bar below -->
+<!ENTITY wreath "&#x02240;" ><!--/wr B: wreath product -->
+<!ENTITY xcap "&#x022C2;" ><!--/bigcap L: intersection operator -->
+<!ENTITY xcirc "&#x025EF;" ><!--/bigcirc B: large circle -->
+<!ENTITY xcup "&#x022C3;" ><!--/bigcup L: union operator -->
+<!ENTITY xdtri "&#x025BD;" ><!--/bigtriangledown B: big dn tri, open -->
+<!ENTITY xodot "&#x02299;" ><!--/bigodot L: circle dot operator -->
+<!ENTITY xoplus "&#x02295;" ><!--/bigoplus L: circle plus operator -->
+<!ENTITY xotime "&#x02297;" ><!--/bigotimes L: circle times operator -->
+<!ENTITY xsqcup "&#x02294;" ><!--/bigsqcup L: square union operator -->
+<!ENTITY xuplus "&#x0228E;" ><!--/biguplus L: -->
+<!ENTITY xutri "&#x025B3;" ><!--/bigtriangleup B: big up tri, open -->
+<!ENTITY xvee "&#x022C1;" ><!--/bigvee L: logical and operator -->
+<!ENTITY xwedge "&#x022C0;" ><!--/bigwedge L: logical or operator -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isoamsc.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isoamsc.ent
new file mode 100644
index 0000000..dc1e00e
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isoamsc.ent
@@ -0,0 +1,49 @@
+
+<!--
+ File isoamsc.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY dlcorn "&#x0231E;" ><!--/llcorner O: lower left corner -->
+<!ENTITY drcorn "&#x0231F;" ><!--/lrcorner C: lower right corner -->
+<!ENTITY gtlPar "&#x02995;" ><!--dbl left parenthesis, greater -->
+<!ENTITY langd "&#x02991;" ><!--left angle, dot -->
+<!ENTITY lbrke "&#x0298B;" ><!--left bracket, equal -->
+<!ENTITY lbrksld "&#x0298F;" ><!--left bracket, solidus bottom corner -->
+<!ENTITY lbrkslu "&#x0298D;" ><!--left bracket, solidus top corner -->
+<!ENTITY lceil "&#x02308;" ><!--/lceil O: left ceiling -->
+<!ENTITY lfloor "&#x0230A;" ><!--/lfloor O: left floor -->
+<!ENTITY lmoust "&#x023B0;" ><!--/lmoustache -->
+<!ENTITY lparlt "&#x02993;" ><!--O: left parenthesis, lt -->
+<!ENTITY ltrPar "&#x02996;" ><!--dbl right parenthesis, less -->
+<!ENTITY rangd "&#x02992;" ><!--right angle, dot -->
+<!ENTITY rbrke "&#x0298C;" ><!--right bracket, equal -->
+<!ENTITY rbrksld "&#x0298E;" ><!--right bracket, solidus bottom corner -->
+<!ENTITY rbrkslu "&#x02990;" ><!--right bracket, solidus top corner -->
+<!ENTITY rceil "&#x02309;" ><!--/rceil C: right ceiling -->
+<!ENTITY rfloor "&#x0230B;" ><!--/rfloor C: right floor -->
+<!ENTITY rmoust "&#x023B1;" ><!--/rmoustache -->
+<!ENTITY rpargt "&#x02994;" ><!--C: right paren, gt -->
+<!ENTITY ulcorn "&#x0231C;" ><!--/ulcorner O: upper left corner -->
+<!ENTITY urcorn "&#x0231D;" ><!--/urcorner C: upper right corner -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isoamsn.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isoamsn.ent
new file mode 100644
index 0000000..ced3656
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isoamsn.ent
@@ -0,0 +1,117 @@
+
+<!--
+ File isoamsn.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY gnap "&#x02A8A;" ><!--/gnapprox N: greater, not approximate -->
+<!ENTITY gne "&#x02269;" ><!--/gneq N: greater, not equals -->
+<!ENTITY gnE "&#x02269;" ><!--/gneqq N: greater, not dbl equals -->
+<!ENTITY gnsim "&#x022E7;" ><!--/gnsim N: greater, not similar -->
+<!ENTITY gvnE "&#x02269;&#x0FE00;" ><!--/gvertneqq N: gt, vert, not dbl eq -->
+<!ENTITY lnap "&#x02A89;" ><!--/lnapprox N: less, not approximate -->
+<!ENTITY lne "&#x02268;" ><!--/lneq N: less, not equals -->
+<!ENTITY lnE "&#x02268;" ><!--/lneqq N: less, not double equals -->
+<!ENTITY lnsim "&#x022E6;" ><!--/lnsim N: less, not similar -->
+<!ENTITY lvnE "&#x02268;&#x0FE00;" ><!--/lvertneqq N: less, vert, not dbl eq -->
+<!ENTITY nap "&#x02249;" ><!--/napprox N: not approximate -->
+<!ENTITY napE "&#x02A70;&#x00338;" ><!--not approximately equal or equal to -->
+<!ENTITY napid "&#x0224B;&#x00338;" ><!--not approximately identical to -->
+<!ENTITY ncong "&#x02247;" ><!--/ncong N: not congruent with -->
+<!ENTITY ncongdot "&#x02A6D;&#x00338;" ><!--not congruent, dot -->
+<!ENTITY nequiv "&#x02262;" ><!--/nequiv N: not identical with -->
+<!ENTITY nge "&#x02271;" ><!--/ngeq N: not greater-than-or-equal -->
+<!ENTITY ngE "&#x02A7E;&#x00338;" ><!--/ngeqq N: not greater, dbl equals -->
+<!ENTITY nges "&#x02A7E;&#x00338;" ><!--/ngeqslant N: not gt-or-eq, slanted -->
+<!ENTITY nGg "&#x022D9;&#x00338;" ><!--not triple greater than -->
+<!ENTITY ngsim "&#x02275;" ><!--not greater, similar -->
+<!ENTITY ngt "&#x0226F;" ><!--/ngtr N: not greater-than -->
+<!ENTITY nGt "&#x0226B;&#x00338;" ><!--not, vert, much greater than -->
+<!ENTITY nGtv "&#x0226B;&#x00338;&#x0FE00;" ><!--not much greater than, variant -->
+<!ENTITY nle "&#x02270;" ><!--/nleq N: not less-than-or-equal -->
+<!ENTITY nlE "&#x02A7D;&#x00338;" ><!--/nleqq N: not less, dbl equals -->
+<!ENTITY nles "&#x02A7D;&#x00338;" ><!--/nleqslant N: not less-or-eq, slant -->
+<!ENTITY nLl "&#x022D8;&#x00338;" ><!--not triple less than -->
+<!ENTITY nlsim "&#x02274;" ><!--not less, similar -->
+<!ENTITY nlt "&#x0226E;" ><!--/nless N: not less-than -->
+<!ENTITY nLt "&#x0226A;&#x00338;" ><!--not, vert, much less than -->
+<!ENTITY nltri "&#x022EA;" ><!--/ntriangleleft N: not left triangle -->
+<!ENTITY nltrie "&#x022EC;" ><!--/ntrianglelefteq N: not l tri, eq -->
+<!ENTITY nLtv "&#x0226A;&#x00338;&#x0FE00;" ><!--not much less than, variant -->
+<!ENTITY nmid "&#x02224;" ><!--/nmid -->
+<!ENTITY npar "&#x02226;" ><!--/nparallel N: not parallel -->
+<!ENTITY npr "&#x02280;" ><!--/nprec N: not precedes -->
+<!ENTITY nprcue "&#x022E0;" ><!--not curly precedes, eq -->
+<!ENTITY npre "&#x02AAF;" ><!--/npreceq N: not precedes, equals -->
+<!ENTITY nrtri "&#x022EB;" ><!--/ntriangleright N: not rt triangle -->
+<!ENTITY nrtrie "&#x022ED;" ><!--/ntrianglerighteq N: not r tri, eq -->
+<!ENTITY nsc "&#x02281;" ><!--/nsucc N: not succeeds -->
+<!ENTITY nsccue "&#x022E1;" ><!--not succeeds, curly eq -->
+<!ENTITY nsce "&#x02AB0;&#x00338;" ><!--/nsucceq N: not succeeds, equals -->
+<!ENTITY nsim "&#x02241;" ><!--/nsim N: not similar -->
+<!ENTITY nsime "&#x02244;" ><!--/nsimeq N: not similar, equals -->
+<!ENTITY nsmid "&#x02224;&#x0FE00;" ><!--/nshortmid -->
+<!ENTITY nspar "&#x02226;&#x0FE00;" ><!--/nshortparallel N: not short par -->
+<!ENTITY nsqsube "&#x022E2;" ><!--not, square subset, equals -->
+<!ENTITY nsqsupe "&#x022E3;" ><!--not, square superset, equals -->
+<!ENTITY nsub "&#x02284;" ><!--not subset -->
+<!ENTITY nsube "&#x02288;" ><!--/nsubseteq N: not subset, equals -->
+<!ENTITY nsubE "&#x02288;" ><!--/nsubseteqq N: not subset, dbl eq -->
+<!ENTITY nsup "&#x02285;" ><!--not superset -->
+<!ENTITY nsupe "&#x02289;" ><!--/nsupseteq N: not superset, equals -->
+<!ENTITY nsupE "&#x02289;" ><!--/nsupseteqq N: not superset, dbl eq -->
+<!ENTITY ntgl "&#x02279;" ><!--not greater, less -->
+<!ENTITY ntlg "&#x02278;" ><!--not less, greater -->
+<!ENTITY nvap "&#x02249;&#x00338;" ><!--not, vert, approximate -->
+<!ENTITY nvdash "&#x022AC;" ><!--/nvdash N: not vertical, dash -->
+<!ENTITY nvDash "&#x022AD;" ><!--/nvDash N: not vertical, dbl dash -->
+<!ENTITY nVdash "&#x022AE;" ><!--/nVdash N: not dbl vertical, dash -->
+<!ENTITY nVDash "&#x022AF;" ><!--/nVDash N: not dbl vert, dbl dash -->
+<!ENTITY nvge "&#x02A7E;&#x00338;" ><!--not, vert, greater-than-or-equal -->
+<!ENTITY nvgt "&#x0226F;" ><!--not, vert, greater-than -->
+<!ENTITY nvle "&#x02A7D;&#x00338;" ><!--not, vert, less-than-or-equal -->
+<!ENTITY nvlt "&#x0226E;" ><!--not, vert, less-than -->
+<!ENTITY nvltrie "&#x022EC;&#x00338;" ><!--not, vert, left triangle, equals -->
+<!ENTITY nvrtrie "&#x022ED;&#x00338;" ><!--not, vert, right triangle, equals -->
+<!ENTITY nvsim "&#x02241;&#x00338;" ><!--not, vert, similar -->
+<!ENTITY parsim "&#x02AF3;" ><!--parallel, similar -->
+<!ENTITY prnap "&#x022E8;" ><!--/precnapprox N: precedes, not approx -->
+<!ENTITY prnE "&#x02AB5;" ><!--/precneqq N: precedes, not dbl eq -->
+<!ENTITY prnsim "&#x022E8;" ><!--/precnsim N: precedes, not similar -->
+<!ENTITY rnmid "&#x02AEE;" ><!--reverse /nmid -->
+<!ENTITY scnap "&#x022E9;" ><!--/succnapprox N: succeeds, not approx -->
+<!ENTITY scnE "&#x02AB6;" ><!--/succneqq N: succeeds, not dbl eq -->
+<!ENTITY scnsim "&#x022E9;" ><!--/succnsim N: succeeds, not similar -->
+<!ENTITY simne "&#x02246;" ><!--similar, not equals -->
+<!ENTITY solbar "&#x0233F;" ><!--solidus, bar through -->
+<!ENTITY subne "&#x0228A;" ><!--/subsetneq N: subset, not equals -->
+<!ENTITY subnE "&#x0228A;" ><!--/subsetneqq N: subset, not dbl eq -->
+<!ENTITY supne "&#x0228B;" ><!--/supsetneq N: superset, not equals -->
+<!ENTITY supnE "&#x0228B;" ><!--/supsetneqq N: superset, not dbl eq -->
+<!ENTITY vnsub "&#x02284;" ><!--/nsubset N: not subset, var -->
+<!ENTITY vnsup "&#x02285;" ><!--/nsupset N: not superset, var -->
+<!ENTITY vsubne "&#x0228A;&#x0FE00;" ><!--/varsubsetneq N: subset, not eq, var -->
+<!ENTITY vsubnE "&#x0228A;&#x0FE00;" ><!--/varsubsetneqq N: subset not dbl eq, var -->
+<!ENTITY vsupne "&#x0228B;&#x0FE00;" ><!--/varsupsetneq N: superset, not eq, var -->
+<!ENTITY vsupnE "&#x0228B;&#x0FE00;" ><!--/varsupsetneqq N: super not dbl eq, var -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isoamso.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isoamso.ent
new file mode 100644
index 0000000..1f1326e
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isoamso.ent
@@ -0,0 +1,77 @@
+
+<!--
+ File isoamso.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY ang "&#x02220;" ><!--/angle - angle -->
+<!ENTITY ange "&#x029A4;" ><!--angle, equal -->
+<!ENTITY angmsd "&#x02221;" ><!--/measuredangle - angle-measured -->
+<!ENTITY angmsdaa "&#x029A8;" ><!--angle-measured, arrow, up, right -->
+<!ENTITY angmsdab "&#x029A9;" ><!--angle-measured, arrow, up, left -->
+<!ENTITY angmsdac "&#x029AA;" ><!--angle-measured, arrow, down, right -->
+<!ENTITY angmsdad "&#x029AB;" ><!--angle-measured, arrow, down, left -->
+<!ENTITY angmsdae "&#x029AC;" ><!--angle-measured, arrow, right, up -->
+<!ENTITY angmsdaf "&#x029AD;" ><!--angle-measured, arrow, left, up -->
+<!ENTITY angmsdag "&#x029AE;" ><!--angle-measured, arrow, right, down -->
+<!ENTITY angmsdah "&#x029AF;" ><!--angle-measured, arrow, left, down -->
+<!ENTITY angrtvb "&#x0299D;&#x0FE00;" ><!--right angle-measured -->
+<!ENTITY angrtvbd "&#x0299D;" ><!--right angle-measured, dot -->
+<!ENTITY bbrk "&#x023B5;" ><!--bottom square bracket -->
+<!ENTITY bemptyv "&#x029B0;" ><!--reversed circle, slash -->
+<!ENTITY beth "&#x02136;" ><!--/beth - beth, Hebrew -->
+<!ENTITY boxbox "&#x029C9;" ><!--two joined squares -->
+<!ENTITY bprime "&#x02035;" ><!--/backprime - reverse prime -->
+<!ENTITY bsemi "&#x0204F;" ><!--reverse semi-colon -->
+<!ENTITY cemptyv "&#x029B2;" ><!--circle, slash, small circle above -->
+<!ENTITY cirE "&#x029C3;" ><!--circle, two horizontal stroked to the right -->
+<!ENTITY cirscir "&#x029C2;" ><!--circle, small circle to the right -->
+<!ENTITY comp "&#x02201;" ><!--/complement - complement sign -->
+<!ENTITY daleth "&#x02138;" ><!--/daleth - daleth, Hebrew -->
+<!ENTITY demptyv "&#x029B1;" ><!--circle, slash, bar above -->
+<!ENTITY ell "&#x02113;" ><!--/ell - cursive small l -->
+<!ENTITY empty "&#x02205;&#x0FE00;" ><!--/emptyset - zero, slash -->
+<!ENTITY emptyv "&#x02205;" ><!--/varnothing - circle, slash -->
+<!ENTITY gimel "&#x02137;" ><!--/gimel - gimel, Hebrew -->
+<!ENTITY iiota "&#x02129;" ><!--inverted iota -->
+<!ENTITY image "&#x02111;" ><!--/Im - imaginary -->
+<!ENTITY imath "&#x00131;" ><!--/imath - small i, no dot -->
+<!ENTITY jmath "&#x0006A;&#x0FE00;" ><!--/jmath - small j, no dot -->
+<!ENTITY laemptyv "&#x029B4;" ><!--circle, slash, left arrow above -->
+<!ENTITY lltri "&#x025FA;" ><!--lower left triangle -->
+<!ENTITY lrtri "&#x022BF;" ><!--lower right triangle -->
+<!ENTITY mho "&#x02127;" ><!--/mho - conductance -->
+<!ENTITY nang "&#x02220;&#x00338;" ><!--not, vert, angle -->
+<!ENTITY nexist "&#x02204;" ><!--/nexists - negated exists -->
+<!ENTITY oS "&#x024C8;" ><!--/circledS - capital S in circle -->
+<!ENTITY planck "&#x0210F;&#x0FE00;" ><!--/hbar - Planck's over 2pi -->
+<!ENTITY plankv "&#x0210F;" ><!--/hslash - variant Planck's over 2pi -->
+<!ENTITY raemptyv "&#x029B3;" ><!--circle, slash, right arrow above -->
+<!ENTITY range "&#x029A5;" ><!--reverse angle, equal -->
+<!ENTITY real "&#x0211C;" ><!--/Re - real -->
+<!ENTITY tbrk "&#x023B4;" ><!--top square bracket -->
+<!ENTITY ultri "&#x025F8;" ><!--upper left triangle -->
+<!ENTITY urtri "&#x025F9;" ><!--upper right triangle -->
+<!ENTITY vzigzag "&#x0299A;" ><!--vertical zig-zag line -->
+<!ENTITY weierp "&#x02118;" ><!--/wp - Weierstrass p -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isoamsr.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isoamsr.ent
new file mode 100644
index 0000000..192c559
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isoamsr.ent
@@ -0,0 +1,205 @@
+
+<!--
+ File isoamsr.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY ape "&#x0224A;" ><!--/approxeq R: approximate, equals -->
+<!ENTITY apE "&#x0224A;" ><!--approximately equal or equal to -->
+<!ENTITY apid "&#x0224B;" ><!--approximately identical to -->
+<!ENTITY asymp "&#x0224D;" ><!--/asymp R: asymptotically equal to -->
+<!ENTITY Barv "&#x02AE7;" ><!--vert, dbl bar (over) -->
+<!ENTITY bcong "&#x0224C;" ><!--/backcong R: reverse congruent -->
+<!ENTITY bepsi "&#x003F6;" ><!--/backepsilon R: such that -->
+<!ENTITY bowtie "&#x022C8;" ><!--/bowtie R: -->
+<!ENTITY bsim "&#x0223D;" ><!--/backsim R: reverse similar -->
+<!ENTITY bsime "&#x022CD;" ><!--/backsimeq R: reverse similar, eq -->
+<!ENTITY bsolhsub "&#x0005C;&#x02282;" ><!--reverse solidus, subset -->
+<!ENTITY bump "&#x0224E;" ><!--/Bumpeq R: bumpy equals -->
+<!ENTITY bumpe "&#x0224F;" ><!--/bumpeq R: bumpy equals, equals -->
+<!ENTITY bumpE "&#x02AAE;" ><!--bump, equals -->
+<!ENTITY cire "&#x02257;" ><!--/circeq R: circle, equals -->
+<!ENTITY Colon "&#x02237;" ><!--/Colon, two colons -->
+<!ENTITY colone "&#x02254;" ><!--/coloneq R: colon, equals -->
+<!ENTITY Colone "&#x02A74;" ><!--double colon, equals -->
+<!ENTITY congdot "&#x02A6D;" ><!--congruent, dot -->
+<!ENTITY csub "&#x02ACF;" ><!--subset, closed -->
+<!ENTITY csube "&#x02AD1;" ><!--subset, closed, equals -->
+<!ENTITY csup "&#x02AD0;" ><!--superset, closed -->
+<!ENTITY csupe "&#x02AD2;" ><!--superset, closed, equals -->
+<!ENTITY cuepr "&#x022DE;" ><!--/curlyeqprec R: curly eq, precedes -->
+<!ENTITY cuesc "&#x022DF;" ><!--/curlyeqsucc R: curly eq, succeeds -->
+<!ENTITY dashv "&#x022A3;" ><!--/dashv R: dash, vertical -->
+<!ENTITY Dashv "&#x02AE4;" ><!--dbl dash, vertical -->
+<!ENTITY easter "&#x0225B;" ><!--equal, asterisk above -->
+<!ENTITY ecir "&#x02256;" ><!--/eqcirc R: circle on equals sign -->
+<!ENTITY ecolon "&#x02255;" ><!--/eqcolon R: equals, colon -->
+<!ENTITY eDDot "&#x02A77;" ><!--/ddotseq R: equal with four dots -->
+<!ENTITY eDot "&#x02251;" ><!--/doteqdot /Doteq R: eq, even dots -->
+<!ENTITY efDot "&#x02252;" ><!--/fallingdotseq R: eq, falling dots -->
+<!ENTITY eg "&#x02A9A;" ><!--equal-or-greater -->
+<!ENTITY egs "&#x022DD;" ><!--/eqslantgtr R: equal-or-gtr, slanted -->
+<!ENTITY egsdot "&#x02A98;" ><!--equal-or-greater, slanted, dot inside -->
+<!ENTITY el "&#x02A99;" ><!--equal-or-less -->
+<!ENTITY els "&#x022DC;" ><!--/eqslantless R: eq-or-less, slanted -->
+<!ENTITY elsdot "&#x02A97;" ><!--equal-or-less, slanted, dot inside -->
+<!ENTITY equest "&#x0225F;" ><!--/questeq R: equal with questionmark -->
+<!ENTITY equivDD "&#x02A78;" ><!--equivalent, four dots above -->
+<!ENTITY erDot "&#x02253;" ><!--/risingdotseq R: eq, rising dots -->
+<!ENTITY esdot "&#x02250;" ><!--/doteq R: equals, single dot above -->
+<!ENTITY esim "&#x02242;" ><!--/esim R: equals, similar -->
+<!ENTITY Esim "&#x02A73;" ><!--equal, similar -->
+<!ENTITY fork "&#x022D4;" ><!--/pitchfork R: pitchfork -->
+<!ENTITY forkv "&#x02AD9;" ><!--fork, variant -->
+<!ENTITY frown "&#x02322;" ><!--/frown R: down curve -->
+<!ENTITY gap "&#x02273;" ><!--/gtrapprox R: greater, approximate -->
+<!ENTITY gE "&#x02267;" ><!--/geqq R: greater, double equals -->
+<!ENTITY gel "&#x022DB;" ><!--/gtreqless R: greater, equals, less -->
+<!ENTITY gEl "&#x022DB;" ><!--/gtreqqless R: gt, dbl equals, less -->
+<!ENTITY ges "&#x02A7E;" ><!--/geqslant R: gt-or-equal, slanted -->
+<!ENTITY gescc "&#x02AA9;" ><!--greater than, closed by curve, equal, slanted -->
+<!ENTITY gesdot "&#x02A80;" ><!--greater-than-or-equal, slanted, dot inside -->
+<!ENTITY gesdoto "&#x02A82;" ><!--greater-than-or-equal, slanted, dot above -->
+<!ENTITY gesdotol "&#x02A84;" ><!--greater-than-or-equal, slanted, dot above left -->
+<!ENTITY gesl "&#x022DB;&#x0FE00;" ><!--greater, equal, slanted, less -->
+<!ENTITY gesles "&#x02A94;" ><!--greater, equal, slanted, less, equal, slanted -->
+<!ENTITY Gg "&#x022D9;" ><!--/ggg /Gg /gggtr R: triple gtr-than -->
+<!ENTITY gl "&#x02277;" ><!--/gtrless R: greater, less -->
+<!ENTITY gla "&#x02AA5;" ><!--greater, less, apart -->
+<!ENTITY glE "&#x02A92;" ><!--greater, less, equal -->
+<!ENTITY glj "&#x02AA4;" ><!--greater, less, overlapping -->
+<!ENTITY gsim "&#x02273;" ><!--/gtrsim R: greater, similar -->
+<!ENTITY gsime "&#x02A8E;" ><!--greater, similar, equal -->
+<!ENTITY gsiml "&#x02A90;" ><!--greater, similar, less -->
+<!ENTITY Gt "&#x0226B;" ><!--/gg R: dbl greater-than sign -->
+<!ENTITY gtcc "&#x02AA7;" ><!--greater than, closed by curve -->
+<!ENTITY gtcir "&#x02A7A;" ><!--greater than, circle inside -->
+<!ENTITY gtdot "&#x022D7;" ><!--/gtrdot R: greater than, with dot -->
+<!ENTITY gtquest "&#x02A7C;" ><!--greater than, questionmark above -->
+<!ENTITY gtrarr "&#x02978;" ><!--greater than, right arrow -->
+<!ENTITY homtht "&#x0223B;" ><!--homothetic -->
+<!ENTITY lap "&#x02272;" ><!--/lessapprox R: less, approximate -->
+<!ENTITY lat "&#x02AAB;" ><!--larger than -->
+<!ENTITY late "&#x02AAD;" ><!--larger than or equal -->
+<!ENTITY lates "&#x02AAD;&#x0FE00;" ><!--larger than or equal, slanted -->
+<!ENTITY lE "&#x02266;" ><!--/leqq R: less, double equals -->
+<!ENTITY leg "&#x022DA;" ><!--/lesseqgtr R: less, eq, greater -->
+<!ENTITY lEg "&#x022DA;" ><!--/lesseqqgtr R: less, dbl eq, greater -->
+<!ENTITY les "&#x02A7D;" ><!--/leqslant R: less-than-or-eq, slant -->
+<!ENTITY lescc "&#x02AA8;" ><!--less than, closed by curve, equal, slanted -->
+<!ENTITY lesdot "&#x02A7F;" ><!--less-than-or-equal, slanted, dot inside -->
+<!ENTITY lesdoto "&#x02A81;" ><!--less-than-or-equal, slanted, dot above -->
+<!ENTITY lesdotor "&#x02A83;" ><!--less-than-or-equal, slanted, dot above right -->
+<!ENTITY lesg "&#x022DA;&#x0FE00;" ><!--less, equal, slanted, greater -->
+<!ENTITY lesges "&#x02A93;" ><!--less, equal, slanted, greater, equal, slanted -->
+<!ENTITY lg "&#x02276;" ><!--/lessgtr R: less, greater -->
+<!ENTITY lgE "&#x02A91;" ><!--less, greater, equal -->
+<!ENTITY Ll "&#x022D8;" ><!--/Ll /lll /llless R: triple less-than -->
+<!ENTITY lsim "&#x02272;" ><!--/lesssim R: less, similar -->
+<!ENTITY lsime "&#x02A8D;" ><!--less, similar, equal -->
+<!ENTITY lsimg "&#x02A8F;" ><!--less, similar, greater -->
+<!ENTITY Lt "&#x0226A;" ><!--/ll R: double less-than sign -->
+<!ENTITY ltcc "&#x02AA6;" ><!--less than, closed by curve -->
+<!ENTITY ltcir "&#x02A79;" ><!--less than, circle inside -->
+<!ENTITY ltdot "&#x022D6;" ><!--/lessdot R: less than, with dot -->
+<!ENTITY ltlarr "&#x02976;" ><!--less than, left arrow -->
+<!ENTITY ltquest "&#x02A7B;" ><!--less than, questionmark above -->
+<!ENTITY ltrie "&#x022B4;" ><!--/trianglelefteq R: left triangle, eq -->
+<!ENTITY mcomma "&#x02A29;" ><!--minus, comma above -->
+<!ENTITY mDDot "&#x0223A;" ><!--minus with four dots, geometric properties -->
+<!ENTITY mid "&#x02223;" ><!--/mid R: -->
+<!ENTITY mlcp "&#x02ADB;" ><!--/mlcp -->
+<!ENTITY models "&#x022A7;" ><!--/models R: -->
+<!ENTITY mstpos "&#x0223E;" ><!--most positive -->
+<!ENTITY pr "&#x0227A;" ><!--/prec R: precedes -->
+<!ENTITY Pr "&#x02ABB;" ><!--dbl precedes -->
+<!ENTITY prap "&#x0227E;" ><!--/precapprox R: precedes, approximate -->
+<!ENTITY prcue "&#x0227C;" ><!--/preccurlyeq R: precedes, curly eq -->
+<!ENTITY pre "&#x02AAF;" ><!--/preceq R: precedes, equals -->
+<!ENTITY prE "&#x02AAF;" ><!--precedes, dbl equals -->
+<!ENTITY prsim "&#x0227E;" ><!--/precsim R: precedes, similar -->
+<!ENTITY prurel "&#x022B0;" ><!--element precedes under relation -->
+<!ENTITY ratio "&#x02236;" ><!--/ratio -->
+<!ENTITY rtrie "&#x022B5;" ><!--/trianglerighteq R: right tri, eq -->
+<!ENTITY rtriltri "&#x029CE;" ><!--right triangle above left triangle -->
+<!ENTITY sc "&#x0227B;" ><!--/succ R: succeeds -->
+<!ENTITY Sc "&#x02ABC;" ><!--dbl succeeds -->
+<!ENTITY scap "&#x0227F;" ><!--/succapprox R: succeeds, approximate -->
+<!ENTITY sccue "&#x0227D;" ><!--/succcurlyeq R: succeeds, curly eq -->
+<!ENTITY sce "&#x0227D;" ><!--/succeq R: succeeds, equals -->
+<!ENTITY scE "&#x0227E;" ><!--succeeds, dbl equals -->
+<!ENTITY scsim "&#x0227F;" ><!--/succsim R: succeeds, similar -->
+<!ENTITY sdote "&#x02A66;" ><!--equal, dot below -->
+<!ENTITY simg "&#x02A9E;" ><!--similar, greater -->
+<!ENTITY simgE "&#x02AA0;" ><!--similar, greater, equal -->
+<!ENTITY siml "&#x02A9D;" ><!--similar, less -->
+<!ENTITY simlE "&#x02A9F;" ><!--similar, less, equal -->
+<!ENTITY smid "&#x02223;&#x0FE00;" ><!--/shortmid R: -->
+<!ENTITY smile "&#x02323;" ><!--/smile R: up curve -->
+<!ENTITY smt "&#x02AAA;" ><!--smaller than -->
+<!ENTITY smte "&#x02AAC;" ><!--smaller than or equal -->
+<!ENTITY smtes "&#x02AAC;&#x0FE00;" ><!--smaller than or equal, slanted -->
+<!ENTITY spar "&#x02225;&#x0FE00;" ><!--/shortparallel R: short parallel -->
+<!ENTITY sqsub "&#x0228F;" ><!--/sqsubset R: square subset -->
+<!ENTITY sqsube "&#x02291;" ><!--/sqsubseteq R: square subset, equals -->
+<!ENTITY sqsup "&#x02290;" ><!--/sqsupset R: square superset -->
+<!ENTITY sqsupe "&#x02292;" ><!--/sqsupseteq R: square superset, eq -->
+<!ENTITY Sub "&#x022D0;" ><!--/Subset R: double subset -->
+<!ENTITY subE "&#x02286;" ><!--/subseteqq R: subset, dbl equals -->
+<!ENTITY subedot "&#x02AC3;" ><!--subset, equals, dot -->
+<!ENTITY submult "&#x02AC1;" ><!--subset, multiply -->
+<!ENTITY subplus "&#x02ABF;" ><!--subset, plus -->
+<!ENTITY subrarr "&#x02979;" ><!--subset, right arrow -->
+<!ENTITY subsim "&#x02AC7;" ><!--subset, similar -->
+<!ENTITY subsub "&#x02AD5;" ><!--subset above subset -->
+<!ENTITY subsup "&#x02AD3;" ><!--subset above superset -->
+<!ENTITY Sup "&#x022D1;" ><!--/Supset R: dbl superset -->
+<!ENTITY supdsub "&#x02AD8;" ><!--superset, subset, dash joining them -->
+<!ENTITY supE "&#x02287;" ><!--/supseteqq R: superset, dbl equals -->
+<!ENTITY supedot "&#x02AC4;" ><!--superset, equals, dot -->
+<!ENTITY suphsol "&#x02283;&#x0002F;" ><!--superset, solidus -->
+<!ENTITY suphsub "&#x02AD7;" ><!--superset, subset -->
+<!ENTITY suplarr "&#x0297B;" ><!--superset, left arrow -->
+<!ENTITY supmult "&#x02AC2;" ><!--superset, multiply -->
+<!ENTITY supplus "&#x02AC0;" ><!--superset, plus -->
+<!ENTITY supsim "&#x02AC8;" ><!--superset, similar -->
+<!ENTITY supsub "&#x02AD4;" ><!--superset above subset -->
+<!ENTITY supsup "&#x02AD6;" ><!--superset above superset -->
+<!ENTITY thkap "&#x02248;&#x0FE00;" ><!--/thickapprox R: thick approximate -->
+<!ENTITY thksim "&#x0223C;&#x0FE00;" ><!--/thicksim R: thick similar -->
+<!ENTITY topfork "&#x02ADA;" ><!--fork with top -->
+<!ENTITY trie "&#x0225C;" ><!--/triangleq R: triangle, equals -->
+<!ENTITY twixt "&#x0226C;" ><!--/between R: between -->
+<!ENTITY vBar "&#x02AE8;" ><!--vert, dbl bar (under) -->
+<!ENTITY Vbar "&#x02AEB;" ><!--dbl vert, bar (under) -->
+<!ENTITY vBarv "&#x02AE9;" ><!--dbl bar, vert over and under -->
+<!ENTITY vdash "&#x022A2;" ><!--/vdash R: vertical, dash -->
+<!ENTITY vDash "&#x022A8;" ><!--/vDash R: vertical, dbl dash -->
+<!ENTITY Vdash "&#x022A9;" ><!--/Vdash R: dbl vertical, dash -->
+<!ENTITY VDash "&#x022AB;" ><!--dbl vert, dbl dash -->
+<!ENTITY Vdashl "&#x02AE6;" ><!--vertical, dash (long) -->
+<!ENTITY vltri "&#x022B2;" ><!--/vartriangleleft R: l tri, open, var -->
+<!ENTITY vprop "&#x0221D;" ><!--/varpropto R: proportional, variant -->
+<!ENTITY vrtri "&#x022B3;" ><!--/vartriangleright R: r tri, open, var -->
+<!ENTITY Vvdash "&#x022AA;" ><!--/Vvdash R: triple vertical, dash -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isobox.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isobox.ent
new file mode 100644
index 0000000..630edc5
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isobox.ent
@@ -0,0 +1,67 @@
+
+<!--
+ File isobox.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY boxdl "&#x02510;" ><!--lower left quadrant -->
+<!ENTITY boxdL "&#x02555;" ><!--lower left quadrant -->
+<!ENTITY boxDl "&#x02556;" ><!--lower left quadrant -->
+<!ENTITY boxDL "&#x02557;" ><!--lower left quadrant -->
+<!ENTITY boxdr "&#x0250C;" ><!--lower right quadrant -->
+<!ENTITY boxdR "&#x02552;" ><!--lower right quadrant -->
+<!ENTITY boxDr "&#x02553;" ><!--lower right quadrant -->
+<!ENTITY boxDR "&#x02554;" ><!--lower right quadrant -->
+<!ENTITY boxh "&#x02500;" ><!--horizontal line -->
+<!ENTITY boxH "&#x02550;" ><!--horizontal line -->
+<!ENTITY boxhd "&#x0252C;" ><!--lower left and right quadrants -->
+<!ENTITY boxhD "&#x02565;" ><!--lower left and right quadrants -->
+<!ENTITY boxHd "&#x02564;" ><!--lower left and right quadrants -->
+<!ENTITY boxHD "&#x02566;" ><!--lower left and right quadrants -->
+<!ENTITY boxhu "&#x02534;" ><!--upper left and right quadrants -->
+<!ENTITY boxhU "&#x02568;" ><!--upper left and right quadrants -->
+<!ENTITY boxHu "&#x02567;" ><!--upper left and right quadrants -->
+<!ENTITY boxHU "&#x02569;" ><!--upper left and right quadrants -->
+<!ENTITY boxul "&#x02518;" ><!--upper left quadrant -->
+<!ENTITY boxuL "&#x0255B;" ><!--upper left quadrant -->
+<!ENTITY boxUl "&#x0255C;" ><!--upper left quadrant -->
+<!ENTITY boxUL "&#x0255D;" ><!--upper left quadrant -->
+<!ENTITY boxur "&#x02514;" ><!--upper right quadrant -->
+<!ENTITY boxuR "&#x02558;" ><!--upper right quadrant -->
+<!ENTITY boxUr "&#x02559;" ><!--upper right quadrant -->
+<!ENTITY boxUR "&#x0255A;" ><!--upper right quadrant -->
+<!ENTITY boxv "&#x02502;" ><!--vertical line -->
+<!ENTITY boxV "&#x02551;" ><!--vertical line -->
+<!ENTITY boxvh "&#x0253C;" ><!--all four quadrants -->
+<!ENTITY boxvH "&#x0256A;" ><!--all four quadrants -->
+<!ENTITY boxVh "&#x0256B;" ><!--all four quadrants -->
+<!ENTITY boxVH "&#x0256C;" ><!--all four quadrants -->
+<!ENTITY boxvl "&#x02524;" ><!--upper and lower left quadrants -->
+<!ENTITY boxvL "&#x02561;" ><!--upper and lower left quadrants -->
+<!ENTITY boxVl "&#x02562;" ><!--upper and lower left quadrants -->
+<!ENTITY boxVL "&#x02563;" ><!--upper and lower left quadrants -->
+<!ENTITY boxvr "&#x0251C;" ><!--upper and lower right quadrants -->
+<!ENTITY boxvR "&#x0255E;" ><!--upper and lower right quadrants -->
+<!ENTITY boxVr "&#x0255F;" ><!--upper and lower right quadrants -->
+<!ENTITY boxVR "&#x02560;" ><!--upper and lower right quadrants -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isocyr1.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isocyr1.ent
new file mode 100644
index 0000000..4bcc9e4
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isocyr1.ent
@@ -0,0 +1,94 @@
+
+<!--
+ File isocyr1.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY acy "&#x00430;" ><!--=small a, Cyrillic -->
+<!ENTITY Acy "&#x00410;" ><!--=capital A, Cyrillic -->
+<!ENTITY bcy "&#x00431;" ><!--=small be, Cyrillic -->
+<!ENTITY Bcy "&#x00411;" ><!--=capital BE, Cyrillic -->
+<!ENTITY chcy "&#x00447;" ><!--=small che, Cyrillic -->
+<!ENTITY CHcy "&#x00427;" ><!--=capital CHE, Cyrillic -->
+<!ENTITY dcy "&#x00434;" ><!--=small de, Cyrillic -->
+<!ENTITY Dcy "&#x00414;" ><!--=capital DE, Cyrillic -->
+<!ENTITY ecy "&#x0044D;" ><!--=small e, Cyrillic -->
+<!ENTITY Ecy "&#x0042D;" ><!--=capital E, Cyrillic -->
+<!ENTITY fcy "&#x00444;" ><!--=small ef, Cyrillic -->
+<!ENTITY Fcy "&#x00424;" ><!--=capital EF, Cyrillic -->
+<!ENTITY gcy "&#x00433;" ><!--=small ghe, Cyrillic -->
+<!ENTITY Gcy "&#x00413;" ><!--=capital GHE, Cyrillic -->
+<!ENTITY hardcy "&#x0044A;" ><!--=small hard sign, Cyrillic -->
+<!ENTITY HARDcy "&#x0042A;" ><!--=capital HARD sign, Cyrillic -->
+<!ENTITY icy "&#x00438;" ><!--=small i, Cyrillic -->
+<!ENTITY Icy "&#x00418;" ><!--=capital I, Cyrillic -->
+<!ENTITY iecy "&#x00435;" ><!--=small ie, Cyrillic -->
+<!ENTITY IEcy "&#x00415;" ><!--=capital IE, Cyrillic -->
+<!ENTITY iocy "&#x00451;" ><!--=small io, Russian -->
+<!ENTITY IOcy "&#x00401;" ><!--=capital IO, Russian -->
+<!ENTITY jcy "&#x00439;" ><!--=small short i, Cyrillic -->
+<!ENTITY Jcy "&#x00419;" ><!--=capital short I, Cyrillic -->
+<!ENTITY kcy "&#x0043A;" ><!--=small ka, Cyrillic -->
+<!ENTITY Kcy "&#x0041A;" ><!--=capital KA, Cyrillic -->
+<!ENTITY khcy "&#x00445;" ><!--=small ha, Cyrillic -->
+<!ENTITY KHcy "&#x00425;" ><!--=capital HA, Cyrillic -->
+<!ENTITY lcy "&#x0043B;" ><!--=small el, Cyrillic -->
+<!ENTITY Lcy "&#x0041B;" ><!--=capital EL, Cyrillic -->
+<!ENTITY mcy "&#x0043C;" ><!--=small em, Cyrillic -->
+<!ENTITY Mcy "&#x0041C;" ><!--=capital EM, Cyrillic -->
+<!ENTITY ncy "&#x0043D;" ><!--=small en, Cyrillic -->
+<!ENTITY Ncy "&#x0041D;" ><!--=capital EN, Cyrillic -->
+<!ENTITY numero "&#x02116;" ><!--=numero sign -->
+<!ENTITY ocy "&#x0043E;" ><!--=small o, Cyrillic -->
+<!ENTITY Ocy "&#x0041E;" ><!--=capital O, Cyrillic -->
+<!ENTITY pcy "&#x0043F;" ><!--=small pe, Cyrillic -->
+<!ENTITY Pcy "&#x0041F;" ><!--=capital PE, Cyrillic -->
+<!ENTITY rcy "&#x00440;" ><!--=small er, Cyrillic -->
+<!ENTITY Rcy "&#x00420;" ><!--=capital ER, Cyrillic -->
+<!ENTITY scy "&#x00441;" ><!--=small es, Cyrillic -->
+<!ENTITY Scy "&#x00421;" ><!--=capital ES, Cyrillic -->
+<!ENTITY shchcy "&#x00449;" ><!--=small shcha, Cyrillic -->
+<!ENTITY SHCHcy "&#x00429;" ><!--=capital SHCHA, Cyrillic -->
+<!ENTITY shcy "&#x00448;" ><!--=small sha, Cyrillic -->
+<!ENTITY SHcy "&#x00428;" ><!--=capital SHA, Cyrillic -->
+<!ENTITY softcy "&#x0044C;" ><!--=small soft sign, Cyrillic -->
+<!ENTITY SOFTcy "&#x0042C;" ><!--=capital SOFT sign, Cyrillic -->
+<!ENTITY tcy "&#x00442;" ><!--=small te, Cyrillic -->
+<!ENTITY Tcy "&#x00422;" ><!--=capital TE, Cyrillic -->
+<!ENTITY tscy "&#x00446;" ><!--=small tse, Cyrillic -->
+<!ENTITY TScy "&#x00426;" ><!--=capital TSE, Cyrillic -->
+<!ENTITY ucy "&#x00443;" ><!--=small u, Cyrillic -->
+<!ENTITY Ucy "&#x00423;" ><!--=capital U, Cyrillic -->
+<!ENTITY vcy "&#x00432;" ><!--=small ve, Cyrillic -->
+<!ENTITY Vcy "&#x00412;" ><!--=capital VE, Cyrillic -->
+<!ENTITY yacy "&#x0044F;" ><!--=small ya, Cyrillic -->
+<!ENTITY YAcy "&#x0042F;" ><!--=capital YA, Cyrillic -->
+<!ENTITY ycy "&#x0044B;" ><!--=small yeru, Cyrillic -->
+<!ENTITY Ycy "&#x0042B;" ><!--=capital YERU, Cyrillic -->
+<!ENTITY yucy "&#x0044E;" ><!--=small yu, Cyrillic -->
+<!ENTITY YUcy "&#x0042E;" ><!--=capital YU, Cyrillic -->
+<!ENTITY zcy "&#x00437;" ><!--=small ze, Cyrillic -->
+<!ENTITY Zcy "&#x00417;" ><!--=capital ZE, Cyrillic -->
+<!ENTITY zhcy "&#x00436;" ><!--=small zhe, Cyrillic -->
+<!ENTITY ZHcy "&#x00416;" ><!--=capital ZHE, Cyrillic -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isocyr2.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isocyr2.ent
new file mode 100644
index 0000000..67c477b
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isocyr2.ent
@@ -0,0 +1,53 @@
+
+<!--
+ File isocyr2.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY djcy "&#x00452;" ><!--=small dje, Serbian -->
+<!ENTITY DJcy "&#x00402;" ><!--=capital DJE, Serbian -->
+<!ENTITY dscy "&#x00455;" ><!--=small dse, Macedonian -->
+<!ENTITY DScy "&#x00405;" ><!--=capital DSE, Macedonian -->
+<!ENTITY dzcy "&#x0045F;" ><!--=small dze, Serbian -->
+<!ENTITY DZcy "&#x0040F;" ><!--=capital dze, Serbian -->
+<!ENTITY gjcy "&#x00453;" ><!--=small gje, Macedonian -->
+<!ENTITY GJcy "&#x00403;" ><!--=capital GJE Macedonian -->
+<!ENTITY iukcy "&#x00456;" ><!--=small i, Ukrainian -->
+<!ENTITY Iukcy "&#x00406;" ><!--=capital I, Ukrainian -->
+<!ENTITY jsercy "&#x00458;" ><!--=small je, Serbian -->
+<!ENTITY Jsercy "&#x00408;" ><!--=capital JE, Serbian -->
+<!ENTITY jukcy "&#x00454;" ><!--=small je, Ukrainian -->
+<!ENTITY Jukcy "&#x00404;" ><!--=capital JE, Ukrainian -->
+<!ENTITY kjcy "&#x0045C;" ><!--=small kje Macedonian -->
+<!ENTITY KJcy "&#x0040C;" ><!--=capital KJE, Macedonian -->
+<!ENTITY ljcy "&#x00459;" ><!--=small lje, Serbian -->
+<!ENTITY LJcy "&#x00409;" ><!--=capital LJE, Serbian -->
+<!ENTITY njcy "&#x0045A;" ><!--=small nje, Serbian -->
+<!ENTITY NJcy "&#x0040A;" ><!--=capital NJE, Serbian -->
+<!ENTITY tshcy "&#x0045B;" ><!--=small tshe, Serbian -->
+<!ENTITY TSHcy "&#x0040B;" ><!--=capital TSHE, Serbian -->
+<!ENTITY ubrcy "&#x0045E;" ><!--=small u, Byelorussian -->
+<!ENTITY Ubrcy "&#x0040E;" ><!--=capital U, Byelorussian -->
+<!ENTITY yicy "&#x00457;" ><!--=small yi, Ukrainian -->
+<!ENTITY YIcy "&#x00407;" ><!--=capital YI, Ukrainian -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isodia.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isodia.ent
new file mode 100644
index 0000000..ba64963
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isodia.ent
@@ -0,0 +1,41 @@
+
+<!--
+ File isodia.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY acute "&#x000B4;" ><!--=acute accent -->
+<!ENTITY breve "&#x002D8;" ><!--=breve -->
+<!ENTITY caron "&#x002C7;" ><!--=caron -->
+<!ENTITY cedil "&#x000B8;" ><!--=cedilla -->
+<!ENTITY circ "&#x0005E;" ><!--circumflex accent -->
+<!ENTITY dblac "&#x002DD;" ><!--=double acute accent -->
+<!ENTITY die "&#x000A8;" ><!--=dieresis -->
+<!ENTITY dot "&#x002D9;" ><!--=dot above -->
+<!ENTITY grave "&#x00060;" ><!--=grave accent -->
+<!ENTITY macr "&#x000AF;" ><!--=macron -->
+<!ENTITY ogon "&#x002DB;" ><!--=ogonek -->
+<!ENTITY ring "&#x002DA;" ><!--=ring -->
+<!ENTITY tilde "&#x002DC;" ><!--=tilde -->
+<!ENTITY uml "&#x000A8;" ><!--=umlaut mark -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isogrk3.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isogrk3.ent
new file mode 100644
index 0000000..a058cb8
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isogrk3.ent
@@ -0,0 +1,70 @@
+
+<!--
+ File isogrk3.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY alpha "&#x003B1;" ><!--/alpha small alpha, Greek -->
+<!ENTITY beta "&#x003B2;" ><!--/beta small beta, Greek -->
+<!ENTITY chi "&#x003C7;" ><!--/chi small chi, Greek -->
+<!ENTITY delta "&#x003B4;" ><!--/delta small delta, Greek -->
+<!ENTITY Delta "&#x00394;" ><!--/Delta capital Delta, Greek -->
+<!ENTITY epsi "&#x003B5;" ><!--/straightepsilon, small epsilon, Greek -->
+<!ENTITY epsiv "&#x0025B;" ><!--/varepsilon -->
+<!ENTITY eta "&#x003B7;" ><!--/eta small eta, Greek -->
+<!ENTITY gamma "&#x003B3;" ><!--/gamma small gamma, Greek -->
+<!ENTITY Gamma "&#x00393;" ><!--/Gamma capital Gamma, Greek -->
+<!ENTITY gammad "&#x003DC;" ><!--/digamma -->
+<!ENTITY Gammad "&#x003DC;" ><!--capital digamma -->
+<!ENTITY iota "&#x003B9;" ><!--/iota small iota, Greek -->
+<!ENTITY kappa "&#x003BA;" ><!--/kappa small kappa, Greek -->
+<!ENTITY kappav "&#x003F0;" ><!--/varkappa -->
+<!ENTITY lambda "&#x003BB;" ><!--/lambda small lambda, Greek -->
+<!ENTITY Lambda "&#x0039B;" ><!--/Lambda capital Lambda, Greek -->
+<!ENTITY mu "&#x003BC;" ><!--/mu small mu, Greek -->
+<!ENTITY nu "&#x003BD;" ><!--/nu small nu, Greek -->
+<!ENTITY omega "&#x003C9;" ><!--/omega small omega, Greek -->
+<!ENTITY Omega "&#x003A9;" ><!--/Omega capital Omega, Greek -->
+<!ENTITY phi "&#x003D5;" ><!--/straightphi - small phi, Greek -->
+<!ENTITY Phi "&#x003A6;" ><!--/Phi capital Phi, Greek -->
+<!ENTITY phiv "&#x003C6;" ><!--/varphi - curly or open phi -->
+<!ENTITY pi "&#x003C0;" ><!--/pi small pi, Greek -->
+<!ENTITY Pi "&#x003A0;" ><!--/Pi capital Pi, Greek -->
+<!ENTITY piv "&#x003D6;" ><!--/varpi -->
+<!ENTITY psi "&#x003C8;" ><!--/psi small psi, Greek -->
+<!ENTITY Psi "&#x003A8;" ><!--/Psi capital Psi, Greek -->
+<!ENTITY rho "&#x003C1;" ><!--/rho small rho, Greek -->
+<!ENTITY rhov "&#x003F1;" ><!--/varrho -->
+<!ENTITY sigma "&#x003C3;" ><!--/sigma small sigma, Greek -->
+<!ENTITY Sigma "&#x003A3;" ><!--/Sigma capital Sigma, Greek -->
+<!ENTITY sigmav "&#x003C2;" ><!--/varsigma -->
+<!ENTITY tau "&#x003C4;" ><!--/tau small tau, Greek -->
+<!ENTITY theta "&#x003B8;" ><!--/theta straight theta, small theta, Greek -->
+<!ENTITY Theta "&#x00398;" ><!--/Theta capital Theta, Greek -->
+<!ENTITY thetav "&#x003D1;" ><!--/vartheta - curly or open theta -->
+<!ENTITY upsi "&#x003C5;" ><!--/upsilon small upsilon, Greek -->
+<!ENTITY Upsi "&#x003D2;" ><!--/Upsilon capital Upsilon, Greek -->
+<!ENTITY xi "&#x003BE;" ><!--/xi small xi, Greek -->
+<!ENTITY Xi "&#x0039E;" ><!--/Xi capital Xi, Greek -->
+<!ENTITY zeta "&#x003B6;" ><!--/zeta small zeta, Greek -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isolat1.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isolat1.ent
new file mode 100644
index 0000000..849d360
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isolat1.ent
@@ -0,0 +1,89 @@
+
+<!--
+ File isolat1.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY aacute "&#x000E1;" ><!--=small a, acute accent -->
+<!ENTITY Aacute "&#x000C1;" ><!--=capital A, acute accent -->
+<!ENTITY acirc "&#x000E2;" ><!--=small a, circumflex accent -->
+<!ENTITY Acirc "&#x000C2;" ><!--=capital A, circumflex accent -->
+<!ENTITY aelig "&#x000E6;" ><!--=small ae diphthong (ligature) -->
+<!ENTITY AElig "&#x000C6;" ><!--=capital AE diphthong (ligature) -->
+<!ENTITY agrave "&#x000E0;" ><!--=small a, grave accent -->
+<!ENTITY Agrave "&#x000C0;" ><!--=capital A, grave accent -->
+<!ENTITY aring "&#x000E5;" ><!--=small a, ring -->
+<!ENTITY Aring "&#x000C5;" ><!--=capital A, ring -->
+<!ENTITY atilde "&#x000E3;" ><!--=small a, tilde -->
+<!ENTITY Atilde "&#x000C3;" ><!--=capital A, tilde -->
+<!ENTITY auml "&#x000E4;" ><!--=small a, dieresis or umlaut mark -->
+<!ENTITY Auml "&#x000C4;" ><!--=capital A, dieresis or umlaut mark -->
+<!ENTITY ccedil "&#x000E7;" ><!--=small c, cedilla -->
+<!ENTITY Ccedil "&#x000C7;" ><!--=capital C, cedilla -->
+<!ENTITY eacute "&#x000E9;" ><!--=small e, acute accent -->
+<!ENTITY Eacute "&#x000C9;" ><!--=capital E, acute accent -->
+<!ENTITY ecirc "&#x000EA;" ><!--=small e, circumflex accent -->
+<!ENTITY Ecirc "&#x000CA;" ><!--=capital E, circumflex accent -->
+<!ENTITY egrave "&#x000E8;" ><!--=small e, grave accent -->
+<!ENTITY Egrave "&#x000C8;" ><!--=capital E, grave accent -->
+<!ENTITY eth "&#x000F0;" ><!--=small eth, Icelandic -->
+<!ENTITY ETH "&#x000D0;" ><!--=capital Eth, Icelandic -->
+<!ENTITY euml "&#x000EB;" ><!--=small e, dieresis or umlaut mark -->
+<!ENTITY Euml "&#x000CB;" ><!--=capital E, dieresis or umlaut mark -->
+<!ENTITY iacute "&#x000ED;" ><!--=small i, acute accent -->
+<!ENTITY Iacute "&#x000CD;" ><!--=capital I, acute accent -->
+<!ENTITY icirc "&#x000EE;" ><!--=small i, circumflex accent -->
+<!ENTITY Icirc "&#x000CE;" ><!--=capital I, circumflex accent -->
+<!ENTITY igrave "&#x000EC;" ><!--=small i, grave accent -->
+<!ENTITY Igrave "&#x000CC;" ><!--=capital I, grave accent -->
+<!ENTITY iuml "&#x000EF;" ><!--=small i, dieresis or umlaut mark -->
+<!ENTITY Iuml "&#x000CF;" ><!--=capital I, dieresis or umlaut mark -->
+<!ENTITY ntilde "&#x000F1;" ><!--=small n, tilde -->
+<!ENTITY Ntilde "&#x000D1;" ><!--=capital N, tilde -->
+<!ENTITY oacute "&#x000F3;" ><!--=small o, acute accent -->
+<!ENTITY Oacute "&#x000D3;" ><!--=capital O, acute accent -->
+<!ENTITY ocirc "&#x000F4;" ><!--=small o, circumflex accent -->
+<!ENTITY Ocirc "&#x000D4;" ><!--=capital O, circumflex accent -->
+<!ENTITY ograve "&#x000F2;" ><!--=small o, grave accent -->
+<!ENTITY Ograve "&#x000D2;" ><!--=capital O, grave accent -->
+<!ENTITY oslash "&#x000F8;" ><!--latin small letter o with stroke -->
+<!ENTITY Oslash "&#x000D8;" ><!--=capital O, slash -->
+<!ENTITY otilde "&#x000F5;" ><!--=small o, tilde -->
+<!ENTITY Otilde "&#x000D5;" ><!--=capital O, tilde -->
+<!ENTITY ouml "&#x000F6;" ><!--=small o, dieresis or umlaut mark -->
+<!ENTITY Ouml "&#x000D6;" ><!--=capital O, dieresis or umlaut mark -->
+<!ENTITY szlig "&#x000DF;" ><!--=small sharp s, German (sz ligature) -->
+<!ENTITY thorn "&#x000FE;" ><!--=small thorn, Icelandic -->
+<!ENTITY THORN "&#x000DE;" ><!--=capital THORN, Icelandic -->
+<!ENTITY uacute "&#x000FA;" ><!--=small u, acute accent -->
+<!ENTITY Uacute "&#x000DA;" ><!--=capital U, acute accent -->
+<!ENTITY ucirc "&#x000FB;" ><!--=small u, circumflex accent -->
+<!ENTITY Ucirc "&#x000DB;" ><!--=capital U, circumflex accent -->
+<!ENTITY ugrave "&#x000F9;" ><!--=small u, grave accent -->
+<!ENTITY Ugrave "&#x000D9;" ><!--=capital U, grave accent -->
+<!ENTITY uuml "&#x000FC;" ><!--=small u, dieresis or umlaut mark -->
+<!ENTITY Uuml "&#x000DC;" ><!--=capital U, dieresis or umlaut mark -->
+<!ENTITY yacute "&#x000FD;" ><!--=small y, acute accent -->
+<!ENTITY Yacute "&#x000DD;" ><!--=capital Y, acute accent -->
+<!ENTITY yuml "&#x000FF;" ><!--=small y, dieresis or umlaut mark -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isolat2.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isolat2.ent
new file mode 100644
index 0000000..3049be7
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isolat2.ent
@@ -0,0 +1,148 @@
+
+<!--
+ File isolat2.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY abreve "&#x00103;" ><!--=small a, breve -->
+<!ENTITY Abreve "&#x00102;" ><!--=capital A, breve -->
+<!ENTITY amacr "&#x00101;" ><!--=small a, macron -->
+<!ENTITY Amacr "&#x00100;" ><!--=capital A, macron -->
+<!ENTITY aogon "&#x00105;" ><!--=small a, ogonek -->
+<!ENTITY Aogon "&#x00104;" ><!--=capital A, ogonek -->
+<!ENTITY cacute "&#x00107;" ><!--=small c, acute accent -->
+<!ENTITY Cacute "&#x00106;" ><!--=capital C, acute accent -->
+<!ENTITY ccaron "&#x0010D;" ><!--=small c, caron -->
+<!ENTITY Ccaron "&#x0010C;" ><!--=capital C, caron -->
+<!ENTITY ccirc "&#x00109;" ><!--=small c, circumflex accent -->
+<!ENTITY Ccirc "&#x00108;" ><!--=capital C, circumflex accent -->
+<!ENTITY cdot "&#x0010B;" ><!--=small c, dot above -->
+<!ENTITY Cdot "&#x0010A;" ><!--=capital C, dot above -->
+<!ENTITY dcaron "&#x0010F;" ><!--=small d, caron -->
+<!ENTITY Dcaron "&#x0010E;" ><!--=capital D, caron -->
+<!ENTITY dstrok "&#x00111;" ><!--=small d, stroke -->
+<!ENTITY Dstrok "&#x00110;" ><!--=capital D, stroke -->
+<!ENTITY ecaron "&#x0011B;" ><!--=small e, caron -->
+<!ENTITY Ecaron "&#x0011A;" ><!--=capital E, caron -->
+<!ENTITY edot "&#x00117;" ><!--=small e, dot above -->
+<!ENTITY Edot "&#x00116;" ><!--=capital E, dot above -->
+<!ENTITY emacr "&#x00113;" ><!--=small e, macron -->
+<!ENTITY Emacr "&#x00112;" ><!--=capital E, macron -->
+<!ENTITY eng "&#x0014B;" ><!--=small eng, Lapp -->
+<!ENTITY ENG "&#x0014A;" ><!--=capital ENG, Lapp -->
+<!ENTITY eogon "&#x00119;" ><!--=small e, ogonek -->
+<!ENTITY Eogon "&#x00118;" ><!--=capital E, ogonek -->
+<!ENTITY gacute "&#x001F5;" ><!--=small g, acute accent -->
+<!ENTITY gbreve "&#x0011F;" ><!--=small g, breve -->
+<!ENTITY Gbreve "&#x0011E;" ><!--=capital G, breve -->
+<!ENTITY Gcedil "&#x00122;" ><!--=capital G, cedilla -->
+<!ENTITY gcirc "&#x0011D;" ><!--=small g, circumflex accent -->
+<!ENTITY Gcirc "&#x0011C;" ><!--=capital G, circumflex accent -->
+<!ENTITY gdot "&#x00121;" ><!--=small g, dot above -->
+<!ENTITY Gdot "&#x00120;" ><!--=capital G, dot above -->
+<!ENTITY hcirc "&#x00125;" ><!--=small h, circumflex accent -->
+<!ENTITY Hcirc "&#x00124;" ><!--=capital H, circumflex accent -->
+<!ENTITY hstrok "&#x00127;" ><!--=small h, stroke -->
+<!ENTITY Hstrok "&#x00126;" ><!--=capital H, stroke -->
+<!ENTITY Idot "&#x00130;" ><!--=capital I, dot above -->
+<!ENTITY ijlig "&#x00133;" ><!--=small ij ligature -->
+<!ENTITY IJlig "&#x00132;" ><!--=capital IJ ligature -->
+<!ENTITY imacr "&#x0012B;" ><!--=small i, macron -->
+<!ENTITY Imacr "&#x0012A;" ><!--=capital I, macron -->
+<!ENTITY inodot "&#x00131;" ><!--=small i without dot -->
+<!ENTITY iogon "&#x0012F;" ><!--=small i, ogonek -->
+<!ENTITY Iogon "&#x0012E;" ><!--=capital I, ogonek -->
+<!ENTITY itilde "&#x00129;" ><!--=small i, tilde -->
+<!ENTITY Itilde "&#x00128;" ><!--=capital I, tilde -->
+<!ENTITY jcirc "&#x00135;" ><!--=small j, circumflex accent -->
+<!ENTITY Jcirc "&#x00134;" ><!--=capital J, circumflex accent -->
+<!ENTITY kcedil "&#x00137;" ><!--=small k, cedilla -->
+<!ENTITY Kcedil "&#x00136;" ><!--=capital K, cedilla -->
+<!ENTITY kgreen "&#x00138;" ><!--=small k, Greenlandic -->
+<!ENTITY lacute "&#x0013A;" ><!--=small l, acute accent -->
+<!ENTITY Lacute "&#x00139;" ><!--=capital L, acute accent -->
+<!ENTITY lcaron "&#x0013E;" ><!--=small l, caron -->
+<!ENTITY Lcaron "&#x0013D;" ><!--=capital L, caron -->
+<!ENTITY lcedil "&#x0013C;" ><!--=small l, cedilla -->
+<!ENTITY Lcedil "&#x0013B;" ><!--=capital L, cedilla -->
+<!ENTITY lmidot "&#x00140;" ><!--=small l, middle dot -->
+<!ENTITY Lmidot "&#x0013F;" ><!--=capital L, middle dot -->
+<!ENTITY lstrok "&#x00142;" ><!--=small l, stroke -->
+<!ENTITY Lstrok "&#x00141;" ><!--=capital L, stroke -->
+<!ENTITY nacute "&#x00144;" ><!--=small n, acute accent -->
+<!ENTITY Nacute "&#x00143;" ><!--=capital N, acute accent -->
+<!ENTITY napos "&#x00149;" ><!--=small n, apostrophe -->
+<!ENTITY ncaron "&#x00148;" ><!--=small n, caron -->
+<!ENTITY Ncaron "&#x00147;" ><!--=capital N, caron -->
+<!ENTITY ncedil "&#x00146;" ><!--=small n, cedilla -->
+<!ENTITY Ncedil "&#x00145;" ><!--=capital N, cedilla -->
+<!ENTITY odblac "&#x00151;" ><!--=small o, double acute accent -->
+<!ENTITY Odblac "&#x00150;" ><!--=capital O, double acute accent -->
+<!ENTITY oelig "&#x00153;" ><!--=small oe ligature -->
+<!ENTITY OElig "&#x00152;" ><!--=capital OE ligature -->
+<!ENTITY omacr "&#x0014D;" ><!--=small o, macron -->
+<!ENTITY Omacr "&#x0014C;" ><!--=capital O, macron -->
+<!ENTITY racute "&#x00155;" ><!--=small r, acute accent -->
+<!ENTITY Racute "&#x00154;" ><!--=capital R, acute accent -->
+<!ENTITY rcaron "&#x00159;" ><!--=small r, caron -->
+<!ENTITY Rcaron "&#x00158;" ><!--=capital R, caron -->
+<!ENTITY rcedil "&#x00157;" ><!--=small r, cedilla -->
+<!ENTITY Rcedil "&#x00156;" ><!--=capital R, cedilla -->
+<!ENTITY sacute "&#x0015B;" ><!--=small s, acute accent -->
+<!ENTITY Sacute "&#x0015A;" ><!--=capital S, acute accent -->
+<!ENTITY scaron "&#x00161;" ><!--=small s, caron -->
+<!ENTITY Scaron "&#x00160;" ><!--=capital S, caron -->
+<!ENTITY scedil "&#x0015F;" ><!--=small s, cedilla -->
+<!ENTITY Scedil "&#x0015E;" ><!--=capital S, cedilla -->
+<!ENTITY scirc "&#x0015D;" ><!--=small s, circumflex accent -->
+<!ENTITY Scirc "&#x0015C;" ><!--=capital S, circumflex accent -->
+<!ENTITY tcaron "&#x00165;" ><!--=small t, caron -->
+<!ENTITY Tcaron "&#x00164;" ><!--=capital T, caron -->
+<!ENTITY tcedil "&#x00163;" ><!--=small t, cedilla -->
+<!ENTITY Tcedil "&#x00162;" ><!--=capital T, cedilla -->
+<!ENTITY tstrok "&#x00167;" ><!--=small t, stroke -->
+<!ENTITY Tstrok "&#x00166;" ><!--=capital T, stroke -->
+<!ENTITY ubreve "&#x0016D;" ><!--=small u, breve -->
+<!ENTITY Ubreve "&#x0016C;" ><!--=capital U, breve -->
+<!ENTITY udblac "&#x00171;" ><!--=small u, double acute accent -->
+<!ENTITY Udblac "&#x00170;" ><!--=capital U, double acute accent -->
+<!ENTITY umacr "&#x0016B;" ><!--=small u, macron -->
+<!ENTITY Umacr "&#x0016A;" ><!--=capital U, macron -->
+<!ENTITY uogon "&#x00173;" ><!--=small u, ogonek -->
+<!ENTITY Uogon "&#x00172;" ><!--=capital U, ogonek -->
+<!ENTITY uring "&#x0016F;" ><!--=small u, ring -->
+<!ENTITY Uring "&#x0016E;" ><!--=capital U, ring -->
+<!ENTITY utilde "&#x00169;" ><!--=small u, tilde -->
+<!ENTITY Utilde "&#x00168;" ><!--=capital U, tilde -->
+<!ENTITY wcirc "&#x00175;" ><!--=small w, circumflex accent -->
+<!ENTITY Wcirc "&#x00174;" ><!--=capital W, circumflex accent -->
+<!ENTITY ycirc "&#x00177;" ><!--=small y, circumflex accent -->
+<!ENTITY Ycirc "&#x00176;" ><!--=capital Y, circumflex accent -->
+<!ENTITY Yuml "&#x00178;" ><!--=capital Y, dieresis or umlaut mark -->
+<!ENTITY zacute "&#x0017A;" ><!--=small z, acute accent -->
+<!ENTITY Zacute "&#x00179;" ><!--=capital Z, acute accent -->
+<!ENTITY zcaron "&#x0017E;" ><!--=small z, caron -->
+<!ENTITY Zcaron "&#x0017D;" ><!--=capital Z, caron -->
+<!ENTITY zdot "&#x0017C;" ><!--=small z, dot above -->
+<!ENTITY Zdot "&#x0017B;" ><!--=capital Z, dot above -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isomfrk.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isomfrk.ent
new file mode 100644
index 0000000..bfe16ae
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isomfrk.ent
@@ -0,0 +1,79 @@
+
+<!--
+ File isomfrk.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY afr "&#x1D51E;" ><!--/frak a, lower case a -->
+<!ENTITY Afr "&#x1D504;" ><!--/frak A, upper case a -->
+<!ENTITY bfr "&#x1D51F;" ><!--/frak b, lower case b -->
+<!ENTITY Bfr "&#x1D505;" ><!--/frak B, upper case b -->
+<!ENTITY cfr "&#x1D520;" ><!--/frak c, lower case c -->
+<!ENTITY Cfr "&#x0212D;" ><!--/frak C, upper case c -->
+<!ENTITY dfr "&#x1D521;" ><!--/frak d, lower case d -->
+<!ENTITY Dfr "&#x1D507;" ><!--/frak D, upper case d -->
+<!ENTITY efr "&#x1D522;" ><!--/frak e, lower case e -->
+<!ENTITY Efr "&#x1D508;" ><!--/frak E, upper case e -->
+<!ENTITY ffr "&#x1D523;" ><!--/frak f, lower case f -->
+<!ENTITY Ffr "&#x1D509;" ><!--/frak F, upper case f -->
+<!ENTITY gfr "&#x1D524;" ><!--/frak g, lower case g -->
+<!ENTITY Gfr "&#x1D50A;" ><!--/frak G, upper case g -->
+<!ENTITY hfr "&#x1D525;" ><!--/frak h, lower case h -->
+<!ENTITY Hfr "&#x0210C;" ><!--/frak H, upper case h -->
+<!ENTITY ifr "&#x1D526;" ><!--/frak i, lower case i -->
+<!ENTITY Ifr "&#x02111;" ><!--/frak I, upper case i -->
+<!ENTITY jfr "&#x1D527;" ><!--/frak j, lower case j -->
+<!ENTITY Jfr "&#x1D50D;" ><!--/frak J, upper case j -->
+<!ENTITY kfr "&#x1D528;" ><!--/frak k, lower case k -->
+<!ENTITY Kfr "&#x1D50E;" ><!--/frak K, upper case k -->
+<!ENTITY lfr "&#x1D529;" ><!--/frak l, lower case l -->
+<!ENTITY Lfr "&#x1D50F;" ><!--/frak L, upper case l -->
+<!ENTITY mfr "&#x1D52A;" ><!--/frak m, lower case m -->
+<!ENTITY Mfr "&#x1D510;" ><!--/frak M, upper case m -->
+<!ENTITY nfr "&#x1D52B;" ><!--/frak n, lower case n -->
+<!ENTITY Nfr "&#x1D511;" ><!--/frak N, upper case n -->
+<!ENTITY ofr "&#x1D52C;" ><!--/frak o, lower case o -->
+<!ENTITY Ofr "&#x1D512;" ><!--/frak O, upper case o -->
+<!ENTITY pfr "&#x1D52D;" ><!--/frak p, lower case p -->
+<!ENTITY Pfr "&#x1D513;" ><!--/frak P, upper case p -->
+<!ENTITY qfr "&#x1D52E;" ><!--/frak q, lower case q -->
+<!ENTITY Qfr "&#x1D514;" ><!--/frak Q, upper case q -->
+<!ENTITY rfr "&#x1D52F;" ><!--/frak r, lower case r -->
+<!ENTITY Rfr "&#x0211C;" ><!--/frak R, upper case r -->
+<!ENTITY sfr "&#x1D530;" ><!--/frak s, lower case s -->
+<!ENTITY Sfr "&#x1D516;" ><!--/frak S, upper case s -->
+<!ENTITY tfr "&#x1D531;" ><!--/frak t, lower case t -->
+<!ENTITY Tfr "&#x1D517;" ><!--/frak T, upper case t -->
+<!ENTITY ufr "&#x1D532;" ><!--/frak u, lower case u -->
+<!ENTITY Ufr "&#x1D518;" ><!--/frak U, upper case u -->
+<!ENTITY vfr "&#x1D533;" ><!--/frak v, lower case v -->
+<!ENTITY Vfr "&#x1D519;" ><!--/frak V, upper case v -->
+<!ENTITY wfr "&#x1D534;" ><!--/frak w, lower case w -->
+<!ENTITY Wfr "&#x1D51A;" ><!--/frak W, upper case w -->
+<!ENTITY xfr "&#x1D535;" ><!--/frak x, lower case x -->
+<!ENTITY Xfr "&#x1D51B;" ><!--/frak X, upper case x -->
+<!ENTITY yfr "&#x1D536;" ><!--/frak y, lower case y -->
+<!ENTITY Yfr "&#x1D51C;" ><!--/frak Y, upper case y -->
+<!ENTITY zfr "&#x1D537;" ><!--/frak z, lower case z -->
+<!ENTITY Zfr "&#x02128;" ><!--/frak Z, upper case z -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isomopf.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isomopf.ent
new file mode 100644
index 0000000..853227e
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isomopf.ent
@@ -0,0 +1,53 @@
+
+<!--
+ File isomopf.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY Aopf "&#x1D538;" ><!--/Bbb A, open face A -->
+<!ENTITY Bopf "&#x1D539;" ><!--/Bbb B, open face B -->
+<!ENTITY Copf "&#x02102;" ><!--/Bbb C, open face C -->
+<!ENTITY Dopf "&#x1D53B;" ><!--/Bbb D, open face D -->
+<!ENTITY Eopf "&#x1D53C;" ><!--/Bbb E, open face E -->
+<!ENTITY Fopf "&#x1D53D;" ><!--/Bbb F, open face F -->
+<!ENTITY Gopf "&#x1D53E;" ><!--/Bbb G, open face G -->
+<!ENTITY Hopf "&#x0210D;" ><!--/Bbb H, open face H -->
+<!ENTITY Iopf "&#x1D540;" ><!--/Bbb I, open face I -->
+<!ENTITY Jopf "&#x1D541;" ><!--/Bbb J, open face J -->
+<!ENTITY Kopf "&#x1D542;" ><!--/Bbb K, open face K -->
+<!ENTITY Lopf "&#x1D543;" ><!--/Bbb L, open face L -->
+<!ENTITY Mopf "&#x1D544;" ><!--/Bbb M, open face M -->
+<!ENTITY Nopf "&#x02115;" ><!--/Bbb N, open face N -->
+<!ENTITY Oopf "&#x1D546;" ><!--/Bbb O, open face O -->
+<!ENTITY Popf "&#x02119;" ><!--/Bbb P, open face P -->
+<!ENTITY Qopf "&#x0211A;" ><!--/Bbb Q, open face Q -->
+<!ENTITY Ropf "&#x0211D;" ><!--/Bbb R, open face R -->
+<!ENTITY Sopf "&#x1D54A;" ><!--/Bbb S, open face S -->
+<!ENTITY Topf "&#x1D54B;" ><!--/Bbb T, open face T -->
+<!ENTITY Uopf "&#x1D54C;" ><!--/Bbb U, open face U -->
+<!ENTITY Vopf "&#x1D54D;" ><!--/Bbb V, open face V -->
+<!ENTITY Wopf "&#x1D54E;" ><!--/Bbb W, open face W -->
+<!ENTITY Xopf "&#x1D54F;" ><!--/Bbb X, open face X -->
+<!ENTITY Yopf "&#x1D550;" ><!--/Bbb Y, open face Y -->
+<!ENTITY Zopf "&#x02124;" ><!--/Bbb Z, open face Z -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isomscr.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isomscr.ent
new file mode 100644
index 0000000..eb25ebd
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isomscr.ent
@@ -0,0 +1,79 @@
+
+<!--
+ File isomscr.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY ascr "&#x1D4B6;" ><!--/scr a, script letter a -->
+<!ENTITY Ascr "&#x1D49C;" ><!--/scr A, script letter A -->
+<!ENTITY bscr "&#x1D4B7;" ><!--/scr b, script letter b -->
+<!ENTITY Bscr "&#x0212C;" ><!--/scr B, script letter B -->
+<!ENTITY cscr "&#x1D4B8;" ><!--/scr c, script letter c -->
+<!ENTITY Cscr "&#x1D49E;" ><!--/scr C, script letter C -->
+<!ENTITY dscr "&#x1D4B9;" ><!--/scr d, script letter d -->
+<!ENTITY Dscr "&#x1D49F;" ><!--/scr D, script letter D -->
+<!ENTITY escr "&#x0212F;" ><!--/scr e, script letter e -->
+<!ENTITY Escr "&#x02130;" ><!--/scr E, script letter E -->
+<!ENTITY fscr "&#x1D4BB;" ><!--/scr f, script letter f -->
+<!ENTITY Fscr "&#x02131;" ><!--/scr F, script letter F -->
+<!ENTITY gscr "&#x0210A;" ><!--/scr g, script letter g -->
+<!ENTITY Gscr "&#x1D4A2;" ><!--/scr G, script letter G -->
+<!ENTITY hscr "&#x1D4BD;" ><!--/scr h, script letter h -->
+<!ENTITY Hscr "&#x0210B;" ><!--/scr H, script letter H -->
+<!ENTITY iscr "&#x1D4BE;" ><!--/scr i, script letter i -->
+<!ENTITY Iscr "&#x02110;" ><!--/scr I, script letter I -->
+<!ENTITY jscr "&#x1D4BF;" ><!--/scr j, script letter j -->
+<!ENTITY Jscr "&#x1D4A5;" ><!--/scr J, script letter J -->
+<!ENTITY kscr "&#x1D4C0;" ><!--/scr k, script letter k -->
+<!ENTITY Kscr "&#x1D4A6;" ><!--/scr K, script letter K -->
+<!ENTITY lscr "&#x02113;" ><!--/scr l, script letter l -->
+<!ENTITY Lscr "&#x02112;" ><!--/scr L, script letter L -->
+<!ENTITY mscr "&#x1D4C2;" ><!--/scr m, script letter m -->
+<!ENTITY Mscr "&#x02133;" ><!--/scr M, script letter M -->
+<!ENTITY nscr "&#x1D4C3;" ><!--/scr n, script letter n -->
+<!ENTITY Nscr "&#x1D4A9;" ><!--/scr N, script letter N -->
+<!ENTITY oscr "&#x02134;" ><!--/scr o, script letter o -->
+<!ENTITY Oscr "&#x1D4AA;" ><!--/scr O, script letter O -->
+<!ENTITY pscr "&#x1D4C5;" ><!--/scr p, script letter p -->
+<!ENTITY Pscr "&#x1D4AB;" ><!--/scr P, script letter P -->
+<!ENTITY qscr "&#x1D4C6;" ><!--/scr q, script letter q -->
+<!ENTITY Qscr "&#x1D4AC;" ><!--/scr Q, script letter Q -->
+<!ENTITY rscr "&#x1D4C7;" ><!--/scr r, script letter r -->
+<!ENTITY Rscr "&#x0211B;" ><!--/scr R, script letter R -->
+<!ENTITY sscr "&#x1D4C8;" ><!--/scr s, script letter s -->
+<!ENTITY Sscr "&#x1D4AE;" ><!--/scr S, script letter S -->
+<!ENTITY tscr "&#x1D4C9;" ><!--/scr t, script letter t -->
+<!ENTITY Tscr "&#x1D4AF;" ><!--/scr T, script letter T -->
+<!ENTITY uscr "&#x1D4CA;" ><!--/scr u, script letter u -->
+<!ENTITY Uscr "&#x1D4B0;" ><!--/scr U, script letter U -->
+<!ENTITY vscr "&#x1D4CB;" ><!--/scr v, script letter v -->
+<!ENTITY Vscr "&#x1D4B1;" ><!--/scr V, script letter V -->
+<!ENTITY wscr "&#x1D4CC;" ><!--/scr w, script letter w -->
+<!ENTITY Wscr "&#x1D4B2;" ><!--/scr W, script letter W -->
+<!ENTITY xscr "&#x1D4CD;" ><!--/scr x, script letter x -->
+<!ENTITY Xscr "&#x1D4B3;" ><!--/scr X, script letter X -->
+<!ENTITY yscr "&#x1D4CE;" ><!--/scr y, script letter y -->
+<!ENTITY Yscr "&#x1D4B4;" ><!--/scr Y, script letter Y -->
+<!ENTITY zscr "&#x1D4CF;" ><!--/scr z, script letter z -->
+<!ENTITY Zscr "&#x1D4B5;" ><!--/scr Z, script letter Z -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isonum.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isonum.ent
new file mode 100644
index 0000000..e5a7002
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isonum.ent
@@ -0,0 +1,103 @@
+
+<!--
+ File isonum.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY amp "&#x26;&#x00026;" ><!--=ampersand -->
+<!ENTITY apos "&#x00027;" ><!--=apostrophe -->
+<!ENTITY ast "&#x0002A;" ><!--/ast B: =asterisk -->
+<!ENTITY brvbar "&#x000A6;" ><!--=broken (vertical) bar -->
+<!ENTITY bsol "&#x0005C;" ><!--/backslash =reverse solidus -->
+<!ENTITY cent "&#x000A2;" ><!--=cent sign -->
+<!ENTITY colon "&#x0003A;" ><!--/colon P: -->
+<!ENTITY comma "&#x0002C;" ><!--P: =comma -->
+<!ENTITY commat "&#x00040;" ><!--=commercial at -->
+<!ENTITY copy "&#x000A9;" ><!--=copyright sign -->
+<!ENTITY curren "&#x000A4;" ><!--=general currency sign -->
+<!ENTITY darr "&#x02193;" ><!--/downarrow A: =downward arrow -->
+<!ENTITY deg "&#x000B0;" ><!--=degree sign -->
+<!ENTITY divide "&#x000F7;" ><!--/div B: =divide sign -->
+<!ENTITY dollar "&#x00024;" ><!--=dollar sign -->
+<!ENTITY equals "&#x0003D;" ><!--=equals sign R: -->
+<!ENTITY excl "&#x00021;" ><!--=exclamation mark -->
+<!ENTITY frac12 "&#x000BD;" ><!--=fraction one-half -->
+<!ENTITY frac14 "&#x000BC;" ><!--=fraction one-quarter -->
+<!ENTITY frac18 "&#x0215B;" ><!--=fraction one-eighth -->
+<!ENTITY frac34 "&#x000BE;" ><!--=fraction three-quarters -->
+<!ENTITY frac38 "&#x0215C;" ><!--=fraction three-eighths -->
+<!ENTITY frac58 "&#x0215D;" ><!--=fraction five-eighths -->
+<!ENTITY frac78 "&#x0215E;" ><!--=fraction seven-eighths -->
+<!ENTITY gt "&#x0003E;" ><!--=greater-than sign R: -->
+<!ENTITY half "&#x000BD;" ><!--=fraction one-half -->
+<!ENTITY horbar "&#x02015;" ><!--=horizontal bar -->
+<!ENTITY hyphen "&#x02010;" ><!--=hyphen -->
+<!ENTITY iexcl "&#x000A1;" ><!--=inverted exclamation mark -->
+<!ENTITY iquest "&#x000BF;" ><!--=inverted question mark -->
+<!ENTITY laquo "&#x000AB;" ><!--=angle quotation mark, left -->
+<!ENTITY larr "&#x02190;" ><!--/leftarrow /gets A: =leftward arrow -->
+<!ENTITY lcub "&#x0007B;" ><!--/lbrace O: =left curly bracket -->
+<!ENTITY ldquo "&#x0201C;" ><!--=double quotation mark, left -->
+<!ENTITY lowbar "&#x0005F;" ><!--=low line -->
+<!ENTITY lpar "&#x00028;" ><!--O: =left parenthesis -->
+<!ENTITY lsqb "&#x0005B;" ><!--/lbrack O: =left square bracket -->
+<!ENTITY lsquo "&#x02018;" ><!--=single quotation mark, left -->
+<!ENTITY lt "&#x26;&#x0003C;" ><!--=less-than sign R: -->
+<!ENTITY micro "&#x000B5;" ><!--=micro sign -->
+<!ENTITY middot "&#x000B7;" ><!--/centerdot B: =middle dot -->
+<!ENTITY nbsp "&#x000A0;" ><!--=no break (required) space -->
+<!ENTITY not "&#x000AC;" ><!--/neg /lnot =not sign -->
+<!ENTITY num "&#x00023;" ><!--=number sign -->
+<!ENTITY ohm "&#x02126;" ><!--=ohm sign -->
+<!ENTITY ordf "&#x000AA;" ><!--=ordinal indicator, feminine -->
+<!ENTITY ordm "&#x000BA;" ><!--=ordinal indicator, masculine -->
+<!ENTITY para "&#x000B6;" ><!--=pilcrow (paragraph sign) -->
+<!ENTITY percnt "&#x00025;" ><!--=percent sign -->
+<!ENTITY period "&#x0002E;" ><!--=full stop, period -->
+<!ENTITY plus "&#x0002B;" ><!--=plus sign B: -->
+<!ENTITY plusmn "&#x000B1;" ><!--/pm B: =plus-or-minus sign -->
+<!ENTITY pound "&#x000A3;" ><!--=pound sign -->
+<!ENTITY quest "&#x0003F;" ><!--=question mark -->
+<!ENTITY quot "&#x00022;" ><!--=quotation mark -->
+<!ENTITY raquo "&#x000BB;" ><!--=angle quotation mark, right -->
+<!ENTITY rarr "&#x02192;" ><!--/rightarrow /to A: =rightward arrow -->
+<!ENTITY rcub "&#x0007D;" ><!--/rbrace C: =right curly bracket -->
+<!ENTITY rdquo "&#x0201D;" ><!--=double quotation mark, right -->
+<!ENTITY reg "&#x000AE;" ><!--/circledR =registered sign -->
+<!ENTITY rpar "&#x00029;" ><!--C: =right parenthesis -->
+<!ENTITY rsqb "&#x0005D;" ><!--/rbrack C: =right square bracket -->
+<!ENTITY rsquo "&#x02019;" ><!--=single quotation mark, right -->
+<!ENTITY sect "&#x000A7;" ><!--=section sign -->
+<!ENTITY semi "&#x0003B;" ><!--=semicolon P: -->
+<!ENTITY shy "&#x000AD;" ><!--=soft hyphen -->
+<!ENTITY sol "&#x0002F;" ><!--=solidus -->
+<!ENTITY sung "&#x0266A;" ><!--=music note (sung text sign) -->
+<!ENTITY sup1 "&#x000B9;" ><!--=superscript one -->
+<!ENTITY sup2 "&#x000B2;" ><!--=superscript two -->
+<!ENTITY sup3 "&#x000B3;" ><!--=superscript three -->
+<!ENTITY times "&#x000D7;" ><!--/times B: =multiply sign -->
+<!ENTITY trade "&#x02122;" ><!--=trade mark sign -->
+<!ENTITY uarr "&#x02191;" ><!--/uparrow A: =upward arrow -->
+<!ENTITY verbar "&#x0007C;" ><!--/vert =vertical bar -->
+<!ENTITY yen "&#x000A5;" ><!--/yen =yen sign -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isopub.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isopub.ent
new file mode 100644
index 0000000..ceb8686
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isopub.ent
@@ -0,0 +1,110 @@
+
+<!--
+ File isopub.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY blank "&#x02423;" ><!--=significant blank symbol -->
+<!ENTITY blk12 "&#x02592;" ><!--=50% shaded block -->
+<!ENTITY blk14 "&#x02591;" ><!--=25% shaded block -->
+<!ENTITY blk34 "&#x02593;" ><!--=75% shaded block -->
+<!ENTITY block "&#x02588;" ><!--=full block -->
+<!ENTITY bull "&#x02022;" ><!--/bullet B: =round bullet, filled -->
+<!ENTITY caret "&#x02041;" ><!--=caret (insertion mark) -->
+<!ENTITY check "&#x02713;" ><!--/checkmark =tick, check mark -->
+<!ENTITY cir "&#x025CB;" ><!--/circ B: =circle, open -->
+<!ENTITY clubs "&#x02663;" ><!--/clubsuit =club suit symbol -->
+<!ENTITY copysr "&#x02117;" ><!--=sound recording copyright sign -->
+<!ENTITY cross "&#x02717;" ><!--=ballot cross -->
+<!ENTITY dagger "&#x02020;" ><!--/dagger B: =dagger -->
+<!ENTITY Dagger "&#x02021;" ><!--/ddagger B: =double dagger -->
+<!ENTITY dash "&#x02010;" ><!--=hyphen (true graphic) -->
+<!ENTITY diams "&#x02666;" ><!--/diamondsuit =diamond suit symbol -->
+<!ENTITY dlcrop "&#x0230D;" ><!--downward left crop mark -->
+<!ENTITY drcrop "&#x0230C;" ><!--downward right crop mark -->
+<!ENTITY dtri "&#x025BF;" ><!--/triangledown =down triangle, open -->
+<!ENTITY dtrif "&#x025BE;" ><!--/blacktriangledown =dn tri, filled -->
+<!ENTITY emsp "&#x02003;" ><!--=em space -->
+<!ENTITY emsp13 "&#x02004;" ><!--=1/3-em space -->
+<!ENTITY emsp14 "&#x02005;" ><!--=1/4-em space -->
+<!ENTITY ensp "&#x02002;" ><!--=en space (1/2-em) -->
+<!ENTITY female "&#x02640;" ><!--=female symbol -->
+<!ENTITY ffilig "&#x0FB03;" ><!--small ffi ligature -->
+<!ENTITY fflig "&#x0FB00;" ><!--small ff ligature -->
+<!ENTITY ffllig "&#x0FB04;" ><!--small ffl ligature -->
+<!ENTITY filig "&#x0FB01;" ><!--small fi ligature -->
+<!ENTITY flat "&#x0266D;" ><!--/flat =musical flat -->
+<!ENTITY fllig "&#x0FB02;" ><!--small fl ligature -->
+<!ENTITY frac13 "&#x02153;" ><!--=fraction one-third -->
+<!ENTITY frac15 "&#x02155;" ><!--=fraction one-fifth -->
+<!ENTITY frac16 "&#x02159;" ><!--=fraction one-sixth -->
+<!ENTITY frac23 "&#x02154;" ><!--=fraction two-thirds -->
+<!ENTITY frac25 "&#x02156;" ><!--=fraction two-fifths -->
+<!ENTITY frac35 "&#x02157;" ><!--=fraction three-fifths -->
+<!ENTITY frac45 "&#x02158;" ><!--=fraction four-fifths -->
+<!ENTITY frac56 "&#x0215A;" ><!--=fraction five-sixths -->
+<!ENTITY hairsp "&#x0200A;" ><!--=hair space -->
+<!ENTITY hellip "&#x02026;" ><!--=ellipsis (horizontal) -->
+<!ENTITY hybull "&#x02043;" ><!--rectangle, filled (hyphen bullet) -->
+<!ENTITY incare "&#x02105;" ><!--=in-care-of symbol -->
+<!ENTITY ldquor "&#x0201E;" ><!--=rising dbl quote, left (low) -->
+<!ENTITY lhblk "&#x02584;" ><!--=lower half block -->
+<!ENTITY loz "&#x025CA;" ><!--/lozenge - lozenge or total mark -->
+<!ENTITY lozf "&#x029EB;" ><!--/blacklozenge - lozenge, filled -->
+<!ENTITY lsquor "&#x0201A;" ><!--=rising single quote, left (low) -->
+<!ENTITY ltri "&#x025C3;" ><!--/triangleleft B: l triangle, open -->
+<!ENTITY ltrif "&#x025C2;" ><!--/blacktriangleleft R: =l tri, filled -->
+<!ENTITY male "&#x02642;" ><!--=male symbol -->
+<!ENTITY malt "&#x02720;" ><!--/maltese =maltese cross -->
+<!ENTITY marker "&#x025AE;" ><!--=histogram marker -->
+<!ENTITY mdash "&#x02014;" ><!--=em dash -->
+<!ENTITY mldr "&#x02026;" ><!--em leader -->
+<!ENTITY natur "&#x0266E;" ><!--/natural - music natural -->
+<!ENTITY ndash "&#x02013;" ><!--=en dash -->
+<!ENTITY nldr "&#x02025;" ><!--=double baseline dot (en leader) -->
+<!ENTITY numsp "&#x02007;" ><!--=digit space (width of a number) -->
+<!ENTITY phone "&#x0260E;" ><!--=telephone symbol -->
+<!ENTITY puncsp "&#x02008;" ><!--=punctuation space (width of comma) -->
+<!ENTITY rdquor "&#x0201D;" ><!--rising dbl quote, right (high) -->
+<!ENTITY rect "&#x025AD;" ><!--=rectangle, open -->
+<!ENTITY rsquor "&#x02019;" ><!--rising single quote, right (high) -->
+<!ENTITY rtri "&#x025B9;" ><!--/triangleright B: r triangle, open -->
+<!ENTITY rtrif "&#x025B8;" ><!--/blacktriangleright R: =r tri, filled -->
+<!ENTITY rx "&#x0211E;" ><!--pharmaceutical prescription (Rx) -->
+<!ENTITY sext "&#x02736;" ><!--sextile (6-pointed star) -->
+<!ENTITY sharp "&#x0266F;" ><!--/sharp =musical sharp -->
+<!ENTITY spades "&#x02660;" ><!--/spadesuit =spades suit symbol -->
+<!ENTITY squ "&#x025A1;" ><!--=square, open -->
+<!ENTITY squf "&#x025AA;" ><!--/blacksquare =sq bullet, filled -->
+<!ENTITY star "&#x022C6;" ><!--=star, open -->
+<!ENTITY starf "&#x02605;" ><!--/bigstar - star, filled -->
+<!ENTITY target "&#x02316;" ><!--register mark or target -->
+<!ENTITY telrec "&#x02315;" ><!--=telephone recorder symbol -->
+<!ENTITY thinsp "&#x02009;" ><!--=thin space (1/6-em) -->
+<!ENTITY uhblk "&#x02580;" ><!--=upper half block -->
+<!ENTITY ulcrop "&#x0230F;" ><!--upward left crop mark -->
+<!ENTITY urcrop "&#x0230E;" ><!--upward right crop mark -->
+<!ENTITY utri "&#x025B5;" ><!--/triangle =up triangle, open -->
+<!ENTITY utrif "&#x025B4;" ><!--/blacktriangle =up tri, filled -->
+<!ENTITY vellip "&#x022EE;" ><!--vertical ellipsis -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/isotech.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/isotech.ent
new file mode 100644
index 0000000..6747b42
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/isotech.ent
@@ -0,0 +1,183 @@
+
+<!--
+ File isotech.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY acd "&#x0223F;" ><!--ac current -->
+<!ENTITY aleph "&#x02135;" ><!--/aleph aleph, Hebrew -->
+<!ENTITY and "&#x02227;" ><!--/wedge /land B: logical and -->
+<!ENTITY And "&#x02A53;" ><!--dbl logical and -->
+<!ENTITY andand "&#x02A55;" ><!--two logical and -->
+<!ENTITY andd "&#x02A5C;" ><!--and, horizontal dash -->
+<!ENTITY andslope "&#x02A58;" ><!--sloping large and -->
+<!ENTITY andv "&#x02A5A;" ><!--and with middle stem -->
+<!ENTITY angrt "&#x0221F;" ><!--right (90 degree) angle -->
+<!ENTITY angsph "&#x02222;" ><!--/sphericalangle angle-spherical -->
+<!ENTITY angst "&#x0212B;" ><!--Angstrom capital A, ring -->
+<!ENTITY ap "&#x02248;" ><!--/approx R: approximate -->
+<!ENTITY apacir "&#x02A6F;" ><!--approximate, circumflex accent -->
+<!ENTITY awconint "&#x02233;" ><!--contour integral, anti-clockwise -->
+<!ENTITY awint "&#x02A11;" ><!--anti clock-wise integration -->
+<!ENTITY becaus "&#x02235;" ><!--/because R: because -->
+<!ENTITY bernou "&#x0212C;" ><!--Bernoulli function (script capital B) -->
+<!ENTITY bne "&#x0003D;&#x020E5;" ><!--reverse not equal -->
+<!ENTITY bnequiv "&#x02261;&#x020E5;" ><!--reverse not equivalent -->
+<!ENTITY bnot "&#x02310;" ><!--reverse not -->
+<!ENTITY bNot "&#x02AED;" ><!--reverse not with two horizontal strokes -->
+<!ENTITY bottom "&#x022A5;" ><!--/bot bottom -->
+<!ENTITY cap "&#x02229;" ><!--/cap B: intersection -->
+<!ENTITY Cconint "&#x02230;" ><!--triple contour integral operator -->
+<!ENTITY cirfnint "&#x02A10;" ><!--circulation function -->
+<!ENTITY compfn "&#x02218;" ><!--/circ B: composite function (small circle) -->
+<!ENTITY cong "&#x02245;" ><!--/cong R: congruent with -->
+<!ENTITY conint "&#x0222E;" ><!--/oint L: contour integral operator -->
+<!ENTITY Conint "&#x0222F;" ><!--double contour integral operator -->
+<!ENTITY ctdot "&#x022EF;" ><!--/cdots, three dots, centered -->
+<!ENTITY cup "&#x0222A;" ><!--/cup B: union or logical sum -->
+<!ENTITY cwconint "&#x02232;" ><!--contour integral, clockwise -->
+<!ENTITY cwint "&#x02231;" ><!--clockwise integral -->
+<!ENTITY cylcty "&#x0232D;" ><!--cylindricity -->
+<!ENTITY disin "&#x022F2;" ><!--set membership, long horizontal stroke -->
+<!ENTITY Dot "&#x000A8;" ><!--dieresis or umlaut mark -->
+<!ENTITY DotDot "&#x020DC;" ><!--four dots above -->
+<!ENTITY dsol "&#x029F6;" ><!--solidus, bar above -->
+<!ENTITY dtdot "&#x022F1;" ><!--/ddots, three dots, descending -->
+<!ENTITY dwangle "&#x029A6;" ><!--large downward pointing angle -->
+<!ENTITY epar "&#x022D5;" ><!--parallel, equal; equal or parallel -->
+<!ENTITY eparsl "&#x029E3;" ><!--parallel, slanted, equal; homothetically congruent to -->
+<!ENTITY equiv "&#x02261;" ><!--/equiv R: identical with -->
+<!ENTITY eqvparsl "&#x029E5;" ><!--equivalent, equal; congruent and parallel -->
+<!ENTITY exist "&#x02203;" ><!--/exists at least one exists -->
+<!ENTITY fnof "&#x00192;" ><!--function of (italic small f) -->
+<!ENTITY forall "&#x02200;" ><!--/forall for all -->
+<!ENTITY fpartint "&#x02A0D;" ><!--finite part integral -->
+<!ENTITY ge "&#x02265;" ><!--/geq /ge R: greater-than-or-equal -->
+<!ENTITY hamilt "&#x0210B;" ><!--Hamiltonian (script capital H) -->
+<!ENTITY iff "&#x021D4;" ><!--/iff if and only if -->
+<!ENTITY iinfin "&#x029DC;" ><!--infinity sign, incomplete -->
+<!ENTITY imped "&#x1D543;" ><!--impedance -->
+<!ENTITY infin "&#x0221E;" ><!--/infty infinity -->
+<!ENTITY int "&#x0222B;" ><!--/int L: integral operator -->
+<!ENTITY Int "&#x0222C;" ><!--double integral operator -->
+<!ENTITY intlarhk "&#x02A17;" ><!--integral, left arrow with hook -->
+<!ENTITY isin "&#x02208;" ><!--/in R: set membership -->
+<!ENTITY isindot "&#x022F5;" ><!--set membership, dot above -->
+<!ENTITY isinE "&#x022F9;" ><!--set membership, two horizontal strokes -->
+<!ENTITY isins "&#x022F4;" ><!--set membership, vertical bar on horizontal stroke -->
+<!ENTITY isinsv "&#x022F3;" ><!--large set membership, vertical bar on horizontal stroke -->
+<!ENTITY isinv "&#x02208;" ><!--set membership, variant -->
+<!ENTITY lagran "&#x02112;" ><!--Lagrangian (script capital L) -->
+<!ENTITY lang "&#x02329;" ><!--/langle O: left angle bracket -->
+<!ENTITY Lang "&#x0300A;" ><!--left angle bracket, double -->
+<!ENTITY lArr "&#x021D0;" ><!--/Leftarrow A: is implied by -->
+<!ENTITY lbbrk "&#x03014;" ><!--left broken bracket -->
+<!ENTITY le "&#x02264;" ><!--/leq /le R: less-than-or-equal -->
+<!ENTITY loang "&#x0F558;" ><!--left open angular bracket -->
+<!ENTITY lobrk "&#x0301A;" ><!--left open bracket -->
+<!ENTITY lopar "&#x03018;" ><!--left open parenthesis -->
+<!ENTITY lowast "&#x02217;" ><!--low asterisk -->
+<!ENTITY minus "&#x02212;" ><!--B: minus sign -->
+<!ENTITY mnplus "&#x02213;" ><!--/mp B: minus-or-plus sign -->
+<!ENTITY nabla "&#x02207;" ><!--/nabla del, Hamilton operator -->
+<!ENTITY ne "&#x02260;" ><!--/ne /neq R: not equal -->
+<!ENTITY nedot "&#x02260;&#x0FE00;" ><!--not equal, dot -->
+<!ENTITY nhpar "&#x02AF2;" ><!--not, horizontal, parallel -->
+<!ENTITY ni "&#x0220B;" ><!--/ni /owns R: contains -->
+<!ENTITY nis "&#x022FC;" ><!--contains, vertical bar on horizontal stroke -->
+<!ENTITY nisd "&#x022FA;" ><!--contains, long horizontal stroke -->
+<!ENTITY niv "&#x0220B;" ><!--contains, variant -->
+<!ENTITY Not "&#x02AEC;" ><!--not with two horizontal strokes -->
+<!ENTITY notin "&#x02209;" ><!--/notin N: negated set membership -->
+<!ENTITY notindot "&#x022F6;&#x0FE00;" ><!--negated set membership, dot above -->
+<!ENTITY notinva "&#x02209;&#x00338;" ><!--negated set membership, variant -->
+<!ENTITY notinvb "&#x022F7;" ><!--negated set membership, variant -->
+<!ENTITY notinvc "&#x022F6;" ><!--negated set membership, variant -->
+<!ENTITY notni "&#x0220C;" ><!--negated contains -->
+<!ENTITY notniva "&#x0220C;" ><!--negated contains, variant -->
+<!ENTITY notnivb "&#x022FE;" ><!--contains, variant -->
+<!ENTITY notnivc "&#x022FD;" ><!--contains, variant -->
+<!ENTITY nparsl "&#x02225;&#x0FE00;&#x020E5;" ><!--not parallel, slanted -->
+<!ENTITY npart "&#x02202;&#x00338;" ><!--not partial differential -->
+<!ENTITY npolint "&#x02A14;" ><!--line integration, not including the pole -->
+<!ENTITY nvinfin "&#x029DE;" ><!--not, vert, infinity -->
+<!ENTITY olcross "&#x029BB;" ><!--circle, cross -->
+<!ENTITY or "&#x02228;" ><!--/vee /lor B: logical or -->
+<!ENTITY Or "&#x02A54;" ><!--dbl logical or -->
+<!ENTITY ord "&#x02A5D;" ><!--or, horizontal dash -->
+<!ENTITY order "&#x02134;" ><!--order of (script small o) -->
+<!ENTITY oror "&#x02A56;" ><!--two logical or -->
+<!ENTITY orslope "&#x02A57;" ><!--sloping large or -->
+<!ENTITY orv "&#x02A5B;" ><!--or with middle stem -->
+<!ENTITY par "&#x02225;" ><!--/parallel R: parallel -->
+<!ENTITY parsl "&#x02225;&#x0FE00;" ><!--parallel, slanted -->
+<!ENTITY part "&#x02202;" ><!--/partial partial differential -->
+<!ENTITY permil "&#x02030;" ><!--per thousand -->
+<!ENTITY perp "&#x022A5;" ><!--/perp R: perpendicular -->
+<!ENTITY pertenk "&#x02031;" ><!--per 10 thousand -->
+<!ENTITY phmmat "&#x02133;" ><!--physics M-matrix (script capital M) -->
+<!ENTITY pointint "&#x02A15;" ><!--integral around a point operator -->
+<!ENTITY prime "&#x02032;" ><!--/prime prime or minute -->
+<!ENTITY Prime "&#x02033;" ><!--double prime or second -->
+<!ENTITY profalar "&#x0232E;" ><!--all-around profile -->
+<!ENTITY profline "&#x02312;" ><!--profile of a line -->
+<!ENTITY profsurf "&#x02313;" ><!--profile of a surface -->
+<!ENTITY prop "&#x0221D;" ><!--/propto R: is proportional to -->
+<!ENTITY qint "&#x02A0C;" ><!--/iiiint quadruple integral operator -->
+<!ENTITY qprime "&#x02057;" ><!--quadruple prime -->
+<!ENTITY quatint "&#x02A16;" ><!--quaternion integral operator -->
+<!ENTITY radic "&#x0221A;" ><!--/surd radical -->
+<!ENTITY rang "&#x0232A;" ><!--/rangle C: right angle bracket -->
+<!ENTITY Rang "&#x0300B;" ><!--right angle bracket, double -->
+<!ENTITY rArr "&#x021D2;" ><!--/Rightarrow A: implies -->
+<!ENTITY rbbrk "&#x03015;" ><!--right broken bracket -->
+<!ENTITY roang "&#x0F559;" ><!--right open angular bracket -->
+<!ENTITY robrk "&#x0301B;" ><!--right open bracket -->
+<!ENTITY ropar "&#x03019;" ><!--right open parenthesis -->
+<!ENTITY rppolint "&#x02A12;" ><!--line integration, rectangular path around pole -->
+<!ENTITY scpolint "&#x02A13;" ><!--line integration, semi-circular path around pole -->
+<!ENTITY sim "&#x0223C;" ><!--/sim R: similar -->
+<!ENTITY simdot "&#x02A6A;" ><!--similar, dot -->
+<!ENTITY sime "&#x02243;" ><!--/simeq R: similar, equals -->
+<!ENTITY smeparsl "&#x029E4;" ><!--similar, parallel, slanted, equal -->
+<!ENTITY square "&#x025A1;" ><!--/square, square -->
+<!ENTITY squarf "&#x025AA;" ><!--/blacksquare, square, filled -->
+<!ENTITY sub "&#x02282;" ><!--/subset R: subset or is implied by -->
+<!ENTITY sube "&#x02286;" ><!--/subseteq R: subset, equals -->
+<!ENTITY sup "&#x02283;" ><!--/supset R: superset or implies -->
+<!ENTITY supe "&#x02287;" ><!--/supseteq R: superset, equals -->
+<!ENTITY tdot "&#x020DB;" ><!--three dots above -->
+<!ENTITY there4 "&#x02234;" ><!--/therefore R: therefore -->
+<!ENTITY tint "&#x0222D;" ><!--/iiint triple integral operator -->
+<!ENTITY top "&#x022A4;" ><!--/top top -->
+<!ENTITY topbot "&#x02336;" ><!--top and bottom -->
+<!ENTITY topcir "&#x02AF1;" ><!--top, circle below -->
+<!ENTITY tprime "&#x02034;" ><!--triple prime -->
+<!ENTITY utdot "&#x022F0;" ><!--three dots, ascending -->
+<!ENTITY uwangle "&#x029A7;" ><!--large upward pointing angle -->
+<!ENTITY vangrt "&#x022BE;" ><!--right angle, variant -->
+<!ENTITY veeeq "&#x0225A;" ><!--logical or, equals -->
+<!ENTITY Verbar "&#x02016;" ><!--/Vert dbl vertical bar -->
+<!ENTITY wedgeq "&#x02259;" ><!--/wedgeq R: corresponds to (wedge, equals) -->
+<!ENTITY xnis "&#x022FB;" ><!--large contains, vertical bar on horizontal stroke -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/mathml/mmlalias.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/mathml/mmlalias.ent
new file mode 100644
index 0000000..c34669a
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/mathml/mmlalias.ent
@@ -0,0 +1,564 @@
+
+<!--
+ File mmlalias.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ References to the VARIANT SELECTOR 1 character (&#x0FE00;)
+ should match the uses listed in Unicode Technical Report 25.
+
+-->
+
+<!ENTITY angle "&#x02220;" ><!--alias ISOAMSO ang -->
+<!ENTITY ApplyFunction "&#x02061;" ><!--character showing function application in presentation tagging -->
+<!ENTITY approx "&#x02248;" ><!--alias ISOTECH ap -->
+<!ENTITY approxeq "&#x0224A;" ><!--alias ISOAMSR ape -->
+<!ENTITY Assign "&#x02254;" ><!--assignment operator, alias ISOAMSR colone -->
+<!ENTITY backcong "&#x0224C;" ><!--alias ISOAMSR bcong -->
+<!ENTITY backepsilon "&#x003F6;" ><!--alias ISOAMSR bepsi -->
+<!ENTITY backprime "&#x02035;" ><!--alias ISOAMSO bprime -->
+<!ENTITY backsim "&#x0223D;" ><!--alias ISOAMSR bsim -->
+<!ENTITY backsimeq "&#x022CD;" ><!--alias ISOAMSR bsime -->
+<!ENTITY Backslash "&#x02216;" ><!--alias ISOAMSB setmn -->
+<!ENTITY barwedge "&#x022BC;" ><!--alias ISOAMSB barwed -->
+<!ENTITY Because "&#x02235;" ><!--alias ISOTECH becaus -->
+<!ENTITY because "&#x02235;" ><!--alias ISOTECH becaus -->
+<!ENTITY Bernoullis "&#x0212C;" ><!--alias ISOTECH bernou -->
+<!ENTITY between "&#x0226C;" ><!--alias ISOAMSR twixt -->
+<!ENTITY bigcap "&#x022C2;" ><!--alias ISOAMSB xcap -->
+<!ENTITY bigcirc "&#x025EF;" ><!--alias ISOAMSB xcirc -->
+<!ENTITY bigcup "&#x022C3;" ><!--alias ISOAMSB xcup -->
+<!ENTITY bigodot "&#x02299;" ><!--alias ISOAMSB xodot -->
+<!ENTITY bigoplus "&#x02295;" ><!--alias ISOAMSB xoplus -->
+<!ENTITY bigotimes "&#x02297;" ><!--alias ISOAMSB xotime -->
+<!ENTITY bigsqcup "&#x02294;" ><!--alias ISOAMSB xsqcup -->
+<!ENTITY bigstar "&#x02605;" ><!--ISOPUB starf -->
+<!ENTITY bigtriangledown "&#x025BD;" ><!--alias ISOAMSB xdtri -->
+<!ENTITY bigtriangleup "&#x025B3;" ><!--alias ISOAMSB xutri -->
+<!ENTITY biguplus "&#x0228E;" ><!--alias ISOAMSB xuplus -->
+<!ENTITY bigvee "&#x022C1;" ><!--alias ISOAMSB xvee -->
+<!ENTITY bigwedge "&#x022C0;" ><!--alias ISOAMSB xwedge -->
+<!ENTITY bkarow "&#x0290D;" ><!--alias ISOAMSA rbarr -->
+<!ENTITY blacklozenge "&#x029EB;" ><!--alias ISOPUB lozf -->
+<!ENTITY blacksquare "&#x025AA;" ><!--ISOTECH squarf -->
+<!ENTITY blacktriangle "&#x025B4;" ><!--alias ISOPUB utrif -->
+<!ENTITY blacktriangledown "&#x025BE;" ><!--alias ISOPUB dtrif -->
+<!ENTITY blacktriangleleft "&#x025C2;" ><!--alias ISOPUB ltrif -->
+<!ENTITY blacktriangleright "&#x025B8;" ><!--alias ISOPUB rtrif -->
+<!ENTITY bot "&#x022A5;" ><!--alias ISOTECH bottom -->
+<!ENTITY boxminus "&#x0229F;" ><!--alias ISOAMSB minusb -->
+<!ENTITY boxplus "&#x0229E;" ><!--alias ISOAMSB plusb -->
+<!ENTITY boxtimes "&#x022A0;" ><!--alias ISOAMSB timesb -->
+<!ENTITY Breve "&#x002D8;" ><!--alias ISODIA breve -->
+<!ENTITY bullet "&#x02022;" ><!--alias ISOPUB bull -->
+<!ENTITY Bumpeq "&#x0224E;" ><!--alias ISOAMSR bump -->
+<!ENTITY bumpeq "&#x0224F;" ><!--alias ISOAMSR bumpe -->
+<!ENTITY CapitalDifferentialD "&#x02145;" ><!--D for use in differentials, e.g., within integrals -->
+<!ENTITY Cayleys "&#x0212D;" ><!--the non-associative ring of octonions or Cayley numbers -->
+<!ENTITY Cedilla "&#x000B8;" ><!--alias ISODIA cedil -->
+<!ENTITY CenterDot "&#x000B7;" ><!--alias ISONUM middot -->
+<!ENTITY centerdot "&#x000B7;" ><!--alias ISONUM middot -->
+<!ENTITY checkmark "&#x02713;" ><!--alias ISOPUB check -->
+<!ENTITY circeq "&#x02257;" ><!--alias ISOAMSR cire -->
+<!ENTITY circlearrowleft "&#x021BA;" ><!--alias ISOAMSA olarr -->
+<!ENTITY circlearrowright "&#x021BB;" ><!--alias ISOAMSA orarr -->
+<!ENTITY circledast "&#x0229B;" ><!--alias ISOAMSB oast -->
+<!ENTITY circledcirc "&#x0229A;" ><!--alias ISOAMSB ocir -->
+<!ENTITY circleddash "&#x0229D;" ><!--alias ISOAMSB odash -->
+<!ENTITY CircleDot "&#x02299;" ><!--alias ISOAMSB odot -->
+<!ENTITY circledR "&#x000AE;" ><!--alias ISONUM reg -->
+<!ENTITY circledS "&#x024C8;" ><!--alias ISOAMSO oS -->
+<!ENTITY CircleMinus "&#x02296;" ><!--alias ISOAMSB ominus -->
+<!ENTITY CirclePlus "&#x02295;" ><!--alias ISOAMSB oplus -->
+<!ENTITY CircleTimes "&#x02297;" ><!--alias ISOAMSB otimes -->
+<!ENTITY ClockwiseContourIntegral "&#x02232;" ><!--alias ISOTECH cwconint -->
+<!ENTITY CloseCurlyDoubleQuote "&#x0201D;" ><!--alias ISONUM rdquo -->
+<!ENTITY CloseCurlyQuote "&#x02019;" ><!--alias ISONUM rsquo -->
+<!ENTITY clubsuit "&#x02663;" ><!--ISOPUB clubs -->
+<!ENTITY coloneq "&#x02254;" ><!--alias ISOAMSR colone -->
+<!ENTITY complement "&#x02201;" ><!--alias ISOAMSO comp -->
+<!ENTITY complexes "&#x02102;" ><!--the field of complex numbers -->
+<!ENTITY Congruent "&#x02261;" ><!--alias ISOTECH equiv -->
+<!ENTITY ContourIntegral "&#x0222E;" ><!--alias ISOTECH conint -->
+<!ENTITY Coproduct "&#x02210;" ><!--alias ISOAMSB coprod -->
+<!ENTITY CounterClockwiseContourIntegral "&#x02233;" ><!--alias ISOTECH awconint -->
+<!ENTITY CupCap "&#x0224D;" ><!--alias asympeq -->
+<!ENTITY curlyeqprec "&#x022DE;" ><!--alias ISOAMSR cuepr -->
+<!ENTITY curlyeqsucc "&#x022DF;" ><!--alias ISOAMSR cuesc -->
+<!ENTITY curlyvee "&#x022CE;" ><!--alias ISOAMSB cuvee -->
+<!ENTITY curlywedge "&#x022CF;" ><!--alias ISOAMSB cuwed -->
+<!ENTITY curvearrowleft "&#x021B6;" ><!--alias ISOAMSA cularr -->
+<!ENTITY curvearrowright "&#x021B7;" ><!--alias ISOAMSA curarr -->
+<!ENTITY dbkarow "&#x0290F;" ><!--alias ISOAMSA rBarr -->
+<!ENTITY ddagger "&#x02021;" ><!--alias ISOPUB Dagger -->
+<!ENTITY ddotseq "&#x02A77;" ><!--alias ISOAMSR eDDot -->
+<!ENTITY Del "&#x02207;" ><!--alias ISOTECH nabla -->
+<!ENTITY DiacriticalAcute "&#x000B4;" ><!--alias ISODIA acute -->
+<!ENTITY DiacriticalDot "&#x002D9;" ><!--alias ISODIA dot -->
+<!ENTITY DiacriticalDoubleAcute "&#x002DD;" ><!--alias ISODIA dblac -->
+<!ENTITY DiacriticalGrave "&#x00060;" ><!--alias ISODIA grave -->
+<!ENTITY DiacriticalTilde "&#x002DC;" ><!--alias ISODIA tilde -->
+<!ENTITY Diamond "&#x022C4;" ><!--alias ISOAMSB diam -->
+<!ENTITY diamond "&#x022C4;" ><!--alias ISOAMSB diam -->
+<!ENTITY diamondsuit "&#x02666;" ><!--ISOPUB diams -->
+<!ENTITY DifferentialD "&#x02146;" ><!--d for use in differentials, e.g., within integrals -->
+<!ENTITY digamma "&#x003DC;" ><!--alias ISOGRK3 gammad -->
+<!ENTITY div "&#x000F7;" ><!--alias ISONUM divide -->
+<!ENTITY divideontimes "&#x022C7;" ><!--alias ISOAMSB divonx -->
+<!ENTITY doteq "&#x02250;" ><!--alias ISOAMSR esdot -->
+<!ENTITY doteqdot "&#x02251;" ><!--alias ISOAMSR eDot -->
+<!ENTITY DotEqual "&#x02250;" ><!--alias ISOAMSR esdot -->
+<!ENTITY dotminus "&#x02238;" ><!--alias ISOAMSB minusd -->
+<!ENTITY dotplus "&#x02214;" ><!--alias ISOAMSB plusdo -->
+<!ENTITY dotsquare "&#x022A1;" ><!--alias ISOAMSB sdotb -->
+<!ENTITY doublebarwedge "&#x02306;" ><!--alias ISOAMSB Barwed -->
+<!ENTITY DoubleContourIntegral "&#x0222F;" ><!--alias ISOTECH Conint -->
+<!ENTITY DoubleDot "&#x000A8;" ><!--alias ISODIA die -->
+<!ENTITY DoubleDownArrow "&#x021D3;" ><!--alias ISOAMSA dArr -->
+<!ENTITY DoubleLeftArrow "&#x021D0;" ><!--alias ISOTECH lArr -->
+<!ENTITY DoubleLeftRightArrow "&#x021D4;" ><!--alias ISOAMSA hArr -->
+<!ENTITY DoubleLeftTee "&#x02AE4;" ><!--alias for &Dashv; -->
+<!ENTITY DoubleLongLeftArrow "&#x027F8;" ><!--alias ISOAMSA xlArr -->
+<!ENTITY DoubleLongLeftRightArrow "&#x027FA;" ><!--alias ISOAMSA xhArr -->
+<!ENTITY DoubleLongRightArrow "&#x027F9;" ><!--alias ISOAMSA xrArr -->
+<!ENTITY DoubleRightArrow "&#x021D2;" ><!--alias ISOTECH rArr -->
+<!ENTITY DoubleRightTee "&#x022A8;" ><!--alias ISOAMSR vDash -->
+<!ENTITY DoubleUpArrow "&#x021D1;" ><!--alias ISOAMSA uArr -->
+<!ENTITY DoubleUpDownArrow "&#x021D5;" ><!--alias ISOAMSA vArr -->
+<!ENTITY DoubleVerticalBar "&#x02225;" ><!--alias ISOTECH par -->
+<!ENTITY DownArrow "&#x02193;" ><!--alias ISONUM darr -->
+<!ENTITY Downarrow "&#x021D3;" ><!--alias ISOAMSA dArr -->
+<!ENTITY downarrow "&#x02193;" ><!--alias ISONUM darr -->
+<!ENTITY DownArrowUpArrow "&#x021F5;" ><!--alias ISOAMSA duarr -->
+<!ENTITY downdownarrows "&#x021CA;" ><!--alias ISOAMSA ddarr -->
+<!ENTITY downharpoonleft "&#x021C3;" ><!--alias ISOAMSA dharl -->
+<!ENTITY downharpoonright "&#x021C2;" ><!--alias ISOAMSA dharr -->
+<!ENTITY DownLeftVector "&#x021BD;" ><!--alias ISOAMSA lhard -->
+<!ENTITY DownRightVector "&#x021C1;" ><!--alias ISOAMSA rhard -->
+<!ENTITY DownTee "&#x022A4;" ><!--alias ISOTECH top -->
+<!ENTITY DownTeeArrow "&#x021A7;" ><!--alias for mapstodown -->
+<!ENTITY drbkarow "&#x02910;" ><!--alias ISOAMSA RBarr -->
+<!ENTITY Element "&#x02208;" ><!--alias ISOTECH isinv -->
+<!ENTITY emptyset "&#x02205;" ><!--alias ISOAMSO empty -->
+<!ENTITY eqcirc "&#x02256;" ><!--alias ISOAMSR ecir -->
+<!ENTITY eqcolon "&#x02255;" ><!--alias ISOAMSR ecolon -->
+<!ENTITY eqsim "&#x02242;" ><!--alias ISOAMSR esim -->
+<!ENTITY eqslantgtr "&#x022DD;" ><!--alias ISOAMSR egs -->
+<!ENTITY eqslantless "&#x022DC;" ><!--alias ISOAMSR els -->
+<!ENTITY EqualTilde "&#x02242;" ><!--alias ISOAMSR esim -->
+<!ENTITY Equilibrium "&#x021CC;" ><!--alias ISOAMSA rlhar -->
+<!ENTITY Exists "&#x02203;" ><!--alias ISOTECH exist -->
+<!ENTITY expectation "&#x02130;" ><!--expectation (operator) -->
+<!ENTITY ExponentialE "&#x02147;" ><!--e use for the exponential base of the natural logarithms -->
+<!ENTITY exponentiale "&#x02147;" ><!--base of the Napierian logarithms -->
+<!ENTITY fallingdotseq "&#x02252;" ><!--alias ISOAMSR efDot -->
+<!ENTITY ForAll "&#x02200;" ><!--alias ISOTECH forall -->
+<!ENTITY Fouriertrf "&#x02131;" ><!--Fourier transform -->
+<!ENTITY geq "&#x02265;" ><!--alias ISOTECH ge -->
+<!ENTITY geqq "&#x02267;" ><!--alias ISOAMSR gE -->
+<!ENTITY geqslant "&#x02A7E;" ><!--alias ISOAMSR ges -->
+<!ENTITY gg "&#x0226B;" ><!--alias ISOAMSR Gt -->
+<!ENTITY ggg "&#x022D9;" ><!--alias ISOAMSR Gg -->
+<!ENTITY gnapprox "&#x02A8A;" ><!--alias ISOAMSN gnap -->
+<!ENTITY gneq "&#x02269;" ><!--alias ISOAMSN gne -->
+<!ENTITY gneqq "&#x02269;" ><!--alias ISOAMSN gnE -->
+<!ENTITY GreaterEqual "&#x02265;" ><!--alias ISOTECH ge -->
+<!ENTITY GreaterEqualLess "&#x022DB;" ><!--alias ISOAMSR gel -->
+<!ENTITY GreaterFullEqual "&#x02267;" ><!--alias ISOAMSR gE -->
+<!ENTITY GreaterLess "&#x02277;" ><!--alias ISOAMSR gl -->
+<!ENTITY GreaterSlantEqual "&#x02A7E;" ><!--alias ISOAMSR ges -->
+<!ENTITY GreaterTilde "&#x02273;" ><!--alias ISOAMSR gsim -->
+<!ENTITY gtrapprox "&#x02273;" ><!--alias ISOAMSR gap -->
+<!ENTITY gtrdot "&#x022D7;" ><!--alias ISOAMSR gtdot -->
+<!ENTITY gtreqless "&#x022DB;" ><!--alias ISOAMSR gel -->
+<!ENTITY gtreqqless "&#x022DB;" ><!--alias ISOAMSR gEl -->
+<!ENTITY gtrless "&#x02277;" ><!--alias ISOAMSR gl -->
+<!ENTITY gtrsim "&#x02273;" ><!--alias ISOAMSR gsim -->
+<!ENTITY gvertneqq "&#x02269;&#x0FE00;" ><!--alias ISOAMSN gvnE -->
+<!ENTITY Hacek "&#x002C7;" ><!--alias ISODIA caron -->
+<!ENTITY hbar "&#x0210F;" ><!--alias ISOAMSO plank -->
+<!ENTITY heartsuit "&#x02661;" ><!--ISOPUB hearts -->
+<!ENTITY HilbertSpace "&#x0210B;" ><!--Hilbert space -->
+<!ENTITY hksearow "&#x02925;" ><!--alias ISOAMSA searhk -->
+<!ENTITY hkswarow "&#x02926;" ><!--alias ISOAMSA swarhk -->
+<!ENTITY hookleftarrow "&#x021A9;" ><!--alias ISOAMSA larrhk -->
+<!ENTITY hookrightarrow "&#x021AA;" ><!--alias ISOAMSA rarrhk -->
+<!ENTITY hslash "&#x0210F;" ><!--alias ISOAMSO plankv -->
+<!ENTITY HumpDownHump "&#x0224E;" ><!--alias ISOAMSR bump -->
+<!ENTITY HumpEqual "&#x0224F;" ><!--alias ISOAMSR bumpe -->
+<!ENTITY iiiint "&#x02A0C;" ><!--alias ISOTECH qint -->
+<!ENTITY iiint "&#x0222D;" ><!--alias ISOTECH tint -->
+<!ENTITY Im "&#x02111;" ><!--alias ISOAMSO image -->
+<!ENTITY ImaginaryI "&#x02148;" ><!--i for use as a square root of -1 -->
+<!ENTITY imagline "&#x02110;" ><!--the geometric imaginary line -->
+<!ENTITY imagpart "&#x02111;" ><!--alias ISOAMSO image -->
+<!ENTITY Implies "&#x021D2;" ><!--alias ISOTECH rArr -->
+<!ENTITY in "&#x02208;" ><!--ISOTECH isin -->
+<!ENTITY integers "&#x02124;" ><!--the ring of integers -->
+<!ENTITY Integral "&#x0222B;" ><!--alias ISOTECH int -->
+<!ENTITY intercal "&#x022BA;" ><!--alias ISOAMSB intcal -->
+<!ENTITY Intersection "&#x022C2;" ><!--alias ISOAMSB xcap -->
+<!ENTITY intprod "&#x02A3C;" ><!--alias ISOAMSB iprod -->
+<!ENTITY InvisibleComma "&#x02063;" ><!--used as a separator, e.g., in indices -->
+<!ENTITY InvisibleTimes "&#x02062;" ><!--marks multiplication when it is understood without a mark -->
+<!ENTITY langle "&#x02329;" ><!--alias ISOTECH lang -->
+<!ENTITY Laplacetrf "&#x02112;" ><!--Laplace transform -->
+<!ENTITY lbrace "&#x0007B;" ><!--alias ISONUM lcub -->
+<!ENTITY lbrack "&#x0005B;" ><!--alias ISONUM lsqb -->
+<!ENTITY LeftAngleBracket "&#x02329;" ><!--alias ISOTECH lang -->
+<!ENTITY LeftArrow "&#x02190;" ><!--alias ISONUM larr -->
+<!ENTITY Leftarrow "&#x021D0;" ><!--alias ISOTECH lArr -->
+<!ENTITY leftarrow "&#x02190;" ><!--alias ISONUM larr -->
+<!ENTITY LeftArrowBar "&#x021E4;" ><!--alias for larrb -->
+<!ENTITY LeftArrowRightArrow "&#x021C6;" ><!--alias ISOAMSA lrarr -->
+<!ENTITY leftarrowtail "&#x021A2;" ><!--alias ISOAMSA larrtl -->
+<!ENTITY LeftCeiling "&#x02308;" ><!--alias ISOAMSC lceil -->
+<!ENTITY LeftDoubleBracket "&#x0301A;" ><!--left double bracket delimiter -->
+<!ENTITY LeftDownVector "&#x021C3;" ><!--alias ISOAMSA dharl -->
+<!ENTITY LeftFloor "&#x0230A;" ><!--alias ISOAMSC lfloor -->
+<!ENTITY leftharpoondown "&#x021BD;" ><!--alias ISOAMSA lhard -->
+<!ENTITY leftharpoonup "&#x021BC;" ><!--alias ISOAMSA lharu -->
+<!ENTITY leftleftarrows "&#x021C7;" ><!--alias ISOAMSA llarr -->
+<!ENTITY LeftRightArrow "&#x02194;" ><!--alias ISOAMSA harr -->
+<!ENTITY Leftrightarrow "&#x021D4;" ><!--alias ISOAMSA hArr -->
+<!ENTITY leftrightarrow "&#x02194;" ><!--alias ISOAMSA harr -->
+<!ENTITY leftrightarrows "&#x021C6;" ><!--alias ISOAMSA lrarr -->
+<!ENTITY leftrightharpoons "&#x021CB;" ><!--alias ISOAMSA lrhar -->
+<!ENTITY leftrightsquigarrow "&#x021AD;" ><!--alias ISOAMSA harrw -->
+<!ENTITY LeftTee "&#x022A3;" ><!--alias ISOAMSR dashv -->
+<!ENTITY LeftTeeArrow "&#x021A4;" ><!--alias for mapstoleft -->
+<!ENTITY leftthreetimes "&#x022CB;" ><!--alias ISOAMSB lthree -->
+<!ENTITY LeftTriangle "&#x022B2;" ><!--alias ISOAMSR vltri -->
+<!ENTITY LeftTriangleEqual "&#x022B4;" ><!--alias ISOAMSR ltrie -->
+<!ENTITY LeftUpVector "&#x021BF;" ><!--alias ISOAMSA uharl -->
+<!ENTITY LeftVector "&#x021BC;" ><!--alias ISOAMSA lharu -->
+<!ENTITY leq "&#x02264;" ><!--alias ISOTECH le -->
+<!ENTITY leqq "&#x02266;" ><!--alias ISOAMSR lE -->
+<!ENTITY leqslant "&#x02A7D;" ><!--alias ISOAMSR les -->
+<!ENTITY lessapprox "&#x02272;" ><!--alias ISOAMSR lap -->
+<!ENTITY lessdot "&#x022D6;" ><!--alias ISOAMSR ltdot -->
+<!ENTITY lesseqgtr "&#x022DA;" ><!--alias ISOAMSR leg -->
+<!ENTITY lesseqqgtr "&#x022DA;" ><!--alias ISOAMSR lEg -->
+<!ENTITY LessEqualGreater "&#x022DA;" ><!--alias ISOAMSR leg -->
+<!ENTITY LessFullEqual "&#x02266;" ><!--alias ISOAMSR lE -->
+<!ENTITY LessGreater "&#x02276;" ><!--alias ISOAMSR lg -->
+<!ENTITY lessgtr "&#x02276;" ><!--alias ISOAMSR lg -->
+<!ENTITY lesssim "&#x02272;" ><!--alias ISOAMSR lsim -->
+<!ENTITY LessSlantEqual "&#x02A7D;" ><!--alias ISOAMSR les -->
+<!ENTITY LessTilde "&#x02272;" ><!--alias ISOAMSR lsim -->
+<!ENTITY ll "&#x0226A;" ><!--alias ISOAMSR Lt -->
+<!ENTITY llcorner "&#x0231E;" ><!--alias ISOAMSC dlcorn -->
+<!ENTITY Lleftarrow "&#x021DA;" ><!--alias ISOAMSA lAarr -->
+<!ENTITY lmoustache "&#x023B0;" ><!--alias ISOAMSC lmoust -->
+<!ENTITY lnapprox "&#x02A89;" ><!--alias ISOAMSN lnap -->
+<!ENTITY lneq "&#x02268;" ><!--alias ISOAMSN lne -->
+<!ENTITY lneqq "&#x02268;" ><!--alias ISOAMSN lnE -->
+<!ENTITY LongLeftArrow "&#x027F5;" ><!--alias ISOAMSA xlarr -->
+<!ENTITY Longleftarrow "&#x027F8;" ><!--alias ISOAMSA xlArr -->
+<!ENTITY longleftarrow "&#x027F5;" ><!--alias ISOAMSA xlarr -->
+<!ENTITY LongLeftRightArrow "&#x027F7;" ><!--alias ISOAMSA xharr -->
+<!ENTITY Longleftrightarrow "&#x027FA;" ><!--alias ISOAMSA xhArr -->
+<!ENTITY longleftrightarrow "&#x027F7;" ><!--alias ISOAMSA xharr -->
+<!ENTITY longmapsto "&#x027FC;" ><!--alias ISOAMSA xmap -->
+<!ENTITY LongRightArrow "&#x027F6;" ><!--alias ISOAMSA xrarr -->
+<!ENTITY Longrightarrow "&#x027F9;" ><!--alias ISOAMSA xrArr -->
+<!ENTITY longrightarrow "&#x027F6;" ><!--alias ISOAMSA xrarr -->
+<!ENTITY looparrowleft "&#x021AB;" ><!--alias ISOAMSA larrlp -->
+<!ENTITY looparrowright "&#x021AC;" ><!--alias ISOAMSA rarrlp -->
+<!ENTITY LowerLeftArrow "&#x02199;" ><!--alias ISOAMSA swarr -->
+<!ENTITY LowerRightArrow "&#x02198;" ><!--alias ISOAMSA searr -->
+<!ENTITY lozenge "&#x025CA;" ><!--alias ISOPUB loz -->
+<!ENTITY lrcorner "&#x0231F;" ><!--alias ISOAMSC drcorn -->
+<!ENTITY Lsh "&#x021B0;" ><!--alias ISOAMSA lsh -->
+<!ENTITY lvertneqq "&#x02268;&#x0FE00;" ><!--alias ISOAMSN lvnE -->
+<!ENTITY maltese "&#x02720;" ><!--alias ISOPUB malt -->
+<!ENTITY mapsto "&#x021A6;" ><!--alias ISOAMSA map -->
+<!ENTITY measuredangle "&#x02221;" ><!--alias ISOAMSO angmsd -->
+<!ENTITY Mellintrf "&#x02133;" ><!--Mellin transform -->
+<!ENTITY MinusPlus "&#x02213;" ><!--alias ISOTECH mnplus -->
+<!ENTITY mp "&#x02213;" ><!--alias ISOTECH mnplus -->
+<!ENTITY multimap "&#x022B8;" ><!--alias ISOAMSA mumap -->
+<!ENTITY napprox "&#x02249;" ><!--alias ISOAMSN nap -->
+<!ENTITY natural "&#x0266E;" ><!--alias ISOPUB natur -->
+<!ENTITY naturals "&#x02115;" ><!--the semi-ring of natural numbers -->
+<!ENTITY nearrow "&#x02197;" ><!--alias ISOAMSA nearr -->
+<!ENTITY NegativeMediumSpace "&#x0200B;" ><!--space of width -4/18 em -->
+<!ENTITY NegativeThickSpace "&#x0200B;" ><!--space of width -5/18 em -->
+<!ENTITY NegativeThinSpace "&#x0200B;" ><!--space of width -3/18 em -->
+<!ENTITY NegativeVeryThinSpace "&#x0200B;" ><!--space of width -1/18 em -->
+<!ENTITY NestedGreaterGreater "&#x0226B;" ><!--alias ISOAMSR Gt -->
+<!ENTITY NestedLessLess "&#x0226A;" ><!--alias ISOAMSR Lt -->
+<!ENTITY nexists "&#x02204;" ><!--alias ISOAMSO nexist -->
+<!ENTITY ngeq "&#x02271;" ><!--alias ISOAMSN nge -->
+<!ENTITY ngeqq "&#x02A7E;&#x00338;" ><!--alias ISOAMSN ngE -->
+<!ENTITY ngeqslant "&#x02A7E;&#x00338;" ><!--alias ISOAMSN nges -->
+<!ENTITY ngtr "&#x0226F;" ><!--alias ISOAMSN ngt -->
+<!ENTITY nLeftarrow "&#x021CD;" ><!--alias ISOAMSA nlArr -->
+<!ENTITY nleftarrow "&#x0219A;" ><!--alias ISOAMSA nlarr -->
+<!ENTITY nLeftrightarrow "&#x021CE;" ><!--alias ISOAMSA nhArr -->
+<!ENTITY nleftrightarrow "&#x021AE;" ><!--alias ISOAMSA nharr -->
+<!ENTITY nleq "&#x02270;" ><!--alias ISOAMSN nle -->
+<!ENTITY nleqq "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nlE -->
+<!ENTITY nleqslant "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nles -->
+<!ENTITY nless "&#x0226E;" ><!--alias ISOAMSN nlt -->
+<!ENTITY NonBreakingSpace "&#x000A0;" ><!--alias ISONUM nbsp -->
+<!ENTITY NotCongruent "&#x02262;" ><!--alias ISOAMSN nequiv -->
+<!ENTITY NotDoubleVerticalBar "&#x02226;" ><!--alias ISOAMSN npar -->
+<!ENTITY NotElement "&#x02209;" ><!--alias ISOTECH notin -->
+<!ENTITY NotEqual "&#x02260;" ><!--alias ISOTECH ne -->
+<!ENTITY NotEqualTilde "&#x02242;&#x00338;" ><!--alias for &nesim; -->
+<!ENTITY NotExists "&#x02204;" ><!--alias ISOAMSO nexist -->
+<!ENTITY NotGreater "&#x0226F;" ><!--alias ISOAMSN ngt -->
+<!ENTITY NotGreaterEqual "&#x02271;" ><!--alias ISOAMSN nge -->
+<!ENTITY NotGreaterFullEqual "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nlE -->
+<!ENTITY NotGreaterGreater "&#x0226B;&#x00338;" ><!--alias ISOAMSN nGtv -->
+<!ENTITY NotGreaterLess "&#x02279;" ><!--alias ISOAMSN ntvgl -->
+<!ENTITY NotGreaterSlantEqual "&#x02A7E;&#x00338;" ><!--alias ISOAMSN nges -->
+<!ENTITY NotGreaterTilde "&#x02275;" ><!--alias ISOAMSN ngsim -->
+<!ENTITY NotHumpDownHump "&#x0224E;&#x00338;" ><!--alias for &nbump; -->
+<!ENTITY NotLeftTriangle "&#x022EA;" ><!--alias ISOAMSN nltri -->
+<!ENTITY NotLeftTriangleEqual "&#x022EC;" ><!--alias ISOAMSN nltrie -->
+<!ENTITY NotLess "&#x0226E;" ><!--alias ISOAMSN nlt -->
+<!ENTITY NotLessEqual "&#x02270;" ><!--alias ISOAMSN nle -->
+<!ENTITY NotLessGreater "&#x02278;" ><!--alias ISOAMSN ntvlg -->
+<!ENTITY NotLessLess "&#x0226A;&#x00338;" ><!--alias ISOAMSN nLtv -->
+<!ENTITY NotLessSlantEqual "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nles -->
+<!ENTITY NotLessTilde "&#x02274;" ><!--alias ISOAMSN nlsim -->
+<!ENTITY NotPrecedes "&#x02280;" ><!--alias ISOAMSN npr -->
+<!ENTITY NotPrecedesEqual "&#x02AAF;&#x00338;" ><!--alias ISOAMSN npre -->
+<!ENTITY NotPrecedesSlantEqual "&#x022E0;" ><!--alias ISOAMSN nprcue -->
+<!ENTITY NotReverseElement "&#x0220C;" ><!--alias ISOTECH notniva -->
+<!ENTITY NotRightTriangle "&#x022EB;" ><!--alias ISOAMSN nrtri -->
+<!ENTITY NotRightTriangleEqual "&#x022ED;" ><!--alias ISOAMSN nrtrie -->
+<!ENTITY NotSquareSubsetEqual "&#x022E2;" ><!--alias ISOAMSN nsqsube -->
+<!ENTITY NotSquareSupersetEqual "&#x022E3;" ><!--alias ISOAMSN nsqsupe -->
+<!ENTITY NotSubset "&#x02284;" ><!--alias ISOAMSN vnsub -->
+<!ENTITY NotSubsetEqual "&#x02288;" ><!--alias ISOAMSN nsube -->
+<!ENTITY NotSucceeds "&#x02281;" ><!--alias ISOAMSN nsc -->
+<!ENTITY NotSucceedsEqual "&#x02AB0;&#x00338;" ><!--alias ISOAMSN nsce -->
+<!ENTITY NotSucceedsSlantEqual "&#x022E1;" ><!--alias ISOAMSN nsccue -->
+<!ENTITY NotSuperset "&#x02285;" ><!--alias ISOAMSN vnsup -->
+<!ENTITY NotSupersetEqual "&#x02289;" ><!--alias ISOAMSN nsupe -->
+<!ENTITY NotTilde "&#x02241;" ><!--alias ISOAMSN nsim -->
+<!ENTITY NotTildeEqual "&#x02244;" ><!--alias ISOAMSN nsime -->
+<!ENTITY NotTildeFullEqual "&#x02247;" ><!--alias ISOAMSN ncong -->
+<!ENTITY NotTildeTilde "&#x02249;" ><!--alias ISOAMSN nap -->
+<!ENTITY NotVerticalBar "&#x02224;" ><!--alias ISOAMSN nmid -->
+<!ENTITY nparallel "&#x02226;" ><!--alias ISOAMSN npar -->
+<!ENTITY nprec "&#x02280;" ><!--alias ISOAMSN npr -->
+<!ENTITY npreceq "&#x02AAF;&#x00338;" ><!--alias ISOAMSN npre -->
+<!ENTITY nRightarrow "&#x021CF;" ><!--alias ISOAMSA nrArr -->
+<!ENTITY nrightarrow "&#x0219B;" ><!--alias ISOAMSA nrarr -->
+<!ENTITY nshortmid "&#x02224;" ><!--alias ISOAMSN nsmid -->
+<!ENTITY nshortparallel "&#x02226;" ><!--alias ISOAMSN nspar -->
+<!ENTITY nsimeq "&#x02244;" ><!--alias ISOAMSN nsime -->
+<!ENTITY nsubset "&#x02284;" ><!--alias ISOAMSN vnsub -->
+<!ENTITY nsubseteq "&#x02288;" ><!--alias ISOAMSN nsube -->
+<!ENTITY nsubseteqq "&#x02288;" ><!--alias ISOAMSN nsubE -->
+<!ENTITY nsucc "&#x02281;" ><!--alias ISOAMSN nsc -->
+<!ENTITY nsucceq "&#x02AB0;&#x00338;" ><!--alias ISOAMSN nsce -->
+<!ENTITY nsupset "&#x02285;" ><!--alias ISOAMSN vnsup -->
+<!ENTITY nsupseteq "&#x02289;" ><!--alias ISOAMSN nsupe -->
+<!ENTITY nsupseteqq "&#x02289;" ><!--alias ISOAMSN nsupE -->
+<!ENTITY ntriangleleft "&#x022EA;" ><!--alias ISOAMSN nltri -->
+<!ENTITY ntrianglelefteq "&#x022EC;" ><!--alias ISOAMSN nltrie -->
+<!ENTITY ntriangleright "&#x022EB;" ><!--alias ISOAMSN nrtri -->
+<!ENTITY ntrianglerighteq "&#x022ED;" ><!--alias ISOAMSN nrtrie -->
+<!ENTITY nwarrow "&#x02196;" ><!--alias ISOAMSA nwarr -->
+<!ENTITY oint "&#x0222E;" ><!--alias ISOTECH conint -->
+<!ENTITY OpenCurlyDoubleQuote "&#x0201C;" ><!--alias ISONUM ldquo -->
+<!ENTITY OpenCurlyQuote "&#x02018;" ><!--alias ISONUM lsquo -->
+<!ENTITY orderof "&#x02134;" ><!--alias ISOTECH order -->
+<!ENTITY parallel "&#x02225;" ><!--alias ISOTECH par -->
+<!ENTITY PartialD "&#x02202;" ><!--alias ISOTECH part -->
+<!ENTITY pitchfork "&#x022D4;" ><!--alias ISOAMSR fork -->
+<!ENTITY PlusMinus "&#x000B1;" ><!--alias ISONUM plusmn -->
+<!ENTITY pm "&#x000B1;" ><!--alias ISONUM plusmn -->
+<!ENTITY Poincareplane "&#x0210C;" ><!--the Poincare upper half-plane -->
+<!ENTITY prec "&#x0227A;" ><!--alias ISOAMSR pr -->
+<!ENTITY precapprox "&#x0227E;" ><!--alias ISOAMSR prap -->
+<!ENTITY preccurlyeq "&#x0227C;" ><!--alias ISOAMSR prcue -->
+<!ENTITY Precedes "&#x0227A;" ><!--alias ISOAMSR pr -->
+<!ENTITY PrecedesEqual "&#x02AAF;" ><!--alias ISOAMSR pre -->
+<!ENTITY PrecedesSlantEqual "&#x0227C;" ><!--alias ISOAMSR prcue -->
+<!ENTITY PrecedesTilde "&#x0227E;" ><!--alias ISOAMSR prsim -->
+<!ENTITY preceq "&#x02AAF;" ><!--alias ISOAMSR pre -->
+<!ENTITY precnapprox "&#x022E8;" ><!--alias ISOAMSN prnap -->
+<!ENTITY precneqq "&#x02AB5;" ><!--alias ISOAMSN prnE -->
+<!ENTITY precnsim "&#x022E8;" ><!--alias ISOAMSN prnsim -->
+<!ENTITY precsim "&#x0227E;" ><!--alias ISOAMSR prsim -->
+<!ENTITY primes "&#x02119;" ><!--the prime natural numbers -->
+<!ENTITY Proportion "&#x02237;" ><!--alias ISOAMSR Colon -->
+<!ENTITY Proportional "&#x0221D;" ><!--alias ISOTECH prop -->
+<!ENTITY propto "&#x0221D;" ><!--alias ISOTECH prop -->
+<!ENTITY quaternions "&#x0210D;" ><!--the ring (skew field) of quaternions -->
+<!ENTITY questeq "&#x0225F;" ><!--alias ISOAMSR equest -->
+<!ENTITY rangle "&#x0232A;" ><!--alias ISOTECH rang -->
+<!ENTITY rationals "&#x0211A;" ><!--the field of rational numbers -->
+<!ENTITY rbrace "&#x0007D;" ><!--alias ISONUM rcub -->
+<!ENTITY rbrack "&#x0005D;" ><!--alias ISONUM rsqb -->
+<!ENTITY Re "&#x0211C;" ><!--alias ISOAMSO real -->
+<!ENTITY realine "&#x0211B;" ><!--the geometric real line -->
+<!ENTITY realpart "&#x0211C;" ><!--alias ISOAMSO real -->
+<!ENTITY reals "&#x0211D;" ><!--the field of real numbers -->
+<!ENTITY ReverseElement "&#x0220B;" ><!--alias ISOTECH niv -->
+<!ENTITY ReverseEquilibrium "&#x021CB;" ><!--alias ISOAMSA lrhar -->
+<!ENTITY ReverseUpEquilibrium "&#x0296F;" ><!--alias ISOAMSA duhar -->
+<!ENTITY RightAngleBracket "&#x0232A;" ><!--alias ISOTECH rang -->
+<!ENTITY RightArrow "&#x02192;" ><!--alias ISONUM rarr -->
+<!ENTITY Rightarrow "&#x021D2;" ><!--alias ISOTECH rArr -->
+<!ENTITY rightarrow "&#x02192;" ><!--alias ISONUM rarr -->
+<!ENTITY RightArrowBar "&#x021E5;" ><!--alias for rarrb -->
+<!ENTITY RightArrowLeftArrow "&#x021C4;" ><!--alias ISOAMSA rlarr -->
+<!ENTITY rightarrowtail "&#x021A3;" ><!--alias ISOAMSA rarrtl -->
+<!ENTITY RightCeiling "&#x02309;" ><!--alias ISOAMSC rceil -->
+<!ENTITY RightDoubleBracket "&#x0301B;" ><!--right double bracket delimiter -->
+<!ENTITY RightDownVector "&#x021C2;" ><!--alias ISOAMSA dharr -->
+<!ENTITY RightFloor "&#x0230B;" ><!--alias ISOAMSC rfloor -->
+<!ENTITY rightharpoondown "&#x021C1;" ><!--alias ISOAMSA rhard -->
+<!ENTITY rightharpoonup "&#x021C0;" ><!--alias ISOAMSA rharu -->
+<!ENTITY rightleftarrows "&#x021C4;" ><!--alias ISOAMSA rlarr -->
+<!ENTITY rightleftharpoons "&#x021CC;" ><!--alias ISOAMSA rlhar -->
+<!ENTITY rightrightarrows "&#x021C9;" ><!--alias ISOAMSA rrarr -->
+<!ENTITY rightsquigarrow "&#x0219D;" ><!--alias ISOAMSA rarrw -->
+<!ENTITY RightTee "&#x022A2;" ><!--alias ISOAMSR vdash -->
+<!ENTITY RightTeeArrow "&#x021A6;" ><!--alias ISOAMSA map -->
+<!ENTITY rightthreetimes "&#x022CC;" ><!--alias ISOAMSB rthree -->
+<!ENTITY RightTriangle "&#x022B3;" ><!--alias ISOAMSR vrtri -->
+<!ENTITY RightTriangleEqual "&#x022B5;" ><!--alias ISOAMSR rtrie -->
+<!ENTITY RightUpVector "&#x021BE;" ><!--alias ISOAMSA uharr -->
+<!ENTITY RightVector "&#x021C0;" ><!--alias ISOAMSA rharu -->
+<!ENTITY risingdotseq "&#x02253;" ><!--alias ISOAMSR erDot -->
+<!ENTITY rmoustache "&#x023B1;" ><!--alias ISOAMSC rmoust -->
+<!ENTITY Rrightarrow "&#x021DB;" ><!--alias ISOAMSA rAarr -->
+<!ENTITY Rsh "&#x021B1;" ><!--alias ISOAMSA rsh -->
+<!ENTITY searrow "&#x02198;" ><!--alias ISOAMSA searr -->
+<!ENTITY setminus "&#x02216;" ><!--alias ISOAMSB setmn -->
+<!ENTITY ShortDownArrow "&#x02193;" ><!--short down arrow -->
+<!ENTITY ShortLeftArrow "&#x02190;" ><!--alias ISOAMSA slarr -->
+<!ENTITY shortmid "&#x02223;" ><!--alias ISOAMSR smid -->
+<!ENTITY shortparallel "&#x02225;" ><!--alias ISOAMSR spar -->
+<!ENTITY ShortRightArrow "&#x02192;" ><!--alias ISOAMSA srarr -->
+<!ENTITY ShortUpArrow "&#x02191;" ><!--short up arrow -->
+<!ENTITY simeq "&#x02243;" ><!--alias ISOTECH sime -->
+<!ENTITY SmallCircle "&#x02218;" ><!--alias ISOTECH compfn -->
+<!ENTITY smallsetminus "&#x02216;" ><!--alias ISOAMSB ssetmn -->
+<!ENTITY spadesuit "&#x02660;" ><!--ISOPUB spades -->
+<!ENTITY Sqrt "&#x0221A;" ><!--alias ISOTECH radic -->
+<!ENTITY sqsubset "&#x0228F;" ><!--alias ISOAMSR sqsub -->
+<!ENTITY sqsubseteq "&#x02291;" ><!--alias ISOAMSR sqsube -->
+<!ENTITY sqsupset "&#x02290;" ><!--alias ISOAMSR sqsup -->
+<!ENTITY sqsupseteq "&#x02292;" ><!--alias ISOAMSR sqsupe -->
+<!ENTITY Square "&#x025A1;" ><!--alias for square -->
+<!ENTITY SquareIntersection "&#x02293;" ><!--alias ISOAMSB sqcap -->
+<!ENTITY SquareSubset "&#x0228F;" ><!--alias ISOAMSR sqsub -->
+<!ENTITY SquareSubsetEqual "&#x02291;" ><!--alias ISOAMSR sqsube -->
+<!ENTITY SquareSuperset "&#x02290;" ><!--alias ISOAMSR sqsup -->
+<!ENTITY SquareSupersetEqual "&#x02292;" ><!--alias ISOAMSR sqsupe -->
+<!ENTITY SquareUnion "&#x02294;" ><!--alias ISOAMSB sqcup -->
+<!ENTITY Star "&#x022C6;" ><!--alias ISOAMSB sstarf -->
+<!ENTITY straightepsilon "&#x003B5;" ><!--alias ISOGRK3 epsi -->
+<!ENTITY straightphi "&#x003D5;" ><!--alias ISOGRK3 phi -->
+<!ENTITY Subset "&#x022D0;" ><!--alias ISOAMSR Sub -->
+<!ENTITY subset "&#x02282;" ><!--alias ISOTECH sub -->
+<!ENTITY subseteq "&#x02286;" ><!--alias ISOTECH sube -->
+<!ENTITY subseteqq "&#x02286;" ><!--alias ISOAMSR subE -->
+<!ENTITY SubsetEqual "&#x02286;" ><!--alias ISOTECH sube -->
+<!ENTITY subsetneq "&#x0228A;" ><!--alias ISOAMSN subne -->
+<!ENTITY subsetneqq "&#x0228A;" ><!--alias ISOAMSN subnE -->
+<!ENTITY succ "&#x0227B;" ><!--alias ISOAMSR sc -->
+<!ENTITY succapprox "&#x0227F;" ><!--alias ISOAMSR scap -->
+<!ENTITY succcurlyeq "&#x0227D;" ><!--alias ISOAMSR sccue -->
+<!ENTITY Succeeds "&#x0227B;" ><!--alias ISOAMSR sc -->
+<!ENTITY SucceedsEqual "&#x0227D;" ><!--alias ISOAMSR sce -->
+<!ENTITY SucceedsSlantEqual "&#x0227D;" ><!--alias ISOAMSR sccue -->
+<!ENTITY SucceedsTilde "&#x0227F;" ><!--alias ISOAMSR scsim -->
+<!ENTITY succeq "&#x0227D;" ><!--alias ISOAMSR sce -->
+<!ENTITY succnapprox "&#x022E9;" ><!--alias ISOAMSN scnap -->
+<!ENTITY succneqq "&#x02AB6;" ><!--alias ISOAMSN scnE -->
+<!ENTITY succnsim "&#x022E9;" ><!--alias ISOAMSN scnsim -->
+<!ENTITY succsim "&#x0227F;" ><!--alias ISOAMSR scsim -->
+<!ENTITY SuchThat "&#x0220B;" ><!--ISOTECH ni -->
+<!ENTITY Sum "&#x02211;" ><!--alias ISOAMSB sum -->
+<!ENTITY Superset "&#x02283;" ><!--alias ISOTECH sup -->
+<!ENTITY SupersetEqual "&#x02287;" ><!--alias ISOTECH supe -->
+<!ENTITY Supset "&#x022D1;" ><!--alias ISOAMSR Sup -->
+<!ENTITY supset "&#x02283;" ><!--alias ISOTECH sup -->
+<!ENTITY supseteq "&#x02287;" ><!--alias ISOTECH supe -->
+<!ENTITY supseteqq "&#x02287;" ><!--alias ISOAMSR supE -->
+<!ENTITY supsetneq "&#x0228B;" ><!--alias ISOAMSN supne -->
+<!ENTITY supsetneqq "&#x0228B;" ><!--alias ISOAMSN supnE -->
+<!ENTITY swarrow "&#x02199;" ><!--alias ISOAMSA swarr -->
+<!ENTITY Therefore "&#x02234;" ><!--alias ISOTECH there4 -->
+<!ENTITY therefore "&#x02234;" ><!--alias ISOTECH there4 -->
+<!ENTITY thickapprox "&#x02248;" ><!--ISOAMSR thkap -->
+<!ENTITY thicksim "&#x0223C;" ><!--ISOAMSR thksim -->
+<!ENTITY ThinSpace "&#x02009;" ><!--space of width 3/18 em alias ISOPUB thinsp -->
+<!ENTITY Tilde "&#x0223C;" ><!--alias ISOTECH sim -->
+<!ENTITY TildeEqual "&#x02243;" ><!--alias ISOTECH sime -->
+<!ENTITY TildeFullEqual "&#x02245;" ><!--alias ISOTECH cong -->
+<!ENTITY TildeTilde "&#x02248;" ><!--alias ISOTECH ap -->
+<!ENTITY toea "&#x02928;" ><!--alias ISOAMSA nesear -->
+<!ENTITY tosa "&#x02929;" ><!--alias ISOAMSA seswar -->
+<!ENTITY triangle "&#x025B5;" ><!--alias ISOPUB utri -->
+<!ENTITY triangledown "&#x025BF;" ><!--alias ISOPUB dtri -->
+<!ENTITY triangleleft "&#x025C3;" ><!--alias ISOPUB ltri -->
+<!ENTITY trianglelefteq "&#x022B4;" ><!--alias ISOAMSR ltrie -->
+<!ENTITY triangleq "&#x0225C;" ><!--alias ISOAMSR trie -->
+<!ENTITY triangleright "&#x025B9;" ><!--alias ISOPUB rtri -->
+<!ENTITY trianglerighteq "&#x022B5;" ><!--alias ISOAMSR rtrie -->
+<!ENTITY TripleDot "&#x020DB;" ><!--alias ISOTECH tdot -->
+<!ENTITY twoheadleftarrow "&#x0219E;" ><!--alias ISOAMSA Larr -->
+<!ENTITY twoheadrightarrow "&#x021A0;" ><!--alias ISOAMSA Rarr -->
+<!ENTITY ulcorner "&#x0231C;" ><!--alias ISOAMSC ulcorn -->
+<!ENTITY Union "&#x022C3;" ><!--alias ISOAMSB xcup -->
+<!ENTITY UnionPlus "&#x0228E;" ><!--alias ISOAMSB uplus -->
+<!ENTITY UpArrow "&#x02191;" ><!--alias ISONUM uarr -->
+<!ENTITY Uparrow "&#x021D1;" ><!--alias ISOAMSA uArr -->
+<!ENTITY uparrow "&#x02191;" ><!--alias ISONUM uarr -->
+<!ENTITY UpArrowDownArrow "&#x021C5;" ><!--alias ISOAMSA udarr -->
+<!ENTITY UpDownArrow "&#x02195;" ><!--alias ISOAMSA varr -->
+<!ENTITY Updownarrow "&#x021D5;" ><!--alias ISOAMSA vArr -->
+<!ENTITY updownarrow "&#x02195;" ><!--alias ISOAMSA varr -->
+<!ENTITY UpEquilibrium "&#x0296E;" ><!--alias ISOAMSA udhar -->
+<!ENTITY upharpoonleft "&#x021BF;" ><!--alias ISOAMSA uharl -->
+<!ENTITY upharpoonright "&#x021BE;" ><!--alias ISOAMSA uharr -->
+<!ENTITY UpperLeftArrow "&#x02196;" ><!--alias ISOAMSA nwarr -->
+<!ENTITY UpperRightArrow "&#x02197;" ><!--alias ISOAMSA nearr -->
+<!ENTITY upsilon "&#x003C5;" ><!--alias ISOGRK3 upsi -->
+<!ENTITY UpTee "&#x022A5;" ><!--alias ISOTECH perp -->
+<!ENTITY UpTeeArrow "&#x021A5;" ><!--Alias mapstoup -->
+<!ENTITY upuparrows "&#x021C8;" ><!--alias ISOAMSA uuarr -->
+<!ENTITY urcorner "&#x0231D;" ><!--alias ISOAMSC urcorn -->
+<!ENTITY varepsilon "&#x0025B;" ><!--alias ISOGRK3 epsiv -->
+<!ENTITY varkappa "&#x003F0;" ><!--alias ISOGRK3 kappav -->
+<!ENTITY varnothing "&#x02205;" ><!--alias ISOAMSO emptyv -->
+<!ENTITY varphi "&#x003C6;" ><!--alias ISOGRK3 phiv -->
+<!ENTITY varpi "&#x003D6;" ><!--alias ISOGRK3 piv -->
+<!ENTITY varpropto "&#x0221D;" ><!--alias ISOAMSR vprop -->
+<!ENTITY varrho "&#x003F1;" ><!--alias ISOGRK3 rhov -->
+<!ENTITY varsigma "&#x003C2;" ><!--alias ISOGRK3 sigmav -->
+<!ENTITY varsubsetneq "&#x0228A;&#x0FE00;" ><!--alias ISOAMSN vsubne -->
+<!ENTITY varsubsetneqq "&#x0228A;&#x0FE00;" ><!--alias ISOAMSN vsubnE -->
+<!ENTITY varsupsetneq "&#x0228B;&#x0FE00;" ><!--alias ISOAMSN vsupne -->
+<!ENTITY varsupsetneqq "&#x0228B;&#x0FE00;" ><!--alias ISOAMSN vsupnE -->
+<!ENTITY vartheta "&#x003D1;" ><!--alias ISOGRK3 thetav -->
+<!ENTITY vartriangleleft "&#x022B2;" ><!--alias ISOAMSR vltri -->
+<!ENTITY vartriangleright "&#x022B3;" ><!--alias ISOAMSR vrtri -->
+<!ENTITY Vee "&#x022C1;" ><!--alias ISOAMSB xvee -->
+<!ENTITY vee "&#x02228;" ><!--alias ISOTECH or -->
+<!ENTITY Vert "&#x02016;" ><!--alias ISOTECH Verbar -->
+<!ENTITY vert "&#x0007C;" ><!--alias ISONUM verbar -->
+<!ENTITY VerticalBar "&#x02223;" ><!--alias ISOAMSR mid -->
+<!ENTITY VerticalTilde "&#x02240;" ><!--alias ISOAMSB wreath -->
+<!ENTITY VeryThinSpace "&#x0200A;" ><!--space of width 1/18 em alias ISOPUB hairsp -->
+<!ENTITY Wedge "&#x022C0;" ><!--alias ISOAMSB xwedge -->
+<!ENTITY wedge "&#x02227;" ><!--alias ISOTECH and -->
+<!ENTITY wp "&#x02118;" ><!--alias ISOAMSO weierp -->
+<!ENTITY wr "&#x02240;" ><!--alias ISOAMSB wreath -->
+<!ENTITY zeetrf "&#x02128;" ><!--zee transform -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/mathml/mmlextra.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/mathml/mmlextra.ent
new file mode 100644
index 0000000..a993d17
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/mathml/mmlextra.ent
@@ -0,0 +1,122 @@
+
+<!--
+ File mmlextra.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+-->
+
+<!ENTITY % plane1D "&#38;#38;#x1D">
+
+<!ENTITY af "&#x02061;" ><!--character showing function application in presentation tagging -->
+<!ENTITY aopf "%plane1D;552;" ><!-- -->
+<!ENTITY asympeq "&#x0224D;" ><!--Old ISOAMSR asymp (for HTML compatibility) -->
+<!ENTITY bopf "%plane1D;553;" ><!-- -->
+<!ENTITY copf "%plane1D;554;" ><!-- -->
+<!ENTITY Cross "&#x02A2F;" ><!--cross or vector product -->
+<!ENTITY DD "&#x02145;" ><!--D for use in differentials, e.g., within integrals -->
+<!ENTITY dd "&#x02146;" ><!--d for use in differentials, e.g., within integrals -->
+<!ENTITY dopf "%plane1D;555;" ><!-- -->
+<!ENTITY DownArrowBar "&#x02913;" ><!--down arrow to bar -->
+<!ENTITY DownBreve "&#x00311;" ><!--breve, inverted (non-spacing) -->
+<!ENTITY DownLeftRightVector "&#x02950;" ><!--left-down-right-down harpoon -->
+<!ENTITY DownLeftTeeVector "&#x0295E;" ><!--left-down harpoon from bar -->
+<!ENTITY DownLeftVectorBar "&#x02956;" ><!--left-down harpoon to bar -->
+<!ENTITY DownRightTeeVector "&#x0295F;" ><!--right-down harpoon from bar -->
+<!ENTITY DownRightVectorBar "&#x02957;" ><!--right-down harpoon to bar -->
+<!ENTITY ee "&#x02147;" ><!--e use for the exponential base of the natural logarithms -->
+<!ENTITY EmptySmallSquare "&#x025FB;" ><!--empty small square -->
+<!ENTITY EmptyVerySmallSquare "&#x025AB;" ><!--empty small square -->
+<!ENTITY eopf "%plane1D;556;" ><!-- -->
+<!ENTITY Equal "&#x02A75;" ><!--two consecutive equal signs -->
+<!ENTITY FilledSmallSquare "&#x025FC;" ><!--filled small square -->
+<!ENTITY FilledVerySmallSquare "&#x025AA;" ><!--filled very small square -->
+<!ENTITY fopf "%plane1D;557;" ><!-- -->
+<!ENTITY gopf "%plane1D;558;" ><!-- -->
+<!ENTITY GreaterGreater "&#x02AA2;" ><!--alias for GT -->
+<!ENTITY Hat "&#x0005E;" ><!--circumflex accent -->
+<!ENTITY hopf "%plane1D;559;" ><!-- -->
+<!ENTITY HorizontalLine "&#x02500;" ><!--short horizontal line -->
+<!ENTITY ic "&#x02063;" ><!--short form of &InvisibleComma; -->
+<!ENTITY ii "&#x02148;" ><!--i for use as a square root of -1 -->
+<!ENTITY iopf "%plane1D;55A;" ><!-- -->
+<!ENTITY it "&#x02062;" ><!--marks multiplication when it is understood without a mark -->
+<!ENTITY jopf "%plane1D;55B;" ><!-- -->
+<!ENTITY kopf "%plane1D;55C;" ><!-- -->
+<!ENTITY larrb "&#x021E4;" ><!--leftwards arrow to bar -->
+<!ENTITY LeftDownTeeVector "&#x02961;" ><!--down-left harpoon from bar -->
+<!ENTITY LeftDownVectorBar "&#x02959;" ><!--down-left harpoon to bar -->
+<!ENTITY LeftRightVector "&#x0294E;" ><!--left-up-right-up harpoon -->
+<!ENTITY LeftTeeVector "&#x0295A;" ><!--left-up harpoon from bar -->
+<!ENTITY LeftTriangleBar "&#x029CF;" ><!--not left triangle, vertical bar -->
+<!ENTITY LeftUpDownVector "&#x02951;" ><!--up-left-down-left harpoon -->
+<!ENTITY LeftUpTeeVector "&#x02960;" ><!--up-left harpoon from bar -->
+<!ENTITY LeftUpVectorBar "&#x02958;" ><!--up-left harpoon to bar -->
+<!ENTITY LeftVectorBar "&#x02952;" ><!--left-up harpoon to bar -->
+<!ENTITY LessLess "&#x02AA1;" ><!--alias for Lt -->
+<!ENTITY lopf "%plane1D;55D;" ><!-- -->
+<!ENTITY mapstodown "&#x021A7;" ><!--downwards arrow from bar -->
+<!ENTITY mapstoleft "&#x021A4;" ><!--leftwards arrow from bar -->
+<!ENTITY mapstoup "&#x021A5;" ><!--upwards arrow from bar -->
+<!ENTITY MediumSpace "&#x0205F;" ><!--space of width 4/18 em -->
+<!ENTITY mopf "%plane1D;55E;" ><!-- -->
+<!ENTITY nbump "&#x0224E;&#x00338;" ><!--not bumpy equals -->
+<!ENTITY nbumpe "&#x0224F;&#x00338;" ><!--not bumpy single equals -->
+<!ENTITY nesim "&#x02242;&#x00338;" ><!--not equal or similar -->
+<!ENTITY NewLine "&#x0000A;" ><!--force a line break; line feed -->
+<!ENTITY NoBreak "&#x02060;" ><!--never break line here -->
+<!ENTITY nopf "%plane1D;55F;" ><!-- -->
+<!ENTITY NotCupCap "&#x0226D;" ><!--alias for &nasymp; -->
+<!ENTITY NotHumpEqual "&#x0224F;&#x00338;" ><!--alias for &nbumpe; -->
+<!ENTITY NotLeftTriangleBar "&#x029CF;&#x00338;" ><!--not left triangle, vertical bar -->
+<!ENTITY NotNestedGreaterGreater "&#x02AA2;&#x00338;" ><!--not double greater-than sign -->
+<!ENTITY NotNestedLessLess "&#x02AA1;&#x00338;" ><!--not double less-than sign -->
+<!ENTITY NotRightTriangleBar "&#x029D0;&#x00338;" ><!--not vertical bar, right triangle -->
+<!ENTITY NotSquareSubset "&#x0228F;&#x00338;" ><!--square not subset -->
+<!ENTITY NotSquareSuperset "&#x02290;&#x00338;" ><!--negated set-like partial order operator -->
+<!ENTITY NotSucceedsTilde "&#x0227F;&#x00338;" ><!--not succeeds or similar -->
+<!ENTITY oopf "%plane1D;560;" ><!-- -->
+<!ENTITY OverBar "&#x000AF;" ><!--over bar -->
+<!ENTITY OverBrace "&#x0FE37;" ><!--over brace -->
+<!ENTITY OverBracket "&#x023B4;" ><!--over bracket -->
+<!ENTITY OverParenthesis "&#x0FE35;" ><!--over parenthesis -->
+<!ENTITY planckh "&#x0210E;" ><!--the ring (skew field) of quaternions -->
+<!ENTITY popf "%plane1D;561;" ><!-- -->
+<!ENTITY Product "&#x0220F;" ><!--alias for &prod -->
+<!ENTITY qopf "%plane1D;562;" ><!-- -->
+<!ENTITY rarrb "&#x021E5;" ><!--leftwards arrow to bar -->
+<!ENTITY RightDownTeeVector "&#x0295D;" ><!--down-right harpoon from bar -->
+<!ENTITY RightDownVectorBar "&#x02955;" ><!--down-right harpoon to bar -->
+<!ENTITY RightTeeVector "&#x0295B;" ><!--right-up harpoon from bar -->
+<!ENTITY RightTriangleBar "&#x029D0;" ><!--vertical bar, right triangle -->
+<!ENTITY RightUpDownVector "&#x0294F;" ><!--up-right-down-right harpoon -->
+<!ENTITY RightUpTeeVector "&#x0295C;" ><!--up-right harpoon from bar -->
+<!ENTITY RightUpVectorBar "&#x02954;" ><!--up-right harpoon to bar -->
+<!ENTITY RightVectorBar "&#x02953;" ><!--up-right harpoon to bar -->
+<!ENTITY ropf "%plane1D;563;" ><!-- -->
+<!ENTITY RoundImplies "&#x02970;" ><!--round implies -->
+<!ENTITY RuleDelayed "&#x029F4;" ><!--rule-delayed (colon right arrow) -->
+<!ENTITY sopf "%plane1D;564;" ><!-- -->
+<!ENTITY Tab "&#x00009;" ><!--tabulator stop; horizontal tabulation -->
+<!ENTITY ThickSpace "&#x02009;&#x0200A;&#x0200A;" ><!--space of width 5/18 em -->
+<!ENTITY topf "%plane1D;565;" ><!-- -->
+<!ENTITY UnderBar "&#x00332;" ><!--combining low line -->
+<!ENTITY UnderBrace "&#x0FE38;" ><!--under brace -->
+<!ENTITY UnderBracket "&#x023B5;" ><!--under bracket -->
+<!ENTITY UnderParenthesis "&#x0FE36;" ><!--under parenthesis -->
+<!ENTITY uopf "%plane1D;566;" ><!-- -->
+<!ENTITY UpArrowBar "&#x02912;" ><!--up arrow to bar -->
+<!ENTITY Upsilon "&#x003A5;" ><!--ISOGRK1 Ugr, HTML4 Upsilon -->
+<!ENTITY VerticalLine "&#x0007C;" ><!--alias ISONUM verbar -->
+<!ENTITY VerticalSeparator "&#x02758;" ><!--vertical separating operator -->
+<!ENTITY vopf "%plane1D;567;" ><!-- -->
+<!ENTITY wopf "%plane1D;568;" ><!-- -->
+<!ENTITY xopf "%plane1D;569;" ><!-- -->
+<!ENTITY yopf "%plane1D;56A;" ><!-- -->
+<!ENTITY ZeroWidthSpace "&#x0200B;" ><!--zero width space -->
+<!ENTITY zopf "%plane1D;56B;" ><!-- -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/mathml2-qname-1.mod b/htdocs/sgml-lib/UPD-MathML2-20021015/mathml2-qname-1.mod
new file mode 100644
index 0000000..7ffa21b
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/mathml2-qname-1.mod
@@ -0,0 +1,275 @@
+<!-- ....................................................................... -->
+<!-- MathML Qualified Names Module ........................................ -->
+<!-- file: mathml2-qname-1.mod
+
+ This is the Mathematical Markup Language (MathML) 2.0, an XML
+ application for describing mathematical notation and capturing
+ both its structure and content.
+
+ Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: mathml2-qname-1.mod,v 1.1 2002/03/12 18:39:45 davidc Exp $
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ENTITIES MathML 2.0 Qualified Names 1.0//EN"
+ SYSTEM "mathml2-qname-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- MathML Qualified Names
+
+ 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 MathML.
+
+ Section B declares parameter entities used to provide
+ namespace-qualified names for all MathML element types.
+
+ This module is derived from the XHTML Qualified Names Template module.
+-->
+
+<!-- Section A: XHTML XML Namespace Framework :::::::::::::::::::: -->
+
+<!ENTITY % NS.prefixed "IGNORE" >
+<!ENTITY % MATHML.prefixed "%NS.prefixed;" >
+
+<!-- XLink ............... -->
+
+<!ENTITY % XLINK.xmlns "http://www.w3.org/1999/xlink" >
+<!ENTITY % XLINK.xmlns.attrib
+ "xmlns:xlink CDATA #FIXED '%XLINK.xmlns;'"
+>
+
+<!-- MathML .............. -->
+
+<!ENTITY % MATHML.xmlns "http://www.w3.org/1998/Math/MathML" >
+<!ENTITY % MATHML.prefix "m" >
+<![%MATHML.prefixed;[
+<!ENTITY % MATHML.xmlns.extra.attrib "" >
+]]>
+<!ENTITY % MATHML.xmlns.extra.attrib
+ "%XLINK.xmlns.attrib;" >
+
+<![%MATHML.prefixed;[
+<!ENTITY % MATHML.pfx "%MATHML.prefix;:" >
+<!ENTITY % MATHML.xmlns.attrib
+ "xmlns:%MATHML.prefix; CDATA #FIXED '%MATHML.xmlns;'
+ %MATHML.xmlns.extra.attrib;"
+>
+]]>
+<!ENTITY % MATHML.pfx "" >
+<!ENTITY % MATHML.xmlns.attrib
+ "xmlns CDATA #FIXED '%MATHML.xmlns;'
+ %MATHML.xmlns.extra.attrib;"
+>
+
+<![%NS.prefixed;[
+<!ENTITY % XHTML.xmlns.extra.attrib
+ "%MATHML.xmlns.attrib;" >
+]]>
+<!ENTITY % XHTML.xmlns.extra.attrib
+ "%XLINK.xmlns.attrib;"
+>
+
+<!-- Section B: MathML Qualified Names ::::::::::::::::::::::::::::: -->
+
+<!-- 9. This section declares parameter entities used to provide
+ namespace-qualified names for all MathML element types.
+-->
+
+<!ENTITY % abs.qname "%MATHML.pfx;abs" >
+<!ENTITY % and.qname "%MATHML.pfx;and" >
+<!ENTITY % annotation-xml.qname "%MATHML.pfx;annotation-xml" >
+<!ENTITY % annotation.qname "%MATHML.pfx;annotation" >
+<!ENTITY % apply.qname "%MATHML.pfx;apply" >
+<!ENTITY % approx.qname "%MATHML.pfx;approx" >
+<!ENTITY % arccos.qname "%MATHML.pfx;arccos" >
+<!ENTITY % arccosh.qname "%MATHML.pfx;arccosh" >
+<!ENTITY % arccosh.qname "%MATHML.pfx;arccosh" >
+<!ENTITY % arccot.qname "%MATHML.pfx;arccot" >
+<!ENTITY % arccoth.qname "%MATHML.pfx;arccoth" >
+<!ENTITY % arccsc.qname "%MATHML.pfx;arccsc" >
+<!ENTITY % arccsch.qname "%MATHML.pfx;arccsch" >
+<!ENTITY % arcsec.qname "%MATHML.pfx;arcsec" >
+<!ENTITY % arcsech.qname "%MATHML.pfx;arcsech" >
+<!ENTITY % arcsin.qname "%MATHML.pfx;arcsin" >
+<!ENTITY % arcsinh.qname "%MATHML.pfx;arcsinh" >
+<!ENTITY % arctan.qname "%MATHML.pfx;arctan" >
+<!ENTITY % arctanh.qname "%MATHML.pfx;arctanh" >
+<!ENTITY % arg.qname "%MATHML.pfx;arg" >
+<!ENTITY % bvar.qname "%MATHML.pfx;bvar" >
+<!ENTITY % card.qname "%MATHML.pfx;card" >
+<!ENTITY % cartesianproduct.qname "%MATHML.pfx;cartesianproduct" >
+<!ENTITY % ceiling.qname "%MATHML.pfx;ceiling" >
+<!ENTITY % ci.qname "%MATHML.pfx;ci" >
+<!ENTITY % cn.qname "%MATHML.pfx;cn" >
+<!ENTITY % codomain.qname "%MATHML.pfx;codomain" >
+<!ENTITY % complexes.qname "%MATHML.pfx;complexes" >
+<!ENTITY % compose.qname "%MATHML.pfx;compose" >
+<!ENTITY % condition.qname "%MATHML.pfx;condition" >
+<!ENTITY % conjugate.qname "%MATHML.pfx;conjugate" >
+<!ENTITY % cos.qname "%MATHML.pfx;cos" >
+<!ENTITY % cosh.qname "%MATHML.pfx;cosh" >
+<!ENTITY % cot.qname "%MATHML.pfx;cot" >
+<!ENTITY % coth.qname "%MATHML.pfx;coth" >
+<!ENTITY % csc.qname "%MATHML.pfx;csc" >
+<!ENTITY % csch.qname "%MATHML.pfx;csch" >
+<!ENTITY % csymbol.qname "%MATHML.pfx;csymbol" >
+<!ENTITY % curl.qname "%MATHML.pfx;curl" >
+<!ENTITY % declare.qname "%MATHML.pfx;declare" >
+<!ENTITY % degree.qname "%MATHML.pfx;degree" >
+<!ENTITY % determinant.qname "%MATHML.pfx;determinant" >
+<!ENTITY % diff.qname "%MATHML.pfx;diff" >
+<!ENTITY % divergence.qname "%MATHML.pfx;divergence" >
+<!ENTITY % divide.qname "%MATHML.pfx;divide" >
+<!ENTITY % domain.qname "%MATHML.pfx;domain" >
+<!ENTITY % domainofapplication.qname "%MATHML.pfx;domainofapplication" >
+<!ENTITY % emptyset.qname "%MATHML.pfx;emptyset" >
+<!ENTITY % eq.qname "%MATHML.pfx;eq" >
+<!ENTITY % equivalent.qname "%MATHML.pfx;equivalent" >
+<!ENTITY % eulergamma.qname "%MATHML.pfx;eulergamma" >
+<!ENTITY % exists.qname "%MATHML.pfx;exists" >
+<!ENTITY % exp.qname "%MATHML.pfx;exp" >
+<!ENTITY % exponentiale.qname "%MATHML.pfx;exponentiale" >
+<!ENTITY % factorial.qname "%MATHML.pfx;factorial" >
+<!ENTITY % factorof.qname "%MATHML.pfx;factorof" >
+<!ENTITY % false.qname "%MATHML.pfx;false" >
+<!ENTITY % floor.qname "%MATHML.pfx;floor" >
+<!ENTITY % fn.qname "%MATHML.pfx;fn" >
+<!ENTITY % forall.qname "%MATHML.pfx;forall" >
+<!ENTITY % gcd.qname "%MATHML.pfx;gcd" >
+<!ENTITY % geq.qname "%MATHML.pfx;geq" >
+<!ENTITY % grad.qname "%MATHML.pfx;grad" >
+<!ENTITY % gt.qname "%MATHML.pfx;gt" >
+<!ENTITY % ident.qname "%MATHML.pfx;ident" >
+<!ENTITY % image.qname "%MATHML.pfx;image" >
+<!ENTITY % imaginary.qname "%MATHML.pfx;imaginary" >
+<!ENTITY % imaginaryi.qname "%MATHML.pfx;imaginaryi" >
+<!ENTITY % implies.qname "%MATHML.pfx;implies" >
+<!ENTITY % in.qname "%MATHML.pfx;in" >
+<!ENTITY % infinity.qname "%MATHML.pfx;infinity" >
+<!ENTITY % int.qname "%MATHML.pfx;int" >
+<!ENTITY % integers.qname "%MATHML.pfx;integers" >
+<!ENTITY % intersect.qname "%MATHML.pfx;intersect" >
+<!ENTITY % interval.qname "%MATHML.pfx;interval" >
+<!ENTITY % inverse.qname "%MATHML.pfx;inverse" >
+<!ENTITY % lambda.qname "%MATHML.pfx;lambda" >
+<!ENTITY % laplacian.qname "%MATHML.pfx;laplacian" >
+<!ENTITY % lcm.qname "%MATHML.pfx;lcm" >
+<!ENTITY % leq.qname "%MATHML.pfx;leq" >
+<!ENTITY % limit.qname "%MATHML.pfx;limit" >
+<!ENTITY % list.qname "%MATHML.pfx;list" >
+<!ENTITY % ln.qname "%MATHML.pfx;ln" >
+<!ENTITY % log.qname "%MATHML.pfx;log" >
+<!ENTITY % logbase.qname "%MATHML.pfx;logbase" >
+<!ENTITY % lowlimit.qname "%MATHML.pfx;lowlimit" >
+<!ENTITY % lt.qname "%MATHML.pfx;lt" >
+<!ENTITY % maction.qname "%MATHML.pfx;maction" >
+<!ENTITY % maligngroup.qname "%MATHML.pfx;maligngroup" >
+<!ENTITY % malignmark.qname "%MATHML.pfx;malignmark" >
+<!ENTITY % math.qname "%MATHML.pfx;math" >
+<!ENTITY % matrix.qname "%MATHML.pfx;matrix" >
+<!ENTITY % matrixrow.qname "%MATHML.pfx;matrixrow" >
+<!ENTITY % max.qname "%MATHML.pfx;max" >
+<!ENTITY % mean.qname "%MATHML.pfx;mean" >
+<!ENTITY % median.qname "%MATHML.pfx;median" >
+<!ENTITY % menclose.qname "%MATHML.pfx;menclose" >
+<!ENTITY % merror.qname "%MATHML.pfx;merror" >
+<!ENTITY % mfenced.qname "%MATHML.pfx;mfenced" >
+<!ENTITY % mfrac.qname "%MATHML.pfx;mfrac" >
+<!ENTITY % mglyph.qname "%MATHML.pfx;mglyph" >
+<!ENTITY % mi.qname "%MATHML.pfx;mi" >
+<!ENTITY % min.qname "%MATHML.pfx;min" >
+<!ENTITY % minus.qname "%MATHML.pfx;minus" >
+<!ENTITY % mlabeledtr.qname "%MATHML.pfx;mlabeledtr" >
+<!ENTITY % mmultiscripts.qname "%MATHML.pfx;mmultiscripts" >
+<!ENTITY % mn.qname "%MATHML.pfx;mn" >
+<!ENTITY % mo.qname "%MATHML.pfx;mo" >
+<!ENTITY % mode.qname "%MATHML.pfx;mode" >
+<!ENTITY % moment.qname "%MATHML.pfx;moment" >
+<!ENTITY % momentabout.qname "%MATHML.pfx;momentabout" >
+<!ENTITY % mover.qname "%MATHML.pfx;mover" >
+<!ENTITY % mpadded.qname "%MATHML.pfx;mpadded" >
+<!ENTITY % mphantom.qname "%MATHML.pfx;mphantom" >
+<!ENTITY % mprescripts.qname "%MATHML.pfx;mprescripts" >
+<!ENTITY % mroot.qname "%MATHML.pfx;mroot" >
+<!ENTITY % mrow.qname "%MATHML.pfx;mrow" >
+<!ENTITY % ms.qname "%MATHML.pfx;ms" >
+<!ENTITY % mspace.qname "%MATHML.pfx;mspace" >
+<!ENTITY % msqrt.qname "%MATHML.pfx;msqrt" >
+<!ENTITY % mstyle.qname "%MATHML.pfx;mstyle" >
+<!ENTITY % msub.qname "%MATHML.pfx;msub" >
+<!ENTITY % msubsup.qname "%MATHML.pfx;msubsup" >
+<!ENTITY % msup.qname "%MATHML.pfx;msup" >
+<!ENTITY % mtable.qname "%MATHML.pfx;mtable" >
+<!ENTITY % mtd.qname "%MATHML.pfx;mtd" >
+<!ENTITY % mtext.qname "%MATHML.pfx;mtext" >
+<!ENTITY % mtr.qname "%MATHML.pfx;mtr" >
+<!ENTITY % munder.qname "%MATHML.pfx;munder" >
+<!ENTITY % munderover.qname "%MATHML.pfx;munderover" >
+<!ENTITY % naturalnumbers.qname "%MATHML.pfx;naturalnumbers" >
+<!ENTITY % neq.qname "%MATHML.pfx;neq" >
+<!ENTITY % none.qname "%MATHML.pfx;none" >
+<!ENTITY % not.qname "%MATHML.pfx;not" >
+<!ENTITY % notanumber.qname "%MATHML.pfx;notanumber" >
+<!ENTITY % notin.qname "%MATHML.pfx;notin" >
+<!ENTITY % notprsubset.qname "%MATHML.pfx;notprsubset" >
+<!ENTITY % notsubset.qname "%MATHML.pfx;notsubset" >
+<!ENTITY % or.qname "%MATHML.pfx;or" >
+<!ENTITY % otherwise.qname "%MATHML.pfx;otherwise" >
+<!ENTITY % outerproduct.qname "%MATHML.pfx;outerproduct" >
+<!ENTITY % partialdiff.qname "%MATHML.pfx;partialdiff" >
+<!ENTITY % pi.qname "%MATHML.pfx;pi" >
+<!ENTITY % piece.qname "%MATHML.pfx;piece" >
+<!ENTITY % piecewise.qname "%MATHML.pfx;piecewise" >
+<!ENTITY % plus.qname "%MATHML.pfx;plus" >
+<!ENTITY % power.qname "%MATHML.pfx;power" >
+<!ENTITY % primes.qname "%MATHML.pfx;primes" >
+<!ENTITY % product.qname "%MATHML.pfx;product" >
+<!ENTITY % prsubset.qname "%MATHML.pfx;prsubset" >
+<!ENTITY % quotient.qname "%MATHML.pfx;quotient" >
+<!ENTITY % rationals.qname "%MATHML.pfx;rationals" >
+<!ENTITY % real.qname "%MATHML.pfx;real" >
+<!ENTITY % reals.qname "%MATHML.pfx;reals" >
+<!ENTITY % reln.qname "%MATHML.pfx;reln" >
+<!ENTITY % rem.qname "%MATHML.pfx;rem" >
+<!ENTITY % root.qname "%MATHML.pfx;root" >
+<!ENTITY % scalarproduct.qname "%MATHML.pfx;scalarproduct" >
+<!ENTITY % sdev.qname "%MATHML.pfx;sdev" >
+<!ENTITY % sec.qname "%MATHML.pfx;sec" >
+<!ENTITY % sech.qname "%MATHML.pfx;sech" >
+<!ENTITY % selector.qname "%MATHML.pfx;selector" >
+<!ENTITY % semantics.qname "%MATHML.pfx;semantics" >
+<!ENTITY % sep.qname "%MATHML.pfx;sep" >
+<!ENTITY % set.qname "%MATHML.pfx;set" >
+<!ENTITY % setdiff.qname "%MATHML.pfx;setdiff" >
+<!ENTITY % sin.qname "%MATHML.pfx;sin" >
+<!ENTITY % sinh.qname "%MATHML.pfx;sinh" >
+<!ENTITY % subset.qname "%MATHML.pfx;subset" >
+<!ENTITY % sum.qname "%MATHML.pfx;sum" >
+<!ENTITY % tan.qname "%MATHML.pfx;tan" >
+<!ENTITY % tanh.qname "%MATHML.pfx;tanh" >
+<!ENTITY % tendsto.qname "%MATHML.pfx;tendsto" >
+<!ENTITY % times.qname "%MATHML.pfx;times" >
+<!ENTITY % transpose.qname "%MATHML.pfx;transpose" >
+<!ENTITY % true.qname "%MATHML.pfx;true" >
+<!ENTITY % union.qname "%MATHML.pfx;union" >
+<!ENTITY % uplimit.qname "%MATHML.pfx;uplimit" >
+<!ENTITY % variance.qname "%MATHML.pfx;variance" >
+<!ENTITY % vector.qname "%MATHML.pfx;vector" >
+<!ENTITY % vectorproduct.qname "%MATHML.pfx;vectorproduct" >
+<!ENTITY % xor.qname "%MATHML.pfx;xor" >
+
+
+<!-- ignores subsequent instantiation of this module when
+ used as external subset rather than module fragment.
+ NOTE: Do not modify this parameter entity, otherwise
+ a recursive parsing situation may result.
+-->
+<!ENTITY % mathml-qname.module "IGNORE" >
+
+<!-- end of template-qname-1.mod -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/mathml2.dtd b/htdocs/sgml-lib/UPD-MathML2-20021015/mathml2.dtd
new file mode 100644
index 0000000..b55fcaf
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/mathml2.dtd
@@ -0,0 +1,2078 @@
+<!-- MathML 2.0 DTD ....................................................... -->
+<!-- file: mathml2.dtd
+-->
+
+<!-- MathML 2.0 DTD
+
+ This is the Mathematical Markup Language (MathML) 2.0, an XML
+ application for describing mathematical notation and capturing
+ both its structure and content.
+
+ Copyright 1998-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 the MathML 2.0 DTD 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 make
+ no representation about the suitability of the DTD for any purpose.
+
+ It is provided "as is" without expressed or implied warranty.
+
+ Revision: $Id: mathml2.dtd,v 1.6 2002/07/05 22:42:53 davidc Exp $
+
+ This entity may be identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//DTD MathML 2.0//EN"
+ SYSTEM "mathml2.dtd"
+
+ Revisions: editor and revision history at EOF
+-->
+
+
+<!-- MathML Qualified Names module ............................... -->
+<!ENTITY % mathml-qname.module "INCLUDE" >
+<![%mathml-qname.module;[
+<!ENTITY % mathml-qname.mod
+ PUBLIC "-//W3C//ENTITIES MathML 2.0 Qualified Names 1.0//EN"
+ "mathml2-qname-1.mod" >
+%mathml-qname.mod;]]>
+
+<!-- if %NS.prefixed; is INCLUDE, include all NS attributes,
+ otherwise just those associated with MathML
+-->
+<![%NS.prefixed;[
+<!ENTITY % MATHML.NamespaceDecl.attrib
+ "%NamespaceDecl.attrib;"
+>
+]]>
+<!ENTITY % MATHML.NamespaceDecl.attrib
+ "%MATHML.xmlns.attrib;"
+>
+
+<!ENTITY % XLINK.prefix "xlink" >
+
+<!-- Attributes shared by all elements .......................... -->
+
+<!ENTITY % MATHML.Common.attrib
+ "%MATHML.NamespaceDecl.attrib;
+ %XLINK.prefix;:href CDATA #IMPLIED
+ %XLINK.prefix;:type CDATA #IMPLIED
+ class CDATA #IMPLIED
+ style CDATA #IMPLIED
+ id ID #IMPLIED
+ xref IDREF #IMPLIED
+ other CDATA #IMPLIED"
+>
+
+<!-- Presentation element set ................................... -->
+
+<!-- Attribute definitions -->
+
+<!ENTITY % att-fontsize
+ "fontsize CDATA #IMPLIED" >
+<!ENTITY % att-fontweight
+ "fontweight ( normal | bold ) #IMPLIED" >
+<!ENTITY % att-fontstyle
+ "fontstyle ( normal | italic ) #IMPLIED" >
+<!ENTITY % att-fontfamily
+ "fontfamily CDATA #IMPLIED" >
+<!ENTITY % att-color
+ "color CDATA #IMPLIED" >
+
+<!-- MathML2 typographically-distinguished symbol attributes -->
+
+<!ENTITY % att-mathvariant
+ "mathvariant CDATA #IMPLIED" >
+<!ENTITY % att-mathsize
+ "mathsize CDATA #IMPLIED" >
+<!ENTITY % att-mathcolor
+ "mathcolor CDATA #IMPLIED" >
+<!ENTITY % att-mathbackground
+ "mathbackground CDATA #IMPLIED" >
+
+<!ENTITY % att-fontinfo
+ "%att-fontsize;
+ %att-fontweight;
+ %att-fontstyle;
+ %att-fontfamily;
+ %att-color;
+ %att-mathvariant;
+ %att-mathsize;
+ %att-mathcolor;
+ %att-mathbackground;"
+>
+
+<!ENTITY % att-form
+ "form ( prefix | infix | postfix ) #IMPLIED" >
+<!ENTITY % att-fence
+ "fence ( true | false ) #IMPLIED" >
+<!ENTITY % att-separator
+ "separator ( true | false ) #IMPLIED" >
+<!ENTITY % att-lspace
+ "lspace CDATA #IMPLIED" >
+<!ENTITY % att-rspace
+ "rspace CDATA #IMPLIED" >
+<!ENTITY % att-stretchy
+ "stretchy ( true | false ) #IMPLIED" >
+<!ENTITY % att-symmetric
+ "symmetric ( true | false ) #IMPLIED" >
+<!ENTITY % att-maxsize
+ "maxsize CDATA #IMPLIED" >
+<!ENTITY % att-minsize
+ "minsize CDATA #IMPLIED" >
+<!ENTITY % att-largeop
+ "largeop ( true | false) #IMPLIED" >
+<!ENTITY % att-movablelimits
+ "movablelimits ( true | false ) #IMPLIED" >
+<!ENTITY % att-accent
+ "accent ( true | false ) #IMPLIED" >
+
+<!ENTITY % att-opinfo
+ "%att-form;
+ %att-fence;
+ %att-separator;
+ %att-lspace;
+ %att-rspace;
+ %att-stretchy;
+ %att-symmetric;
+ %att-maxsize;
+ %att-minsize;
+ %att-largeop;
+ %att-movablelimits;
+ %att-accent;"
+>
+<!ENTITY % att-width
+ "width CDATA #IMPLIED" >
+<!ENTITY % att-height
+ "height CDATA #IMPLIED" >
+<!ENTITY % att-depth
+ "depth CDATA #IMPLIED" >
+<!ENTITY % att-linebreak
+ "linebreak CDATA #IMPLIED" >
+<!ENTITY % att-sizeinfo
+ "%att-width;
+ %att-height;
+ %att-depth;"
+>
+<!ENTITY % att-lquote
+ "lquote CDATA #IMPLIED" >
+<!ENTITY % att-rquote
+ "rquote CDATA #IMPLIED" >
+<!ENTITY % att-linethickness
+ "linethickness CDATA #IMPLIED" >
+<!ENTITY % att-scriptlevel
+ "scriptlevel CDATA #IMPLIED" >
+<!ENTITY % att-displaystyle
+ "displaystyle ( true | false ) #IMPLIED" >
+<!ENTITY % att-scriptsizemultiplier
+ "scriptsizemultiplier CDATA #IMPLIED" >
+<!ENTITY % att-scriptminsize
+ "scriptminsize CDATA #IMPLIED" >
+<!ENTITY % att-background
+ "background CDATA #IMPLIED" >
+<!ENTITY % att-veryverythinmathspace
+ "veryverythinmathspace CDATA #IMPLIED" >
+<!ENTITY % att-verythinmathspace
+ "verythinmathspace CDATA #IMPLIED" >
+<!ENTITY % att-thinmathspace
+ "thinmathspace CDATA #IMPLIED" >
+<!ENTITY % att-mediummathspace
+ "mediummathspace CDATA #IMPLIED" >
+<!ENTITY % att-thickmathspace
+ "thickmathspace CDATA #IMPLIED" >
+<!ENTITY % att-verythickmathspace
+ "verythickmathspace CDATA #IMPLIED" >
+<!ENTITY % att-veryverythickmathspace
+ "veryverythickmathspace CDATA #IMPLIED" >
+<!ENTITY % att-open
+ "open CDATA #IMPLIED" >
+<!ENTITY % att-close
+ "close CDATA #IMPLIED" >
+<!ENTITY % att-separators
+ "separators CDATA #IMPLIED" >
+<!ENTITY % att-subscriptshift
+ "subscriptshift CDATA #IMPLIED" >
+<!ENTITY % att-superscriptshift
+ "superscriptshift CDATA #IMPLIED" >
+<!ENTITY % att-accentunder
+ "accentunder ( true | false ) #IMPLIED" >
+<!ENTITY % att-align
+ "align CDATA #IMPLIED" >
+<!ENTITY % att-numalign
+ "numalign CDATA #IMPLIED" >
+<!ENTITY % att-denomalign
+ "denomalign CDATA #IMPLIED" >
+<!ENTITY % att-rowalign
+ "rowalign CDATA #IMPLIED" >
+<!ENTITY % att-columnalign
+ "columnalign CDATA #IMPLIED" >
+<!ENTITY % att-columnwidth
+ "columnwidth CDATA #IMPLIED" >
+<!ENTITY % att-groupalign
+ "groupalign CDATA #IMPLIED" >
+<!ENTITY % att-alignmentscope
+ "alignmentscope CDATA #IMPLIED" >
+<!ENTITY % att-rowspacing
+ "rowspacing CDATA #IMPLIED" >
+<!ENTITY % att-columnspacing
+ "columnspacing CDATA #IMPLIED" >
+<!ENTITY % att-rowlines
+ "rowlines CDATA #IMPLIED" >
+<!ENTITY % att-columnlines
+ "columnlines CDATA #IMPLIED" >
+<!ENTITY % att-frame
+ "frame ( none | solid | dashed ) #IMPLIED" >
+<!ENTITY % att-side
+ "side ( left | right | leftoverlap | rightoverlap ) #IMPLIED" >
+<!ENTITY % att-framespacing
+ "framespacing CDATA #IMPLIED" >
+<!ENTITY % att-equalrows
+ "equalrows CDATA #IMPLIED" >
+<!ENTITY % att-equalcolumns
+ "equalcolumns CDATA #IMPLIED" >
+
+<!ENTITY % att-tableinfo
+ "%att-align;
+ %att-rowalign;
+ %att-columnalign;
+ %att-columnwidth;
+ %att-groupalign;
+ %att-alignmentscope;
+ %att-side;
+ %att-rowspacing;
+ %att-columnspacing;
+ %att-rowlines;
+ %att-columnlines;
+ %att-width;
+ %att-frame;
+ %att-framespacing;
+ %att-equalrows;
+ %att-equalcolumns;
+ %att-displaystyle;"
+>
+
+<!ENTITY % att-rowspan
+ "rowspan CDATA #IMPLIED" >
+<!ENTITY % att-columnspan
+ "columnspan CDATA #IMPLIED" >
+<!ENTITY % att-edge
+ "edge ( left | right ) #IMPLIED" >
+<!ENTITY % att-actiontype
+ "actiontype CDATA #IMPLIED" >
+<!ENTITY % att-selection
+ "selection CDATA #IMPLIED" >
+
+<!ENTITY % att-name
+ "name CDATA #IMPLIED" >
+<!ENTITY % att-alt
+ "alt CDATA #IMPLIED" >
+<!ENTITY % att-index
+ "index CDATA #IMPLIED" >
+
+<!ENTITY % att-bevelled
+ "bevelled CDATA #IMPLIED" >
+
+<!-- Presentation schemata with content -->
+
+<!ENTITY % ptoken
+ "%mi.qname; | %mn.qname; | %mo.qname;
+ | %mtext.qname; | %ms.qname;" >
+
+<!ATTLIST %mi.qname;
+ %MATHML.Common.attrib;
+ %att-fontinfo;
+>
+
+<!ATTLIST %mn.qname;
+ %MATHML.Common.attrib;
+ %att-fontinfo;
+>
+
+<!ATTLIST %mo.qname;
+ %MATHML.Common.attrib;
+ %att-fontinfo;
+ %att-opinfo;
+>
+
+<!ATTLIST %mtext.qname;
+ %MATHML.Common.attrib;
+ %att-fontinfo;
+>
+
+<!ATTLIST %ms.qname;
+ %MATHML.Common.attrib;
+ %att-fontinfo;
+ %att-lquote;
+ %att-rquote;
+>
+
+<!-- Empty presentation schemata -->
+
+<!ENTITY % petoken
+ "%mspace.qname;" >
+<!ELEMENT %mspace.qname; EMPTY >
+
+<!ATTLIST %mspace.qname;
+ %att-sizeinfo;
+ %att-linebreak;
+ %MATHML.Common.attrib;
+>
+
+<!-- Presentation: general layout schemata -->
+
+<!ENTITY % pgenschema
+ "%mrow.qname; | %mfrac.qname; | %msqrt.qname; | %mroot.qname;
+ | %menclose.qname; | %mstyle.qname; | %merror.qname;
+ | %mpadded.qname; | %mphantom.qname; | %mfenced.qname;" >
+
+<!ATTLIST %mrow.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %mfrac.qname;
+ %MATHML.Common.attrib;
+ %att-bevelled;
+ %att-numalign;
+ %att-denomalign;
+ %att-linethickness;
+>
+
+<!ATTLIST %msqrt.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %menclose.qname;
+ %MATHML.Common.attrib;
+ notation CDATA 'longdiv' >
+
+<!ATTLIST %mroot.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %mstyle.qname;
+ %MATHML.Common.attrib;
+ %att-fontinfo;
+ %att-opinfo;
+ %att-lquote;
+ %att-rquote;
+ %att-linethickness;
+ %att-scriptlevel;
+ %att-scriptsizemultiplier;
+ %att-scriptminsize;
+ %att-background;
+ %att-veryverythinmathspace;
+ %att-verythinmathspace;
+ %att-thinmathspace;
+ %att-mediummathspace;
+ %att-thickmathspace;
+ %att-verythickmathspace;
+ %att-veryverythickmathspace;
+ %att-open;
+ %att-close;
+ %att-separators;
+ %att-subscriptshift;
+ %att-superscriptshift;
+ %att-accentunder;
+ %att-tableinfo;
+ %att-rowspan;
+ %att-columnspan;
+ %att-edge;
+ %att-actiontype;
+ %att-selection;
+>
+
+<!ATTLIST %merror.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %mpadded.qname;
+ %MATHML.Common.attrib;
+ %att-sizeinfo;
+ %att-lspace;
+>
+
+<!ATTLIST %mphantom.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %mfenced.qname;
+ %MATHML.Common.attrib;
+ %att-open;
+ %att-close;
+ %att-separators;
+>
+
+<!-- Presentation layout schemata: scripts and limits -->
+
+<!ENTITY % pscrschema
+ "%msub.qname; | %msup.qname; | %msubsup.qname; | %munder.qname;
+ | %mover.qname; | %munderover.qname; | %mmultiscripts.qname;" >
+
+<!ATTLIST %msub.qname;
+ %MATHML.Common.attrib;
+ %att-subscriptshift;
+>
+
+<!ATTLIST %msup.qname;
+ %MATHML.Common.attrib;
+ %att-superscriptshift;
+>
+
+<!ATTLIST %msubsup.qname;
+ %MATHML.Common.attrib;
+ %att-subscriptshift;
+ %att-superscriptshift;
+>
+
+<!ATTLIST %munder.qname;
+ %MATHML.Common.attrib;
+ %att-accentunder;
+>
+
+<!ATTLIST %mover.qname;
+ %MATHML.Common.attrib;
+ %att-accent;
+>
+
+<!ATTLIST %munderover.qname;
+ %MATHML.Common.attrib;
+ %att-accent;
+ %att-accentunder;
+>
+
+<!ATTLIST %mmultiscripts.qname;
+ %MATHML.Common.attrib;
+ %att-subscriptshift;
+ %att-superscriptshift;
+>
+
+<!-- Presentation layout schemata: empty elements for scripts -->
+
+<!ENTITY % pscreschema
+ "%mprescripts.qname; | %none.qname;" >
+
+<!ELEMENT %mprescripts.qname; EMPTY >
+<!ATTLIST %mprescripts.qname;
+ %MATHML.xmlns.attrib; >
+
+<!ELEMENT %none.qname; EMPTY >
+<!ATTLIST %none.qname;
+ %MATHML.xmlns.attrib; >
+
+<!-- Presentation layout schemata: tables -->
+
+<!ENTITY % ptabschema
+ "%mtable.qname; | %mtr.qname; | %mlabeledtr.qname; | %mtd.qname;" >
+
+<!ATTLIST %mtable.qname;
+ %MATHML.Common.attrib;
+ %att-tableinfo;
+>
+
+<!ATTLIST %mtr.qname;
+ %MATHML.Common.attrib;
+ %att-rowalign;
+ %att-columnalign;
+ %att-groupalign;
+>
+
+<!ATTLIST %mlabeledtr.qname;
+ %MATHML.Common.attrib;
+ %att-rowalign;
+ %att-columnalign;
+ %att-groupalign;
+>
+
+<!ATTLIST %mtd.qname;
+ %MATHML.Common.attrib;
+ %att-rowalign;
+ %att-columnalign;
+ %att-groupalign;
+ %att-rowspan;
+ %att-columnspan;
+>
+
+<!ENTITY % plschema
+ "%pgenschema; | %pscrschema; | %ptabschema;" >
+
+<!-- Empty presentation layout schemata -->
+
+<!ENTITY % peschema
+ "%maligngroup.qname; | %malignmark.qname;" >
+
+<!ELEMENT %malignmark.qname; EMPTY >
+
+<!ATTLIST %malignmark.qname;
+ %att-edge; >
+
+<!ELEMENT %maligngroup.qname; EMPTY >
+<!ATTLIST %maligngroup.qname;
+ %MATHML.Common.attrib;
+ %att-groupalign;
+>
+
+
+<!ELEMENT %mglyph.qname; EMPTY >
+<!ATTLIST %mglyph.qname;
+ %att-alt;
+ %att-fontfamily;
+ %att-index; >
+
+<!-- Presentation action schemata -->
+
+<!ENTITY % pactions
+ "%maction.qname;" >
+<!ATTLIST %maction.qname;
+ %MATHML.Common.attrib;
+ %att-actiontype;
+ %att-selection;
+>
+
+<!-- The following entity for substitution into
+ content constructs excludes elements that
+ are not valid as expressions.
+-->
+
+<!ENTITY % PresInCont
+ "%ptoken; | %petoken; |
+ %plschema; | %peschema; | %pactions;" >
+
+<!-- Presentation entity: all presentation constructs -->
+
+<!ENTITY % Presentation
+ "%ptoken; | %petoken; | %pscreschema; |
+ %plschema; | %peschema; | %pactions;">
+
+<!-- Content element set ........................................ -->
+
+<!-- Attribute definitions -->
+
+<!ENTITY % att-base
+ "base CDATA '10'" >
+<!ENTITY % att-closure
+ "closure CDATA 'closed'" >
+<!ENTITY % att-definition
+ "definitionURL CDATA ''" >
+<!ENTITY % att-encoding
+ "encoding CDATA ''" >
+<!ENTITY % att-nargs
+ "nargs CDATA '1'" >
+<!ENTITY % att-occurrence
+ "occurrence CDATA 'function-model'" >
+<!ENTITY % att-order
+ "order CDATA 'numeric'" >
+<!ENTITY % att-scope
+ "scope CDATA 'local'" >
+<!ENTITY % att-type
+ "type CDATA #IMPLIED" >
+
+<!-- Content elements: leaf nodes -->
+
+<!ENTITY % ctoken
+ "%csymbol.qname; | %ci.qname; | %cn.qname;" >
+
+<!ATTLIST %ci.qname;
+ %MATHML.Common.attrib;
+ %att-type;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ATTLIST %csymbol.qname;
+ %MATHML.Common.attrib;
+ %att-encoding;
+ %att-type;
+ %att-definition;
+>
+
+<!ATTLIST %cn.qname;
+ %MATHML.Common.attrib;
+ %att-type;
+ %att-base;
+ %att-definition;
+ %att-encoding;
+>
+
+<!-- Content elements: specials -->
+
+<!ENTITY % cspecial
+ "%apply.qname; | %reln.qname; |
+ %lambda.qname;" >
+
+<!ATTLIST %apply.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %reln.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %lambda.qname;
+ %MATHML.Common.attrib;
+>
+
+<!-- Content elements: others -->
+
+<!ENTITY % cother
+ "%condition.qname; | %declare.qname; | %sep.qname;" >
+
+<!ATTLIST %condition.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %declare.qname;
+ %MATHML.Common.attrib;
+ %att-type;
+ %att-scope;
+ %att-nargs;
+ %att-occurrence;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %sep.qname; EMPTY >
+<!ATTLIST %sep.qname;
+ %MATHML.xmlns.attrib; >
+
+<!-- Content elements: semantic mapping -->
+
+<!ENTITY % csemantics
+ "%semantics.qname; | %annotation.qname; |
+ %annotation-xml.qname;" >
+
+<!ATTLIST %semantics.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ATTLIST %annotation.qname;
+ %MATHML.Common.attrib;
+ %att-encoding;
+>
+
+<!ATTLIST %annotation-xml.qname;
+ %MATHML.Common.attrib;
+ %att-encoding;
+>
+
+<!-- Content elements: constructors -->
+
+<!ENTITY % cconstructor
+ "%interval.qname; | %list.qname; | %matrix.qname;
+ | %matrixrow.qname; | %set.qname; | %vector.qname;
+ | %piecewise.qname; " >
+
+<!ATTLIST %interval.qname;
+ %MATHML.Common.attrib;
+ %att-closure;
+>
+
+<!ATTLIST %set.qname;
+ %MATHML.Common.attrib;
+ %att-type;
+>
+
+<!ATTLIST %list.qname;
+ %MATHML.Common.attrib;
+ %att-order;
+>
+
+<!ATTLIST %vector.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %matrix.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %matrixrow.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %piecewise.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %piece.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %otherwise.qname;
+ %MATHML.Common.attrib;
+>
+
+
+<!-- Content elements: symbols -->
+
+<!ENTITY % c0ary
+ "%integers.qname; |
+ %reals.qname; |
+ %rationals.qname; |
+ %naturalnumbers.qname; |
+ %complexes.qname; |
+ %primes.qname; |
+ %exponentiale.qname; |
+ %imaginaryi.qname; |
+ %notanumber.qname; |
+ %true.qname; |
+ %false.qname; |
+ %emptyset.qname; |
+ %pi.qname; |
+ %eulergamma.qname; |
+ %infinity.qname;" >
+
+<!ELEMENT %integers.qname; EMPTY >
+<!ATTLIST %integers.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %reals.qname; EMPTY >
+<!ATTLIST %reals.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %rationals.qname; EMPTY >
+<!ATTLIST %rationals.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %naturalnumbers.qname; EMPTY >
+<!ATTLIST %naturalnumbers.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %complexes.qname; EMPTY >
+<!ATTLIST %complexes.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %primes.qname; EMPTY >
+<!ATTLIST %primes.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %exponentiale.qname; EMPTY >
+<!ATTLIST %exponentiale.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %imaginaryi.qname; EMPTY >
+<!ATTLIST %imaginaryi.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %notanumber.qname; EMPTY >
+<!ATTLIST %notanumber.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %true.qname; EMPTY >
+<!ATTLIST %true.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %false.qname; EMPTY >
+<!ATTLIST %false.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %emptyset.qname; EMPTY >
+<!ATTLIST %emptyset.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %pi.qname; EMPTY >
+<!ATTLIST %pi.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %eulergamma.qname; EMPTY >
+<!ATTLIST %eulergamma.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %infinity.qname; EMPTY >
+<!ATTLIST %infinity.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!-- Content elements: operators -->
+
+<!ENTITY % cfuncop1ary
+ "%inverse.qname; | %ident.qname;|
+ %domain.qname; | %codomain.qname; |
+ %image.qname; " >
+
+<!ELEMENT %inverse.qname; EMPTY >
+<!ATTLIST %inverse.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %domain.qname; EMPTY >
+<!ATTLIST %domain.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %codomain.qname; EMPTY >
+<!ATTLIST %codomain.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %image.qname; EMPTY >
+<!ATTLIST %image.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+
+
+<!ENTITY % cfuncopnary
+ "%fn.qname; | %compose.qname;" >
+
+<!ATTLIST %fn.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %ident.qname; EMPTY >
+<!ATTLIST %ident.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %compose.qname; EMPTY >
+<!ATTLIST %compose.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % carithop1ary
+ "%abs.qname; | %conjugate.qname; | %exp.qname; | %factorial.qname; |
+ %arg.qname; | %real.qname; | %imaginary.qname; |
+ %floor.qname; | %ceiling.qname;" >
+
+<!ELEMENT %exp.qname; EMPTY >
+<!ATTLIST %exp.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %abs.qname; EMPTY >
+<!ATTLIST %abs.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arg.qname; EMPTY >
+<!ATTLIST %arg.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %real.qname; EMPTY >
+<!ATTLIST %real.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %imaginary.qname; EMPTY >
+<!ATTLIST %imaginary.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %conjugate.qname; EMPTY >
+<!ATTLIST %conjugate.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %factorial.qname; EMPTY >
+<!ATTLIST %factorial.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+
+<!ELEMENT %floor.qname; EMPTY >
+<!ATTLIST %floor.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %ceiling.qname; EMPTY >
+<!ATTLIST %ceiling.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+<!ENTITY % carithop1or2ary
+ "%minus.qname;" >
+
+<!ELEMENT %minus.qname; EMPTY >
+<!ATTLIST %minus.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % carithop2ary
+ "%quotient.qname; | %divide.qname; | %power.qname; | %rem.qname;" >
+
+<!ELEMENT %quotient.qname; EMPTY >
+<!ATTLIST %quotient.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %divide.qname; EMPTY >
+<!ATTLIST %divide.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %power.qname; EMPTY >
+<!ATTLIST %power.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %rem.qname; EMPTY >
+<!ATTLIST %rem.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % carithopnary
+ "%plus.qname; | %times.qname; | %max.qname;
+ | %min.qname; | %gcd.qname; | %lcm.qname;" >
+
+<!ELEMENT %plus.qname; EMPTY >
+<!ATTLIST %plus.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %max.qname; EMPTY >
+<!ATTLIST %max.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %min.qname; EMPTY >
+<!ATTLIST %min.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %times.qname; EMPTY >
+<!ATTLIST %times.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %gcd.qname; EMPTY >
+<!ATTLIST %gcd.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %lcm.qname; EMPTY >
+<!ATTLIST %lcm.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % carithoproot
+ "%root.qname;" >
+
+<!ELEMENT %root.qname; EMPTY >
+<!ATTLIST %root.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % clogicopquant
+ "%exists.qname; | %forall.qname;" >
+
+<!ELEMENT %exists.qname; EMPTY >
+<!ATTLIST %exists.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %forall.qname; EMPTY >
+<!ATTLIST %forall.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % clogicopnary
+ "%and.qname; | %or.qname; | %xor.qname;" >
+
+<!ELEMENT %and.qname; EMPTY >
+<!ATTLIST %and.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %or.qname; EMPTY >
+<!ATTLIST %or.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %xor.qname; EMPTY >
+<!ATTLIST %xor.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % clogicop1ary
+ "%not.qname;" >
+
+<!ELEMENT %not.qname; EMPTY >
+<!ATTLIST %not.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % clogicop2ary
+ "%implies.qname;" >
+
+<!ELEMENT %implies.qname; EMPTY >
+<!ATTLIST %implies.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % ccalcop
+ "%log.qname; | %int.qname; | %diff.qname; | %partialdiff.qname; |
+ %divergence.qname; | %grad.qname; | %curl.qname; | %laplacian.qname;" >
+
+<!ELEMENT %divergence.qname; EMPTY >
+<!ATTLIST %divergence.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %grad.qname; EMPTY >
+<!ATTLIST %grad.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %curl.qname; EMPTY >
+<!ATTLIST %curl.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %laplacian.qname; EMPTY >
+<!ATTLIST %laplacian.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %log.qname; EMPTY >
+<!ATTLIST %log.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %int.qname; EMPTY >
+<!ATTLIST %int.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %diff.qname; EMPTY >
+<!ATTLIST %diff.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %partialdiff.qname; EMPTY >
+<!ATTLIST %partialdiff.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % ccalcop1ary
+ "%ln.qname;" >
+
+<!ELEMENT %ln.qname; EMPTY >
+<!ATTLIST %ln.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % csetop1ary
+ "%card.qname;" >
+
+<!ELEMENT %card.qname; EMPTY >
+<!ATTLIST %card.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % csetop2ary
+ "%setdiff.qname;" >
+
+<!ELEMENT %setdiff.qname; EMPTY >
+<!ATTLIST %setdiff.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % csetopnary
+ "%union.qname; | %intersect.qname; | %cartesianproduct.qname; " >
+
+<!ELEMENT %union.qname; EMPTY >
+<!ATTLIST %union.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %intersect.qname; EMPTY >
+<!ATTLIST %intersect.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %cartesianproduct.qname; EMPTY >
+<!ATTLIST %cartesianproduct.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % cseqop
+ "%sum.qname; | %product.qname; | %limit.qname;" >
+
+<!ELEMENT %sum.qname; EMPTY >
+<!ATTLIST %sum.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %product.qname; EMPTY >
+<!ATTLIST %product.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %limit.qname; EMPTY >
+<!ATTLIST %limit.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % ctrigop
+ "%sin.qname; | %cos.qname; | %tan.qname;
+ | %sec.qname; | %csc.qname; | %cot.qname;
+ | %sinh.qname; | %cosh.qname; | %tanh.qname;
+ | %sech.qname; | %csch.qname; | %coth.qname;
+ | %arcsin.qname; | %arccos.qname; | %arctan.qname;
+ | %arccosh.qname; | %arccot.qname; | %arccoth.qname;
+ | %arccsc.qname; | %arccsch.qname; | %arcsec.qname;
+ | %arcsech.qname; | %arcsinh.qname; | %arctanh.qname;
+ " >
+
+<!ELEMENT %sin.qname; EMPTY >
+<!ATTLIST %sin.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %cos.qname; EMPTY >
+<!ATTLIST %cos.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %tan.qname; EMPTY >
+<!ATTLIST %tan.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %sec.qname; EMPTY >
+<!ATTLIST %sec.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %csc.qname; EMPTY >
+<!ATTLIST %csc.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %cot.qname; EMPTY >
+<!ATTLIST %cot.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %sinh.qname; EMPTY >
+<!ATTLIST %sinh.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %cosh.qname; EMPTY >
+<!ATTLIST %cosh.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %tanh.qname; EMPTY >
+<!ATTLIST %tanh.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %sech.qname; EMPTY >
+<!ATTLIST %sech.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %csch.qname; EMPTY >
+<!ATTLIST %csch.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %coth.qname; EMPTY >
+<!ATTLIST %coth.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arcsin.qname; EMPTY >
+<!ATTLIST %arcsin.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arccos.qname; EMPTY >
+<!ATTLIST %arccos.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arctan.qname; EMPTY >
+<!ATTLIST %arctan.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arccosh.qname; EMPTY >
+<!ATTLIST %arccosh.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+
+<!ELEMENT %arccot.qname; EMPTY >
+<!ATTLIST %arccot.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arccoth.qname; EMPTY >
+<!ATTLIST %arccoth.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+
+<!ELEMENT %arccsc.qname; EMPTY >
+<!ATTLIST %arccsc.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arccsch.qname; EMPTY >
+<!ATTLIST %arccsch.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arcsec.qname; EMPTY >
+<!ATTLIST %arcsec.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arcsech.qname; EMPTY >
+<!ATTLIST %arcsech.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arcsinh.qname; EMPTY >
+<!ATTLIST %arcsinh.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arctanh.qname; EMPTY >
+<!ATTLIST %arctanh.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+
+
+<!ENTITY % cstatopnary
+ "%mean.qname; | %sdev.qname; |
+ %variance.qname; | %median.qname; |
+ %mode.qname;" >
+
+<!ELEMENT %mean.qname; EMPTY >
+<!ATTLIST %mean.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %sdev.qname; EMPTY >
+<!ATTLIST %sdev.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %variance.qname; EMPTY >
+<!ATTLIST %variance.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %median.qname; EMPTY >
+<!ATTLIST %median.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %mode.qname; EMPTY >
+<!ATTLIST %mode.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % cstatopmoment
+ "%moment.qname;" >
+
+<!ELEMENT %moment.qname; EMPTY >
+<!ATTLIST %moment.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % clalgop1ary
+ "%determinant.qname; |
+ %transpose.qname;" >
+
+<!ELEMENT %determinant.qname; EMPTY >
+<!ATTLIST %determinant.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %transpose.qname; EMPTY >
+<!ATTLIST %transpose.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % clalgop2ary
+ "%vectorproduct.qname;
+ | %scalarproduct.qname;
+ | %outerproduct.qname;" >
+
+<!ELEMENT %vectorproduct.qname; EMPTY >
+<!ATTLIST %vectorproduct.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %scalarproduct.qname; EMPTY >
+<!ATTLIST %scalarproduct.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %outerproduct.qname; EMPTY >
+<!ATTLIST %outerproduct.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % clalgopnary
+ "%selector.qname;" >
+
+<!ELEMENT %selector.qname; EMPTY >
+<!ATTLIST %selector.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!-- Content elements: relations -->
+
+<!ENTITY % cgenrel2ary
+ "%neq.qname; | %factorof.qname;" >
+
+<!ELEMENT %neq.qname; EMPTY >
+<!ATTLIST %neq.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %factorof.qname; EMPTY >
+<!ATTLIST %factorof.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % cgenrelnary
+ "%eq.qname; | %leq.qname; | %lt.qname; | %geq.qname;
+ | %gt.qname;| %equivalent.qname; | %approx.qname;" >
+
+<!ELEMENT %eq.qname; EMPTY >
+<!ATTLIST %eq.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %equivalent.qname; EMPTY >
+<!ATTLIST %equivalent.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %approx.qname; EMPTY >
+<!ATTLIST %approx.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %gt.qname; EMPTY >
+<!ATTLIST %gt.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %lt.qname; EMPTY >
+<!ATTLIST %lt.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %geq.qname; EMPTY >
+<!ATTLIST %geq.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %leq.qname; EMPTY >
+<!ATTLIST %leq.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % csetrel2ary
+ "%in.qname; | %notin.qname; | %notsubset.qname; | %notprsubset.qname;" >
+
+<!ELEMENT %in.qname; EMPTY >
+<!ATTLIST %in.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %notin.qname; EMPTY >
+<!ATTLIST %notin.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %notsubset.qname; EMPTY >
+<!ATTLIST %notsubset.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %notprsubset.qname; EMPTY >
+<!ATTLIST %notprsubset.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % csetrelnary
+ "%subset.qname; | %prsubset.qname;" >
+
+<!ELEMENT %subset.qname; EMPTY >
+<!ATTLIST %subset.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %prsubset.qname; EMPTY >
+<!ATTLIST %prsubset.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % cseqrel2ary
+ "%tendsto.qname;" >
+
+<!ELEMENT %tendsto.qname; EMPTY >
+<!ATTLIST %tendsto.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+ %att-type;
+>
+
+<!-- Content elements: quantifiers -->
+
+<!ENTITY % cquantifier
+ "%lowlimit.qname; | %uplimit.qname; | %bvar.qname;
+ | %degree.qname; | %logbase.qname;
+ | %momentabout.qname; | %domainofapplication.qname; " >
+
+<!ATTLIST %lowlimit.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %uplimit.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %bvar.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %degree.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %logbase.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %momentabout.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %domainofapplication.qname;
+ %MATHML.Common.attrib;
+>
+
+<!-- Operator groups -->
+
+<!ENTITY % cop1ary
+ "%cfuncop1ary; | %carithop1ary; | %clogicop1ary; |
+ %ccalcop1ary; | %ctrigop; | %clalgop1ary; |
+ %csetop1ary;" >
+
+<!ENTITY % cop2ary
+ "%carithop2ary; | %clogicop2ary;| %clalgop2ary; | %csetop2ary;" >
+
+<!ENTITY % copnary
+ "%cfuncopnary; | %carithopnary; | %clogicopnary; |
+ %csetopnary; | %cstatopnary; | %clalgopnary;" >
+
+<!ENTITY % copmisc
+ "%carithoproot; | %carithop1or2ary; | %ccalcop; |
+ %cseqop; | %cstatopmoment; | %clogicopquant;" >
+
+<!-- Relation groups -->
+
+<!ENTITY % crel2ary
+ "%cgenrel2ary; | %csetrel2ary; | %cseqrel2ary;" >
+
+<!ENTITY % crelnary
+ "%cgenrelnary; | %csetrelnary;" >
+
+<!-- Content constructs: all -->
+
+<!ENTITY % Content
+ "%ctoken; | %cspecial; | %cother; | %csemantics; | %c0ary;
+ | %cconstructor; | %cquantifier; | %cop1ary; | %cop2ary;
+ | %copnary; |%copmisc; | %crel2ary; | %crelnary;" >
+
+<!-- Content constructs for substitution in presentation structures -->
+
+<!ENTITY % ContInPres
+ "%ci.qname; |%csymbol.qname;| %cn.qname; | %c0ary; |
+ %apply.qname; | %fn.qname; |
+ %lambda.qname; | %reln.qname; |
+ %cconstructor; |
+ %semantics.qname; |%declare.qname;" >
+
+<!-- ............................................................. -->
+<!-- Recursive definition for content of expressions. Include
+ presentation constructs at lowest level so presentation
+ layout schemata hold presentation or content elements.
+ Include content constructs at lowest level so content
+ elements hold PCDATA or presentation elements at leaf
+ level (for permitted substitutable elements in context)
+-->
+
+<!ENTITY % ContentExpression
+ "(%Content; | %PresInCont;)*" >
+<!ENTITY % PresExpression
+ "(%Presentation; | %ContInPres;)*" >
+<!ENTITY % MathExpression
+ "(%PresInCont; | %ContInPres;)*" >
+
+<!-- PCDATA or MathML character elements -->
+<!ENTITY % MathMLCharacters
+ "#PCDATA | %mglyph.qname; " >
+
+<!-- Content elements: tokens -->
+<!-- (may contain embedded presentation constructs) -->
+
+<!ELEMENT %ci.qname; (%MathMLCharacters; | %PresInCont;)* >
+<!ELEMENT %csymbol.qname; (%MathMLCharacters; | %PresInCont;)* >
+<!ELEMENT %cn.qname; (%MathMLCharacters; | %sep.qname; | %PresInCont;)* >
+
+<!-- Content elements: special -->
+
+<!ELEMENT %apply.qname; (%ContentExpression;) >
+<!ELEMENT %reln.qname; (%ContentExpression;) >
+<!ELEMENT %lambda.qname; (%ContentExpression;) >
+
+<!-- Content elements: other -->
+
+<!ELEMENT %condition.qname; (%ContentExpression;) >
+<!ELEMENT %declare.qname; (%ContentExpression;) >
+
+<!-- Content elements: semantics -->
+
+<!ELEMENT %semantics.qname; (%ContentExpression;) >
+<!ENTITY % Annotation.content "( #PCDATA )" >
+<!ELEMENT %annotation.qname; %Annotation.content; >
+
+<!ENTITY % Annotation-xml.content "ANY" >
+<!ELEMENT %annotation-xml.qname; %Annotation-xml.content; >
+
+<!-- Content elements: constructors -->
+
+<!ELEMENT %interval.qname; (%ContentExpression;) >
+<!ELEMENT %set.qname; (%ContentExpression;) >
+<!ELEMENT %list.qname; (%ContentExpression;) >
+<!ELEMENT %vector.qname; (%ContentExpression;) >
+<!ELEMENT %matrix.qname; (%ContentExpression;) >
+<!ELEMENT %matrixrow.qname; (%ContentExpression;) >
+
+<!ELEMENT %piecewise.qname; ((%piece.qname;)*, (%otherwise.qname;)? ) >
+<!ELEMENT %piece.qname; (%ContentExpression;) >
+<!ELEMENT %otherwise.qname; (%ContentExpression;) >
+
+<!-- Content elements: operator (user-defined) -->
+
+<!ELEMENT %fn.qname; (%ContentExpression;) >
+
+<!-- Content elements: quantifiers -->
+
+<!ELEMENT %lowlimit.qname; (%ContentExpression;) >
+<!ELEMENT %uplimit.qname; (%ContentExpression;) >
+<!ELEMENT %bvar.qname; (%ContentExpression;) >
+<!ELEMENT %degree.qname; (%ContentExpression;) >
+<!ELEMENT %logbase.qname; (%ContentExpression;) >
+<!ELEMENT %momentabout.qname; (%ContentExpression;) >
+<!ELEMENT %domainofapplication.qname; (%ContentExpression;) >
+
+<!-- ............................................................. -->
+<!-- Presentation layout schemata contain tokens,
+ layout and content schemata.
+-->
+
+<!ELEMENT %mstyle.qname; (%PresExpression;) >
+<!ELEMENT %merror.qname; (%PresExpression;) >
+<!ELEMENT %mphantom.qname; (%PresExpression;) >
+<!ELEMENT %mrow.qname; (%PresExpression;) >
+<!ELEMENT %mfrac.qname; (%PresExpression;) >
+<!ELEMENT %msqrt.qname; (%PresExpression;) >
+<!ELEMENT %menclose.qname; (%PresExpression;) >
+<!ELEMENT %mroot.qname; (%PresExpression;) >
+<!ELEMENT %msub.qname; (%PresExpression;) >
+<!ELEMENT %msup.qname; (%PresExpression;) >
+<!ELEMENT %msubsup.qname; (%PresExpression;) >
+<!ELEMENT %mmultiscripts.qname; (%PresExpression;) >
+<!ELEMENT %munder.qname; (%PresExpression;) >
+<!ELEMENT %mover.qname; (%PresExpression;) >
+<!ELEMENT %munderover.qname; (%PresExpression;) >
+<!ELEMENT %mtable.qname; (%PresExpression;) >
+<!ELEMENT %mtr.qname; (%PresExpression;) >
+<!ELEMENT %mlabeledtr.qname; (%PresExpression;) >
+<!ELEMENT %mtd.qname; (%PresExpression;) >
+<!ELEMENT %maction.qname; (%PresExpression;) >
+<!ELEMENT %mfenced.qname; (%PresExpression;) >
+<!ELEMENT %mpadded.qname; (%PresExpression;) >
+
+<!-- Presentation elements contain PCDATA or malignmark constructs. -->
+
+<!ELEMENT %mi.qname; (%MathMLCharacters; |
+ %malignmark.qname;)* >
+<!ELEMENT %mn.qname; (%MathMLCharacters; |
+ %malignmark.qname;)* >
+<!ELEMENT %mo.qname; (%MathMLCharacters; |
+ %malignmark.qname;)* >
+<!ELEMENT %mtext.qname; (%MathMLCharacters; |
+ %malignmark.qname;)* >
+<!ELEMENT %ms.qname; (%MathMLCharacters; |
+ %malignmark.qname;)* >
+
+<!-- Browser interface definition ............................... -->
+
+<!-- Attributes for top-level element "math" -->
+
+<!ENTITY % att-macros
+ "macros CDATA #IMPLIED" >
+<!ENTITY % att-mode
+ "mode CDATA #IMPLIED" >
+<!ENTITY % att-display
+ "display CDATA #IMPLIED" >
+
+<!ENTITY % att-topinfo
+ "%MATHML.Common.attrib;
+ %att-macros;
+ %att-mode;
+ %att-display;" >
+
+<!-- Attributes for browser interface element -->
+
+<!ENTITY % att-baseline
+ "baseline CDATA #IMPLIED" >
+<!ENTITY % att-overflow
+ "overflow ( scroll | elide | truncate | scale ) 'scroll'" >
+<!ENTITY % att-altimg
+ "altimg CDATA #IMPLIED" >
+<!ENTITY % att-alttext
+ "alttext CDATA #IMPLIED" >
+
+<!ENTITY % att-browif
+ "%att-type;
+ %att-name;
+ %att-height;
+ %att-width;
+ %att-baseline;
+ %att-overflow;
+ %att-altimg;
+ %att-alttext;" >
+
+<!-- ............................................................. -->
+<!-- The top-level element "math" contains MathML encoded
+ mathematics. The "math" element has the browser info
+ attributes iff it is also the browser interface element.
+-->
+
+<!ELEMENT %math.qname; (%MathExpression;) >
+
+<!ATTLIST %math.qname;
+ %att-topinfo;
+ %att-browif; >
+
+<!-- MathML Character Entities .............................................. -->
+<!ENTITY % mathml-charent.module "INCLUDE" >
+<![%mathml-charent.module;[
+<!-- Entity sets from ISO Technical Report 9573-13 ..... -->
+
+<!ENTITY % ent-isoamsa
+ PUBLIC "-//W3C//ENTITIES Added Math Symbols: Arrow Relations for MathML 2.0//EN"
+ "iso9573-13/isoamsa.ent" >
+%ent-isoamsa;
+
+<!ENTITY % ent-isoamsb
+ PUBLIC "-//W3C//ENTITIES Added Math Symbols: Binary Operators for MathML 2.0//EN"
+ "iso9573-13/isoamsb.ent" >
+%ent-isoamsb;
+
+<!ENTITY % ent-isoamsc
+ PUBLIC "-//W3C//ENTITIES Added Math Symbols: Delimiters for MathML 2.0//EN"
+ "iso9573-13/isoamsc.ent" >
+%ent-isoamsc;
+
+<!ENTITY % ent-isoamsn
+ PUBLIC "-//W3C//ENTITIES Added Math Symbols: Negated Relations for MathML 2.0//EN"
+ "iso9573-13/isoamsn.ent" >
+%ent-isoamsn;
+
+<!ENTITY % ent-isoamso
+ PUBLIC "-//W3C//ENTITIES Added Math Symbols: Ordinary for MathML 2.0//EN"
+ "iso9573-13/isoamso.ent" >
+%ent-isoamso;
+
+<!ENTITY % ent-isoamsr
+ PUBLIC "-//W3C//ENTITIES Added Math Symbols: Relations for MathML 2.0//EN"
+ "iso9573-13/isoamsr.ent" >
+%ent-isoamsr;
+
+<!ENTITY % ent-isogrk3
+ PUBLIC "-//W3C//ENTITIES Greek Symbols for MathML 2.0//EN"
+ "iso9573-13/isogrk3.ent" >
+%ent-isogrk3;
+
+<!ENTITY % ent-isomfrk
+ PUBLIC "-//W3C//ENTITIES Math Alphabets: Fraktur for MathML 2.0//EN"
+ "iso9573-13/isomfrk.ent" >
+%ent-isomfrk;
+
+<!ENTITY % ent-isomopf
+ PUBLIC "-//W3C//ENTITIES Math Alphabets: Open Face for MathML 2.0//EN"
+ "iso9573-13/isomopf.ent" >
+%ent-isomopf;
+
+<!ENTITY % ent-isomscr
+ PUBLIC "-//W3C//ENTITIES Math Alphabets: Script for MathML 2.0//EN"
+ "iso9573-13/isomscr.ent" >
+%ent-isomscr;
+
+<!ENTITY % ent-isotech
+ PUBLIC "-//W3C//ENTITIES General Technical for MathML 2.0//EN"
+ "iso9573-13/isotech.ent" >
+%ent-isotech;
+
+<!-- Entity sets from informative annex to ISO 8879:1986 (SGML) ....... -->
+
+<!ENTITY % ent-isobox
+ PUBLIC "-//W3C//ENTITIES Box and Line Drawing for MathML 2.0//EN"
+ "iso8879/isobox.ent" >
+%ent-isobox;
+
+<!ENTITY % ent-isocyr1
+ PUBLIC "-//W3C//ENTITIES Russian Cyrillic for MathML 2.0//EN"
+ "iso8879/isocyr1.ent" >
+%ent-isocyr1;
+
+<!ENTITY % ent-isocyr2
+ PUBLIC "-//W3C//ENTITIES Non-Russian Cyrillic for MathML 2.0//EN"
+ "iso8879/isocyr2.ent" >
+%ent-isocyr2;
+
+<!ENTITY % ent-isodia
+ PUBLIC "-//W3C//ENTITIES Diacritical Marks for MathML 2.0//EN"
+ "iso8879/isodia.ent" >
+%ent-isodia;
+
+<!ENTITY % ent-isolat1
+ PUBLIC "-//W3C//ENTITIES Added Latin 1 for MathML 2.0//EN"
+ "iso8879/isolat1.ent" >
+%ent-isolat1;
+
+<!ENTITY % ent-isolat2
+ PUBLIC "-//W3C//ENTITIES Added Latin 2 for MathML 2.0//EN"
+ "iso8879/isolat2.ent" >
+%ent-isolat2;
+
+<!ENTITY % ent-isonum
+ PUBLIC "-//W3C//ENTITIES Numeric and Special Graphic for MathML 2.0//EN"
+ "iso8879/isonum.ent" >
+%ent-isonum;
+
+<!ENTITY % ent-isopub
+ PUBLIC "-//W3C//ENTITIES Publishing for MathML 2.0//EN"
+ "iso8879/isopub.ent" >
+%ent-isopub;
+
+<!-- New characters defined by MathML ............................ -->
+
+<!ENTITY % ent-mmlextra
+ PUBLIC "-//W3C//ENTITIES Extra for MathML 2.0//EN"
+ "mathml/mmlextra.ent" >
+%ent-mmlextra;
+
+<!-- MathML aliases for characters defined above ................. -->
+
+<!ENTITY % ent-mmlalias
+ PUBLIC "-//W3C//ENTITIES Aiases for MathML 2.0//EN"
+ "mathml/mmlalias.ent" >
+%ent-mmlalias;
+
+<!-- end of MathML Character Entity section -->]]>
+
+<!-- Revision History:
+
+ Initial draft (syntax = XML) 1997-05-09
+ Stephen Buswell
+ Revised 1997-05-14
+ Robert Miner
+ Revised 1997-06-29 and 1997-07-02
+ Stephen Buswell
+ Revised 1997-12-15
+ Stephen Buswell
+ Revised 1998-02-08
+ Stephen Buswell
+ Revised 1998-04-04
+ Stephen Buswell
+ Entities and small revisions 1999-02-21
+ David Carlisle
+ Added attribute definitionURL to ci and cn 1999-10-11
+ Nico Poppelier
+ Additions for MathML 2 1999-12-16
+ David Carlisle
+ Namespace support 2000-01-14
+ David Carlisle
+ XHTML Compatibility 2000-02-23
+ Murray Altheim
+ New content elements 2000-03-26
+ David Carlisle
+ Further revisions for MathML2 CR draft 2000-07-11
+ David Carlisle
+ Further revisions for MathML2 CR draft 2000-10-31
+ David Carlisle
+ Revisions for Unicode 3.2 2002-05-21
+ David Carlisle
+ Add width and side attributes to mtable (to align with the specification) 2002-06-05
+ David Carlisle
+ Use %XLINK.prefix rather than hardwired xlink:, add xlink:type 2002-06-12
+ David Carlisle
+ Add missing numalign and denomalign attributes for mfrac 2002-07-05
+ David Carlisle
+
+-->
+
+<!-- end of MathML 2.0 DTD ................................................ -->
+<!-- ....................................................................... -->
+
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/mmlalias.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/mmlalias.ent
new file mode 100644
index 0000000..666f3bb
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/mmlalias.ent
@@ -0,0 +1,564 @@
+
+<!--
+ File mmlalias.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+-->
+
+<!ENTITY angle "&#x02220;" ><!--alias ISOAMSO ang -->
+<!ENTITY ApplyFunction "&#x02061;" ><!--character showing function application in presentation tagging -->
+<!ENTITY approx "&#x02248;" ><!--alias ISOTECH ap -->
+<!ENTITY approxeq "&#x0224A;" ><!--alias ISOAMSR ape -->
+<!ENTITY Assign "&#x02254;" ><!--assignment operator, alias ISOAMSR colone -->
+<!ENTITY backcong "&#x0224C;" ><!--alias ISOAMSR bcong -->
+<!ENTITY backepsilon "&#x003F6;" ><!--alias ISOAMSR bepsi -->
+<!ENTITY backprime "&#x02035;" ><!--alias ISOAMSO bprime -->
+<!ENTITY backsim "&#x0223D;" ><!--alias ISOAMSR bsim -->
+<!ENTITY backsimeq "&#x022CD;" ><!--alias ISOAMSR bsime -->
+<!ENTITY Backslash "&#x02216;" ><!--alias ISOAMSB setmn -->
+<!ENTITY barwedge "&#x022BC;" ><!--alias ISOAMSB barwed -->
+<!ENTITY because "&#x02235;" ><!--alias ISOTECH becaus -->
+<!ENTITY Because "&#x02235;" ><!--alias ISOTECH becaus -->
+<!ENTITY Bernoullis "&#x0212C;" ><!--alias ISOTECH bernou -->
+<!ENTITY between "&#x0226C;" ><!--alias ISOAMSR twixt -->
+<!ENTITY bigcap "&#x022C2;" ><!--alias ISOAMSB xcap -->
+<!ENTITY bigcirc "&#x025EF;" ><!--alias ISOAMSB xcirc -->
+<!ENTITY bigcup "&#x022C3;" ><!--alias ISOAMSB xcup -->
+<!ENTITY bigodot "&#x02299;" ><!--alias ISOAMSB xodot -->
+<!ENTITY bigoplus "&#x02295;" ><!--alias ISOAMSB xoplus -->
+<!ENTITY bigotimes "&#x02297;" ><!--alias ISOAMSB xotime -->
+<!ENTITY bigsqcup "&#x02294;" ><!--alias ISOAMSB xsqcup -->
+<!ENTITY bigstar "&#x02605;" ><!--ISOPUB starf -->
+<!ENTITY bigtriangledown "&#x025BD;" ><!--alias ISOAMSB xdtri -->
+<!ENTITY bigtriangleup "&#x025B3;" ><!--alias ISOAMSB xutri -->
+<!ENTITY biguplus "&#x0228E;" ><!--alias ISOAMSB xuplus -->
+<!ENTITY bigvee "&#x022C1;" ><!--alias ISOAMSB xvee -->
+<!ENTITY bigwedge "&#x022C0;" ><!--alias ISOAMSB xwedge -->
+<!ENTITY bkarow "&#x0290D;" ><!--alias ISOAMSA rbarr -->
+<!ENTITY blacklozenge "&#x029EB;" ><!--alias ISOPUB lozf -->
+<!ENTITY blacksquare "&#x025AA;" ><!--ISOTECH squarf -->
+<!ENTITY blacktriangle "&#x025B4;" ><!--alias ISOPUB utrif -->
+<!ENTITY blacktriangledown "&#x025BE;" ><!--alias ISOPUB dtrif -->
+<!ENTITY blacktriangleleft "&#x025C2;" ><!--alias ISOPUB ltrif -->
+<!ENTITY blacktriangleright "&#x025B8;" ><!--alias ISOPUB rtrif -->
+<!ENTITY bot "&#x022A5;" ><!--alias ISOTECH bottom -->
+<!ENTITY boxminus "&#x0229F;" ><!--alias ISOAMSB minusb -->
+<!ENTITY boxplus "&#x0229E;" ><!--alias ISOAMSB plusb -->
+<!ENTITY boxtimes "&#x022A0;" ><!--alias ISOAMSB timesb -->
+<!ENTITY Breve "&#x002D8;" ><!--alias ISODIA breve -->
+<!ENTITY bullet "&#x02022;" ><!--alias ISOPUB bull -->
+<!ENTITY bumpeq "&#x0224F;" ><!--alias ISOAMSR bumpe -->
+<!ENTITY Bumpeq "&#x0224E;" ><!--alias ISOAMSR bump -->
+<!ENTITY CapitalDifferentialD "&#x02145;" ><!--D for use in differentials, e.g., within integrals -->
+<!ENTITY Cayleys "&#x0212D;" ><!--the non-associative ring of octonions or Cayley numbers -->
+<!ENTITY Cedilla "&#x000B8;" ><!--alias ISODIA cedil -->
+<!ENTITY centerdot "&#x000B7;" ><!--alias ISONUM middot -->
+<!ENTITY CenterDot "&#x000B7;" ><!--alias ISONUM middot -->
+<!ENTITY checkmark "&#x02713;" ><!--alias ISOPUB check -->
+<!ENTITY circeq "&#x02257;" ><!--alias ISOAMSR cire -->
+<!ENTITY circlearrowleft "&#x021BA;" ><!--alias ISOAMSA olarr -->
+<!ENTITY circlearrowright "&#x021BB;" ><!--alias ISOAMSA orarr -->
+<!ENTITY circledast "&#x0229B;" ><!--alias ISOAMSB oast -->
+<!ENTITY circledcirc "&#x0229A;" ><!--alias ISOAMSB ocir -->
+<!ENTITY circleddash "&#x0229D;" ><!--alias ISOAMSB odash -->
+<!ENTITY CircleDot "&#x02299;" ><!--alias ISOAMSB odot -->
+<!ENTITY circledR "&#x000AE;" ><!--alias ISONUM reg -->
+<!ENTITY circledS "&#x024C8;" ><!--alias ISOAMSO oS -->
+<!ENTITY CircleMinus "&#x02296;" ><!--alias ISOAMSB ominus -->
+<!ENTITY CirclePlus "&#x02295;" ><!--alias ISOAMSB oplus -->
+<!ENTITY CircleTimes "&#x02297;" ><!--alias ISOAMSB otimes -->
+<!ENTITY ClockwiseContourIntegral "&#x02232;" ><!--alias ISOTECH cwconint -->
+<!ENTITY CloseCurlyDoubleQuote "&#x0201D;" ><!--alias ISONUM rdquo -->
+<!ENTITY CloseCurlyQuote "&#x02019;" ><!--alias ISONUM rsquo -->
+<!ENTITY clubsuit "&#x02663;" ><!--ISOPUB clubs -->
+<!ENTITY coloneq "&#x02254;" ><!--alias ISOAMSR colone -->
+<!ENTITY complement "&#x02201;" ><!--alias ISOAMSO comp -->
+<!ENTITY complexes "&#x02102;" ><!--the field of complex numbers -->
+<!ENTITY Congruent "&#x02261;" ><!--alias ISOTECH equiv -->
+<!ENTITY ContourIntegral "&#x0222E;" ><!--alias ISOTECH conint -->
+<!ENTITY Coproduct "&#x02210;" ><!--alias ISOAMSB coprod -->
+<!ENTITY CounterClockwiseContourIntegral "&#x02233;" ><!--alias ISOTECH awconint -->
+<!ENTITY CupCap "&#x0224D;" ><!--alias ISOAMSR asymp -->
+<!ENTITY curlyeqprec "&#x022DE;" ><!--alias ISOAMSR cuepr -->
+<!ENTITY curlyeqsucc "&#x022DF;" ><!--alias ISOAMSR cuesc -->
+<!ENTITY curlyvee "&#x022CE;" ><!--alias ISOAMSB cuvee -->
+<!ENTITY curlywedge "&#x022CF;" ><!--alias ISOAMSB cuwed -->
+<!ENTITY curvearrowleft "&#x021B6;" ><!--alias ISOAMSA cularr -->
+<!ENTITY curvearrowright "&#x021B7;" ><!--alias ISOAMSA curarr -->
+<!ENTITY dbkarow "&#x0290F;" ><!--alias ISOAMSA rBarr -->
+<!ENTITY ddagger "&#x02021;" ><!--alias ISOPUB Dagger -->
+<!ENTITY ddotseq "&#x02A77;" ><!--alias ISOAMSR eDDot -->
+<!ENTITY Del "&#x02207;" ><!--alias ISOTECH nabla -->
+<!ENTITY DiacriticalAcute "&#x000B4;" ><!--alias ISODIA acute -->
+<!ENTITY DiacriticalDot "&#x002D9;" ><!--alias ISODIA dot -->
+<!ENTITY DiacriticalDoubleAcute "&#x002DD;" ><!--alias ISODIA dblac -->
+<!ENTITY DiacriticalGrave "&#x00060;" ><!--alias ISODIA grave -->
+<!ENTITY DiacriticalTilde "&#x002DC;" ><!--alias ISODIA tilde -->
+<!ENTITY diamond "&#x022C4;" ><!--alias ISOAMSB diam -->
+<!ENTITY Diamond "&#x022C4;" ><!--alias ISOAMSB diam -->
+<!ENTITY diamondsuit "&#x02666;" ><!--ISOPUB diams -->
+<!ENTITY DifferentialD "&#x02146;" ><!--d for use in differentials, e.g., within integrals -->
+<!ENTITY digamma "&#x003DC;" ><!--alias ISOGRK3 gammad -->
+<!ENTITY div "&#x000F7;" ><!--alias ISONUM divide -->
+<!ENTITY divideontimes "&#x022C7;" ><!--alias ISOAMSB divonx -->
+<!ENTITY doteq "&#x02250;" ><!--alias ISOAMSR esdot -->
+<!ENTITY doteqdot "&#x02251;" ><!--alias ISOAMSR eDot -->
+<!ENTITY DotEqual "&#x02250;" ><!--alias ISOAMSR esdot -->
+<!ENTITY dotminus "&#x02238;" ><!--alias ISOAMSB minusd -->
+<!ENTITY dotplus "&#x02214;" ><!--alias ISOAMSB plusdo -->
+<!ENTITY dotsquare "&#x022A1;" ><!--alias ISOAMSB sdotb -->
+<!ENTITY doublebarwedge "&#x02306;" ><!--alias ISOAMSB Barwed -->
+<!ENTITY DoubleContourIntegral "&#x0222F;" ><!--alias ISOTECH Conint -->
+<!ENTITY DoubleDot "&#x000A8;" ><!--alias ISODIA die -->
+<!ENTITY DoubleDownArrow "&#x021D3;" ><!--alias ISOAMSA dArr -->
+<!ENTITY DoubleLeftArrow "&#x021D0;" ><!--alias ISOTECH lArr -->
+<!ENTITY DoubleLeftRightArrow "&#x021D4;" ><!--alias ISOAMSA hArr -->
+<!ENTITY DoubleLeftTee "&#x02AE4;" ><!--alias for &Dashv; -->
+<!ENTITY DoubleLongLeftArrow "&#x027F8;" ><!--alias ISOAMSA xlArr -->
+<!ENTITY DoubleLongLeftRightArrow "&#x027FA;" ><!--alias ISOAMSA xhArr -->
+<!ENTITY DoubleLongRightArrow "&#x027F9;" ><!--alias ISOAMSA xrArr -->
+<!ENTITY DoubleRightArrow "&#x021D2;" ><!--alias ISOTECH rArr -->
+<!ENTITY DoubleRightTee "&#x022A8;" ><!--alias ISOAMSR vDash -->
+<!ENTITY DoubleUpArrow "&#x021D1;" ><!--alias ISOAMSA uArr -->
+<!ENTITY DoubleUpDownArrow "&#x021D5;" ><!--alias ISOAMSA vArr -->
+<!ENTITY DoubleVerticalBar "&#x02225;" ><!--alias ISOTECH par -->
+<!ENTITY downarrow "&#x02193;" ><!--alias ISONUM darr -->
+<!ENTITY Downarrow "&#x021D3;" ><!--alias ISOAMSA dArr -->
+<!ENTITY DownArrow "&#x02193;" ><!--alias ISONUM darr -->
+<!ENTITY DownArrowUpArrow "&#x021F5;" ><!--alias ISOAMSA duarr -->
+<!ENTITY downdownarrows "&#x021CA;" ><!--alias ISOAMSA ddarr -->
+<!ENTITY downharpoonleft "&#x021C3;" ><!--alias ISOAMSA dharl -->
+<!ENTITY downharpoonright "&#x021C2;" ><!--alias ISOAMSA dharr -->
+<!ENTITY DownLeftVector "&#x021BD;" ><!--alias ISOAMSA lhard -->
+<!ENTITY DownRightVector "&#x021C1;" ><!--alias ISOAMSA rhard -->
+<!ENTITY DownTee "&#x022A4;" ><!--alias ISOTECH top -->
+<!ENTITY DownTeeArrow "&#x021A7;" ><!--alias for mapstodown -->
+<!ENTITY drbkarow "&#x02910;" ><!--alias ISOAMSA RBarr -->
+<!ENTITY Element "&#x02208;" ><!--alias ISOTECH isinv -->
+<!ENTITY emptyset "&#x02205;&#x0FE00;" ><!--alias ISOAMSO empty -->
+<!ENTITY eqcirc "&#x02256;" ><!--alias ISOAMSR ecir -->
+<!ENTITY eqcolon "&#x02255;" ><!--alias ISOAMSR ecolon -->
+<!ENTITY eqsim "&#x02242;" ><!--alias ISOAMSR esim -->
+<!ENTITY eqslantgtr "&#x022DD;" ><!--alias ISOAMSR egs -->
+<!ENTITY eqslantless "&#x022DC;" ><!--alias ISOAMSR els -->
+<!ENTITY EqualTilde "&#x02242;" ><!--alias ISOAMSR esim -->
+<!ENTITY Equilibrium "&#x021CC;" ><!--alias ISOAMSA rlhar -->
+<!ENTITY Exists "&#x02203;" ><!--alias ISOTECH exist -->
+<!ENTITY expectation "&#x02130;" ><!--expectation (operator) -->
+<!ENTITY exponentiale "&#x02147;" ><!--base of the Napierian logarithms -->
+<!ENTITY ExponentialE "&#x02147;" ><!--e use for the exponential base of the natural logarithms -->
+<!ENTITY fallingdotseq "&#x02252;" ><!--alias ISOAMSR efDot -->
+<!ENTITY ForAll "&#x02200;" ><!--alias ISOTECH forall -->
+<!ENTITY Fouriertrf "&#x02131;" ><!--Fourier transform -->
+<!ENTITY geq "&#x02265;" ><!--alias ISOTECH ge -->
+<!ENTITY geqq "&#x02267;" ><!--alias ISOAMSR gE -->
+<!ENTITY geqslant "&#x02A7E;" ><!--alias ISOAMSR ges -->
+<!ENTITY gg "&#x0226B;" ><!--alias ISOAMSR Gt -->
+<!ENTITY ggg "&#x022D9;" ><!--alias ISOAMSR Gg -->
+<!ENTITY gnapprox "&#x02A8A;" ><!--alias ISOAMSN gnap -->
+<!ENTITY gneq "&#x02269;" ><!--alias ISOAMSN gne -->
+<!ENTITY gneqq "&#x02269;" ><!--alias ISOAMSN gnE -->
+<!ENTITY GreaterEqual "&#x02265;" ><!--alias ISOTECH ge -->
+<!ENTITY GreaterEqualLess "&#x022DB;" ><!--alias ISOAMSR gel -->
+<!ENTITY GreaterFullEqual "&#x02267;" ><!--alias ISOAMSR gE -->
+<!ENTITY GreaterLess "&#x02277;" ><!--alias ISOAMSR gl -->
+<!ENTITY GreaterSlantEqual "&#x02A7E;" ><!--alias ISOAMSR ges -->
+<!ENTITY GreaterTilde "&#x02273;" ><!--alias ISOAMSR gsim -->
+<!ENTITY gtrapprox "&#x02273;" ><!--alias ISOAMSR gap -->
+<!ENTITY gtrdot "&#x022D7;" ><!--alias ISOAMSR gtdot -->
+<!ENTITY gtreqless "&#x022DB;" ><!--alias ISOAMSR gel -->
+<!ENTITY gtreqqless "&#x022DB;" ><!--alias ISOAMSR gEl -->
+<!ENTITY gtrless "&#x02277;" ><!--alias ISOAMSR gl -->
+<!ENTITY gtrsim "&#x02273;" ><!--alias ISOAMSR gsim -->
+<!ENTITY gvertneqq "&#x02269;&#x0FE00;" ><!--alias ISOAMSN gvnE -->
+<!ENTITY Hacek "&#x002C7;" ><!--alias ISODIA caron -->
+<!ENTITY Hat "&#x00302;" ><!--circumflex accent (circ in ISODIA) -->
+<!ENTITY hbar "&#x0210F;&#x0FE00;" ><!--alias ISOAMSO plank -->
+<!ENTITY heartsuit "&#x02661;" ><!--ISOPUB hearts -->
+<!ENTITY HilbertSpace "&#x0210B;" ><!--Hilbert space -->
+<!ENTITY hksearow "&#x02925;" ><!--alias ISOAMSA searhk -->
+<!ENTITY hkswarow "&#x02926;" ><!--alias ISOAMSA swarhk -->
+<!ENTITY hookleftarrow "&#x021A9;" ><!--alias ISOAMSA larrhk -->
+<!ENTITY hookrightarrow "&#x021AA;" ><!--alias ISOAMSA rarrhk -->
+<!ENTITY hslash "&#x0210F;" ><!--alias ISOAMSO plankv -->
+<!ENTITY HumpDownHump "&#x0224E;" ><!--alias ISOAMSR bump -->
+<!ENTITY HumpEqual "&#x0224F;" ><!--alias ISOAMSR bumpe -->
+<!ENTITY iiiint "&#x02A0C;" ><!--alias ISOTECH qint -->
+<!ENTITY iiint "&#x0222D;" ><!--alias ISOTECH tint -->
+<!ENTITY Im "&#x02111;" ><!--alias ISOAMSO image -->
+<!ENTITY ImaginaryI "&#x02148;" ><!--i for use as a square root of -1 -->
+<!ENTITY imagline "&#x02110;" ><!--the geometric imaginary line -->
+<!ENTITY imagpart "&#x02111;" ><!--alias ISOAMSO image -->
+<!ENTITY Implies "&#x021D2;" ><!--alias ISOTECH rArr -->
+<!ENTITY in "&#x02208;" ><!--ISOTECH isin -->
+<!ENTITY integers "&#x02124;" ><!--the ring of integers -->
+<!ENTITY Integral "&#x0222B;" ><!--alias ISOTECH int -->
+<!ENTITY intercal "&#x022BA;" ><!--alias ISOAMSB intcal -->
+<!ENTITY Intersection "&#x022C2;" ><!--alias ISOAMSB xcap -->
+<!ENTITY intprod "&#x02A3C;" ><!--alias ISOAMSB iprod -->
+<!ENTITY InvisibleComma "&#x02063;" ><!--used as a separator, e.g., in indices -->
+<!ENTITY InvisibleTimes "&#x02062;" ><!--marks multiplication when it is understood without a mark -->
+<!ENTITY langle "&#x02329;" ><!--alias ISOTECH lang -->
+<!ENTITY Laplacetrf "&#x02112;" ><!--Laplace transform -->
+<!ENTITY lbrace "&#x0007B;" ><!--alias ISONUM lcub -->
+<!ENTITY lbrack "&#x0005B;" ><!--alias ISONUM lsqb -->
+<!ENTITY LeftAngleBracket "&#x02329;" ><!--alias ISOTECH lang -->
+<!ENTITY leftarrow "&#x02190;" ><!--alias ISONUM larr -->
+<!ENTITY Leftarrow "&#x021D0;" ><!--alias ISOTECH lArr -->
+<!ENTITY LeftArrow "&#x02190;" ><!--alias ISONUM larr -->
+<!ENTITY LeftArrowBar "&#x021E4;" ><!--alias for larrb -->
+<!ENTITY LeftArrowRightArrow "&#x021C6;" ><!--alias ISOAMSA lrarr -->
+<!ENTITY leftarrowtail "&#x021A2;" ><!--alias ISOAMSA larrtl -->
+<!ENTITY LeftCeiling "&#x02308;" ><!--alias ISOAMSC lceil -->
+<!ENTITY LeftDoubleBracket "&#x0301A;" ><!--left double bracket delimiter -->
+<!ENTITY LeftDownVector "&#x021C3;" ><!--alias ISOAMSA dharl -->
+<!ENTITY LeftFloor "&#x0230A;" ><!--alias ISOAMSC lfloor -->
+<!ENTITY leftharpoondown "&#x021BD;" ><!--alias ISOAMSA lhard -->
+<!ENTITY leftharpoonup "&#x021BC;" ><!--alias ISOAMSA lharu -->
+<!ENTITY leftleftarrows "&#x021C7;" ><!--alias ISOAMSA llarr -->
+<!ENTITY leftrightarrow "&#x02194;" ><!--alias ISOAMSA harr -->
+<!ENTITY Leftrightarrow "&#x021D4;" ><!--alias ISOAMSA hArr -->
+<!ENTITY LeftRightArrow "&#x02194;" ><!--alias ISOAMSA harr -->
+<!ENTITY leftrightarrows "&#x021C6;" ><!--alias ISOAMSA lrarr -->
+<!ENTITY leftrightharpoons "&#x021CB;" ><!--alias ISOAMSA lrhar -->
+<!ENTITY leftrightsquigarrow "&#x021AD;" ><!--alias ISOAMSA harrw -->
+<!ENTITY LeftTee "&#x022A3;" ><!--alias ISOAMSR dashv -->
+<!ENTITY LeftTeeArrow "&#x021A4;" ><!--alias for mapstoleft -->
+<!ENTITY leftthreetimes "&#x022CB;" ><!--alias ISOAMSB lthree -->
+<!ENTITY LeftTriangle "&#x022B2;" ><!--alias ISOAMSR vltri -->
+<!ENTITY LeftTriangleEqual "&#x022B4;" ><!--alias ISOAMSR ltrie -->
+<!ENTITY LeftUpVector "&#x021BF;" ><!--alias ISOAMSA uharl -->
+<!ENTITY LeftVector "&#x021BC;" ><!--alias ISOAMSA lharu -->
+<!ENTITY leq "&#x02264;" ><!--alias ISOTECH le -->
+<!ENTITY leqq "&#x02266;" ><!--alias ISOAMSR lE -->
+<!ENTITY leqslant "&#x02A7D;" ><!--alias ISOAMSR les -->
+<!ENTITY lessapprox "&#x02272;" ><!--alias ISOAMSR lap -->
+<!ENTITY lessdot "&#x022D6;" ><!--alias ISOAMSR ltdot -->
+<!ENTITY lesseqgtr "&#x022DA;" ><!--alias ISOAMSR leg -->
+<!ENTITY lesseqqgtr "&#x022DA;" ><!--alias ISOAMSR lEg -->
+<!ENTITY LessEqualGreater "&#x022DA;" ><!--alias ISOAMSR leg -->
+<!ENTITY LessFullEqual "&#x02266;" ><!--alias ISOAMSR lE -->
+<!ENTITY LessGreater "&#x02276;" ><!--alias ISOAMSR lg -->
+<!ENTITY lessgtr "&#x02276;" ><!--alias ISOAMSR lg -->
+<!ENTITY lesssim "&#x02272;" ><!--alias ISOAMSR lsim -->
+<!ENTITY LessSlantEqual "&#x02A7D;" ><!--alias ISOAMSR les -->
+<!ENTITY LessTilde "&#x02272;" ><!--alias ISOAMSR lsim -->
+<!ENTITY ll "&#x0226A;" ><!--alias ISOAMSR Lt -->
+<!ENTITY llcorner "&#x0231E;" ><!--alias ISOAMSC dlcorn -->
+<!ENTITY Lleftarrow "&#x021DA;" ><!--alias ISOAMSA lAarr -->
+<!ENTITY lmoustache "&#x023B0;" ><!--alias ISOAMSC lmoust -->
+<!ENTITY lnapprox "&#x02A89;" ><!--alias ISOAMSN lnap -->
+<!ENTITY lneq "&#x02268;" ><!--alias ISOAMSN lne -->
+<!ENTITY lneqq "&#x02268;" ><!--alias ISOAMSN lnE -->
+<!ENTITY longleftarrow "&#x027F5;" ><!--alias ISOAMSA xlarr -->
+<!ENTITY Longleftarrow "&#x027F8;" ><!--alias ISOAMSA xlArr -->
+<!ENTITY LongLeftArrow "&#x027F5;" ><!--alias ISOAMSA xlarr -->
+<!ENTITY longleftrightarrow "&#x027F7;" ><!--alias ISOAMSA xharr -->
+<!ENTITY Longleftrightarrow "&#x027FA;" ><!--alias ISOAMSA xhArr -->
+<!ENTITY LongLeftRightArrow "&#x027F7;" ><!--alias ISOAMSA xharr -->
+<!ENTITY longmapsto "&#x027FC;" ><!--alias ISOAMSA xmap -->
+<!ENTITY longrightarrow "&#x027F6;" ><!--alias ISOAMSA xrarr -->
+<!ENTITY Longrightarrow "&#x027F9;" ><!--alias ISOAMSA xrArr -->
+<!ENTITY LongRightArrow "&#x027F6;" ><!--alias ISOAMSA xrarr -->
+<!ENTITY looparrowleft "&#x021AB;" ><!--alias ISOAMSA larrlp -->
+<!ENTITY looparrowright "&#x021AC;" ><!--alias ISOAMSA rarrlp -->
+<!ENTITY LowerLeftArrow "&#x02199;" ><!--alias ISOAMSA swarr -->
+<!ENTITY LowerRightArrow "&#x02198;" ><!--alias ISOAMSA searr -->
+<!ENTITY lozenge "&#x025CA;" ><!--alias ISOPUB loz -->
+<!ENTITY lrcorner "&#x0231F;" ><!--alias ISOAMSC drcorn -->
+<!ENTITY Lsh "&#x021B0;" ><!--alias ISOAMSA lsh -->
+<!ENTITY lvertneqq "&#x02268;&#x0FE00;" ><!--alias ISOAMSN lvnE -->
+<!ENTITY maltese "&#x02720;" ><!--alias ISOPUB malt -->
+<!ENTITY mapsto "&#x021A6;" ><!--alias ISOAMSA map -->
+<!ENTITY measuredangle "&#x02221;" ><!--alias ISOAMSO angmsd -->
+<!ENTITY Mellintrf "&#x02133;" ><!--Mellin transform -->
+<!ENTITY MinusPlus "&#x02213;" ><!--alias ISOTECH mnplus -->
+<!ENTITY mp "&#x02213;" ><!--alias ISOTECH mnplus -->
+<!ENTITY multimap "&#x022B8;" ><!--alias ISOAMSA mumap -->
+<!ENTITY napprox "&#x02249;" ><!--alias ISOAMSN nap -->
+<!ENTITY natural "&#x0266E;" ><!--alias ISOPUB natur -->
+<!ENTITY naturals "&#x02115;" ><!--the semi-ring of natural numbers -->
+<!ENTITY nearrow "&#x02197;" ><!--alias ISOAMSA nearr -->
+<!ENTITY NestedGreaterGreater "&#x0226B;" ><!--alias ISOAMSR Gt -->
+<!ENTITY NestedLessLess "&#x0226A;" ><!--alias ISOAMSR Lt -->
+<!ENTITY nexists "&#x02204;" ><!--alias ISOAMSO nexist -->
+<!ENTITY ngeq "&#x02271;" ><!--alias ISOAMSN nge -->
+<!ENTITY ngeqq "&#x02A7E;&#x00338;" ><!--alias ISOAMSN ngE -->
+<!ENTITY ngeqslant "&#x02A7E;&#x00338;" ><!--alias ISOAMSN nges -->
+<!ENTITY ngtr "&#x0226F;" ><!--alias ISOAMSN ngt -->
+<!ENTITY nleftarrow "&#x0219A;" ><!--alias ISOAMSA nlarr -->
+<!ENTITY nLeftarrow "&#x021CD;" ><!--alias ISOAMSA nlArr -->
+<!ENTITY nleftrightarrow "&#x021AE;" ><!--alias ISOAMSA nharr -->
+<!ENTITY nLeftrightarrow "&#x021CE;" ><!--alias ISOAMSA nhArr -->
+<!ENTITY nleq "&#x02270;" ><!--alias ISOAMSN nle -->
+<!ENTITY nleqq "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nlE -->
+<!ENTITY nleqslant "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nles -->
+<!ENTITY nless "&#x0226E;" ><!--alias ISOAMSN nlt -->
+<!ENTITY NonBreakingSpace "&#x000A0;" ><!--alias ISONUM nbsp -->
+<!ENTITY NotCongruent "&#x02262;" ><!--alias ISOAMSN nequiv -->
+<!ENTITY NotDoubleVerticalBar "&#x02226;" ><!--alias ISOAMSN npar -->
+<!ENTITY NotElement "&#x02209;" ><!--alias ISOTECH notin -->
+<!ENTITY NotEqual "&#x02260;" ><!--alias ISOTECH ne -->
+<!ENTITY NotEqualTilde "&#x02242;&#x00338;" ><!--alias for &nesim; -->
+<!ENTITY NotExists "&#x02204;" ><!--alias ISOAMSO nexist -->
+<!ENTITY NotGreater "&#x0226F;" ><!--alias ISOAMSN ngt -->
+<!ENTITY NotGreaterEqual "&#x02271;" ><!--alias ISOAMSN nge -->
+<!ENTITY NotGreaterFullEqual "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nlE -->
+<!ENTITY NotGreaterGreater "&#x0226B;&#x00338;&#x0FE00;" ><!--alias ISOAMSN nGtv -->
+<!ENTITY NotGreaterLess "&#x02279;" ><!--alias ISOAMSN ntvgl -->
+<!ENTITY NotGreaterSlantEqual "&#x02A7E;&#x00338;" ><!--alias ISOAMSN nges -->
+<!ENTITY NotGreaterTilde "&#x02275;" ><!--alias ISOAMSN ngsim -->
+<!ENTITY NotHumpDownHump "&#x0224E;&#x00338;" ><!--alias for &nbump; -->
+<!ENTITY NotLeftTriangle "&#x022EA;" ><!--alias ISOAMSN nltri -->
+<!ENTITY NotLeftTriangleEqual "&#x022EC;" ><!--alias ISOAMSN nltrie -->
+<!ENTITY NotLess "&#x0226E;" ><!--alias ISOAMSN nlt -->
+<!ENTITY NotLessEqual "&#x02270;" ><!--alias ISOAMSN nle -->
+<!ENTITY NotLessGreater "&#x02278;" ><!--alias ISOAMSN ntvlg -->
+<!ENTITY NotLessLess "&#x0226A;&#x00338;&#x0FE00;" ><!--alias ISOAMSN nLtv -->
+<!ENTITY NotLessSlantEqual "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nles -->
+<!ENTITY NotLessTilde "&#x02274;" ><!--alias ISOAMSN nlsim -->
+<!ENTITY NotPrecedes "&#x02280;" ><!--alias ISOAMSN npr -->
+<!ENTITY NotPrecedesEqual "&#x02AAF;" ><!--alias ISOAMSN npre -->
+<!ENTITY NotPrecedesSlantEqual "&#x022E0;" ><!--alias ISOAMSN nprcue -->
+<!ENTITY NotReverseElement "&#x0220C;" ><!--alias ISOTECH notniva -->
+<!ENTITY NotRightTriangle "&#x022EB;" ><!--alias ISOAMSN nrtri -->
+<!ENTITY NotRightTriangleEqual "&#x022ED;" ><!--alias ISOAMSN nrtrie -->
+<!ENTITY NotSquareSubsetEqual "&#x022E2;" ><!--alias ISOAMSN nsqsube -->
+<!ENTITY NotSquareSupersetEqual "&#x022E3;" ><!--alias ISOAMSN nsqsupe -->
+<!ENTITY NotSubset "&#x02284;" ><!--alias ISOAMSN vnsub -->
+<!ENTITY NotSubsetEqual "&#x02288;" ><!--alias ISOAMSN nsube -->
+<!ENTITY NotSucceeds "&#x02281;" ><!--alias ISOAMSN nsc -->
+<!ENTITY NotSucceedsEqual "&#x02AB0;&#x00338;" ><!--alias ISOAMSN nsce -->
+<!ENTITY NotSucceedsSlantEqual "&#x022E1;" ><!--alias ISOAMSN nsccue -->
+<!ENTITY NotSuperset "&#x02285;" ><!--alias ISOAMSN vnsup -->
+<!ENTITY NotSupersetEqual "&#x02289;" ><!--alias ISOAMSN nsupe -->
+<!ENTITY NotTilde "&#x02241;" ><!--alias ISOAMSN nsim -->
+<!ENTITY NotTildeEqual "&#x02244;" ><!--alias ISOAMSN nsime -->
+<!ENTITY NotTildeFullEqual "&#x02247;" ><!--alias ISOAMSN ncong -->
+<!ENTITY NotTildeTilde "&#x02249;" ><!--alias ISOAMSN nap -->
+<!ENTITY NotVerticalBar "&#x02224;" ><!--alias ISOAMSN nmid -->
+<!ENTITY nparallel "&#x02226;" ><!--alias ISOAMSN npar -->
+<!ENTITY nprec "&#x02280;" ><!--alias ISOAMSN npr -->
+<!ENTITY npreceq "&#x02AAF;" ><!--alias ISOAMSN npre -->
+<!ENTITY nrightarrow "&#x0219B;" ><!--alias ISOAMSA nrarr -->
+<!ENTITY nRightarrow "&#x021CF;" ><!--alias ISOAMSA nrArr -->
+<!ENTITY nshortmid "&#x02224;&#x0FE00;" ><!--alias ISOAMSN nsmid -->
+<!ENTITY nshortparallel "&#x02226;&#x0FE00;" ><!--alias ISOAMSN nspar -->
+<!ENTITY nsimeq "&#x02244;" ><!--alias ISOAMSN nsime -->
+<!ENTITY nsubset "&#x02284;" ><!--alias ISOAMSN vnsub -->
+<!ENTITY nsubseteq "&#x02288;" ><!--alias ISOAMSN nsube -->
+<!ENTITY nsubseteqq "&#x02288;" ><!--alias ISOAMSN nsubE -->
+<!ENTITY nsucc "&#x02281;" ><!--alias ISOAMSN nsc -->
+<!ENTITY nsucceq "&#x02AB0;&#x00338;" ><!--alias ISOAMSN nsce -->
+<!ENTITY nsupset "&#x02285;" ><!--alias ISOAMSN vnsup -->
+<!ENTITY nsupseteq "&#x02289;" ><!--alias ISOAMSN nsupe -->
+<!ENTITY nsupseteqq "&#x02289;" ><!--alias ISOAMSN nsupE -->
+<!ENTITY ntriangleleft "&#x022EA;" ><!--alias ISOAMSN nltri -->
+<!ENTITY ntrianglelefteq "&#x022EC;" ><!--alias ISOAMSN nltrie -->
+<!ENTITY ntriangleright "&#x022EB;" ><!--alias ISOAMSN nrtri -->
+<!ENTITY ntrianglerighteq "&#x022ED;" ><!--alias ISOAMSN nrtrie -->
+<!ENTITY nwarrow "&#x02196;" ><!--alias ISOAMSA nwarr -->
+<!ENTITY oint "&#x0222E;" ><!--alias ISOTECH conint -->
+<!ENTITY OpenCurlyDoubleQuote "&#x0201C;" ><!--alias ISONUM ldquo -->
+<!ENTITY OpenCurlyQuote "&#x02018;" ><!--alias ISONUM lsquo -->
+<!ENTITY orderof "&#x02134;" ><!--alias ISOTECH order -->
+<!ENTITY parallel "&#x02225;" ><!--alias ISOTECH par -->
+<!ENTITY PartialD "&#x02202;" ><!--alias ISOTECH part -->
+<!ENTITY pitchfork "&#x022D4;" ><!--alias ISOAMSR fork -->
+<!ENTITY PlusMinus "&#x000B1;" ><!--alias ISONUM plusmn -->
+<!ENTITY pm "&#x000B1;" ><!--alias ISONUM plusmn -->
+<!ENTITY Poincareplane "&#x0210C;" ><!--the Poincare upper half-plane -->
+<!ENTITY prec "&#x0227A;" ><!--alias ISOAMSR pr -->
+<!ENTITY precapprox "&#x0227E;" ><!--alias ISOAMSR prap -->
+<!ENTITY preccurlyeq "&#x0227C;" ><!--alias ISOAMSR prcue -->
+<!ENTITY Precedes "&#x0227A;" ><!--alias ISOAMSR pr -->
+<!ENTITY PrecedesEqual "&#x02AAF;" ><!--alias ISOAMSR pre -->
+<!ENTITY PrecedesSlantEqual "&#x0227C;" ><!--alias ISOAMSR prcue -->
+<!ENTITY PrecedesTilde "&#x0227E;" ><!--alias ISOAMSR prsim -->
+<!ENTITY preceq "&#x02AAF;" ><!--alias ISOAMSR pre -->
+<!ENTITY precnapprox "&#x022E8;" ><!--alias ISOAMSN prnap -->
+<!ENTITY precneqq "&#x02AB5;" ><!--alias ISOAMSN prnE -->
+<!ENTITY precnsim "&#x022E8;" ><!--alias ISOAMSN prnsim -->
+<!ENTITY precsim "&#x0227E;" ><!--alias ISOAMSR prsim -->
+<!ENTITY primes "&#x02119;" ><!--the prime natural numbers -->
+<!ENTITY Proportion "&#x02237;" ><!--alias ISOAMSR Colon -->
+<!ENTITY Proportional "&#x0221D;" ><!--alias ISOTECH prop -->
+<!ENTITY propto "&#x0221D;" ><!--alias ISOTECH prop -->
+<!ENTITY quaternions "&#x0210D;" ><!--the ring (skew field) of quaternions -->
+<!ENTITY questeq "&#x0225F;" ><!--alias ISOAMSR equest -->
+<!ENTITY rangle "&#x0232A;" ><!--alias ISOTECH rang -->
+<!ENTITY rationals "&#x0211A;" ><!--the field of rational numbers -->
+<!ENTITY rbrace "&#x0007D;" ><!--alias ISONUM rcub -->
+<!ENTITY rbrack "&#x0005D;" ><!--alias ISONUM rsqb -->
+<!ENTITY Re "&#x0211C;" ><!--alias ISOAMSO real -->
+<!ENTITY realine "&#x0211B;" ><!--the geometric real line -->
+<!ENTITY realpart "&#x0211C;" ><!--alias ISOAMSO real -->
+<!ENTITY reals "&#x0211D;" ><!--the field of real numbers -->
+<!ENTITY ReverseElement "&#x0220B;" ><!--alias ISOTECH niv -->
+<!ENTITY ReverseEquilibrium "&#x021CB;" ><!--alias ISOAMSA lrhar -->
+<!ENTITY ReverseUpEquilibrium "&#x0296F;" ><!--alias ISOAMSA duhar -->
+<!ENTITY RightAngleBracket "&#x0232A;" ><!--alias ISOTECH rang -->
+<!ENTITY rightarrow "&#x02192;" ><!--alias ISONUM rarr -->
+<!ENTITY Rightarrow "&#x021D2;" ><!--alias ISOTECH rArr -->
+<!ENTITY RightArrow "&#x02192;" ><!--alias ISONUM rarr -->
+<!ENTITY RightArrowBar "&#x021E5;" ><!--alias for rarrb -->
+<!ENTITY RightArrowLeftArrow "&#x021C4;" ><!--alias ISOAMSA rlarr -->
+<!ENTITY rightarrowtail "&#x021A3;" ><!--alias ISOAMSA rarrtl -->
+<!ENTITY RightCeiling "&#x02309;" ><!--alias ISOAMSC rceil -->
+<!ENTITY RightDoubleBracket "&#x0301B;" ><!--right double bracket delimiter -->
+<!ENTITY RightDownVector "&#x021C2;" ><!--alias ISOAMSA dharr -->
+<!ENTITY RightFloor "&#x0230B;" ><!--alias ISOAMSC rfloor -->
+<!ENTITY rightharpoondown "&#x021C1;" ><!--alias ISOAMSA rhard -->
+<!ENTITY rightharpoonup "&#x021C0;" ><!--alias ISOAMSA rharu -->
+<!ENTITY rightleftarrows "&#x021C4;" ><!--alias ISOAMSA rlarr -->
+<!ENTITY rightleftharpoons "&#x021CC;" ><!--alias ISOAMSA rlhar -->
+<!ENTITY rightrightarrows "&#x021C9;" ><!--alias ISOAMSA rrarr -->
+<!ENTITY rightsquigarrow "&#x0219D;" ><!--alias ISOAMSA rarrw -->
+<!ENTITY RightTee "&#x022A2;" ><!--alias ISOAMSR vdash -->
+<!ENTITY RightTeeArrow "&#x021A6;" ><!--alias ISOAMSA map -->
+<!ENTITY rightthreetimes "&#x022CC;" ><!--alias ISOAMSB rthree -->
+<!ENTITY RightTriangle "&#x022B3;" ><!--alias ISOAMSR vrtri -->
+<!ENTITY RightTriangleEqual "&#x022B5;" ><!--alias ISOAMSR rtrie -->
+<!ENTITY RightUpVector "&#x021BE;" ><!--alias ISOAMSA uharr -->
+<!ENTITY RightVector "&#x021C0;" ><!--alias ISOAMSA rharu -->
+<!ENTITY risingdotseq "&#x02253;" ><!--alias ISOAMSR erDot -->
+<!ENTITY rmoustache "&#x023B1;" ><!--alias ISOAMSC rmoust -->
+<!ENTITY Rrightarrow "&#x021DB;" ><!--alias ISOAMSA rAarr -->
+<!ENTITY Rsh "&#x021B1;" ><!--alias ISOAMSA rsh -->
+<!ENTITY searrow "&#x02198;" ><!--alias ISOAMSA searr -->
+<!ENTITY setminus "&#x02216;" ><!--alias ISOAMSB setmn -->
+<!ENTITY ShortLeftArrow "&#x02190;&#x0FE00;" ><!--alias ISOAMSA slarr -->
+<!ENTITY shortmid "&#x02223;&#x0FE00;" ><!--alias ISOAMSR smid -->
+<!ENTITY shortparallel "&#x02225;&#x0FE00;" ><!--alias ISOAMSR spar -->
+<!ENTITY ShortRightArrow "&#x02192;&#x0FE00;" ><!--alias ISOAMSA srarr -->
+<!ENTITY simeq "&#x02243;" ><!--alias ISOTECH sime -->
+<!ENTITY SmallCircle "&#x02218;" ><!--alias ISOTECH compfn -->
+<!ENTITY smallsetminus "&#x02216;&#x0FE00;" ><!--alias ISOAMSB ssetmn -->
+<!ENTITY spadesuit "&#x02660;" ><!--ISOPUB spades -->
+<!ENTITY Sqrt "&#x0221A;" ><!--alias ISOTECH radic -->
+<!ENTITY sqsubset "&#x0228F;" ><!--alias ISOAMSR sqsub -->
+<!ENTITY sqsubseteq "&#x02291;" ><!--alias ISOAMSR sqsube -->
+<!ENTITY sqsupset "&#x02290;" ><!--alias ISOAMSR sqsup -->
+<!ENTITY sqsupseteq "&#x02292;" ><!--alias ISOAMSR sqsupe -->
+<!ENTITY Square "&#x025A1;" ><!--alias for square -->
+<!ENTITY SquareIntersection "&#x02293;" ><!--alias ISOAMSB sqcap -->
+<!ENTITY SquareSubset "&#x0228F;" ><!--alias ISOAMSR sqsub -->
+<!ENTITY SquareSubsetEqual "&#x02291;" ><!--alias ISOAMSR sqsube -->
+<!ENTITY SquareSuperset "&#x02290;" ><!--alias ISOAMSR sqsup -->
+<!ENTITY SquareSupersetEqual "&#x02292;" ><!--alias ISOAMSR sqsupe -->
+<!ENTITY SquareUnion "&#x02294;" ><!--alias ISOAMSB sqcup -->
+<!ENTITY Star "&#x022C6;" ><!--alias ISOAMSB sstarf -->
+<!ENTITY straightepsilon "&#x003B5;" ><!--alias ISOGRK3 epsi -->
+<!ENTITY straightphi "&#x003D5;" ><!--alias ISOGRK3 phi -->
+<!ENTITY subset "&#x02282;" ><!--alias ISOTECH sub -->
+<!ENTITY Subset "&#x022D0;" ><!--alias ISOAMSR Sub -->
+<!ENTITY subseteq "&#x02286;" ><!--alias ISOTECH sube -->
+<!ENTITY subseteqq "&#x02286;" ><!--alias ISOAMSR subE -->
+<!ENTITY SubsetEqual "&#x02286;" ><!--alias ISOTECH sube -->
+<!ENTITY subsetneq "&#x0228A;" ><!--alias ISOAMSN subne -->
+<!ENTITY subsetneqq "&#x0228A;" ><!--alias ISOAMSN subnE -->
+<!ENTITY succ "&#x0227B;" ><!--alias ISOAMSR sc -->
+<!ENTITY succapprox "&#x0227F;" ><!--alias ISOAMSR scap -->
+<!ENTITY succcurlyeq "&#x0227D;" ><!--alias ISOAMSR sccue -->
+<!ENTITY Succeeds "&#x0227B;" ><!--alias ISOAMSR sc -->
+<!ENTITY SucceedsEqual "&#x0227D;" ><!--alias ISOAMSR sce -->
+<!ENTITY SucceedsSlantEqual "&#x0227D;" ><!--alias ISOAMSR sccue -->
+<!ENTITY SucceedsTilde "&#x0227F;" ><!--alias ISOAMSR scsim -->
+<!ENTITY succeq "&#x0227D;" ><!--alias ISOAMSR sce -->
+<!ENTITY succnapprox "&#x022E9;" ><!--alias ISOAMSN scnap -->
+<!ENTITY succneqq "&#x02AB6;" ><!--alias ISOAMSN scnE -->
+<!ENTITY succnsim "&#x022E9;" ><!--alias ISOAMSN scnsim -->
+<!ENTITY succsim "&#x0227F;" ><!--alias ISOAMSR scsim -->
+<!ENTITY SuchThat "&#x0220B;" ><!--ISOTECH ni -->
+<!ENTITY Sum "&#x02211;" ><!--alias ISOAMSB sum -->
+<!ENTITY Superset "&#x02283;" ><!--alias ISOTECH sup -->
+<!ENTITY SupersetEqual "&#x02287;" ><!--alias ISOTECH supe -->
+<!ENTITY supset "&#x02283;" ><!--alias ISOTECH sup -->
+<!ENTITY Supset "&#x022D1;" ><!--alias ISOAMSR Sup -->
+<!ENTITY supseteq "&#x02287;" ><!--alias ISOTECH supe -->
+<!ENTITY supseteqq "&#x02287;" ><!--alias ISOAMSR supE -->
+<!ENTITY supsetneq "&#x0228B;" ><!--alias ISOAMSN supne -->
+<!ENTITY supsetneqq "&#x0228B;" ><!--alias ISOAMSN supnE -->
+<!ENTITY swarrow "&#x02199;" ><!--alias ISOAMSA swarr -->
+<!ENTITY therefore "&#x02234;" ><!--alias ISOTECH there4 -->
+<!ENTITY Therefore "&#x02234;" ><!--alias ISOTECH there4 -->
+<!ENTITY thickapprox "&#x02248;&#x0FE00;" ><!--ISOAMSR thkap -->
+<!ENTITY thicksim "&#x0223C;&#x0FE00;" ><!--ISOAMSR thksim -->
+<!ENTITY ThinSpace "&#x02009;" ><!--space of width 3/18 em alias ISOPUB thinsp -->
+<!ENTITY Tilde "&#x0223C;" ><!--alias ISOTECH sim -->
+<!ENTITY TildeEqual "&#x02243;" ><!--alias ISOTECH sime -->
+<!ENTITY TildeFullEqual "&#x02245;" ><!--alias ISOTECH cong -->
+<!ENTITY TildeTilde "&#x02248;" ><!--alias ISOTECH ap -->
+<!ENTITY toea "&#x02928;" ><!--alias ISOAMSA nesear -->
+<!ENTITY tosa "&#x02929;" ><!--alias ISOAMSA seswar -->
+<!ENTITY triangle "&#x025B5;" ><!--alias ISOPUB utri -->
+<!ENTITY triangledown "&#x025BF;" ><!--alias ISOPUB dtri -->
+<!ENTITY triangleleft "&#x025C3;" ><!--alias ISOPUB ltri -->
+<!ENTITY trianglelefteq "&#x022B4;" ><!--alias ISOAMSR ltrie -->
+<!ENTITY triangleq "&#x0225C;" ><!--alias ISOAMSR trie -->
+<!ENTITY triangleright "&#x025B9;" ><!--alias ISOPUB rtri -->
+<!ENTITY trianglerighteq "&#x022B5;" ><!--alias ISOAMSR rtrie -->
+<!ENTITY TripleDot "&#x020DB;" ><!--alias ISOTECH tdot -->
+<!ENTITY twoheadleftarrow "&#x0219E;" ><!--alias ISOAMSA Larr -->
+<!ENTITY twoheadrightarrow "&#x021A0;" ><!--alias ISOAMSA Rarr -->
+<!ENTITY ulcorner "&#x0231C;" ><!--alias ISOAMSC ulcorn -->
+<!ENTITY Union "&#x022C3;" ><!--alias ISOAMSB xcup -->
+<!ENTITY UnionPlus "&#x0228E;" ><!--alias ISOAMSB uplus -->
+<!ENTITY uparrow "&#x02191;" ><!--alias ISONUM uarr -->
+<!ENTITY Uparrow "&#x021D1;" ><!--alias ISOAMSA uArr -->
+<!ENTITY UpArrow "&#x02191;" ><!--alias ISONUM uarr -->
+<!ENTITY UpArrowDownArrow "&#x021C5;" ><!--alias ISOAMSA udarr -->
+<!ENTITY updownarrow "&#x02195;" ><!--alias ISOAMSA varr -->
+<!ENTITY Updownarrow "&#x021D5;" ><!--alias ISOAMSA vArr -->
+<!ENTITY UpDownArrow "&#x02195;" ><!--alias ISOAMSA varr -->
+<!ENTITY UpEquilibrium "&#x0296E;" ><!--alias ISOAMSA udhar -->
+<!ENTITY upharpoonleft "&#x021BF;" ><!--alias ISOAMSA uharl -->
+<!ENTITY upharpoonright "&#x021BE;" ><!--alias ISOAMSA uharr -->
+<!ENTITY UpperLeftArrow "&#x02196;" ><!--alias ISOAMSA nwarr -->
+<!ENTITY UpperRightArrow "&#x02197;" ><!--alias ISOAMSA nearr -->
+<!ENTITY upsilon "&#x003C5;" ><!--alias ISOGRK3 upsi -->
+<!ENTITY Upsilon "&#x003D2;" ><!--alias ISOGRK3 Upsi -->
+<!ENTITY UpTee "&#x022A5;" ><!--alias ISOTECH perp -->
+<!ENTITY UpTeeArrow "&#x021A5;" ><!--Alias mapstoup -->
+<!ENTITY upuparrows "&#x021C8;" ><!--alias ISOAMSA uuarr -->
+<!ENTITY urcorner "&#x0231D;" ><!--alias ISOAMSC urcorn -->
+<!ENTITY varepsilon "&#x0025B;" ><!--alias ISOGRK3 epsiv -->
+<!ENTITY varkappa "&#x003F0;" ><!--alias ISOGRK3 kappav -->
+<!ENTITY varnothing "&#x02205;" ><!--alias ISOAMSO emptyv -->
+<!ENTITY varphi "&#x003C6;" ><!--alias ISOGRK3 phiv -->
+<!ENTITY varpi "&#x003D6;" ><!--alias ISOGRK3 piv -->
+<!ENTITY varpropto "&#x0221D;" ><!--alias ISOAMSR vprop -->
+<!ENTITY varrho "&#x003F1;" ><!--alias ISOGRK3 rhov -->
+<!ENTITY varsigma "&#x003C2;" ><!--alias ISOGRK3 sigmav -->
+<!ENTITY varsubsetneq "&#x0228A;&#x0FE00;" ><!--alias ISOAMSN vsubne -->
+<!ENTITY varsubsetneqq "&#x0228A;&#x0FE00;" ><!--alias ISOAMSN vsubnE -->
+<!ENTITY varsupsetneq "&#x0228B;&#x0FE00;" ><!--alias ISOAMSN vsupne -->
+<!ENTITY varsupsetneqq "&#x0228B;&#x0FE00;" ><!--alias ISOAMSN vsupnE -->
+<!ENTITY vartheta "&#x003D1;" ><!--alias ISOGRK3 thetav -->
+<!ENTITY vartriangleleft "&#x022B2;" ><!--alias ISOAMSR vltri -->
+<!ENTITY vartriangleright "&#x022B3;" ><!--alias ISOAMSR vrtri -->
+<!ENTITY vee "&#x02228;" ><!--alias ISOTECH or -->
+<!ENTITY Vee "&#x022C1;" ><!--alias ISOAMSB xvee -->
+<!ENTITY vert "&#x0007C;" ><!--alias ISONUM verbar -->
+<!ENTITY Vert "&#x02016;" ><!--alias ISOTECH Verbar -->
+<!ENTITY VerticalBar "&#x02223;" ><!--alias ISOAMSR mid -->
+<!ENTITY VerticalTilde "&#x02240;" ><!--alias ISOAMSB wreath -->
+<!ENTITY VeryThinSpace "&#x0200A;" ><!--space of width 1/18 em alias ISOPUB hairsp -->
+<!ENTITY wedge "&#x02227;" ><!--alias ISOTECH and -->
+<!ENTITY Wedge "&#x022C0;" ><!--alias ISOAMSB xwedge -->
+<!ENTITY wp "&#x02118;" ><!--alias ISOAMSO weierp -->
+<!ENTITY wr "&#x02240;" ><!--alias ISOAMSB wreath -->
+<!ENTITY zeetrf "&#x02128;" ><!--zee transform -->
+<!ENTITY ZeroWidthSpace "&#x0200B;" ><!--zero width space -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/mmlextra.ent b/htdocs/sgml-lib/UPD-MathML2-20021015/mmlextra.ent
new file mode 100644
index 0000000..ee0ad9b
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/mmlextra.ent
@@ -0,0 +1,128 @@
+
+<!--
+ File mmlextra.ent produced by the XSL script mmldtd.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to
+ David Carlisle <davidc@nag.co.uk>.
+
+ The numeric character values assigned to each entity
+ (should) match either official Unicode assignments
+ or assignments provisionally allocated by the
+ Unicode Consortium based on the characters in the `STIX'
+ propsal for mathematics. Note that these assignments
+ have not been ratified by the corresponding ISO
+ committee and thus should be considered liable to
+ change.
+
+-->
+
+<!ENTITY af "&#x02061;" ><!--character showing function application in presentation tagging -->
+<!ENTITY aopf "&#x1D552;" ><!-- -->
+<!ENTITY bopf "&#x1D553;" ><!-- -->
+<!ENTITY copf "&#x1D554;" ><!-- -->
+<!ENTITY Cross "&#x02A2F;" ><!--cross or vector product -->
+<!ENTITY dd "&#x02146;" ><!--d for use in differentials, e.g., within integrals -->
+<!ENTITY DD "&#x02145;" ><!--D for use in differentials, e.g., within integrals -->
+<!ENTITY dopf "&#x1D555;" ><!-- -->
+<!ENTITY DownArrowBar "&#x02913;" ><!--down arrow to bar -->
+<!ENTITY DownBreve "&#x00311;" ><!--breve, inverted (non-spacing) -->
+<!ENTITY DownLeftRightVector "&#x02950;" ><!--left-down-right-down harpoon -->
+<!ENTITY DownLeftTeeVector "&#x0295E;" ><!--left-down harpoon from bar -->
+<!ENTITY DownLeftVectorBar "&#x02956;" ><!--left-down harpoon to bar -->
+<!ENTITY DownRightTeeVector "&#x0295F;" ><!--right-down harpoon from bar -->
+<!ENTITY DownRightVectorBar "&#x02957;" ><!--right-down harpoon to bar -->
+<!ENTITY ee "&#x02147;" ><!--e use for the exponential base of the natural logarithms -->
+<!ENTITY EmptySmallSquare "&#x025FB;" ><!--empty small square -->
+<!ENTITY EmptyVerySmallSquare "&#x025AB;" ><!--empty small square -->
+<!ENTITY eopf "&#x1D556;" ><!-- -->
+<!ENTITY Equal "&#x02A75;" ><!--two consecutive equal signs -->
+<!ENTITY FilledSmallSquare "&#x025FC;" ><!--filled small square -->
+<!ENTITY FilledVerySmallSquare "&#x025AA;" ><!--filled very small square -->
+<!ENTITY fopf "&#x1D557;" ><!-- -->
+<!ENTITY gopf "&#x1D558;" ><!-- -->
+<!ENTITY GreaterGreater "&#x02AA2;" ><!--alias for GT -->
+<!ENTITY hopf "&#x1D559;" ><!-- -->
+<!ENTITY HorizontalLine "&#x02500;" ><!--short horizontal line -->
+<!ENTITY ic "&#x02063;" ><!--short form of &InvisibleComma; -->
+<!ENTITY ii "&#x02148;" ><!--i for use as a square root of -1 -->
+<!ENTITY iopf "&#x1D55A;" ><!-- -->
+<!ENTITY it "&#x02062;" ><!--marks multiplication when it is understood without a mark -->
+<!ENTITY jopf "&#x1D55B;" ><!-- -->
+<!ENTITY kopf "&#x1D55C;" ><!-- -->
+<!ENTITY larrb "&#x021E4;" ><!--leftwards arrow to bar -->
+<!ENTITY LeftDownTeeVector "&#x02961;" ><!--down-left harpoon from bar -->
+<!ENTITY LeftDownVectorBar "&#x02959;" ><!--down-left harpoon to bar -->
+<!ENTITY LeftRightVector "&#x0294E;" ><!--left-up-right-up harpoon -->
+<!ENTITY LeftTeeVector "&#x0295A;" ><!--left-up harpoon from bar -->
+<!ENTITY LeftTriangleBar "&#x029CF;" ><!--not left triangle, vertical bar -->
+<!ENTITY LeftUpDownVector "&#x02951;" ><!--up-left-down-left harpoon -->
+<!ENTITY LeftUpTeeVector "&#x02960;" ><!--up-left harpoon from bar -->
+<!ENTITY LeftUpVectorBar "&#x02958;" ><!--up-left harpoon to bar -->
+<!ENTITY LeftVectorBar "&#x02952;" ><!--left-up harpoon to bar -->
+<!ENTITY LessLess "&#x02AA1;" ><!--alias for Lt -->
+<!ENTITY lopf "&#x1D55D;" ><!-- -->
+<!ENTITY mapstodown "&#x021A7;" ><!--downwards arrow from bar -->
+<!ENTITY mapstoleft "&#x021A4;" ><!--leftwards arrow from bar -->
+<!ENTITY mapstoup "&#x021A5;" ><!--upwards arrow from bar -->
+<!ENTITY MediumSpace "&#x0205F;" ><!--space of width 4/18 em -->
+<!ENTITY mopf "&#x1D55E;" ><!-- -->
+<!ENTITY nbump "&#x0224E;&#x00338;" ><!--not bumpy equals -->
+<!ENTITY nbumpe "&#x0224F;&#x00338;" ><!--not bumpy single equals -->
+<!ENTITY NegativeMediumSpace "&#x0205F;&#x0FE00;" ><!--space of width -4/18 em -->
+<!ENTITY NegativeThickSpace "&#x02005;&#x0FE00;" ><!--space of width -5/18 em -->
+<!ENTITY NegativeThinSpace "&#x02009;&#x0FE00;" ><!--space of width -3/18 em -->
+<!ENTITY NegativeVeryThinSpace "&#x0200A;&#x0FE00;" ><!--space of width -1/18 em -->
+<!ENTITY nesim "&#x02242;&#x00338;" ><!--not equal or similar -->
+<!ENTITY NewLine "&#x0000A;" ><!--force a line break; line feed -->
+<!ENTITY NoBreak "&#x0FEFF;" ><!--never break line here -->
+<!ENTITY nopf "&#x1D55F;" ><!-- -->
+<!ENTITY NotCupCap "&#x0226D;" ><!--alias for &nasymp; -->
+<!ENTITY NotHumpEqual "&#x0224F;&#x00338;" ><!--alias for &nbumpe; -->
+<!ENTITY NotLeftTriangleBar "&#x029CF;&#x00338;" ><!--not left triangle, vertical bar -->
+<!ENTITY NotNestedGreaterGreater "&#x024A2;&#x00338;" ><!--not double greater-than sign -->
+<!ENTITY NotNestedLessLess "&#x024A1;&#x00338;" ><!--not double less-than sign -->
+<!ENTITY NotRightTriangleBar "&#x029D0;&#x00338;" ><!--not vertical bar, right triangle -->
+<!ENTITY NotSquareSubset "&#x0228F;&#x00338;" ><!--square not subset -->
+<!ENTITY NotSquareSuperset "&#x02290;&#x00338;" ><!--negated set-like partial order operator -->
+<!ENTITY NotSucceedsTilde "&#x0227F;&#x00338;" ><!--not succeeds or similar -->
+<!ENTITY oopf "&#x1D560;" ><!-- -->
+<!ENTITY OverBar "&#x000AF;" ><!--over bar -->
+<!ENTITY OverBrace "&#x0FE37;" ><!--over brace -->
+<!ENTITY OverBracket "&#x023B4;" ><!--over bracket -->
+<!ENTITY OverParenthesis "&#x0FE35;" ><!--over parenthesis -->
+<!ENTITY planckh "&#x0210E;" ><!--the ring (skew field) of quaternions -->
+<!ENTITY popf "&#x1D561;" ><!-- -->
+<!ENTITY Product "&#x0220F;" ><!--alias for &prod -->
+<!ENTITY qopf "&#x1D562;" ><!-- -->
+<!ENTITY rarrb "&#x021E5;" ><!--leftwards arrow to bar -->
+<!ENTITY RightDownTeeVector "&#x0295D;" ><!--down-right harpoon from bar -->
+<!ENTITY RightDownVectorBar "&#x02955;" ><!--down-right harpoon to bar -->
+<!ENTITY RightTeeVector "&#x0295B;" ><!--right-up harpoon from bar -->
+<!ENTITY RightTriangleBar "&#x029D0;" ><!--vertical bar, right triangle -->
+<!ENTITY RightUpDownVector "&#x0294F;" ><!--up-right-down-right harpoon -->
+<!ENTITY RightUpTeeVector "&#x0295C;" ><!--up-right harpoon from bar -->
+<!ENTITY RightUpVectorBar "&#x02954;" ><!--up-right harpoon to bar -->
+<!ENTITY RightVectorBar "&#x02953;" ><!--up-right harpoon to bar -->
+<!ENTITY ropf "&#x1D563;" ><!-- -->
+<!ENTITY RoundImplies "&#x02970;" ><!--round implies -->
+<!ENTITY RuleDelayed "&#x029F4;" ><!--rule-delayed (colon right arrow) -->
+<!ENTITY ShortDownArrow "&#x02304;&#x0FE00;" ><!--short down arrow -->
+<!ENTITY ShortUpArrow "&#x02303;&#x0FE00;" ><!--short up arrow -->
+<!ENTITY sopf "&#x1D564;" ><!-- -->
+<!ENTITY Tab "&#x00009;" ><!--tabulator stop; horizontal tabulation -->
+<!ENTITY ThickSpace "&#x02009;&#x0200A;&#x0200A;" ><!--space of width 5/18 em -->
+<!ENTITY topf "&#x1D565;" ><!-- -->
+<!ENTITY UnderBar "&#x00332;" ><!--combining low line -->
+<!ENTITY UnderBrace "&#x0FE38;" ><!--under brace -->
+<!ENTITY UnderBracket "&#x023B5;" ><!--under bracket -->
+<!ENTITY UnderParenthesis "&#x0FE36;" ><!--under parenthesis -->
+<!ENTITY uopf "&#x1D566;" ><!-- -->
+<!ENTITY UpArrowBar "&#x02912;" ><!--up arrow to bar -->
+<!ENTITY VerticalLine "&#x0007C;" ><!--alias ISONUM verbar -->
+<!ENTITY VerticalSeparator "&#x02758;" ><!--vertical separating operator -->
+<!ENTITY vopf "&#x1D567;" ><!-- -->
+<!ENTITY wopf "&#x1D568;" ><!-- -->
+<!ENTITY xopf "&#x1D569;" ><!-- -->
+<!ENTITY yopf "&#x1D56A;" ><!-- -->
+<!ENTITY zopf "&#x1D56B;" ><!-- -->
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/xhtml-math11-f.dtd b/htdocs/sgml-lib/UPD-MathML2-20021015/xhtml-math11-f.dtd
new file mode 100644
index 0000000..4c1e4e9
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/xhtml-math11-f.dtd
@@ -0,0 +1,9677 @@
+<!ENTITY % driver SYSTEM "xhtml-math-svg.dtd">
+<!ENTITY % plane1D "&#38;#38;#xE">
+<!ENTITY % SVG.module "IGNORE" >
+<!ENTITY % MATHML.pref.prefixed "INCLUDE" >
+<!ENTITY % MATHML.sysid.base "" >
+<!-- ....................................................................... -->
+<!-- XHTML 1.1 plus MathML 2.0 plus SVG 1.1 DTD ........................... -->
+<!-- URI: http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd
+-->
+
+<!-- XHTML 1.1 plus MathML 2.0 plus SVG 1.1 DTD
+
+ This is a prototype extension of XHTML 1.1 incorporating MathML 2.0
+ and SVG 1.1.
+
+ Copyright 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 DTD 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 make no
+ representation about the suitability of the DTD for any purpose.
+
+ It is provided "as is" without expressed or implied warranty.
+
+ Editors: Murray M. Altheim <altheim@eng.sun.com> (XHTML modules)
+ David Carlisle <davidc@nag.co.uk> (MathML modules)
+ Jun Fujisawa <fujisawa.jun@canon.co.jp> (SVG modules)
+ Masayasu Ishikawa <mimasa@w3.org> (DTD driver)
+ Revision:
+ $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $
+
+-->
+<!-- This is the driver for an XHTML 1.1 plus MathML 2.0 plus SVG 1.1 DTD.
+-->
+
+<!-- Switches to include/ignore each vocabulary.
+-->
+<!ENTITY % XHTML.module "INCLUDE" >
+<!ENTITY % MATHML.module "INCLUDE" >
+<!ENTITY % SVG.module "INCLUDE" >
+
+<![%XHTML.module;[
+<!ENTITY % XHTML.version
+ "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" >
+]]>
+
+<!-- Use the following entities to identify the namespaces:
+-->
+<!ENTITY % XHTML.xmlns "http://www.w3.org/1999/xhtml" >
+<!ENTITY % MATHML.xmlns "http://www.w3.org/1998/Math/MathML" >
+<!ENTITY % MATHML.pref.xmlns "http://www.w3.org/2002/Math/preference" >
+<!ENTITY % SVG.xmlns "http://www.w3.org/2000/svg" >
+<!ENTITY % XLINK.xmlns "http://www.w3.org/1999/xlink" >
+
+<!-- Declare base URIs for the relevant DTD modules.
+-->
+<![%XHTML.module;[
+<!ENTITY % XHTML.sysid.base
+ "http://www.w3.org/TR/xhtml-modularization/DTD/" >
+]]>
+<![%MATHML.module;[
+<!ENTITY % MATHML.sysid.base
+ "http://www.w3.org/TR/MathML2/dtd/" >
+]]>
+<![%SVG.module;[
+<!ENTITY % SVG.sysid.base
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/" >
+]]>
+
+<!-- Declare system identifiers for the relevant DTD modules.
+-->
+<![%XHTML.module;[
+<!ENTITY % XHTML.dtd.sysid
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" >
+]]>
+<![%MATHML.module;[
+<!ENTITY % MATHML.dtd.sysid
+ "%MATHML.sysid.base;mathml2.dtd" >
+<!ENTITY % MATHML.qname.sysid
+ "%MATHML.sysid.base;mathml2-qname-1.mod" >
+]]>
+<![%SVG.module;[
+<!ENTITY % SVG.dtd.sysid
+ "%SVG.sysid.base;svg11.dtd" >
+]]>
+
+<!-- See the XHTML / MathML / SVG Qualified Names modules for information
+ on the use of namespace prefixes in the DTD. Default values are
+ as follows:
+
+ <!ENTITY % NS.prefixed "IGNORE" >
+ <!ENTITY % XHTML.prefixed "%NS.prefixed;" >
+ <!ENTITY % XHTML.prefix "" >
+ <!ENTITY % MATHML.prefixed "%NS.prefixed;" >
+ <!ENTITY % MATHML.prefix "m" >
+ <!ENTITY % MATHML.pref.prefixed "IGNORE" >
+ <!ENTITY % MATHML.pref.prefix "pref" >
+ <!ENTITY % SVG.prefixed "%NS.prefixed;" >
+ <!ENTITY % SVG.prefix "" >
+ <!ENTITY % XLINK.prefix "xlink" >
+
+ In this DTD driver, XHTML and MathML are not prefixed, and SVG is
+ prefixed by default. It can be changed by redeclaring the above
+ parameter entities.
+-->
+<!ENTITY % XHTML.prefixed "IGNORE" >
+<!ENTITY % MATHML.prefixed "IGNORE" >
+<!ENTITY % MATHML.prefix "m" >
+<!ENTITY % MATHML.pref.prefixed "IGNORE" >
+<!ENTITY % MATHML.pref.prefix "pref" >
+<!ENTITY % SVG.prefixed "INCLUDE" >
+<!ENTITY % SVG.prefix "svg" >
+<!ENTITY % XLINK.prefix "xlink" >
+
+<!-- a URI reference, see [URI] -->
+<!ENTITY % URI.datatype "CDATA" >
+
+<!-- Declare a parameter entity %XLINK.xmlns.attrib; containing
+ the XML Namespace declarations for XLink.
+-->
+<!ENTITY % XLINK.xmlns.attrib
+ "xmlns:%XLINK.prefix; %URI.datatype; #FIXED '%XLINK.xmlns;'"
+>
+
+<!-- Allow universal MathML stylesheet-related declarations.
+ When it is used, it must always be prefixed.
+-->
+<![%MATHML.module;[
+<![%MATHML.pref.prefixed;[
+<!ENTITY % MATHML.pref.renderer.extra "">
+<!ENTITY % MATHML.pref.renderer
+ "css | mathplayer-dl | mathplayer | techexplorer-plugin | techexplorer">
+<!ENTITY % MATHML.pref.xmlns.attrib
+ "xmlns:%MATHML.pref.prefix; %URI.datatype; #FIXED '%MATHML.pref.xmlns;'
+ %MATHML.pref.prefix;:renderer
+ ( %MATHML.pref.renderer; %MATHML.pref.renderer.extra; ) #IMPLIED"
+>
+]]>
+]]>
+<!ENTITY % MATHML.pref.xmlns.attrib "" >
+
+<!-- The parameter entities %SVG.xmlns.extra.attrib; and
+ %XHTML.xmlns.extra.attrib; may be redeclared to contain
+ any foreign namespace declarations for namespaces embedded
+ in XHTML+MathML+SVG. The default value is an empty string.
+-->
+<!ENTITY % SVG.xmlns.extra.attrib "" >
+<!ENTITY % XHTML.xmlns.extra.attrib "" >
+
+<!-- Declare parameter entities to define XML Namespace declarations
+ for SVG, XHTML and MathML.
+-->
+<![%SVG.module;[
+<![%SVG.prefixed;[
+<!ENTITY % SVG.xmlns.decl.attrib
+ "xmlns:%SVG.prefix; %URI.datatype; #FIXED '%SVG.xmlns;'"
+>
+]]>
+<!ENTITY % SVG.xmlns.decl.attrib
+ "xmlns %URI.datatype; #FIXED '%SVG.xmlns;'"
+>
+]]>
+<!ENTITY % SVG.xmlns.decl.attrib "" >
+
+<![%XHTML.module;[
+<![%XHTML.prefixed;[
+<!ENTITY % XHTML.xmlns.decl.attrib
+ "xmlns:%XHTML.prefix; %URI.datatype; #FIXED '%XHTML.xmlns;'"
+>
+]]>
+<!ENTITY % XHTML.xmlns.decl.attrib
+ "xmlns %URI.datatype; #FIXED '%XHTML.xmlns;'"
+>
+]]>
+<!ENTITY % XHTML.xmlns.decl.attrib "" >
+
+<![%MATHML.module;[
+<![%MATHML.prefixed;[
+<!ENTITY % MATHML.xmlns.decl.attrib
+ "xmlns:%MATHML.prefix; %URI.datatype; #FIXED '%MATHML.xmlns;'"
+>
+]]>
+<!ENTITY % MATHML.xmlns.decl.attrib
+ "xmlns %URI.datatype; #FIXED '%MATHML.xmlns;'"
+>
+]]>
+<!ENTITY % MATHML.xmlns.decl.attrib "" >
+
+<!-- Declare common case for %NS.decl.attrib;.
+-->
+<!ENTITY % NS.common.decl.attrib
+ "%SVG.xmlns.decl.attrib;
+ %XHTML.xmlns.decl.attrib;
+ %MATHML.xmlns.decl.attrib;
+ %XLINK.xmlns.attrib;
+ %MATHML.pref.xmlns.attrib;
+ %SVG.xmlns.extra.attrib;
+ %XHTML.xmlns.extra.attrib;"
+>
+
+<!-- Redeclare the parameter entity %NS.decl.attrib; containing
+ all XML Namespace declarations used in the DTD, its form
+ dependent on whether prefixing is active.
+-->
+<![%SVG.prefixed;[
+<![%XHTML.prefixed;[
+<!-- SVG and XHTML are prefixed, MathML is either prefixed or not prefixed.
+-->
+<!ENTITY % NS.decl.attrib
+ "%NS.common.decl.attrib;"
+>
+]]>
+<![%MATHML.prefixed;[
+<!-- SVG and MathML are prefixed, XHTML is not prefixed.
+-->
+<!ENTITY % NS.decl.attrib
+ "%NS.common.decl.attrib;"
+>
+]]>
+<!-- SVG is prefixed, XHTML and MathML are not prefixed.
+ MathML namespace must always be specified on the math element.
+-->
+<!ENTITY % NS.decl.attrib
+ "%SVG.xmlns.decl.attrib;
+ %XHTML.xmlns.decl.attrib;
+ %XLINK.xmlns.attrib;
+ %MATHML.pref.xmlns.attrib;
+ %SVG.xmlns.extra.attrib;
+ %XHTML.xmlns.extra.attrib;"
+>
+]]>
+<![%XHTML.prefixed;[
+<![%MATHML.prefixed;[
+<!-- SVG is not prefixed, XHTML and MathML are prefixed.
+-->
+<!ENTITY % NS.decl.attrib
+ "%NS.common.decl.attrib;"
+>
+]]>
+<!-- SVG and MathML are not prefixed, which is not allowed.
+-->
+<!ENTITY % NS.decl.attrib "" >
+]]>
+<!-- SVG, MathML and XHTML are all not prefixed, which is not allowed.
+-->
+<!ENTITY % NS.decl.attrib "" >
+
+<!-- Redeclare parameter entities %SVG.xmlns.attrib; and
+ %XHTMLxmlns.attrib; containing all XML namespace declarations
+ used by XHTML+MathML+SVG, including a default xmlns declaration
+ when prefixing is inactive.
+-->
+<![%SVG.module;[
+<!ENTITY % SVG.xmlns.attrib
+ "%NS.decl.attrib;"
+>
+]]>
+
+<![%XHTML.module;[
+<!ENTITY % XHTML.xmlns.attrib
+ "%NS.decl.attrib;"
+>
+]]>
+
+<!-- Redeclare the parameter entity %MATHML.xmlns.attrib; containing
+ XLink namespace declaration allowed on MathML elements.
+ Unfortunately XLink prefix is hard-coded in the MathML 2.0 DTD,
+ so it cannot be changed.
+-->
+<![%MATHML.module;[
+<!ENTITY % MATHML.xmlns.extra.attrib
+ "xmlns:xlink %URI.datatype; #FIXED '%XLINK.xmlns;'
+ %MATHML.pref.xmlns.attrib;"
+>
+]]>
+
+<!-- Framework Redeclaration placeholders ....................... -->
+
+<![%XHTML.module;[
+<!ENTITY % XHTML.redecl.module "INCLUDE" >
+<![%XHTML.redecl.module;[
+<!-- Pre-Framework Redeclaration placeholder .................... -->
+<!ENTITY % xhtml-prefw-redecl.mod "" >
+
+<!-- Post-Framework Redeclaration placeholder ................... -->
+<!ENTITY % xhtml-postfw-redecl.mod "" >
+]]>
+]]>
+
+<![%SVG.module;[
+<!ENTITY % SVG.redecl.module "INCLUDE" >
+<![%SVG.redecl.module;[
+<!-- Pre-Framework Redeclaration placeholder ..................... -->
+<!ENTITY % svg-prefw-redecl.mod "" >
+
+<!-- Post-Framework Redeclaration placeholder .................... -->
+<!ENTITY % svg-postfw-redecl.mod "" >
+]]>
+]]>
+
+<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+
+<!-- Declare MathML Qualified Names module as an extension of
+ XHTML's Qualified Names module.
+-->
+<![%MATHML.module;[
+<!ENTITY % xhtml-qname-extra.decl
+ 'PUBLIC "-//W3C//ENTITIES MathML 2.0 Qualified Names 1.0//EN"
+ "%MATHML.qname.sysid;"'
+>
+<!ENTITY % xhtml-qname-extra.mod
+ %xhtml-qname-extra.decl;
+>
+]]>
+
+<!-- Declare location of math and svg contents in XHTML.
+-->
+
+<![%MATHML.module;[
+<![%MATHML.prefixed;[
+<!ENTITY % MATHML.pfx "%MATHML.prefix;:" >
+]]>
+<!ENTITY % MATHML.pfx "" >
+<!ENTITY % math.qname "%MATHML.pfx;math" >
+<!ENTITY % MATHML.math.class "| %math.qname;" >
+]]>
+<!ENTITY % MATHML.math.class "" >
+
+<![%SVG.module;[
+<![%SVG.prefixed;[
+<!ENTITY % SVG.pfx "%SVG.prefix;:" >
+]]>
+<!ENTITY % SVG.pfx "" >
+<!ENTITY % SVG.svg.qname "%SVG.pfx;svg" >
+<!ENTITY % SVG.svg.class "| %SVG.svg.qname;" >
+]]>
+<!ENTITY % SVG.svg.class "" >
+
+<![%XHTML.module;[
+<!ENTITY % Misc.extra
+ "%MATHML.math.class; %SVG.svg.class;" >
+]]>
+
+<!-- Redeclare SVG's foreignObject content (allow anything).
+-->
+<![%SVG.module;[
+<!ENTITY % SVG.foreignObject.content "ANY" >
+]]>
+
+<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+
+<!-- Instantiate SVG 1.1 DTD .................................... -->
+<![%SVG.module;[
+<!ENTITY % SVG.dtd.decl
+ 'PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "%SVG.dtd.sysid;"'
+>
+<!ENTITY % SVG.dtd %SVG.dtd.decl; >
+%SVG.dtd;
+]]>
+
+<!-- Instantiate XHTML 1.1 DTD .................................. -->
+<![%XHTML.module;[
+<!ENTITY % XHTML.dtd.decl
+ 'PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+ "%XHTML.dtd.sysid;"'
+>
+<!ENTITY % XHTML.dtd %XHTML.dtd.decl; >
+<!-- ....................................................................... -->
+<!-- XHTML 1.1 DTD ........................................................ -->
+<!-- file: xhtml11.dtd
+-->
+
+<!-- XHTML 1.1 DTD
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+
+ The Extensible HyperText Markup Language (XHTML)
+ Copyright 1998-2001 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 the XHTML DTD 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 make no
+ representation about the suitability of the DTD for any purpose.
+
+ It is provided "as is" without expressed or implied warranty.
+
+ Author: Murray M. Altheim <altheim@eng.sun.com>
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $
+
+-->
+<!-- This is the driver file for version 1.1 of the XHTML DTD.
+
+ Please use this formal public identifier to identify it:
+
+ "-//W3C//DTD XHTML 1.1//EN"
+-->
+<!ENTITY % XHTML.version "-//W3C//DTD XHTML 1.1//EN" >
+
+<!-- Use this URI to identify the default namespace:
+
+ "http://www.w3.org/1999/xhtml"
+
+ See the Qualified Names module for information
+ on the use of namespace prefixes in the DTD.
+-->
+<!ENTITY % NS.prefixed "IGNORE" >
+<!ENTITY % XHTML.prefix "" >
+
+<!-- Reserved for use with the XLink namespace:
+-->
+<!ENTITY % XLINK.xmlns "" >
+<!ENTITY % XLINK.xmlns.attrib "" >
+
+<!-- For example, if you are using XHTML 1.1 directly, use the FPI
+ in the DOCTYPE declaration, with the xmlns attribute on the
+ document element to identify the default namespace:
+
+ <?xml version="1.0"?>
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml"
+ xml:lang="en">
+ ...
+ </html>
+
+ Revisions:
+ (none)
+-->
+
+<!-- reserved for future use with document profiles -->
+<!ENTITY % XHTML.profile "" >
+
+<!-- Bidirectional Text features
+ This feature-test entity is used to declare elements
+ and attributes used for bidirectional text support.
+-->
+<!ENTITY % XHTML.bidi "INCLUDE" >
+
+<?doc type="doctype" role="title" { XHTML 1.1 } ?>
+
+<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+
+<!-- Pre-Framework Redeclaration placeholder .................... -->
+<!-- this serves as a location to insert markup declarations
+ into the DTD prior to the framework declarations.
+-->
+<!ENTITY % xhtml-prefw-redecl.module "IGNORE" >
+<![%xhtml-prefw-redecl.module;[
+%xhtml-prefw-redecl.mod;
+<!-- end of xhtml-prefw-redecl.module -->]]>
+
+<!ENTITY % xhtml-events.module "INCLUDE" >
+
+<!-- Inline Style Module ........................................ -->
+<!ENTITY % xhtml-inlstyle.module "INCLUDE" >
+<![%xhtml-inlstyle.module;[
+<!ENTITY % xhtml-inlstyle.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Inline Style 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlstyle-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Inline Style Module ........................................... -->
+<!-- file: xhtml-inlstyle-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ENTITIES XHTML Inline Style 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlstyle-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Inline Style
+
+ This module declares the 'style' attribute, used to support inline
+ style markup. This module must be instantiated prior to the XHTML
+ Common Attributes module in order to be included in %Core.attrib;.
+-->
+
+<!ENTITY % style.attrib
+ "style CDATA #IMPLIED"
+>
+
+
+<!ENTITY % Core.extra.attrib
+ "%style.attrib;"
+>
+
+<!-- end of xhtml-inlstyle-1.mod -->
+]]>
+
+<!-- declare Document Model module instantiated in framework
+-->
+<!ENTITY % xhtml-model.mod
+ PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN"
+ "xhtml11-model-1.mod" >
+
+<!-- Modular Framework Module (required) ......................... -->
+<!ENTITY % xhtml-framework.module "INCLUDE" >
+<![%xhtml-framework.module;[
+<!ENTITY % xhtml-framework.mod
+ PUBLIC "-//W3C//ENTITIES XHTML Modular Framework 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-framework-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Modular Framework Module ...................................... -->
+<!-- file: xhtml-framework-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ENTITIES XHTML Modular Framework 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-framework-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Modular Framework
+
+ This required module instantiates the modules needed
+ to support the XHTML modularization model, including:
+
+ + notations
+ + datatypes
+ + namespace-qualified names
+ + common attributes
+ + document model
+ + character entities
+
+ The Intrinsic Events module is ignored by default but
+ occurs in this module because it must be instantiated
+ prior to Attributes but after Datatypes.
+-->
+
+<!ENTITY % xhtml-arch.module "IGNORE" >
+<![%xhtml-arch.module;[
+<!ENTITY % xhtml-arch.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Base Architecture 1.0//EN"
+ "xhtml-arch-1.mod" >
+%xhtml-arch.mod;]]>
+
+<!ENTITY % xhtml-notations.module "INCLUDE" >
+<![%xhtml-notations.module;[
+<!ENTITY % xhtml-notations.mod
+ PUBLIC "-//W3C//NOTATIONS XHTML Notations 1.0//EN"
+ "xhtml-notations-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Notations Module .............................................. -->
+<!-- file: xhtml-notations-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//NOTATIONS XHTML Notations 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-notations-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Notations
+
+ defines the following notations, many of these imported from
+ other specifications and standards. When an existing FPI is
+ known, it is incorporated here.
+-->
+
+<!-- XML Notations ..................................... -->
+<!-- SGML and XML Notations ............................ -->
+
+<!-- W3C XML 1.0 Recommendation -->
+<!NOTATION w3c-xml
+ PUBLIC "ISO 8879//NOTATION Extensible Markup Language (XML) 1.0//EN" >
+
+<!-- XML 1.0 CDATA -->
+<!NOTATION cdata
+ PUBLIC "-//W3C//NOTATION XML 1.0: CDATA//EN" >
+
+<!-- SGML Formal Public Identifiers -->
+<!NOTATION fpi
+ PUBLIC "ISO 8879:1986//NOTATION Formal Public Identifier//EN" >
+
+<!-- XHTML Notations ................................... -->
+
+<!-- Length defined for cellpadding/cellspacing -->
+
+<!-- nn for pixels or nn% for percentage length -->
+<!NOTATION length
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: Length//EN" >
+
+<!-- space-separated list of link types -->
+<!NOTATION linkTypes
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: LinkTypes//EN" >
+
+<!-- single or comma-separated list of media descriptors -->
+<!NOTATION mediaDesc
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: MediaDesc//EN" >
+
+<!-- pixel, percentage, or relative -->
+<!NOTATION multiLength
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: MultiLength//EN" >
+
+<!-- one or more digits (NUMBER) -->
+<!NOTATION number
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: Number//EN" >
+
+<!-- integer representing length in pixels -->
+<!NOTATION pixels
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: Pixels//EN" >
+
+<!-- script expression -->
+<!NOTATION script
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: Script//EN" >
+
+<!-- textual content -->
+<!NOTATION text
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: Text//EN" >
+
+<!-- Imported Notations ................................ -->
+
+<!-- a single character from [ISO10646] -->
+<!NOTATION character
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: Character//EN" >
+
+<!-- a character encoding, as per [RFC2045] -->
+<!NOTATION charset
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: Charset//EN" >
+
+<!-- a space separated list of character encodings, as per [RFC2045] -->
+<!NOTATION charsets
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: Charsets//EN" >
+
+<!-- media type, as per [RFC2045] -->
+<!NOTATION contentType
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: ContentType//EN" >
+
+<!-- comma-separated list of media types, as per [RFC2045] -->
+<!NOTATION contentTypes
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: ContentTypes//EN" >
+
+<!-- date and time information. ISO date format -->
+<!NOTATION datetime
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: Datetime//EN" >
+
+<!-- a language code, as per [RFC3066] -->
+<!NOTATION languageCode
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: LanguageCode//EN" >
+
+<!-- a Uniform Resource Identifier, see [URI] -->
+<!NOTATION uri
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: URI//EN" >
+
+<!-- a space-separated list of Uniform Resource Identifiers, see [URI] -->
+<!NOTATION uris
+ PUBLIC "-//W3C//NOTATION XHTML Datatype: URIs//EN" >
+
+<!-- end of xhtml-notations-1.mod -->
+]]>
+
+<!ENTITY % xhtml-datatypes.module "INCLUDE" >
+<![%xhtml-datatypes.module;[
+<!ENTITY % xhtml-datatypes.mod
+ PUBLIC "-//W3C//ENTITIES XHTML Datatypes 1.0//EN"
+ "xhtml-datatypes-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Datatypes Module .............................................. -->
+<!-- file: xhtml-datatypes-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ENTITIES XHTML Datatypes 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-datatypes-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Datatypes
+
+ defines containers for the following datatypes, many of
+ these imported from other specifications and standards.
+-->
+
+<!-- Length defined for cellpadding/cellspacing -->
+
+<!-- nn for pixels or nn% for percentage length -->
+<!ENTITY % Length.datatype "CDATA" >
+
+<!-- space-separated list of link types -->
+<!ENTITY % LinkTypes.datatype "NMTOKENS" >
+
+<!-- single or comma-separated list of media descriptors -->
+<!ENTITY % MediaDesc.datatype "CDATA" >
+
+<!-- pixel, percentage, or relative -->
+<!ENTITY % MultiLength.datatype "CDATA" >
+
+<!-- one or more digits (NUMBER) -->
+<!ENTITY % Number.datatype "CDATA" >
+
+<!-- integer representing length in pixels -->
+<!ENTITY % Pixels.datatype "CDATA" >
+
+<!-- script expression -->
+<!ENTITY % Script.datatype "CDATA" >
+
+<!-- textual content -->
+<!ENTITY % Text.datatype "CDATA" >
+
+<!-- Imported Datatypes ................................ -->
+
+<!-- a single character from [ISO10646] -->
+<!ENTITY % Character.datatype "CDATA" >
+
+<!-- a character encoding, as per [RFC2045] -->
+<!ENTITY % Charset.datatype "CDATA" >
+
+<!-- a space separated list of character encodings, as per [RFC2045] -->
+<!ENTITY % Charsets.datatype "CDATA" >
+
+<!-- Color specification using color name or sRGB (#RRGGBB) values -->
+<!ENTITY % Color.datatype "CDATA" >
+
+<!-- media type, as per [RFC2045] -->
+<!ENTITY % ContentType.datatype "CDATA" >
+
+<!-- comma-separated list of media types, as per [RFC2045] -->
+<!ENTITY % ContentTypes.datatype "CDATA" >
+
+<!-- date and time information. ISO date format -->
+<!ENTITY % Datetime.datatype "CDATA" >
+
+<!-- formal public identifier, as per [ISO8879] -->
+<!ENTITY % FPI.datatype "CDATA" >
+
+<!-- a language code, as per [RFC3066] -->
+<!ENTITY % LanguageCode.datatype "NMTOKEN" >
+
+<!-- a Uniform Resource Identifier, see [URI] -->
+<!ENTITY % URI.datatype "CDATA" >
+
+<!-- a space-separated list of Uniform Resource Identifiers, see [URI] -->
+<!ENTITY % URIs.datatype "CDATA" >
+
+<!-- end of xhtml-datatypes-1.mod -->
+]]>
+
+<!-- placeholder for XLink support module -->
+<!ENTITY % xhtml-xlink.mod "" >
+
+
+<!ENTITY % xhtml-qname.module "INCLUDE" >
+<![%xhtml-qname.module;[
+<!ENTITY % xhtml-qname.mod
+ PUBLIC "-//W3C//ENTITIES XHTML Qualified Names 1.0//EN"
+ "xhtml-qname-1.mod" >
+<!-- ....................................................................... -->
+<!-- XHTML Qname Module ................................................... -->
+<!-- file: xhtml-qname-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ENTITIES XHTML Qualified Names 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-qname-1.mod"
+
+ Revisions:
+#2000-10-22: added qname declarations for ruby elements
+ ....................................................................... -->
+
+<!-- XHTML Qname (Qualified Name) Module
+
+ 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 XHTML and extensions.
+
+ Section B declares parameter entities used to provide
+ namespace-qualified names for all XHTML element types:
+
+ %applet.qname; the xmlns-qualified name for <applet>
+ %base.qname; the xmlns-qualified name for <base>
+ ...
+
+ XHTML extensions would create a module similar to this one.
+ Included in the XHTML distribution is a template module
+ ('template-qname-1.mod') suitable for this purpose.
+-->
+
+<!-- Section A: XHTML XML Namespace Framework :::::::::::::::::::: -->
+
+<!-- 1. Declare a %XHTML.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.
+-->
+<!ENTITY % NS.prefixed "IGNORE" >
+<!ENTITY % XHTML.prefixed "%NS.prefixed;" >
+
+<!-- 2. Declare a parameter entity (eg., %XHTML.xmlns;) containing
+ the URI reference used to identify the XHTML namespace:
+-->
+<!ENTITY % XHTML.xmlns "http://www.w3.org/1999/xhtml" >
+
+<!-- 3. Declare parameter entities (eg., %XHTML.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.
+
+ NOTE: As specified in [XMLNAMES], the namespace prefix serves
+ as a proxy for the URI reference, and is not in itself significant.
+-->
+<!ENTITY % XHTML.prefix "" >
+
+<!-- 4. Declare parameter entities (eg., %XHTML.pfx;) containing the
+ colonized prefix(es) (eg., '%XHTML.prefix;:') used when
+ prefixing is active, an empty string when it is not.
+-->
+<![%XHTML.prefixed;[
+<!ENTITY % XHTML.pfx "%XHTML.prefix;:" >
+]]>
+<!ENTITY % XHTML.pfx "" >
+
+<!-- declare qualified name extensions here ............ -->
+<!ENTITY % xhtml-qname-extra.mod "" >
+<!-- ....................................................................... -->
+<!-- MathML Qualified Names Module ........................................ -->
+<!-- file: mathml2-qname-1.mod
+
+ This is the Mathematical Markup Language (MathML) 2.0, an XML
+ application for describing mathematical notation and capturing
+ both its structure and content.
+
+ Copyright 1998-2000 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ENTITIES MathML 2.0 Qualified Names 1.0//EN"
+ SYSTEM "mathml2-qname-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- MathML Qualified Names
+
+ 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 MathML.
+
+ Section B declares parameter entities used to provide
+ namespace-qualified names for all MathML element types.
+
+ This module is derived from the XHTML Qualified Names Template module.
+-->
+
+<!-- Section A: XHTML XML Namespace Framework :::::::::::::::::::: -->
+
+<!ENTITY % NS.prefixed "IGNORE" >
+<!ENTITY % MATHML.prefixed "%NS.prefixed;" >
+
+<!-- XLink ............... -->
+
+<!ENTITY % XLINK.xmlns "http://www.w3.org/1999/xlink" >
+<!ENTITY % XLINK.xmlns.attrib
+ "xmlns:xlink CDATA #FIXED '%XLINK.xmlns;'"
+>
+
+<!-- MathML .............. -->
+
+<!ENTITY % MATHML.xmlns "http://www.w3.org/1998/Math/MathML" >
+<!ENTITY % MATHML.prefix "m" >
+<![%MATHML.prefixed;[
+<!ENTITY % MATHML.xmlns.extra.attrib "" >
+]]>
+<!ENTITY % MATHML.xmlns.extra.attrib
+ "%XLINK.xmlns.attrib;" >
+
+<![%MATHML.prefixed;[
+<!ENTITY % MATHML.pfx "%MATHML.prefix;:" >
+<!ENTITY % MATHML.xmlns.attrib
+ "xmlns:%MATHML.prefix; CDATA #FIXED '%MATHML.xmlns;'
+ %MATHML.xmlns.extra.attrib;"
+>
+]]>
+<!ENTITY % MATHML.pfx "" >
+<!-- changed from #FIXED for IE/msxsml bug -->
+<!ENTITY % MATHML.xmlns.attrib
+ "xmlns CDATA #IMPLIED
+ %MATHML.xmlns.extra.attrib;"
+>
+
+<![%NS.prefixed;[
+<!ENTITY % XHTML.xmlns.extra.attrib
+ "%MATHML.xmlns.attrib;" >
+]]>
+<!ENTITY % XHTML.xmlns.extra.attrib
+ "%XLINK.xmlns.attrib;"
+>
+
+<!-- Section B: MathML Qualified Names ::::::::::::::::::::::::::::: -->
+
+<!-- 9. This section declares parameter entities used to provide
+ namespace-qualified names for all MathML element types.
+-->
+
+<!ENTITY % abs.qname "%MATHML.pfx;abs" >
+<!ENTITY % and.qname "%MATHML.pfx;and" >
+<!ENTITY % annotation-xml.qname "%MATHML.pfx;annotation-xml" >
+<!ENTITY % annotation.qname "%MATHML.pfx;annotation" >
+<!ENTITY % apply.qname "%MATHML.pfx;apply" >
+<!ENTITY % approx.qname "%MATHML.pfx;approx" >
+<!ENTITY % arccos.qname "%MATHML.pfx;arccos" >
+<!ENTITY % arccosh.qname "%MATHML.pfx;arccosh" >
+<!ENTITY % arccosh.qname "%MATHML.pfx;arccosh" >
+<!ENTITY % arccot.qname "%MATHML.pfx;arccot" >
+<!ENTITY % arccoth.qname "%MATHML.pfx;arccoth" >
+<!ENTITY % arccsc.qname "%MATHML.pfx;arccsc" >
+<!ENTITY % arccsch.qname "%MATHML.pfx;arccsch" >
+<!ENTITY % arcsec.qname "%MATHML.pfx;arcsec" >
+<!ENTITY % arcsech.qname "%MATHML.pfx;arcsech" >
+<!ENTITY % arcsin.qname "%MATHML.pfx;arcsin" >
+<!ENTITY % arcsinh.qname "%MATHML.pfx;arcsinh" >
+<!ENTITY % arctan.qname "%MATHML.pfx;arctan" >
+<!ENTITY % arctanh.qname "%MATHML.pfx;arctanh" >
+<!ENTITY % arg.qname "%MATHML.pfx;arg" >
+<!ENTITY % bvar.qname "%MATHML.pfx;bvar" >
+<!ENTITY % card.qname "%MATHML.pfx;card" >
+<!ENTITY % cartesianproduct.qname "%MATHML.pfx;cartesianproduct" >
+<!ENTITY % ceiling.qname "%MATHML.pfx;ceiling" >
+<!ENTITY % ci.qname "%MATHML.pfx;ci" >
+<!ENTITY % cn.qname "%MATHML.pfx;cn" >
+<!ENTITY % codomain.qname "%MATHML.pfx;codomain" >
+<!ENTITY % complexes.qname "%MATHML.pfx;complexes" >
+<!ENTITY % compose.qname "%MATHML.pfx;compose" >
+<!ENTITY % condition.qname "%MATHML.pfx;condition" >
+<!ENTITY % conjugate.qname "%MATHML.pfx;conjugate" >
+<!ENTITY % cos.qname "%MATHML.pfx;cos" >
+<!ENTITY % cosh.qname "%MATHML.pfx;cosh" >
+<!ENTITY % cot.qname "%MATHML.pfx;cot" >
+<!ENTITY % coth.qname "%MATHML.pfx;coth" >
+<!ENTITY % csc.qname "%MATHML.pfx;csc" >
+<!ENTITY % csch.qname "%MATHML.pfx;csch" >
+<!ENTITY % csymbol.qname "%MATHML.pfx;csymbol" >
+<!ENTITY % curl.qname "%MATHML.pfx;curl" >
+<!ENTITY % declare.qname "%MATHML.pfx;declare" >
+<!ENTITY % degree.qname "%MATHML.pfx;degree" >
+<!ENTITY % determinant.qname "%MATHML.pfx;determinant" >
+<!ENTITY % diff.qname "%MATHML.pfx;diff" >
+<!ENTITY % divergence.qname "%MATHML.pfx;divergence" >
+<!ENTITY % divide.qname "%MATHML.pfx;divide" >
+<!ENTITY % domain.qname "%MATHML.pfx;domain" >
+<!ENTITY % domainofapplication.qname "%MATHML.pfx;domainofapplication" >
+<!ENTITY % emptyset.qname "%MATHML.pfx;emptyset" >
+<!ENTITY % eq.qname "%MATHML.pfx;eq" >
+<!ENTITY % equivalent.qname "%MATHML.pfx;equivalent" >
+<!ENTITY % eulergamma.qname "%MATHML.pfx;eulergamma" >
+<!ENTITY % exists.qname "%MATHML.pfx;exists" >
+<!ENTITY % exp.qname "%MATHML.pfx;exp" >
+<!ENTITY % exponentiale.qname "%MATHML.pfx;exponentiale" >
+<!ENTITY % factorial.qname "%MATHML.pfx;factorial" >
+<!ENTITY % factorof.qname "%MATHML.pfx;factorof" >
+<!ENTITY % false.qname "%MATHML.pfx;false" >
+<!ENTITY % floor.qname "%MATHML.pfx;floor" >
+<!ENTITY % fn.qname "%MATHML.pfx;fn" >
+<!ENTITY % forall.qname "%MATHML.pfx;forall" >
+<!ENTITY % gcd.qname "%MATHML.pfx;gcd" >
+<!ENTITY % geq.qname "%MATHML.pfx;geq" >
+<!ENTITY % grad.qname "%MATHML.pfx;grad" >
+<!ENTITY % gt.qname "%MATHML.pfx;gt" >
+<!ENTITY % ident.qname "%MATHML.pfx;ident" >
+<!ENTITY % image.qname "%MATHML.pfx;image" >
+<!ENTITY % imaginary.qname "%MATHML.pfx;imaginary" >
+<!ENTITY % imaginaryi.qname "%MATHML.pfx;imaginaryi" >
+<!ENTITY % implies.qname "%MATHML.pfx;implies" >
+<!ENTITY % in.qname "%MATHML.pfx;in" >
+<!ENTITY % infinity.qname "%MATHML.pfx;infinity" >
+<!ENTITY % int.qname "%MATHML.pfx;int" >
+<!ENTITY % integers.qname "%MATHML.pfx;integers" >
+<!ENTITY % intersect.qname "%MATHML.pfx;intersect" >
+<!ENTITY % interval.qname "%MATHML.pfx;interval" >
+<!ENTITY % inverse.qname "%MATHML.pfx;inverse" >
+<!ENTITY % lambda.qname "%MATHML.pfx;lambda" >
+<!ENTITY % laplacian.qname "%MATHML.pfx;laplacian" >
+<!ENTITY % lcm.qname "%MATHML.pfx;lcm" >
+<!ENTITY % leq.qname "%MATHML.pfx;leq" >
+<!ENTITY % limit.qname "%MATHML.pfx;limit" >
+<!ENTITY % list.qname "%MATHML.pfx;list" >
+<!ENTITY % ln.qname "%MATHML.pfx;ln" >
+<!ENTITY % log.qname "%MATHML.pfx;log" >
+<!ENTITY % logbase.qname "%MATHML.pfx;logbase" >
+<!ENTITY % lowlimit.qname "%MATHML.pfx;lowlimit" >
+<!ENTITY % lt.qname "%MATHML.pfx;lt" >
+<!ENTITY % maction.qname "%MATHML.pfx;maction" >
+<!ENTITY % maligngroup.qname "%MATHML.pfx;maligngroup" >
+<!ENTITY % malignmark.qname "%MATHML.pfx;malignmark" >
+<!ENTITY % math.qname "%MATHML.pfx;math" >
+<!ENTITY % matrix.qname "%MATHML.pfx;matrix" >
+<!ENTITY % matrixrow.qname "%MATHML.pfx;matrixrow" >
+<!ENTITY % max.qname "%MATHML.pfx;max" >
+<!ENTITY % mean.qname "%MATHML.pfx;mean" >
+<!ENTITY % median.qname "%MATHML.pfx;median" >
+<!ENTITY % menclose.qname "%MATHML.pfx;menclose" >
+<!ENTITY % merror.qname "%MATHML.pfx;merror" >
+<!ENTITY % mfenced.qname "%MATHML.pfx;mfenced" >
+<!ENTITY % mfrac.qname "%MATHML.pfx;mfrac" >
+<!ENTITY % mglyph.qname "%MATHML.pfx;mglyph" >
+<!ENTITY % mi.qname "%MATHML.pfx;mi" >
+<!ENTITY % min.qname "%MATHML.pfx;min" >
+<!ENTITY % minus.qname "%MATHML.pfx;minus" >
+<!ENTITY % mlabeledtr.qname "%MATHML.pfx;mlabeledtr" >
+<!ENTITY % mmultiscripts.qname "%MATHML.pfx;mmultiscripts" >
+<!ENTITY % mn.qname "%MATHML.pfx;mn" >
+<!ENTITY % mo.qname "%MATHML.pfx;mo" >
+<!ENTITY % mode.qname "%MATHML.pfx;mode" >
+<!ENTITY % moment.qname "%MATHML.pfx;moment" >
+<!ENTITY % momentabout.qname "%MATHML.pfx;momentabout" >
+<!ENTITY % mover.qname "%MATHML.pfx;mover" >
+<!ENTITY % mpadded.qname "%MATHML.pfx;mpadded" >
+<!ENTITY % mphantom.qname "%MATHML.pfx;mphantom" >
+<!ENTITY % mprescripts.qname "%MATHML.pfx;mprescripts" >
+<!ENTITY % mroot.qname "%MATHML.pfx;mroot" >
+<!ENTITY % mrow.qname "%MATHML.pfx;mrow" >
+<!ENTITY % ms.qname "%MATHML.pfx;ms" >
+<!ENTITY % mspace.qname "%MATHML.pfx;mspace" >
+<!ENTITY % msqrt.qname "%MATHML.pfx;msqrt" >
+<!ENTITY % mstyle.qname "%MATHML.pfx;mstyle" >
+<!ENTITY % msub.qname "%MATHML.pfx;msub" >
+<!ENTITY % msubsup.qname "%MATHML.pfx;msubsup" >
+<!ENTITY % msup.qname "%MATHML.pfx;msup" >
+<!ENTITY % mtable.qname "%MATHML.pfx;mtable" >
+<!ENTITY % mtd.qname "%MATHML.pfx;mtd" >
+<!ENTITY % mtext.qname "%MATHML.pfx;mtext" >
+<!ENTITY % mtr.qname "%MATHML.pfx;mtr" >
+<!ENTITY % munder.qname "%MATHML.pfx;munder" >
+<!ENTITY % munderover.qname "%MATHML.pfx;munderover" >
+<!ENTITY % naturalnumbers.qname "%MATHML.pfx;naturalnumbers" >
+<!ENTITY % neq.qname "%MATHML.pfx;neq" >
+<!ENTITY % none.qname "%MATHML.pfx;none" >
+<!ENTITY % not.qname "%MATHML.pfx;not" >
+<!ENTITY % notanumber.qname "%MATHML.pfx;notanumber" >
+<!ENTITY % notin.qname "%MATHML.pfx;notin" >
+<!ENTITY % notprsubset.qname "%MATHML.pfx;notprsubset" >
+<!ENTITY % notsubset.qname "%MATHML.pfx;notsubset" >
+<!ENTITY % or.qname "%MATHML.pfx;or" >
+<!ENTITY % otherwise.qname "%MATHML.pfx;otherwise" >
+<!ENTITY % outerproduct.qname "%MATHML.pfx;outerproduct" >
+<!ENTITY % partialdiff.qname "%MATHML.pfx;partialdiff" >
+<!ENTITY % pi.qname "%MATHML.pfx;pi" >
+<!ENTITY % piece.qname "%MATHML.pfx;piece" >
+<!ENTITY % piecewise.qname "%MATHML.pfx;piecewise" >
+<!ENTITY % plus.qname "%MATHML.pfx;plus" >
+<!ENTITY % power.qname "%MATHML.pfx;power" >
+<!ENTITY % primes.qname "%MATHML.pfx;primes" >
+<!ENTITY % product.qname "%MATHML.pfx;product" >
+<!ENTITY % prsubset.qname "%MATHML.pfx;prsubset" >
+<!ENTITY % quotient.qname "%MATHML.pfx;quotient" >
+<!ENTITY % rationals.qname "%MATHML.pfx;rationals" >
+<!ENTITY % real.qname "%MATHML.pfx;real" >
+<!ENTITY % reals.qname "%MATHML.pfx;reals" >
+<!ENTITY % reln.qname "%MATHML.pfx;reln" >
+<!ENTITY % rem.qname "%MATHML.pfx;rem" >
+<!ENTITY % root.qname "%MATHML.pfx;root" >
+<!ENTITY % scalarproduct.qname "%MATHML.pfx;scalarproduct" >
+<!ENTITY % sdev.qname "%MATHML.pfx;sdev" >
+<!ENTITY % sec.qname "%MATHML.pfx;sec" >
+<!ENTITY % sech.qname "%MATHML.pfx;sech" >
+<!ENTITY % selector.qname "%MATHML.pfx;selector" >
+<!ENTITY % semantics.qname "%MATHML.pfx;semantics" >
+<!ENTITY % sep.qname "%MATHML.pfx;sep" >
+<!ENTITY % set.qname "%MATHML.pfx;set" >
+<!ENTITY % setdiff.qname "%MATHML.pfx;setdiff" >
+<!ENTITY % sin.qname "%MATHML.pfx;sin" >
+<!ENTITY % sinh.qname "%MATHML.pfx;sinh" >
+<!ENTITY % subset.qname "%MATHML.pfx;subset" >
+<!ENTITY % sum.qname "%MATHML.pfx;sum" >
+<!ENTITY % tan.qname "%MATHML.pfx;tan" >
+<!ENTITY % tanh.qname "%MATHML.pfx;tanh" >
+<!ENTITY % tendsto.qname "%MATHML.pfx;tendsto" >
+<!ENTITY % times.qname "%MATHML.pfx;times" >
+<!ENTITY % transpose.qname "%MATHML.pfx;transpose" >
+<!ENTITY % true.qname "%MATHML.pfx;true" >
+<!ENTITY % union.qname "%MATHML.pfx;union" >
+<!ENTITY % uplimit.qname "%MATHML.pfx;uplimit" >
+<!ENTITY % variance.qname "%MATHML.pfx;variance" >
+<!ENTITY % vector.qname "%MATHML.pfx;vector" >
+<!ENTITY % vectorproduct.qname "%MATHML.pfx;vectorproduct" >
+<!ENTITY % xor.qname "%MATHML.pfx;xor" >
+
+
+<!-- ignores subsequent instantiation of this module when
+ used as external subset rather than module fragment.
+ NOTE: Do not modify this parameter entity, otherwise
+ a recursive parsing situation may result.
+-->
+<!ENTITY % mathml-qname.module "IGNORE" >
+
+<!-- end of template-qname-1.mod -->
+
+
+<!-- 5. The parameter entity %XHTML.xmlns.extra.attrib; may be
+ redeclared to contain any non-XHTML namespace declaration
+ attributes for namespaces embedded in XHTML. The default
+ is an empty string. XLink should be included here if used
+ in the DTD.
+-->
+<!ENTITY % XHTML.xmlns.extra.attrib "" >
+
+<!-- The remainder of Section A is only followed in XHTML, not extensions. -->
+
+<!-- Declare a parameter entity %NS.decl.attrib; containing
+ all XML Namespace declarations used in the DTD, plus the
+ xmlns declaration for XHTML, its form dependent on whether
+ prefixing is active.
+-->
+<![%XHTML.prefixed;[
+<!ENTITY % NS.decl.attrib
+ "xmlns:%XHTML.prefix; %URI.datatype; #FIXED '%XHTML.xmlns;'
+ %XHTML.xmlns.extra.attrib;"
+>
+]]>
+<!ENTITY % NS.decl.attrib
+ "%XHTML.xmlns.extra.attrib;"
+>
+
+<!-- This is a placeholder for future XLink support.
+-->
+<!ENTITY % XLINK.xmlns.attrib "" >
+
+<!-- Declare a parameter entity %NS.decl.attrib; containing all
+ XML namespace declaration attributes used by XHTML, including
+ a default xmlns attribute when prefixing is inactive.
+-->
+<![%XHTML.prefixed;[
+<!ENTITY % XHTML.xmlns.attrib
+ "%NS.decl.attrib;
+ %XLINK.xmlns.attrib;"
+>
+]]>
+<!ENTITY % XHTML.xmlns.attrib
+ "xmlns %URI.datatype; #FIXED '%XHTML.xmlns;'
+ %XLINK.xmlns.attrib;"
+>
+
+<!-- placeholder for qualified name redeclarations -->
+<!ENTITY % xhtml-qname.redecl "" >
+
+
+<!-- Section B: XHTML Qualified Names ::::::::::::::::::::::::::::: -->
+
+<!-- 6. This section declares parameter entities used to provide
+ namespace-qualified names for all XHTML element types.
+-->
+
+<!-- module: xhtml-applet-1.mod -->
+<!ENTITY % applet.qname "%XHTML.pfx;applet" >
+
+<!-- module: xhtml-base-1.mod -->
+<!ENTITY % base.qname "%XHTML.pfx;base" >
+
+<!-- module: xhtml-bdo-1.mod -->
+<!ENTITY % bdo.qname "%XHTML.pfx;bdo" >
+
+<!-- module: xhtml-blkphras-1.mod -->
+<!ENTITY % address.qname "%XHTML.pfx;address" >
+<!ENTITY % blockquote.qname "%XHTML.pfx;blockquote" >
+<!ENTITY % pre.qname "%XHTML.pfx;pre" >
+<!ENTITY % h1.qname "%XHTML.pfx;h1" >
+<!ENTITY % h2.qname "%XHTML.pfx;h2" >
+<!ENTITY % h3.qname "%XHTML.pfx;h3" >
+<!ENTITY % h4.qname "%XHTML.pfx;h4" >
+<!ENTITY % h5.qname "%XHTML.pfx;h5" >
+<!ENTITY % h6.qname "%XHTML.pfx;h6" >
+
+<!-- module: xhtml-blkpres-1.mod -->
+<!ENTITY % hr.qname "%XHTML.pfx;hr" >
+
+<!-- module: xhtml-blkstruct-1.mod -->
+<!ENTITY % div.qname "%XHTML.pfx;div" >
+<!ENTITY % p.qname "%XHTML.pfx;p" >
+
+<!-- module: xhtml-edit-1.mod -->
+<!ENTITY % ins.qname "%XHTML.pfx;ins" >
+<!ENTITY % del.qname "%XHTML.pfx;del" >
+
+<!-- module: xhtml-form-1.mod -->
+<!ENTITY % form.qname "%XHTML.pfx;form" >
+<!ENTITY % label.qname "%XHTML.pfx;label" >
+<!ENTITY % input.qname "%XHTML.pfx;input" >
+<!ENTITY % select.qname "%XHTML.pfx;select" >
+<!ENTITY % optgroup.qname "%XHTML.pfx;optgroup" >
+<!ENTITY % option.qname "%XHTML.pfx;option" >
+<!ENTITY % textarea.qname "%XHTML.pfx;textarea" >
+<!ENTITY % fieldset.qname "%XHTML.pfx;fieldset" >
+<!ENTITY % legend.qname "%XHTML.pfx;legend" >
+<!ENTITY % button.qname "%XHTML.pfx;button" >
+
+<!-- module: xhtml-hypertext-1.mod -->
+<!ENTITY % a.qname "%XHTML.pfx;a" >
+
+<!-- module: xhtml-image-1.mod -->
+<!ENTITY % img.qname "%XHTML.pfx;img" >
+
+<!-- module: xhtml-inlphras-1.mod -->
+<!ENTITY % abbr.qname "%XHTML.pfx;abbr" >
+<!ENTITY % acronym.qname "%XHTML.pfx;acronym" >
+<!ENTITY % cite.qname "%XHTML.pfx;cite" >
+<!ENTITY % code.qname "%XHTML.pfx;code" >
+<!ENTITY % dfn.qname "%XHTML.pfx;dfn" >
+<!ENTITY % em.qname "%XHTML.pfx;em" >
+<!ENTITY % kbd.qname "%XHTML.pfx;kbd" >
+<!ENTITY % q.qname "%XHTML.pfx;q" >
+<!ENTITY % samp.qname "%XHTML.pfx;samp" >
+<!ENTITY % strong.qname "%XHTML.pfx;strong" >
+<!ENTITY % var.qname "%XHTML.pfx;var" >
+
+<!-- module: xhtml-inlpres-1.mod -->
+<!ENTITY % b.qname "%XHTML.pfx;b" >
+<!ENTITY % big.qname "%XHTML.pfx;big" >
+<!ENTITY % i.qname "%XHTML.pfx;i" >
+<!ENTITY % small.qname "%XHTML.pfx;small" >
+<!ENTITY % sub.qname "%XHTML.pfx;sub" >
+<!ENTITY % sup.qname "%XHTML.pfx;sup" >
+<!ENTITY % tt.qname "%XHTML.pfx;tt" >
+
+<!-- module: xhtml-inlstruct-1.mod -->
+<!ENTITY % br.qname "%XHTML.pfx;br" >
+<!ENTITY % span.qname "%XHTML.pfx;span" >
+
+<!-- module: xhtml-ismap-1.mod (also csismap, ssismap) -->
+<!ENTITY % map.qname "%XHTML.pfx;map" >
+<!ENTITY % area.qname "%XHTML.pfx;area" >
+
+<!-- module: xhtml-link-1.mod -->
+<!ENTITY % link.qname "%XHTML.pfx;link" >
+
+<!-- module: xhtml-list-1.mod -->
+<!ENTITY % dl.qname "%XHTML.pfx;dl" >
+<!ENTITY % dt.qname "%XHTML.pfx;dt" >
+<!ENTITY % dd.qname "%XHTML.pfx;dd" >
+<!ENTITY % ol.qname "%XHTML.pfx;ol" >
+<!ENTITY % ul.qname "%XHTML.pfx;ul" >
+<!ENTITY % li.qname "%XHTML.pfx;li" >
+
+<!-- module: xhtml-meta-1.mod -->
+<!ENTITY % meta.qname "%XHTML.pfx;meta" >
+
+<!-- module: xhtml-param-1.mod -->
+<!ENTITY % param.qname "%XHTML.pfx;param" >
+
+<!-- module: xhtml-object-1.mod -->
+<!ENTITY % object.qname "%XHTML.pfx;object" >
+
+<!-- module: xhtml-script-1.mod -->
+<!ENTITY % script.qname "%XHTML.pfx;script" >
+<!ENTITY % noscript.qname "%XHTML.pfx;noscript" >
+
+<!-- module: xhtml-struct-1.mod -->
+<!ENTITY % html.qname "%XHTML.pfx;html" >
+<!ENTITY % head.qname "%XHTML.pfx;head" >
+<!ENTITY % title.qname "%XHTML.pfx;title" >
+<!ENTITY % body.qname "%XHTML.pfx;body" >
+
+<!-- module: xhtml-style-1.mod -->
+<!ENTITY % style.qname "%XHTML.pfx;style" >
+
+<!-- module: xhtml-table-1.mod -->
+<!ENTITY % table.qname "%XHTML.pfx;table" >
+<!ENTITY % caption.qname "%XHTML.pfx;caption" >
+<!ENTITY % thead.qname "%XHTML.pfx;thead" >
+<!ENTITY % tfoot.qname "%XHTML.pfx;tfoot" >
+<!ENTITY % tbody.qname "%XHTML.pfx;tbody" >
+<!ENTITY % colgroup.qname "%XHTML.pfx;colgroup" >
+<!ENTITY % col.qname "%XHTML.pfx;col" >
+<!ENTITY % tr.qname "%XHTML.pfx;tr" >
+<!ENTITY % th.qname "%XHTML.pfx;th" >
+<!ENTITY % td.qname "%XHTML.pfx;td" >
+
+<!-- module: xhtml-ruby-1.mod -->
+
+<!ENTITY % ruby.qname "%XHTML.pfx;ruby" >
+<!ENTITY % rbc.qname "%XHTML.pfx;rbc" >
+<!ENTITY % rtc.qname "%XHTML.pfx;rtc" >
+<!ENTITY % rb.qname "%XHTML.pfx;rb" >
+<!ENTITY % rt.qname "%XHTML.pfx;rt" >
+<!ENTITY % rp.qname "%XHTML.pfx;rp" >
+
+<!-- Provisional XHTML 2.0 Qualified Names ...................... -->
+
+<!-- module: xhtml-image-2.mod -->
+<!ENTITY % alt.qname "%XHTML.pfx;alt" >
+
+<!-- end of xhtml-qname-1.mod -->
+]]>
+
+<!ENTITY % xhtml-events.module "IGNORE" >
+<![%xhtml-events.module;[
+<!ENTITY % xhtml-events.mod
+ PUBLIC "-//W3C//ENTITIES XHTML Intrinsic Events 1.0//EN"
+ "xhtml-events-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Intrinsic Events Module ....................................... -->
+<!-- file: xhtml-events-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ENTITIES XHTML Intrinsic Events 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-events-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Intrinsic Event Attributes
+
+ These are the event attributes defined in HTML 4,
+ Section 18.2.3 "Intrinsic Events". This module must be
+ instantiated prior to the Attributes Module but after
+ the Datatype Module in the Modular Framework module.
+
+ "Note: Authors of HTML documents are advised that changes
+ are likely to occur in the realm of intrinsic events
+ (e.g., how scripts are bound to events). Research in
+ this realm is carried on by members of the W3C Document
+ Object Model Working Group (see the W3C Web site at
+ http://www.w3.org/ for more information)."
+-->
+<!-- NOTE: Because the ATTLIST declarations in this module occur
+ before their respective ELEMENT declarations in other
+ modules, there may be a dependency on this module that
+ should be considered if any of the parameter entities used
+ for element type names (eg., %a.qname;) are redeclared.
+-->
+
+<!ENTITY % Events.attrib
+ "onclick %Script.datatype; #IMPLIED
+ ondblclick %Script.datatype; #IMPLIED
+ onmousedown %Script.datatype; #IMPLIED
+ onmouseup %Script.datatype; #IMPLIED
+ onmouseover %Script.datatype; #IMPLIED
+ onmousemove %Script.datatype; #IMPLIED
+ onmouseout %Script.datatype; #IMPLIED
+ onkeypress %Script.datatype; #IMPLIED
+ onkeydown %Script.datatype; #IMPLIED
+ onkeyup %Script.datatype; #IMPLIED"
+>
+
+<!-- additional attributes on anchor element
+-->
+<!ATTLIST %a.qname;
+ onfocus %Script.datatype; #IMPLIED
+ onblur %Script.datatype; #IMPLIED
+>
+
+<!-- additional attributes on form element
+-->
+<!ATTLIST %form.qname;
+ onsubmit %Script.datatype; #IMPLIED
+ onreset %Script.datatype; #IMPLIED
+>
+
+<!-- additional attributes on label element
+-->
+<!ATTLIST %label.qname;
+ onfocus %Script.datatype; #IMPLIED
+ onblur %Script.datatype; #IMPLIED
+>
+
+<!-- additional attributes on input element
+-->
+<!ATTLIST %input.qname;
+ onfocus %Script.datatype; #IMPLIED
+ onblur %Script.datatype; #IMPLIED
+ onselect %Script.datatype; #IMPLIED
+ onchange %Script.datatype; #IMPLIED
+>
+
+<!-- additional attributes on select element
+-->
+<!ATTLIST %select.qname;
+ onfocus %Script.datatype; #IMPLIED
+ onblur %Script.datatype; #IMPLIED
+ onchange %Script.datatype; #IMPLIED
+>
+
+<!-- additional attributes on textarea element
+-->
+<!ATTLIST %textarea.qname;
+ onfocus %Script.datatype; #IMPLIED
+ onblur %Script.datatype; #IMPLIED
+ onselect %Script.datatype; #IMPLIED
+ onchange %Script.datatype; #IMPLIED
+>
+
+<!-- additional attributes on button element
+-->
+<!ATTLIST %button.qname;
+ onfocus %Script.datatype; #IMPLIED
+ onblur %Script.datatype; #IMPLIED
+>
+
+<!-- additional attributes on body element
+-->
+<!ATTLIST %body.qname;
+ onload %Script.datatype; #IMPLIED
+ onunload %Script.datatype; #IMPLIED
+>
+
+<!-- additional attributes on area element
+-->
+<!ATTLIST %area.qname;
+ onfocus %Script.datatype; #IMPLIED
+ onblur %Script.datatype; #IMPLIED
+>
+
+<!-- end of xhtml-events-1.mod -->
+]]>
+
+<!ENTITY % xhtml-attribs.module "INCLUDE" >
+<![%xhtml-attribs.module;[
+<!ENTITY % xhtml-attribs.mod
+ PUBLIC "-//W3C//ENTITIES XHTML Common Attributes 1.0//EN"
+ "xhtml-attribs-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Common Attributes Module ...................................... -->
+<!-- file: xhtml-attribs-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ENTITIES XHTML Common Attributes 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-attribs-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Common Attributes
+
+ This module declares many of the common attributes for the XHTML DTD.
+ %NS.decl.attrib; is declared in the XHTML Qname module.
+-->
+
+<!ENTITY % id.attrib
+ "id ID #IMPLIED"
+>
+
+<!ENTITY % class.attrib
+ "class NMTOKENS #IMPLIED"
+>
+
+<!ENTITY % title.attrib
+ "title %Text.datatype; #IMPLIED"
+>
+
+<!ENTITY % Core.extra.attrib "" >
+
+<!ENTITY % Core.attrib
+ "%XHTML.xmlns.attrib;
+ %id.attrib;
+ %class.attrib;
+ %title.attrib;
+ %Core.extra.attrib;"
+>
+
+<!ENTITY % lang.attrib
+ "xml:lang %LanguageCode.datatype; #IMPLIED"
+>
+
+<![%XHTML.bidi;[
+<!ENTITY % dir.attrib
+ "dir ( ltr | rtl ) #IMPLIED"
+>
+
+<!ENTITY % I18n.attrib
+ "%dir.attrib;
+ %lang.attrib;"
+>
+
+]]>
+<!ENTITY % I18n.attrib
+ "%lang.attrib;"
+>
+
+<!ENTITY % Common.extra.attrib "" >
+
+<!-- intrinsic event attributes declared previously
+-->
+<!ENTITY % Events.attrib "" >
+
+<!ENTITY % Common.attrib
+ "%Core.attrib;
+ %I18n.attrib;
+ %Events.attrib;
+ %Common.extra.attrib;"
+>
+
+<!-- end of xhtml-attribs-1.mod -->
+]]>
+
+<!-- placeholder for content model redeclarations -->
+<!ENTITY % xhtml-model.redecl "" >
+
+
+<!ENTITY % xhtml-model.module "INCLUDE" >
+<![%xhtml-model.module;[
+<!-- instantiate the Document Model module declared in the DTD driver
+-->
+<!-- ....................................................................... -->
+<!-- XHTML 1.1 Document Model Module ...................................... -->
+<!-- file: xhtml11-model-1.mod
+
+ This is XHTML 1.1, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml11/DTD/xhtml11-model-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- XHTML 1.1 Document Model
+
+ This module describes the groupings of elements that make up
+ common content models for XHTML elements.
+
+ XHTML has three basic content models:
+
+ %Inline.mix; character-level elements
+ %Block.mix; block-like elements, eg., paragraphs and lists
+ %Flow.mix; any block or inline elements
+
+ Any parameter entities declared in this module may be used
+ to create element content models, but the above three are
+ considered 'global' (insofar as that term applies here).
+
+ The reserved word '#PCDATA' (indicating a text string) is now
+ included explicitly with each element declaration that is
+ declared as mixed content, as XML requires that this token
+ occur first in a content model specification.
+-->
+<!-- Extending the Model
+
+ While in some cases this module may need to be rewritten to
+ accommodate changes to the document model, minor extensions
+ may be accomplished by redeclaring any of the three *.extra;
+ parameter entities to contain extension element types as follows:
+
+ %Misc.extra; whose parent may be any block or
+ inline element.
+
+ %Inline.extra; whose parent may be any inline element.
+
+ %Block.extra; whose parent may be any block element.
+
+ If used, these parameter entities must be an OR-separated
+ list beginning with an OR separator ("|"), eg., "| a | b | c"
+
+ All block and inline *.class parameter entities not part
+ of the *struct.class classes begin with "| " to allow for
+ exclusion from mixes.
+-->
+
+<!-- .............. Optional Elements in head .................. -->
+
+<!ENTITY % HeadOpts.mix
+ "( %script.qname; | %style.qname; | %meta.qname;
+ | %link.qname; | %object.qname; )*"
+>
+
+<!-- ................. Miscellaneous Elements .................. -->
+
+<!-- ins and del are used to denote editing changes
+-->
+<!ENTITY % Edit.class "| %ins.qname; | %del.qname;" >
+
+<!-- script and noscript are used to contain scripts
+ and alternative content
+-->
+<!ENTITY % Script.class "| %script.qname; | %noscript.qname;" >
+
+<!ENTITY % Misc.extra "" >
+
+<!-- These elements are neither block nor inline, and can
+ essentially be used anywhere in the document body.
+-->
+<!ENTITY % Misc.class
+ "%Edit.class;
+ %Script.class;
+ %Misc.extra;"
+>
+
+<!-- .................... Inline Elements ...................... -->
+
+<!ENTITY % InlStruct.class "%br.qname; | %span.qname;" >
+
+<!ENTITY % InlPhras.class
+ "| %em.qname; | %strong.qname; | %dfn.qname; | %code.qname;
+ | %samp.qname; | %kbd.qname; | %var.qname; | %cite.qname;
+ | %abbr.qname; | %acronym.qname; | %q.qname;" >
+
+<!ENTITY % InlPres.class
+ "| %tt.qname; | %i.qname; | %b.qname; | %big.qname;
+ | %small.qname; | %sub.qname; | %sup.qname;" >
+
+<!ENTITY % I18n.class "| %bdo.qname;" >
+
+<!ENTITY % Anchor.class "| %a.qname;" >
+
+<!ENTITY % InlSpecial.class
+ "| %img.qname; | %map.qname;
+ | %object.qname;" >
+
+<!ENTITY % InlForm.class
+ "| %input.qname; | %select.qname; | %textarea.qname;
+ | %label.qname; | %button.qname;" >
+
+<!ENTITY % Inline.extra "" >
+
+<!ENTITY % Ruby.class "| %ruby.qname;" >
+
+<!-- %Inline.class; includes all inline elements,
+ used as a component in mixes
+-->
+<!ENTITY % Inline.class
+ "%InlStruct.class;
+ %InlPhras.class;
+ %InlPres.class;
+ %I18n.class;
+ %Anchor.class;
+ %InlSpecial.class;
+ %InlForm.class;
+ %Ruby.class;
+ %Inline.extra;"
+>
+
+<!-- %InlNoRuby.class; includes all inline elements
+ except ruby, used as a component in mixes
+-->
+<!ENTITY % InlNoRuby.class
+ "%InlStruct.class;
+ %InlPhras.class;
+ %InlPres.class;
+ %I18n.class;
+ %Anchor.class;
+ %InlSpecial.class;
+ %InlForm.class;
+ %Inline.extra;"
+>
+
+<!-- %NoRuby.content; includes all inlines except ruby
+-->
+<!ENTITY % NoRuby.content
+ "( #PCDATA
+ | %InlNoRuby.class;
+ %Misc.class; )*"
+>
+
+<!-- %InlNoAnchor.class; includes all non-anchor inlines,
+ used as a component in mixes
+-->
+<!ENTITY % InlNoAnchor.class
+ "%InlStruct.class;
+ %InlPhras.class;
+ %InlPres.class;
+ %I18n.class;
+ %InlSpecial.class;
+ %InlForm.class;
+ %Ruby.class;
+ %Inline.extra;"
+>
+
+<!-- %InlNoAnchor.mix; includes all non-anchor inlines
+-->
+<!ENTITY % InlNoAnchor.mix
+ "%InlNoAnchor.class;
+ %Misc.class;"
+>
+
+<!-- %Inline.mix; includes all inline elements, including %Misc.class;
+-->
+<!ENTITY % Inline.mix
+ "%Inline.class;
+ %Misc.class;"
+>
+
+<!-- ..................... Block Elements ...................... -->
+
+<!-- In the HTML 4.0 DTD, heading and list elements were included
+ in the %block; parameter entity. The %Heading.class; and
+ %List.class; parameter entities must now be included explicitly
+ on element declarations where desired.
+-->
+
+<!ENTITY % Heading.class
+ "%h1.qname; | %h2.qname; | %h3.qname;
+ | %h4.qname; | %h5.qname; | %h6.qname;" >
+
+<!ENTITY % List.class "%ul.qname; | %ol.qname; | %dl.qname;" >
+
+<!ENTITY % Table.class "| %table.qname;" >
+
+<!ENTITY % Form.class "| %form.qname;" >
+
+<!ENTITY % Fieldset.class "| %fieldset.qname;" >
+
+<!ENTITY % BlkStruct.class "%p.qname; | %div.qname;" >
+
+<!ENTITY % BlkPhras.class
+ "| %pre.qname; | %blockquote.qname; | %address.qname;" >
+
+<!ENTITY % BlkPres.class "| %hr.qname;" >
+
+<!ENTITY % BlkSpecial.class
+ "%Table.class;
+ %Form.class;
+ %Fieldset.class;"
+>
+
+<!ENTITY % Block.extra "" >
+
+<!-- %Block.class; includes all block elements,
+ used as an component in mixes
+-->
+<!ENTITY % Block.class
+ "%BlkStruct.class;
+ %BlkPhras.class;
+ %BlkPres.class;
+ %BlkSpecial.class;
+ %Block.extra;"
+>
+
+<!-- %Block.mix; includes all block elements plus %Misc.class;
+-->
+<!ENTITY % Block.mix
+ "%Heading.class;
+ | %List.class;
+ | %Block.class;
+ %Misc.class;"
+>
+
+<!-- ................ All Content Elements .................. -->
+
+<!-- %Flow.mix; includes all text content, block and inline
+-->
+<!ENTITY % Flow.mix
+ "%Heading.class;
+ | %List.class;
+ | %Block.class;
+ | %Inline.class;
+ %Misc.class;"
+>
+
+<!-- end of xhtml11-model-1.mod -->
+]]>
+
+<!ENTITY % xhtml-charent.module "INCLUDE" >
+<![%xhtml-charent.module;[
+<!ENTITY % xhtml-charent.mod
+ PUBLIC "-//W3C//ENTITIES XHTML Character Entities 1.0//EN"
+ "xhtml-charent-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Character Entities Module ......................................... -->
+<!-- file: xhtml-charent-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ENTITIES XHTML Character Entities 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-charent-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Character Entities for XHTML
+
+ This module declares the set of character entities for XHTML,
+ including the Latin 1, Symbol and Special character collections.
+-->
+
+<!ENTITY % xhtml-lat1
+ PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ "xhtml-lat1.ent" >
+<!-- ...................................................................... -->
+<!-- XML-compatible ISO Latin 1 Character Entity Set for XHTML ............ -->
+<!-- file: xhtml-lat1.ent
+
+ Typical invocation:
+
+ <!ENTITY % xhtml-lat1
+ PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ "xhtml-lat1.ent" >
+ %xhtml-lat1;
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-lat1.ent"
+
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with conforming
+ SGML systems and applications as defined in ISO 8879, provided
+ this notice is included in all copies.
+-->
+
+<!ENTITY nbsp "&#160;" ><!-- no-break space = non-breaking space, U+00A0 ISOnum -->
+<!ENTITY iexcl "&#161;" ><!-- inverted exclamation mark, U+00A1 ISOnum -->
+<!ENTITY cent "&#162;" ><!-- cent sign, U+00A2 ISOnum -->
+<!ENTITY pound "&#163;" ><!-- pound sign, U+00A3 ISOnum -->
+<!ENTITY curren "&#164;" ><!-- currency sign, U+00A4 ISOnum -->
+<!ENTITY yen "&#165;" ><!-- yen sign = yuan sign, U+00A5 ISOnum -->
+<!ENTITY brvbar "&#166;" ><!-- broken bar = broken vertical bar, U+00A6 ISOnum -->
+<!ENTITY sect "&#167;" ><!-- section sign, U+00A7 ISOnum -->
+<!ENTITY uml "&#168;" ><!-- diaeresis = spacing diaeresis, U+00A8 ISOdia -->
+<!ENTITY copy "&#169;" ><!-- copyright sign, U+00A9 ISOnum -->
+<!ENTITY ordf "&#170;" ><!-- feminine ordinal indicator, U+00AA ISOnum -->
+<!ENTITY laquo "&#171;" ><!-- left-pointing double angle quotation mark = left pointing guillemet, U+00AB ISOnum -->
+<!ENTITY not "&#172;" ><!-- not sign, U+00AC ISOnum -->
+<!ENTITY shy "&#173;" ><!-- soft hyphen = discretionary hyphen, U+00AD ISOnum -->
+<!ENTITY reg "&#174;" ><!-- registered sign = registered trade mark sign, U+00AE ISOnum -->
+<!ENTITY macr "&#175;" ><!-- macron = spacing macron = overline = APL overbar, U+00AF ISOdia -->
+<!ENTITY deg "&#176;" ><!-- degree sign, U+00B0 ISOnum -->
+<!ENTITY plusmn "&#177;" ><!-- plus-minus sign = plus-or-minus sign, U+00B1 ISOnum -->
+<!ENTITY sup2 "&#178;" ><!-- superscript two = superscript digit two = squared, U+00B2 ISOnum -->
+<!ENTITY sup3 "&#179;" ><!-- superscript three = superscript digit three = cubed, U+00B3 ISOnum -->
+<!ENTITY acute "&#180;" ><!-- acute accent = spacing acute, U+00B4 ISOdia -->
+<!ENTITY micro "&#181;" ><!-- micro sign, U+00B5 ISOnum -->
+<!ENTITY para "&#182;" ><!-- pilcrow sign = paragraph sign, U+00B6 ISOnum -->
+<!ENTITY middot "&#183;" ><!-- middle dot = Georgian comma = Greek middle dot, U+00B7 ISOnum -->
+<!ENTITY cedil "&#184;" ><!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
+<!ENTITY sup1 "&#185;" ><!-- superscript one = superscript digit one, U+00B9 ISOnum -->
+<!ENTITY ordm "&#186;" ><!-- masculine ordinal indicator, U+00BA ISOnum -->
+<!ENTITY raquo "&#187;" ><!-- right-pointing double angle quotation mark = right pointing guillemet, U+00BB ISOnum -->
+<!ENTITY frac14 "&#188;" ><!-- vulgar fraction one quarter = fraction one quarter, U+00BC ISOnum -->
+<!ENTITY frac12 "&#189;" ><!-- vulgar fraction one half = fraction one half, U+00BD ISOnum -->
+<!ENTITY frac34 "&#190;" ><!-- vulgar fraction three quarters = fraction three quarters, U+00BE ISOnum -->
+<!ENTITY iquest "&#191;" ><!-- inverted question mark = turned question mark, U+00BF ISOnum -->
+<!ENTITY Agrave "&#192;" ><!-- latin capital A with grave = latin capital A grave, U+00C0 ISOlat1 -->
+<!ENTITY Aacute "&#193;" ><!-- latin capital A with acute, U+00C1 ISOlat1 -->
+<!ENTITY Acirc "&#194;" ><!-- latin capital A with circumflex, U+00C2 ISOlat1 -->
+<!ENTITY Atilde "&#195;" ><!-- latin capital A with tilde, U+00C3 ISOlat1 -->
+<!ENTITY Auml "&#196;" ><!-- latin capital A with diaeresis, U+00C4 ISOlat1 -->
+<!ENTITY Aring "&#197;" ><!-- latin capital A with ring above = latin capital A ring, U+00C5 ISOlat1 -->
+<!ENTITY AElig "&#198;" ><!-- latin capital AE = latin capital ligature AE, U+00C6 ISOlat1 -->
+<!ENTITY Ccedil "&#199;" ><!-- latin capital C with cedilla, U+00C7 ISOlat1 -->
+<!ENTITY Egrave "&#200;" ><!-- latin capital E with grave, U+00C8 ISOlat1 -->
+<!ENTITY Eacute "&#201;" ><!-- latin capital E with acute, U+00C9 ISOlat1 -->
+<!ENTITY Ecirc "&#202;" ><!-- latin capital E with circumflex, U+00CA ISOlat1 -->
+<!ENTITY Euml "&#203;" ><!-- latin capital E with diaeresis, U+00CB ISOlat1 -->
+<!ENTITY Igrave "&#204;" ><!-- latin capital I with grave, U+00CC ISOlat1 -->
+<!ENTITY Iacute "&#205;" ><!-- latin capital I with acute, U+00CD ISOlat1 -->
+<!ENTITY Icirc "&#206;" ><!-- latin capital I with circumflex, U+00CE ISOlat1 -->
+<!ENTITY Iuml "&#207;" ><!-- latin capital I with diaeresis, U+00CF ISOlat1 -->
+<!ENTITY ETH "&#208;" ><!-- latin capital ETH, U+00D0 ISOlat1 -->
+<!ENTITY Ntilde "&#209;" ><!-- latin capital N with tilde, U+00D1 ISOlat1 -->
+<!ENTITY Ograve "&#210;" ><!-- latin capital O with grave, U+00D2 ISOlat1 -->
+<!ENTITY Oacute "&#211;" ><!-- latin capital O with acute, U+00D3 ISOlat1 -->
+<!ENTITY Ocirc "&#212;" ><!-- latin capital O with circumflex, U+00D4 ISOlat1 -->
+<!ENTITY Otilde "&#213;" ><!-- latin capital O with tilde, U+00D5 ISOlat1 -->
+<!ENTITY Ouml "&#214;" ><!-- latin capital O with diaeresis, U+00D6 ISOlat1 -->
+<!ENTITY times "&#215;" ><!-- multiplication sign, U+00D7 ISOnum -->
+<!ENTITY Oslash "&#216;" ><!-- latin capital O with stroke = latin capital O slash, U+00D8 ISOlat1 -->
+<!ENTITY Ugrave "&#217;" ><!-- latin capital U with grave, U+00D9 ISOlat1 -->
+<!ENTITY Uacute "&#218;" ><!-- latin capital U with acute, U+00DA ISOlat1 -->
+<!ENTITY Ucirc "&#219;" ><!-- latin capital U with circumflex, U+00DB ISOlat1 -->
+<!ENTITY Uuml "&#220;" ><!-- latin capital U with diaeresis, U+00DC ISOlat1 -->
+<!ENTITY Yacute "&#221;" ><!-- latin capital Y with acute, U+00DD ISOlat1 -->
+<!ENTITY THORN "&#222;" ><!-- latin capital THORN, U+00DE ISOlat1 -->
+<!ENTITY szlig "&#223;" ><!-- latin small sharp s = ess-zed, U+00DF ISOlat1 -->
+<!ENTITY agrave "&#224;" ><!-- latin small a with grave = latin small a grave, U+00E0 ISOlat1 -->
+<!ENTITY aacute "&#225;" ><!-- latin small a with acute, U+00E1 ISOlat1 -->
+<!ENTITY acirc "&#226;" ><!-- latin small a with circumflex, U+00E2 ISOlat1 -->
+<!ENTITY atilde "&#227;" ><!-- latin small a with tilde, U+00E3 ISOlat1 -->
+<!ENTITY auml "&#228;" ><!-- latin small a with diaeresis, U+00E4 ISOlat1 -->
+<!ENTITY aring "&#229;" ><!-- latin small a with ring above = latin small a ring, U+00E5 ISOlat1 -->
+<!ENTITY aelig "&#230;" ><!-- latin small ae = latin small ligature ae, U+00E6 ISOlat1 -->
+<!ENTITY ccedil "&#231;" ><!-- latin small c with cedilla, U+00E7 ISOlat1 -->
+<!ENTITY egrave "&#232;" ><!-- latin small e with grave, U+00E8 ISOlat1 -->
+<!ENTITY eacute "&#233;" ><!-- latin small e with acute, U+00E9 ISOlat1 -->
+<!ENTITY ecirc "&#234;" ><!-- latin small e with circumflex, U+00EA ISOlat1 -->
+<!ENTITY euml "&#235;" ><!-- latin small e with diaeresis, U+00EB ISOlat1 -->
+<!ENTITY igrave "&#236;" ><!-- latin small i with grave, U+00EC ISOlat1 -->
+<!ENTITY iacute "&#237;" ><!-- latin small i with acute, U+00ED ISOlat1 -->
+<!ENTITY icirc "&#238;" ><!-- latin small i with circumflex, U+00EE ISOlat1 -->
+<!ENTITY iuml "&#239;" ><!-- latin small i with diaeresis, U+00EF ISOlat1 -->
+<!ENTITY eth "&#240;" ><!-- latin small eth, U+00F0 ISOlat1 -->
+<!ENTITY ntilde "&#241;" ><!-- latin small n with tilde, U+00F1 ISOlat1 -->
+<!ENTITY ograve "&#242;" ><!-- latin small o with grave, U+00F2 ISOlat1 -->
+<!ENTITY oacute "&#243;" ><!-- latin small o with acute, U+00F3 ISOlat1 -->
+<!ENTITY ocirc "&#244;" ><!-- latin small o with circumflex, U+00F4 ISOlat1 -->
+<!ENTITY otilde "&#245;" ><!-- latin small o with tilde, U+00F5 ISOlat1 -->
+<!ENTITY ouml "&#246;" ><!-- latin small o with diaeresis, U+00F6 ISOlat1 -->
+<!ENTITY divide "&#247;" ><!-- division sign, U+00F7 ISOnum -->
+<!ENTITY oslash "&#248;" ><!-- latin small o with stroke, = latin small o slash, U+00F8 ISOlat1 -->
+<!ENTITY ugrave "&#249;" ><!-- latin small u with grave, U+00F9 ISOlat1 -->
+<!ENTITY uacute "&#250;" ><!-- latin small u with acute, U+00FA ISOlat1 -->
+<!ENTITY ucirc "&#251;" ><!-- latin small u with circumflex, U+00FB ISOlat1 -->
+<!ENTITY uuml "&#252;" ><!-- latin small u with diaeresis, U+00FC ISOlat1 -->
+<!ENTITY yacute "&#253;" ><!-- latin small y with acute, U+00FD ISOlat1 -->
+<!ENTITY thorn "&#254;" ><!-- latin small thorn with, U+00FE ISOlat1 -->
+<!ENTITY yuml "&#255;" ><!-- latin small y with diaeresis, U+00FF ISOlat1 -->
+<!-- end of xhtml-lat1.ent -->
+
+
+<!ENTITY % xhtml-symbol
+ PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
+ "xhtml-symbol.ent" >
+<!-- ...................................................................... -->
+<!-- ISO Math, Greek and Symbolic Character Entity Set for XHTML .......... -->
+<!-- file: xhtml-symbol.ent
+
+ Typical invocation:
+
+ <!ENTITY % xhtml-symbol
+ PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
+ "xhtml-symbol.ent" >
+ %xhtml-symbol;
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-symbol.ent"
+
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with conforming
+ SGML systems and applications as defined in ISO 8879, provided
+ this notice is included in all copies.
+-->
+
+<!-- Relevant ISO entity set is given unless names are newly introduced.
+ New names (i.e., not in ISO 8879 [SGML] list) do not clash with
+ any existing ISO 8879 entity names. ISO 10646 [ISO10646] character
+ numbers are given for each character, in hex. Entity values are
+ decimal conversions of the ISO 10646 values and refer to the
+ document character set. Names are Unicode [UNICODE] names.
+-->
+
+<!-- Latin Extended-B -->
+<!ENTITY fnof "&#402;" ><!-- latin small f with hook = function
+ = florin, U+0192 ISOtech -->
+
+<!-- Greek -->
+<!ENTITY Alpha "&#913;" ><!-- greek capital letter alpha, U+0391 -->
+<!ENTITY Beta "&#914;" ><!-- greek capital letter beta, U+0392 -->
+<!ENTITY Gamma "&#915;" ><!-- greek capital letter gamma, U+0393 ISOgrk3 -->
+<!ENTITY Delta "&#916;" ><!-- greek capital letter delta, U+0394 ISOgrk3 -->
+<!ENTITY Epsilon "&#917;" ><!-- greek capital letter epsilon, U+0395 -->
+<!ENTITY Zeta "&#918;" ><!-- greek capital letter zeta, U+0396 -->
+<!ENTITY Eta "&#919;" ><!-- greek capital letter eta, U+0397 -->
+<!ENTITY Theta "&#920;" ><!-- greek capital letter theta, U+0398 ISOgrk3 -->
+<!ENTITY Iota "&#921;" ><!-- greek capital letter iota, U+0399 -->
+<!ENTITY Kappa "&#922;" ><!-- greek capital letter kappa, U+039A -->
+<!ENTITY Lambda "&#923;" ><!-- greek capital letter lambda, U+039B ISOgrk3 -->
+<!ENTITY Mu "&#924;" ><!-- greek capital letter mu, U+039C -->
+<!ENTITY Nu "&#925;" ><!-- greek capital letter nu, U+039D -->
+<!ENTITY Xi "&#926;" ><!-- greek capital letter xi, U+039E ISOgrk3 -->
+<!ENTITY Omicron "&#927;" ><!-- greek capital letter omicron, U+039F -->
+<!ENTITY Pi "&#928;" ><!-- greek capital letter pi, U+03A0 ISOgrk3 -->
+<!ENTITY Rho "&#929;" ><!-- greek capital letter rho, U+03A1 -->
+<!-- there is no Sigmaf, and no U+03A2 character either -->
+<!ENTITY Sigma "&#931;" ><!-- greek capital letter sigma, U+03A3 ISOgrk3 -->
+<!ENTITY Tau "&#932;" ><!-- greek capital letter tau, U+03A4 -->
+<!ENTITY Upsilon "&#933;" ><!-- greek capital letter upsilon,
+ U+03A5 ISOgrk3 -->
+<!ENTITY Phi "&#934;" ><!-- greek capital letter phi, U+03A6 ISOgrk3 -->
+<!ENTITY Chi "&#935;" ><!-- greek capital letter chi, U+03A7 -->
+<!ENTITY Psi "&#936;" ><!-- greek capital letter psi, U+03A8 ISOgrk3 -->
+<!ENTITY Omega "&#937;" ><!-- greek capital letter omega, U+03A9 ISOgrk3 -->
+<!ENTITY alpha "&#945;" ><!-- greek small letter alpha, U+03B1 ISOgrk3 -->
+<!ENTITY beta "&#946;" ><!-- greek small letter beta, U+03B2 ISOgrk3 -->
+<!ENTITY gamma "&#947;" ><!-- greek small letter gamma, U+03B3 ISOgrk3 -->
+<!ENTITY delta "&#948;" ><!-- greek small letter delta, U+03B4 ISOgrk3 -->
+<!ENTITY epsilon "&#949;" ><!-- greek small letter epsilon, U+03B5 ISOgrk3 -->
+<!ENTITY zeta "&#950;" ><!-- greek small letter zeta, U+03B6 ISOgrk3 -->
+<!ENTITY eta "&#951;" ><!-- greek small letter eta, U+03B7 ISOgrk3 -->
+<!ENTITY theta "&#952;" ><!-- greek small letter theta, U+03B8 ISOgrk3 -->
+<!ENTITY iota "&#953;" ><!-- greek small letter iota, U+03B9 ISOgrk3 -->
+<!ENTITY kappa "&#954;" ><!-- greek small letter kappa, U+03BA ISOgrk3 -->
+<!ENTITY lambda "&#955;" ><!-- greek small letter lambda, U+03BB ISOgrk3 -->
+<!ENTITY mu "&#956;" ><!-- greek small letter mu, U+03BC ISOgrk3 -->
+<!ENTITY nu "&#957;" ><!-- greek small letter nu, U+03BD ISOgrk3 -->
+<!ENTITY xi "&#958;" ><!-- greek small letter xi, U+03BE ISOgrk3 -->
+<!ENTITY omicron "&#959;" ><!-- greek small letter omicron, U+03BF NEW -->
+<!ENTITY pi "&#960;" ><!-- greek small letter pi, U+03C0 ISOgrk3 -->
+<!ENTITY rho "&#961;" ><!-- greek small letter rho, U+03C1 ISOgrk3 -->
+<!ENTITY sigmaf "&#962;" ><!-- greek small letter final sigma, U+03C2 ISOgrk3 -->
+<!ENTITY sigma "&#963;" ><!-- greek small letter sigma, U+03C3 ISOgrk3 -->
+<!ENTITY tau "&#964;" ><!-- greek small letter tau, U+03C4 ISOgrk3 -->
+<!ENTITY upsilon "&#965;" ><!-- greek small letter upsilon, U+03C5 ISOgrk3 -->
+<!ENTITY phi "&#966;" ><!-- greek small letter phi, U+03C6 ISOgrk3 -->
+<!ENTITY chi "&#967;" ><!-- greek small letter chi, U+03C7 ISOgrk3 -->
+<!ENTITY psi "&#968;" ><!-- greek small letter psi, U+03C8 ISOgrk3 -->
+<!ENTITY omega "&#969;" ><!-- greek small letter omega, U+03C9 ISOgrk3 -->
+<!ENTITY thetasym "&#977;" ><!-- greek small letter theta symbol, U+03D1 NEW -->
+<!ENTITY upsih "&#978;" ><!-- greek upsilon with hook symbol, U+03D2 NEW -->
+<!ENTITY piv "&#982;" ><!-- greek pi symbol, U+03D6 ISOgrk3 -->
+
+<!-- General Punctuation -->
+<!ENTITY bull "&#8226;" ><!-- bullet = black small circle, U+2022 ISOpub -->
+<!-- bullet is NOT the same as bullet operator, U+2219 -->
+<!ENTITY hellip "&#8230;" ><!-- horizontal ellipsis = three dot leader, U+2026 ISOpub -->
+<!ENTITY prime "&#8242;" ><!-- prime = minutes = feet, U+2032 ISOtech -->
+<!ENTITY Prime "&#8243;" ><!-- double prime = seconds = inches, U+2033 ISOtech -->
+<!ENTITY oline "&#8254;" ><!-- overline = spacing overscore, U+203E NEW -->
+<!ENTITY frasl "&#8260;" ><!-- fraction slash, U+2044 NEW -->
+
+<!-- Letterlike Symbols -->
+<!ENTITY weierp "&#8472;" ><!-- script capital P = power set = Weierstrass p, U+2118 ISOamso -->
+<!ENTITY image "&#8465;" ><!-- blackletter capital I = imaginary part, U+2111 ISOamso -->
+<!ENTITY real "&#8476;" ><!-- blackletter capital R = real part symbol, U+211C ISOamso -->
+<!ENTITY trade "&#8482;" ><!-- trade mark sign, U+2122 ISOnum -->
+<!ENTITY alefsym "&#8501;" ><!-- alef symbol = first transfinite cardinal, U+2135 NEW -->
+<!-- alef symbol is NOT the same as hebrew letter alef, U+05D0 although
+ the same glyph could be used to depict both characters -->
+
+<!-- Arrows -->
+<!ENTITY larr "&#8592;" ><!-- leftwards arrow, U+2190 ISOnum -->
+<!ENTITY uarr "&#8593;" ><!-- upwards arrow, U+2191 ISOnum-->
+<!ENTITY rarr "&#8594;" ><!-- rightwards arrow, U+2192 ISOnum -->
+<!ENTITY darr "&#8595;" ><!-- downwards arrow, U+2193 ISOnum -->
+<!ENTITY harr "&#8596;" ><!-- left right arrow, U+2194 ISOamsa -->
+<!ENTITY crarr "&#8629;" ><!-- downwards arrow with corner leftwards
+ = carriage return, U+21B5 NEW -->
+<!ENTITY lArr "&#8656;" ><!-- leftwards double arrow, U+21D0 ISOtech -->
+<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
+ but also does not have any other character for that function. So ? lArr can
+ be used for 'is implied by' as ISOtech suggests -->
+<!ENTITY uArr "&#8657;" ><!-- upwards double arrow, U+21D1 ISOamsa -->
+<!ENTITY rArr "&#8658;" ><!-- rightwards double arrow, U+21D2 ISOtech -->
+<!-- Unicode does not say this is the 'implies' character but does not have
+ another character with this function so ?
+ rArr can be used for 'implies' as ISOtech suggests -->
+<!ENTITY dArr "&#8659;" ><!-- downwards double arrow, U+21D3 ISOamsa -->
+<!ENTITY hArr "&#8660;" ><!-- left right double arrow, U+21D4 ISOamsa -->
+
+<!-- Mathematical Operators -->
+<!ENTITY forall "&#8704;" ><!-- for all, U+2200 ISOtech -->
+<!ENTITY part "&#8706;" ><!-- partial differential, U+2202 ISOtech -->
+<!ENTITY exist "&#8707;" ><!-- there exists, U+2203 ISOtech -->
+<!ENTITY empty "&#8709;" ><!-- empty set = null set = diameter, U+2205 ISOamso -->
+<!ENTITY nabla "&#8711;" ><!-- nabla = backward difference, U+2207 ISOtech -->
+<!ENTITY isin "&#8712;" ><!-- element of, U+2208 ISOtech -->
+<!ENTITY notin "&#8713;" ><!-- not an element of, U+2209 ISOtech -->
+<!ENTITY ni "&#8715;" ><!-- contains as member, U+220B ISOtech -->
+<!-- should there be a more memorable name than 'ni'? -->
+<!ENTITY prod "&#8719;" ><!-- n-ary product = product sign, U+220F ISOamsb -->
+<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
+ the same glyph might be used for both -->
+<!ENTITY sum "&#8721;" ><!-- n-ary sumation, U+2211 ISOamsb -->
+<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
+ though the same glyph might be used for both -->
+<!ENTITY minus "&#8722;" ><!-- minus sign, U+2212 ISOtech -->
+<!ENTITY lowast "&#8727;" ><!-- asterisk operator, U+2217 ISOtech -->
+<!ENTITY radic "&#8730;" ><!-- square root = radical sign, U+221A ISOtech -->
+<!ENTITY prop "&#8733;" ><!-- proportional to, U+221D ISOtech -->
+<!ENTITY infin "&#8734;" ><!-- infinity, U+221E ISOtech -->
+<!ENTITY ang "&#8736;" ><!-- angle, U+2220 ISOamso -->
+<!ENTITY and "&#8743;" ><!-- logical and = wedge, U+2227 ISOtech -->
+<!ENTITY or "&#8744;" ><!-- logical or = vee, U+2228 ISOtech -->
+<!ENTITY cap "&#8745;" ><!-- intersection = cap, U+2229 ISOtech -->
+<!ENTITY cup "&#8746;" ><!-- union = cup, U+222A ISOtech -->
+<!ENTITY int "&#8747;" ><!-- integral, U+222B ISOtech -->
+<!ENTITY there4 "&#8756;" ><!-- therefore, U+2234 ISOtech -->
+<!ENTITY sim "&#8764;" ><!-- tilde operator = varies with = similar to, U+223C ISOtech -->
+<!-- tilde operator is NOT the same character as the tilde, U+007E,
+ although the same glyph might be used to represent both -->
+<!ENTITY cong "&#8773;" ><!-- approximately equal to, U+2245 ISOtech -->
+<!ENTITY asymp "&#8776;" ><!-- almost equal to = asymptotic to, U+2248 ISOamsr -->
+<!ENTITY ne "&#8800;" ><!-- not equal to, U+2260 ISOtech -->
+<!ENTITY equiv "&#8801;" ><!-- identical to, U+2261 ISOtech -->
+<!ENTITY le "&#8804;" ><!-- less-than or equal to, U+2264 ISOtech -->
+<!ENTITY ge "&#8805;" ><!-- greater-than or equal to, U+2265 ISOtech -->
+<!ENTITY sub "&#8834;" ><!-- subset of, U+2282 ISOtech -->
+<!ENTITY sup "&#8835;" ><!-- superset of, U+2283 ISOtech -->
+<!-- note that nsup, 'not a superset of, U+2283' is not covered by the Symbol
+ font encoding and is not included. Should it be, for symmetry?
+ It is in ISOamsn -->
+<!ENTITY nsub "&#8836;" ><!-- not a subset of, U+2284 ISOamsn -->
+<!ENTITY sube "&#8838;" ><!-- subset of or equal to, U+2286 ISOtech -->
+<!ENTITY supe "&#8839;" ><!-- superset of or equal to, U+2287 ISOtech -->
+<!ENTITY oplus "&#8853;" ><!-- circled plus = direct sum, U+2295 ISOamsb -->
+<!ENTITY otimes "&#8855;" ><!-- circled times = vector product, U+2297 ISOamsb -->
+<!ENTITY perp "&#8869;" ><!-- up tack = orthogonal to = perpendicular, U+22A5 ISOtech -->
+<!ENTITY sdot "&#8901;" ><!-- dot operator, U+22C5 ISOamsb -->
+<!-- dot operator is NOT the same character as U+00B7 middle dot -->
+
+<!-- Miscellaneous Technical -->
+<!ENTITY lceil "&#8968;" ><!-- left ceiling = apl upstile, U+2308 ISOamsc -->
+<!ENTITY rceil "&#8969;" ><!-- right ceiling, U+2309 ISOamsc -->
+<!ENTITY lfloor "&#8970;" ><!-- left floor = apl downstile, U+230A ISOamsc -->
+<!ENTITY rfloor "&#8971;" ><!-- right floor, U+230B ISOamsc -->
+<!ENTITY lang "&#9001;" ><!-- left-pointing angle bracket = bra, U+2329 ISOtech -->
+<!-- lang is NOT the same character as U+003C 'less than'
+ or U+2039 'single left-pointing angle quotation mark' -->
+<!ENTITY rang "&#9002;" ><!-- right-pointing angle bracket = ket, U+232A ISOtech -->
+<!-- rang is NOT the same character as U+003E 'greater than'
+ or U+203A 'single right-pointing angle quotation mark' -->
+
+<!-- Geometric Shapes -->
+<!ENTITY loz "&#9674;" ><!-- lozenge, U+25CA ISOpub -->
+
+<!-- Miscellaneous Symbols -->
+<!ENTITY spades "&#9824;" ><!-- black spade suit, U+2660 ISOpub -->
+<!-- black here seems to mean filled as opposed to hollow -->
+<!ENTITY clubs "&#9827;" ><!-- black club suit = shamrock, U+2663 ISOpub -->
+<!ENTITY hearts "&#9829;" ><!-- black heart suit = valentine, U+2665 ISOpub -->
+<!ENTITY diams "&#9830;" ><!-- black diamond suit, U+2666 ISOpub -->
+
+<!-- end of xhtml-symbol.ent -->
+
+
+<!ENTITY % xhtml-special
+ PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
+ "xhtml-special.ent" >
+<!-- ...................................................................... -->
+<!-- XML-compatible ISO Special Character Entity Set for XHTML ............ -->
+<!-- file: xhtml-special.ent
+
+ Typical invocation:
+
+ <!ENTITY % xhtml-special
+ PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
+ "xhtml-special.ent" >
+ %xhtml-special;
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ENTITIES Special for XHTML//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-special.ent"
+
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with conforming
+ SGML systems and applications as defined in ISO 8879, provided
+ this notice is included in all copies.
+
+ Revisions:
+2000-10-28: added &apos; and altered XML Predefined Entities for compatibility
+-->
+
+<!-- Relevant ISO entity set is given unless names are newly introduced.
+ New names (i.e., not in ISO 8879 [SGML] list) do not clash with
+ any existing ISO 8879 entity names. ISO 10646 [ISO10646] character
+ numbers are given for each character, in hex. Entity values are
+ decimal conversions of the ISO 10646 values and refer to the
+ document character set. Names are Unicode [UNICODE] names.
+-->
+
+<!-- C0 Controls and Basic Latin -->
+<!ENTITY lt "&#38;#60;" ><!-- less-than sign, U+003C ISOnum -->
+<!ENTITY gt "&#62;" ><!-- greater-than sign, U+003E ISOnum -->
+<!ENTITY amp "&#38;#38;" ><!-- ampersand, U+0026 ISOnum -->
+<!ENTITY apos "&#39;" ><!-- apostrophe, U+0027 ISOnum -->
+<!ENTITY quot "&#34;" ><!-- quotation mark = APL quote, U+0022 ISOnum -->
+
+<!-- Latin Extended-A -->
+<!ENTITY OElig "&#338;" ><!-- latin capital ligature OE, U+0152 ISOlat2 -->
+<!ENTITY oelig "&#339;" ><!-- latin small ligature oe, U+0153 ISOlat2 -->
+
+<!-- ligature is a misnomer, this is a separate character in some languages -->
+<!ENTITY Scaron "&#352;" ><!-- latin capital letter S with caron, U+0160 ISOlat2 -->
+<!ENTITY scaron "&#353;" ><!-- latin small letter s with caron, U+0161 ISOlat2 -->
+<!ENTITY Yuml "&#376;" ><!-- latin capital letter Y with diaeresis, U+0178 ISOlat2 -->
+
+<!-- Spacing Modifier Letters -->
+<!ENTITY circ "&#710;" ><!-- modifier letter circumflex accent, U+02C6 ISOpub -->
+<!ENTITY tilde "&#732;" ><!-- small tilde, U+02DC ISOdia -->
+
+<!-- General Punctuation -->
+<!ENTITY ensp "&#8194;" ><!-- en space, U+2002 ISOpub -->
+<!ENTITY emsp "&#8195;" ><!-- em space, U+2003 ISOpub -->
+<!ENTITY thinsp "&#8201;" ><!-- thin space, U+2009 ISOpub -->
+<!ENTITY zwnj "&#8204;" ><!-- zero width non-joiner, U+200C NEW RFC 2070 -->
+<!ENTITY zwj "&#8205;" ><!-- zero width joiner, U+200D NEW RFC 2070 -->
+<!ENTITY lrm "&#8206;" ><!-- left-to-right mark, U+200E NEW RFC 2070 -->
+<!ENTITY rlm "&#8207;" ><!-- right-to-left mark, U+200F NEW RFC 2070 -->
+<!ENTITY ndash "&#8211;" ><!-- en dash, U+2013 ISOpub -->
+<!ENTITY mdash "&#8212;" ><!-- em dash, U+2014 ISOpub -->
+<!ENTITY lsquo "&#8216;" ><!-- left single quotation mark, U+2018 ISOnum -->
+<!ENTITY rsquo "&#8217;" ><!-- right single quotation mark, U+2019 ISOnum -->
+<!ENTITY sbquo "&#8218;" ><!-- single low-9 quotation mark, U+201A NEW -->
+<!ENTITY ldquo "&#8220;" ><!-- left double quotation mark, U+201C ISOnum -->
+<!ENTITY rdquo "&#8221;" ><!-- right double quotation mark, U+201D ISOnum -->
+<!ENTITY bdquo "&#8222;" ><!-- double low-9 quotation mark, U+201E NEW -->
+<!ENTITY dagger "&#8224;" ><!-- dagger, U+2020 ISOpub -->
+<!ENTITY Dagger "&#8225;" ><!-- double dagger, U+2021 ISOpub -->
+<!ENTITY permil "&#8240;" ><!-- per mille sign, U+2030 ISOtech -->
+
+<!-- lsaquo is proposed but not yet ISO standardized -->
+<!ENTITY lsaquo "&#8249;" ><!-- single left-pointing angle quotation mark, U+2039 ISO proposed -->
+<!-- rsaquo is proposed but not yet ISO standardized -->
+<!ENTITY rsaquo "&#8250;" ><!-- single right-pointing angle quotation mark, U+203A ISO proposed -->
+<!ENTITY euro "&#8364;" ><!-- euro sign, U+20AC NEW -->
+
+<!-- end of xhtml-special.ent -->
+
+
+<!-- end of xhtml-charent-1.mod -->
+]]>
+
+<!-- end of xhtml-framework-1.mod -->
+]]>
+
+<!-- Post-Framework Redeclaration placeholder ................... -->
+<!-- this serves as a location to insert markup declarations
+ into the DTD following the framework declarations.
+-->
+<!ENTITY % xhtml-postfw-redecl.module "IGNORE" >
+<![%xhtml-postfw-redecl.module;[
+%xhtml-postfw-redecl.mod;
+<!-- end of xhtml-postfw-redecl.module -->]]>
+
+<!-- Text Module (Required) ..................................... -->
+<!ENTITY % xhtml-text.module "INCLUDE" >
+<![%xhtml-text.module;[
+<!ENTITY % xhtml-text.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-text-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Text Module ................................................... -->
+<!-- file: xhtml-text-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-text-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Textual Content
+
+ The Text module includes declarations for all core
+ text container elements and their attributes.
+-->
+
+<!ENTITY % xhtml-inlstruct.module "INCLUDE" >
+<![%xhtml-inlstruct.module;[
+<!ENTITY % xhtml-inlstruct.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Inline Structural 1.0//EN"
+ "xhtml-inlstruct-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Inline Structural Module ...................................... -->
+<!-- file: xhtml-inlstruct-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Inline Structural 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlstruct-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Inline Structural
+
+ br, span
+
+ This module declares the elements and their attributes
+ used to support inline-level structural markup.
+-->
+
+<!-- br: forced line break ............................. -->
+
+<!ENTITY % br.element "INCLUDE" >
+<![%br.element;[
+
+<!ENTITY % br.content "EMPTY" >
+<!ENTITY % br.qname "br" >
+<!ELEMENT %br.qname; %br.content; >
+
+<!-- end of br.element -->]]>
+
+<!ENTITY % br.attlist "INCLUDE" >
+<![%br.attlist;[
+<!ATTLIST %br.qname;
+ %Core.attrib;
+>
+<!-- end of br.attlist -->]]>
+
+<!-- span: generic inline container .................... -->
+
+<!ENTITY % span.element "INCLUDE" >
+<![%span.element;[
+<!ENTITY % span.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % span.qname "span" >
+<!ELEMENT %span.qname; %span.content; >
+<!-- end of span.element -->]]>
+
+<!ENTITY % span.attlist "INCLUDE" >
+<![%span.attlist;[
+<!ATTLIST %span.qname;
+ %Common.attrib;
+>
+<!-- end of span.attlist -->]]>
+
+<!-- end of xhtml-inlstruct-1.mod -->
+]]>
+
+<!ENTITY % xhtml-inlphras.module "INCLUDE" >
+<![%xhtml-inlphras.module;[
+<!ENTITY % xhtml-inlphras.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Inline Phrasal 1.0//EN"
+ "xhtml-inlphras-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Inline Phrasal Module ......................................... -->
+<!-- file: xhtml-inlphras-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Inline Phrasal 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlphras-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Inline Phrasal
+
+ abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var
+
+ This module declares the elements and their attributes used to
+ support inline-level phrasal markup.
+-->
+
+<!ENTITY % abbr.element "INCLUDE" >
+<![%abbr.element;[
+<!ENTITY % abbr.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % abbr.qname "abbr" >
+<!ELEMENT %abbr.qname; %abbr.content; >
+<!-- end of abbr.element -->]]>
+
+<!ENTITY % abbr.attlist "INCLUDE" >
+<![%abbr.attlist;[
+<!ATTLIST %abbr.qname;
+ %Common.attrib;
+>
+<!-- end of abbr.attlist -->]]>
+
+<!ENTITY % acronym.element "INCLUDE" >
+<![%acronym.element;[
+<!ENTITY % acronym.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % acronym.qname "acronym" >
+<!ELEMENT %acronym.qname; %acronym.content; >
+<!-- end of acronym.element -->]]>
+
+<!ENTITY % acronym.attlist "INCLUDE" >
+<![%acronym.attlist;[
+<!ATTLIST %acronym.qname;
+ %Common.attrib;
+>
+<!-- end of acronym.attlist -->]]>
+
+<!ENTITY % cite.element "INCLUDE" >
+<![%cite.element;[
+<!ENTITY % cite.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % cite.qname "cite" >
+<!ELEMENT %cite.qname; %cite.content; >
+<!-- end of cite.element -->]]>
+
+<!ENTITY % cite.attlist "INCLUDE" >
+<![%cite.attlist;[
+<!ATTLIST %cite.qname;
+ %Common.attrib;
+>
+<!-- end of cite.attlist -->]]>
+
+<!ENTITY % code.element "INCLUDE" >
+<![%code.element;[
+<!ENTITY % code.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % code.qname "code" >
+<!ELEMENT %code.qname; %code.content; >
+<!-- end of code.element -->]]>
+
+<!ENTITY % code.attlist "INCLUDE" >
+<![%code.attlist;[
+<!ATTLIST %code.qname;
+ %Common.attrib;
+>
+<!-- end of code.attlist -->]]>
+
+<!ENTITY % dfn.element "INCLUDE" >
+<![%dfn.element;[
+<!ENTITY % dfn.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % dfn.qname "dfn" >
+<!ELEMENT %dfn.qname; %dfn.content; >
+<!-- end of dfn.element -->]]>
+
+<!ENTITY % dfn.attlist "INCLUDE" >
+<![%dfn.attlist;[
+<!ATTLIST %dfn.qname;
+ %Common.attrib;
+>
+<!-- end of dfn.attlist -->]]>
+
+<!ENTITY % em.element "INCLUDE" >
+<![%em.element;[
+<!ENTITY % em.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % em.qname "em" >
+<!ELEMENT %em.qname; %em.content; >
+<!-- end of em.element -->]]>
+
+<!ENTITY % em.attlist "INCLUDE" >
+<![%em.attlist;[
+<!ATTLIST %em.qname;
+ %Common.attrib;
+>
+<!-- end of em.attlist -->]]>
+
+<!ENTITY % kbd.element "INCLUDE" >
+<![%kbd.element;[
+<!ENTITY % kbd.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % kbd.qname "kbd" >
+<!ELEMENT %kbd.qname; %kbd.content; >
+<!-- end of kbd.element -->]]>
+
+<!ENTITY % kbd.attlist "INCLUDE" >
+<![%kbd.attlist;[
+<!ATTLIST %kbd.qname;
+ %Common.attrib;
+>
+<!-- end of kbd.attlist -->]]>
+
+<!ENTITY % q.element "INCLUDE" >
+<![%q.element;[
+<!ENTITY % q.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % q.qname "q" >
+<!ELEMENT %q.qname; %q.content; >
+<!-- end of q.element -->]]>
+
+<!ENTITY % q.attlist "INCLUDE" >
+<![%q.attlist;[
+<!ATTLIST %q.qname;
+ %Common.attrib;
+ cite %URI.datatype; #IMPLIED
+>
+<!-- end of q.attlist -->]]>
+
+<!ENTITY % samp.element "INCLUDE" >
+<![%samp.element;[
+<!ENTITY % samp.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % samp.qname "samp" >
+<!ELEMENT %samp.qname; %samp.content; >
+<!-- end of samp.element -->]]>
+
+<!ENTITY % samp.attlist "INCLUDE" >
+<![%samp.attlist;[
+<!ATTLIST %samp.qname;
+ %Common.attrib;
+>
+<!-- end of samp.attlist -->]]>
+
+<!ENTITY % strong.element "INCLUDE" >
+<![%strong.element;[
+<!ENTITY % strong.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % strong.qname "strong" >
+<!ELEMENT %strong.qname; %strong.content; >
+<!-- end of strong.element -->]]>
+
+<!ENTITY % strong.attlist "INCLUDE" >
+<![%strong.attlist;[
+<!ATTLIST %strong.qname;
+ %Common.attrib;
+>
+<!-- end of strong.attlist -->]]>
+
+<!ENTITY % var.element "INCLUDE" >
+<![%var.element;[
+<!ENTITY % var.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % var.qname "var" >
+<!ELEMENT %var.qname; %var.content; >
+<!-- end of var.element -->]]>
+
+<!ENTITY % var.attlist "INCLUDE" >
+<![%var.attlist;[
+<!ATTLIST %var.qname;
+ %Common.attrib;
+>
+<!-- end of var.attlist -->]]>
+
+<!-- end of xhtml-inlphras-1.mod -->
+]]>
+
+<!ENTITY % xhtml-blkstruct.module "INCLUDE" >
+<![%xhtml-blkstruct.module;[
+<!ENTITY % xhtml-blkstruct.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Block Structural 1.0//EN"
+ "xhtml-blkstruct-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Block Structural Module ....................................... -->
+<!-- file: xhtml-blkstruct-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Block Structural 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-blkstruct-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Block Structural
+
+ div, p
+
+ This module declares the elements and their attributes used to
+ support block-level structural markup.
+-->
+
+<!ENTITY % div.element "INCLUDE" >
+<![%div.element;[
+<!ENTITY % div.content
+ "( #PCDATA | %Flow.mix; )*"
+>
+<!ENTITY % div.qname "div" >
+<!ELEMENT %div.qname; %div.content; >
+<!-- end of div.element -->]]>
+
+<!ENTITY % div.attlist "INCLUDE" >
+<![%div.attlist;[
+<!ATTLIST %div.qname;
+ %Common.attrib;
+>
+<!-- end of div.attlist -->]]>
+
+<!ENTITY % p.element "INCLUDE" >
+<![%p.element;[
+<!ENTITY % p.content
+ "( #PCDATA | %Inline.mix; )*" >
+<!ENTITY % p.qname "p" >
+<!ELEMENT %p.qname; %p.content; >
+<!-- end of p.element -->]]>
+
+<!ENTITY % p.attlist "INCLUDE" >
+<![%p.attlist;[
+<!ATTLIST %p.qname;
+ %Common.attrib;
+>
+<!-- end of p.attlist -->]]>
+
+<!-- end of xhtml-blkstruct-1.mod -->
+]]>
+
+<!ENTITY % xhtml-blkphras.module "INCLUDE" >
+<![%xhtml-blkphras.module;[
+<!ENTITY % xhtml-blkphras.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Block Phrasal 1.0//EN"
+ "xhtml-blkphras-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Block Phrasal Module .......................................... -->
+<!-- file: xhtml-blkphras-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Block Phrasal 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-blkphras-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Block Phrasal
+
+ address, blockquote, pre, h1, h2, h3, h4, h5, h6
+
+ This module declares the elements and their attributes used to
+ support block-level phrasal markup.
+-->
+
+<!ENTITY % address.element "INCLUDE" >
+<![%address.element;[
+<!ENTITY % address.content
+ "( #PCDATA | %Inline.mix; )*" >
+<!ENTITY % address.qname "address" >
+<!ELEMENT %address.qname; %address.content; >
+<!-- end of address.element -->]]>
+
+<!ENTITY % address.attlist "INCLUDE" >
+<![%address.attlist;[
+<!ATTLIST %address.qname;
+ %Common.attrib;
+>
+<!-- end of address.attlist -->]]>
+
+<!ENTITY % blockquote.element "INCLUDE" >
+<![%blockquote.element;[
+<!ENTITY % blockquote.content
+ "( %Block.mix; )+"
+>
+<!ENTITY % blockquote.qname "blockquote" >
+<!ELEMENT %blockquote.qname; %blockquote.content; >
+<!-- end of blockquote.element -->]]>
+
+<!ENTITY % blockquote.attlist "INCLUDE" >
+<![%blockquote.attlist;[
+<!ATTLIST %blockquote.qname;
+ %Common.attrib;
+ cite %URI.datatype; #IMPLIED
+>
+<!-- end of blockquote.attlist -->]]>
+
+<!ENTITY % pre.element "INCLUDE" >
+<![%pre.element;[
+<!ENTITY % pre.content
+ "( #PCDATA
+ | %InlStruct.class;
+ %InlPhras.class;
+ | %tt.qname; | %i.qname; | %b.qname;
+ %I18n.class;
+ %Anchor.class;
+ | %script.qname; | %map.qname;
+ %Inline.extra; )*"
+>
+<!ENTITY % pre.qname "pre" >
+<!ELEMENT %pre.qname; %pre.content; >
+<!-- end of pre.element -->]]>
+
+<!ENTITY % pre.attlist "INCLUDE" >
+<![%pre.attlist;[
+<!ATTLIST %pre.qname;
+ %Common.attrib;
+ xml:space ( preserve ) #FIXED 'preserve'
+>
+<!-- end of pre.attlist -->]]>
+
+<!-- ................... Heading Elements ................... -->
+
+<!ENTITY % Heading.content "( #PCDATA | %Inline.mix; )*" >
+
+<!ENTITY % h1.element "INCLUDE" >
+<![%h1.element;[
+<!ENTITY % h1.qname "h1" >
+<!ELEMENT %h1.qname; %Heading.content; >
+<!-- end of h1.element -->]]>
+
+<!ENTITY % h1.attlist "INCLUDE" >
+<![%h1.attlist;[
+<!ATTLIST %h1.qname;
+ %Common.attrib;
+>
+<!-- end of h1.attlist -->]]>
+
+<!ENTITY % h2.element "INCLUDE" >
+<![%h2.element;[
+<!ENTITY % h2.qname "h2" >
+<!ELEMENT %h2.qname; %Heading.content; >
+<!-- end of h2.element -->]]>
+
+<!ENTITY % h2.attlist "INCLUDE" >
+<![%h2.attlist;[
+<!ATTLIST %h2.qname;
+ %Common.attrib;
+>
+<!-- end of h2.attlist -->]]>
+
+<!ENTITY % h3.element "INCLUDE" >
+<![%h3.element;[
+<!ENTITY % h3.qname "h3" >
+<!ELEMENT %h3.qname; %Heading.content; >
+<!-- end of h3.element -->]]>
+
+<!ENTITY % h3.attlist "INCLUDE" >
+<![%h3.attlist;[
+<!ATTLIST %h3.qname;
+ %Common.attrib;
+>
+<!-- end of h3.attlist -->]]>
+
+<!ENTITY % h4.element "INCLUDE" >
+<![%h4.element;[
+<!ENTITY % h4.qname "h4" >
+<!ELEMENT %h4.qname; %Heading.content; >
+<!-- end of h4.element -->]]>
+
+<!ENTITY % h4.attlist "INCLUDE" >
+<![%h4.attlist;[
+<!ATTLIST %h4.qname;
+ %Common.attrib;
+>
+<!-- end of h4.attlist -->]]>
+
+<!ENTITY % h5.element "INCLUDE" >
+<![%h5.element;[
+<!ENTITY % h5.qname "h5" >
+<!ELEMENT %h5.qname; %Heading.content; >
+<!-- end of h5.element -->]]>
+
+<!ENTITY % h5.attlist "INCLUDE" >
+<![%h5.attlist;[
+<!ATTLIST %h5.qname;
+ %Common.attrib;
+>
+<!-- end of h5.attlist -->]]>
+
+<!ENTITY % h6.element "INCLUDE" >
+<![%h6.element;[
+<!ENTITY % h6.qname "h6" >
+<!ELEMENT %h6.qname; %Heading.content; >
+<!-- end of h6.element -->]]>
+
+<!ENTITY % h6.attlist "INCLUDE" >
+<![%h6.attlist;[
+<!ATTLIST %h6.qname;
+ %Common.attrib;
+>
+<!-- end of h6.attlist -->]]>
+
+<!-- end of xhtml-blkphras-1.mod -->
+]]>
+
+<!-- end of xhtml-text-1.mod -->
+]]>
+
+<!-- Hypertext Module (required) ................................. -->
+<!ENTITY % xhtml-hypertext.module "INCLUDE" >
+<![%xhtml-hypertext.module;[
+<!ENTITY % xhtml-hypertext.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-hypertext-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Hypertext Module .............................................. -->
+<!-- file: xhtml-hypertext-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-hypertext-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Hypertext
+
+ a
+
+ This module declares the anchor ('a') element type, which
+ defines the source of a hypertext link. The destination
+ (or link 'target') is identified via its 'id' attribute
+ rather than the 'name' attribute as was used in HTML.
+-->
+
+<!-- ............ Anchor Element ............ -->
+
+<!ENTITY % a.element "INCLUDE" >
+<![%a.element;[
+<!ENTITY % a.content
+ "( #PCDATA | %InlNoAnchor.mix; )*"
+>
+<!ENTITY % a.qname "a" >
+<!ELEMENT %a.qname; %a.content; >
+<!-- end of a.element -->]]>
+
+<!ENTITY % a.attlist "INCLUDE" >
+<![%a.attlist;[
+<!ATTLIST %a.qname;
+ %Common.attrib;
+ href %URI.datatype; #IMPLIED
+ charset %Charset.datatype; #IMPLIED
+ type %ContentType.datatype; #IMPLIED
+ hreflang %LanguageCode.datatype; #IMPLIED
+ rel %LinkTypes.datatype; #IMPLIED
+ rev %LinkTypes.datatype; #IMPLIED
+ accesskey %Character.datatype; #IMPLIED
+ tabindex %Number.datatype; #IMPLIED
+>
+<!-- end of a.attlist -->]]>
+
+<!-- end of xhtml-hypertext-1.mod -->
+]]>
+
+<!-- Lists Module (required) .................................... -->
+<!ENTITY % xhtml-list.module "INCLUDE" >
+<![%xhtml-list.module;[
+<!ENTITY % xhtml-list.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-list-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Lists Module .................................................. -->
+<!-- file: xhtml-list-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-list-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Lists
+
+ dl, dt, dd, ol, ul, li
+
+ This module declares the list-oriented element types
+ and their attributes.
+-->
+
+<!ENTITY % dl.qname "dl" >
+<!ENTITY % dt.qname "dt" >
+<!ENTITY % dd.qname "dd" >
+<!ENTITY % ol.qname "ol" >
+<!ENTITY % ul.qname "ul" >
+<!ENTITY % li.qname "li" >
+
+<!-- dl: Definition List ............................... -->
+
+<!ENTITY % dl.element "INCLUDE" >
+<![%dl.element;[
+<!ENTITY % dl.content "( %dt.qname; | %dd.qname; )+" >
+<!ELEMENT %dl.qname; %dl.content; >
+<!-- end of dl.element -->]]>
+
+<!ENTITY % dl.attlist "INCLUDE" >
+<![%dl.attlist;[
+<!ATTLIST %dl.qname;
+ %Common.attrib;
+>
+<!-- end of dl.attlist -->]]>
+
+<!-- dt: Definition Term ............................... -->
+
+<!ENTITY % dt.element "INCLUDE" >
+<![%dt.element;[
+<!ENTITY % dt.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ELEMENT %dt.qname; %dt.content; >
+<!-- end of dt.element -->]]>
+
+<!ENTITY % dt.attlist "INCLUDE" >
+<![%dt.attlist;[
+<!ATTLIST %dt.qname;
+ %Common.attrib;
+>
+<!-- end of dt.attlist -->]]>
+
+<!-- dd: Definition Description ........................ -->
+
+<!ENTITY % dd.element "INCLUDE" >
+<![%dd.element;[
+<!ENTITY % dd.content
+ "( #PCDATA | %Flow.mix; )*"
+>
+<!ELEMENT %dd.qname; %dd.content; >
+<!-- end of dd.element -->]]>
+
+<!ENTITY % dd.attlist "INCLUDE" >
+<![%dd.attlist;[
+<!ATTLIST %dd.qname;
+ %Common.attrib;
+>
+<!-- end of dd.attlist -->]]>
+
+<!-- ol: Ordered List (numbered styles) ................ -->
+
+<!ENTITY % ol.element "INCLUDE" >
+<![%ol.element;[
+<!ENTITY % ol.content "( %li.qname; )+" >
+<!ELEMENT %ol.qname; %ol.content; >
+<!-- end of ol.element -->]]>
+
+<!ENTITY % ol.attlist "INCLUDE" >
+<![%ol.attlist;[
+<!ATTLIST %ol.qname;
+ %Common.attrib;
+>
+<!-- end of ol.attlist -->]]>
+
+<!-- ul: Unordered List (bullet styles) ................ -->
+
+<!ENTITY % ul.element "INCLUDE" >
+<![%ul.element;[
+<!ENTITY % ul.content "( %li.qname; )+" >
+<!ELEMENT %ul.qname; %ul.content; >
+<!-- end of ul.element -->]]>
+
+<!ENTITY % ul.attlist "INCLUDE" >
+<![%ul.attlist;[
+<!ATTLIST %ul.qname;
+ %Common.attrib;
+>
+<!-- end of ul.attlist -->]]>
+
+<!-- li: List Item ..................................... -->
+
+<!ENTITY % li.element "INCLUDE" >
+<![%li.element;[
+<!ENTITY % li.content
+ "( #PCDATA | %Flow.mix; )*"
+>
+<!ELEMENT %li.qname; %li.content; >
+<!-- end of li.element -->]]>
+
+<!ENTITY % li.attlist "INCLUDE" >
+<![%li.attlist;[
+<!ATTLIST %li.qname;
+ %Common.attrib;
+>
+<!-- end of li.attlist -->]]>
+
+<!-- end of xhtml-list-1.mod -->
+]]>
+
+<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
+
+<!-- Edit Module ................................................ -->
+<!ENTITY % xhtml-edit.module "INCLUDE" >
+<![%xhtml-edit.module;[
+<!ENTITY % xhtml-edit.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Editing Elements 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-edit-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Editing Elements Module ....................................... -->
+<!-- file: xhtml-edit-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Editing Markup 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-edit-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Editing Elements
+
+ ins, del
+
+ This module declares element types and attributes used to indicate
+ inserted and deleted content while editing a document.
+-->
+
+<!-- ins: Inserted Text ............................... -->
+
+<!ENTITY % ins.element "INCLUDE" >
+<![%ins.element;[
+<!ENTITY % ins.content
+ "( #PCDATA | %Flow.mix; )*"
+>
+<!ENTITY % ins.qname "ins" >
+<!ELEMENT %ins.qname; %ins.content; >
+<!-- end of ins.element -->]]>
+
+<!ENTITY % ins.attlist "INCLUDE" >
+<![%ins.attlist;[
+<!ATTLIST %ins.qname;
+ %Common.attrib;
+ cite %URI.datatype; #IMPLIED
+ datetime %Datetime.datatype; #IMPLIED
+>
+<!-- end of ins.attlist -->]]>
+
+<!-- del: Deleted Text ................................ -->
+
+<!ENTITY % del.element "INCLUDE" >
+<![%del.element;[
+<!ENTITY % del.content
+ "( #PCDATA | %Flow.mix; )*"
+>
+<!ENTITY % del.qname "del" >
+<!ELEMENT %del.qname; %del.content; >
+<!-- end of del.element -->]]>
+
+<!ENTITY % del.attlist "INCLUDE" >
+<![%del.attlist;[
+<!ATTLIST %del.qname;
+ %Common.attrib;
+ cite %URI.datatype; #IMPLIED
+ datetime %Datetime.datatype; #IMPLIED
+>
+<!-- end of del.attlist -->]]>
+
+<!-- end of xhtml-edit-1.mod -->
+]]>
+
+<!-- BIDI Override Module ....................................... -->
+<!ENTITY % xhtml-bdo.module "%XHTML.bidi;" >
+<![%xhtml-bdo.module;[
+<!ENTITY % xhtml-bdo.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML BIDI Override Element 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-bdo-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML BDO Element Module ............................................. -->
+<!-- file: xhtml-bdo-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML BDO Element 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-bdo-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Bidirectional Override (bdo) Element
+
+ This modules declares the element 'bdo', used to override the
+ Unicode bidirectional algorithm for selected fragments of text.
+
+ DEPENDENCIES:
+ Relies on the conditional section keyword %XHTML.bidi; declared
+ as "INCLUDE". Bidirectional text support includes both the bdo
+ element and the 'dir' attribute.
+-->
+
+<!ENTITY % bdo.element "INCLUDE" >
+<![%bdo.element;[
+<!ENTITY % bdo.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % bdo.qname "bdo" >
+<!ELEMENT %bdo.qname; %bdo.content; >
+<!-- end of bdo.element -->]]>
+
+<!ENTITY % bdo.attlist "INCLUDE" >
+<![%bdo.attlist;[
+<!ATTLIST %bdo.qname;
+ %Core.attrib;
+ xml:lang %LanguageCode.datatype; #IMPLIED
+ dir ( ltr | rtl ) #REQUIRED
+>
+]]>
+
+<!-- end of xhtml-bdo-1.mod -->
+]]>
+
+<!-- Ruby Module ................................................ -->
+<!ENTITY % Ruby.common.attlists "INCLUDE" >
+<!ENTITY % Ruby.common.attrib "%Common.attrib;" >
+<!ENTITY % xhtml-ruby.module "INCLUDE" >
+<![%xhtml-ruby.module;[
+<!ENTITY % xhtml-ruby.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Ruby 1.0//EN"
+ "http://www.w3.org/TR/ruby/xhtml-ruby-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Ruby Module .................................................... -->
+<!-- file: xhtml-ruby-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1999-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $
+
+ This module is based on the W3C Ruby Annotation Specification:
+
+ http://www.w3.org/TR/ruby
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Ruby 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/ruby/xhtml-ruby-1.mod"
+
+ ...................................................................... -->
+
+<!-- Ruby Elements
+
+ ruby, rbc, rtc, rb, rt, rp
+
+ This module declares the elements and their attributes used to
+ support ruby annotation markup.
+-->
+
+<!-- declare qualified element type names:
+-->
+<!ENTITY % ruby.qname "ruby" >
+<!ENTITY % rbc.qname "rbc" >
+<!ENTITY % rtc.qname "rtc" >
+<!ENTITY % rb.qname "rb" >
+<!ENTITY % rt.qname "rt" >
+<!ENTITY % rp.qname "rp" >
+
+<!-- rp fallback is included by default.
+-->
+<!ENTITY % Ruby.fallback "INCLUDE" >
+<!ENTITY % Ruby.fallback.mandatory "IGNORE" >
+
+<!-- Complex ruby is included by default; it may be
+ overridden by other modules to ignore it.
+-->
+<!ENTITY % Ruby.complex "INCLUDE" >
+
+<!-- Fragments for the content model of the ruby element -->
+<![%Ruby.fallback;[
+<![%Ruby.fallback.mandatory;[
+<!ENTITY % Ruby.content.simple
+ "( %rb.qname;, %rp.qname;, %rt.qname;, %rp.qname; )"
+>
+]]>
+<!ENTITY % Ruby.content.simple
+ "( %rb.qname;, ( %rt.qname; | ( %rp.qname;, %rt.qname;, %rp.qname; ) ) )"
+>
+]]>
+<!ENTITY % Ruby.content.simple "( %rb.qname;, %rt.qname; )" >
+
+<![%Ruby.complex;[
+<!ENTITY % Ruby.content.complex
+ "| ( %rbc.qname;, %rtc.qname;, %rtc.qname;? )"
+>
+]]>
+<!ENTITY % Ruby.content.complex "" >
+
+<!-- Content models of the rb and the rt elements are intended to
+ allow other inline-level elements of its parent markup language,
+ but it should not include ruby descendent elements. The following
+ parameter entity %NoRuby.content; can be used to redefine
+ those content models with minimum effort. It's defined as
+ '( #PCDATA )' by default.
+-->
+<!ENTITY % NoRuby.content "( #PCDATA )" >
+
+<!-- one or more digits (NUMBER) -->
+<!ENTITY % Number.datatype "CDATA" >
+
+<!-- ruby element ...................................... -->
+
+<!ENTITY % ruby.element "INCLUDE" >
+<![%ruby.element;[
+<!ENTITY % ruby.content
+ "( %Ruby.content.simple; %Ruby.content.complex; )"
+>
+<!ELEMENT %ruby.qname; %ruby.content; >
+<!-- end of ruby.element -->]]>
+
+<![%Ruby.complex;[
+<!-- rbc (ruby base component) element ................. -->
+
+<!ENTITY % rbc.element "INCLUDE" >
+<![%rbc.element;[
+<!ENTITY % rbc.content
+ "(%rb.qname;)+"
+>
+<!ELEMENT %rbc.qname; %rbc.content; >
+<!-- end of rbc.element -->]]>
+
+<!-- rtc (ruby text component) element ................. -->
+
+<!ENTITY % rtc.element "INCLUDE" >
+<![%rtc.element;[
+<!ENTITY % rtc.content
+ "(%rt.qname;)+"
+>
+<!ELEMENT %rtc.qname; %rtc.content; >
+<!-- end of rtc.element -->]]>
+]]>
+
+<!-- rb (ruby base) element ............................ -->
+
+<!ENTITY % rb.element "INCLUDE" >
+<![%rb.element;[
+<!-- %rb.content; uses %NoRuby.content; as its content model,
+ which is '( #PCDATA )' by default. It may be overridden
+ by other modules to allow other inline-level elements
+ of its parent markup language, but it should not include
+ ruby descendent elements.
+-->
+<!ENTITY % rb.content "%NoRuby.content;" >
+<!ELEMENT %rb.qname; %rb.content; >
+<!-- end of rb.element -->]]>
+
+<!-- rt (ruby text) element ............................ -->
+
+<!ENTITY % rt.element "INCLUDE" >
+<![%rt.element;[
+<!-- %rt.content; uses %NoRuby.content; as its content model,
+ which is '( #PCDATA )' by default. It may be overridden
+ by other modules to allow other inline-level elements
+ of its parent markup language, but it should not include
+ ruby descendent elements.
+-->
+<!ENTITY % rt.content "%NoRuby.content;" >
+
+<!ELEMENT %rt.qname; %rt.content; >
+<!-- end of rt.element -->]]>
+
+<!-- rbspan attribute is used for complex ruby only ...... -->
+<![%Ruby.complex;[
+<!ENTITY % rt.attlist "INCLUDE" >
+<![%rt.attlist;[
+<!ATTLIST %rt.qname;
+ rbspan %Number.datatype; "1"
+>
+<!-- end of rt.attlist -->]]>
+]]>
+
+<!-- rp (ruby parenthesis) element ..................... -->
+
+<![%Ruby.fallback;[
+<!ENTITY % rp.element "INCLUDE" >
+<![%rp.element;[
+<!ENTITY % rp.content
+ "( #PCDATA )"
+>
+<!ELEMENT %rp.qname; %rp.content; >
+<!-- end of rp.element -->]]>
+]]>
+
+<!-- Ruby Common Attributes
+
+ The following optional ATTLIST declarations provide an easy way
+ to define common attributes for ruby elements. These declarations
+ are ignored by default.
+
+ Ruby elements are intended to have common attributes of its
+ parent markup language. For example, if a markup language defines
+ common attributes as a parameter entity %attrs;, you may add
+ those attributes by just declaring the following parameter entities
+
+ <!ENTITY % Ruby.common.attlists "INCLUDE" >
+ <!ENTITY % Ruby.common.attrib "%attrs;" >
+
+ before including the Ruby module.
+-->
+
+<!ENTITY % Ruby.common.attlists "IGNORE" >
+<![%Ruby.common.attlists;[
+<!ENTITY % Ruby.common.attrib "" >
+
+<!-- common attributes for ruby ........................ -->
+
+<!ENTITY % Ruby.common.attlist "INCLUDE" >
+<![%Ruby.common.attlist;[
+<!ATTLIST %ruby.qname;
+ %Ruby.common.attrib;
+>
+<!-- end of Ruby.common.attlist -->]]>
+
+<![%Ruby.complex;[
+<!-- common attributes for rbc ......................... -->
+
+<!ENTITY % Rbc.common.attlist "INCLUDE" >
+<![%Rbc.common.attlist;[
+<!ATTLIST %rbc.qname;
+ %Ruby.common.attrib;
+>
+<!-- end of Rbc.common.attlist -->]]>
+
+<!-- common attributes for rtc ......................... -->
+
+<!ENTITY % Rtc.common.attlist "INCLUDE" >
+<![%Rtc.common.attlist;[
+<!ATTLIST %rtc.qname;
+ %Ruby.common.attrib;
+>
+<!-- end of Rtc.common.attlist -->]]>
+]]>
+
+<!-- common attributes for rb .......................... -->
+
+<!ENTITY % Rb.common.attlist "INCLUDE" >
+<![%Rb.common.attlist;[
+<!ATTLIST %rb.qname;
+ %Ruby.common.attrib;
+>
+<!-- end of Rb.common.attlist -->]]>
+
+<!-- common attributes for rt .......................... -->
+
+<!ENTITY % Rt.common.attlist "INCLUDE" >
+<![%Rt.common.attlist;[
+<!ATTLIST %rt.qname;
+ %Ruby.common.attrib;
+>
+<!-- end of Rt.common.attlist -->]]>
+
+<![%Ruby.fallback;[
+<!-- common attributes for rp .......................... -->
+
+<!ENTITY % Rp.common.attlist "INCLUDE" >
+<![%Rp.common.attlist;[
+<!ATTLIST %rp.qname;
+ %Ruby.common.attrib;
+>
+<!-- end of Rp.common.attlist -->]]>
+]]>
+]]>
+
+<!-- end of xhtml-ruby-1.mod -->
+]]>
+
+<!-- Presentation Module ........................................ -->
+<!ENTITY % xhtml-pres.module "INCLUDE" >
+<![%xhtml-pres.module;[
+<!ENTITY % xhtml-pres.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Presentation 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-pres-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Presentation Module ............................................ -->
+<!-- file: xhtml-pres-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Presentation 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-pres-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Presentational Elements
+
+ This module defines elements and their attributes for
+ simple presentation-related markup.
+-->
+
+<!ENTITY % xhtml-inlpres.module "INCLUDE" >
+<![%xhtml-inlpres.module;[
+<!ENTITY % xhtml-inlpres.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Inline Presentation 1.0//EN"
+ "xhtml-inlpres-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Inline Presentation Module .................................... -->
+<!-- file: xhtml-inlpres-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Inline Presentation 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlpres-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Inline Presentational Elements
+
+ b, big, i, small, sub, sup, tt
+
+ This module declares the elements and their attributes used to
+ support inline-level presentational markup.
+-->
+
+<!ENTITY % b.element "INCLUDE" >
+<![%b.element;[
+<!ENTITY % b.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % b.qname "b" >
+<!ELEMENT %b.qname; %b.content; >
+<!-- end of b.element -->]]>
+
+<!ENTITY % b.attlist "INCLUDE" >
+<![%b.attlist;[
+<!ATTLIST %b.qname;
+ %Common.attrib;
+>
+<!-- end of b.attlist -->]]>
+
+<!ENTITY % big.element "INCLUDE" >
+<![%big.element;[
+<!ENTITY % big.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % big.qname "big" >
+<!ELEMENT %big.qname; %big.content; >
+<!-- end of big.element -->]]>
+
+<!ENTITY % big.attlist "INCLUDE" >
+<![%big.attlist;[
+<!ATTLIST %big.qname;
+ %Common.attrib;
+>
+<!-- end of big.attlist -->]]>
+
+<!ENTITY % i.element "INCLUDE" >
+<![%i.element;[
+<!ENTITY % i.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % i.qname "i" >
+<!ELEMENT %i.qname; %i.content; >
+<!-- end of i.element -->]]>
+
+<!ENTITY % i.attlist "INCLUDE" >
+<![%i.attlist;[
+<!ATTLIST %i.qname;
+ %Common.attrib;
+>
+<!-- end of i.attlist -->]]>
+
+<!ENTITY % small.element "INCLUDE" >
+<![%small.element;[
+<!ENTITY % small.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % small.qname "small" >
+<!ELEMENT %small.qname; %small.content; >
+<!-- end of small.element -->]]>
+
+<!ENTITY % small.attlist "INCLUDE" >
+<![%small.attlist;[
+<!ATTLIST %small.qname;
+ %Common.attrib;
+>
+<!-- end of small.attlist -->]]>
+
+<!ENTITY % sub.element "INCLUDE" >
+<![%sub.element;[
+<!ENTITY % sub.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % sub.qname "sub" >
+<!ELEMENT %sub.qname; %sub.content; >
+<!-- end of sub.element -->]]>
+
+<!ENTITY % sub.attlist "INCLUDE" >
+<![%sub.attlist;[
+<!ATTLIST %sub.qname;
+ %Common.attrib;
+>
+<!-- end of sub.attlist -->]]>
+
+<!ENTITY % sup.element "INCLUDE" >
+<![%sup.element;[
+<!ENTITY % sup.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % sup.qname "sup" >
+<!ELEMENT %sup.qname; %sup.content; >
+<!-- end of sup.element -->]]>
+
+<!ENTITY % sup.attlist "INCLUDE" >
+<![%sup.attlist;[
+<!ATTLIST %sup.qname;
+ %Common.attrib;
+>
+<!-- end of sup.attlist -->]]>
+
+<!ENTITY % tt.element "INCLUDE" >
+<![%tt.element;[
+<!ENTITY % tt.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ENTITY % tt.qname "tt" >
+<!ELEMENT %tt.qname; %tt.content; >
+<!-- end of tt.element -->]]>
+
+<!ENTITY % tt.attlist "INCLUDE" >
+<![%tt.attlist;[
+<!ATTLIST %tt.qname;
+ %Common.attrib;
+>
+<!-- end of tt.attlist -->]]>
+
+<!-- end of xhtml-inlpres-1.mod -->
+]]>
+
+<!ENTITY % xhtml-blkpres.module "INCLUDE" >
+<![%xhtml-blkpres.module;[
+<!ENTITY % xhtml-blkpres.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Block Presentation 1.0//EN"
+ "xhtml-blkpres-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Block Presentation Module ..................................... -->
+<!-- file: xhtml-blkpres-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Block Presentation 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-blkpres-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Block Presentational Elements
+
+ hr
+
+ This module declares the elements and their attributes used to
+ support block-level presentational markup.
+-->
+
+<!ENTITY % hr.element "INCLUDE" >
+<![%hr.element;[
+<!ENTITY % hr.content "EMPTY" >
+<!ENTITY % hr.qname "hr" >
+<!ELEMENT %hr.qname; %hr.content; >
+<!-- end of hr.element -->]]>
+
+<!ENTITY % hr.attlist "INCLUDE" >
+<![%hr.attlist;[
+<!ATTLIST %hr.qname;
+ %Common.attrib;
+>
+<!-- end of hr.attlist -->]]>
+
+<!-- end of xhtml-blkpres-1.mod -->
+]]>
+
+<!-- end of xhtml-pres-1.mod -->
+]]>
+
+<!-- Link Element Module ........................................ -->
+<!ENTITY % xhtml-link.module "INCLUDE" >
+<![%xhtml-link.module;[
+<!ENTITY % xhtml-link.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-link-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Link Element Module ........................................... -->
+<!-- file: xhtml-link-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-link-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Link element
+
+ link
+
+ This module declares the link element type and its attributes,
+ which could (in principle) be used to define document-level links
+ to external resources such as:
+
+ a) for document specific toolbars/menus, e.g. start, contents,
+ previous, next, index, end, help
+ b) to link to a separate style sheet (rel="stylesheet")
+ c) to make a link to a script (rel="script")
+ d) by style sheets to control how collections of html nodes are
+ rendered into printed documents
+ e) to make a link to a printable version of this document
+ e.g. a postscript or pdf version (rel="alternate" media="print")
+-->
+
+<!-- link: Media-Independent Link ...................... -->
+
+<!ENTITY % link.element "INCLUDE" >
+<![%link.element;[
+<!ENTITY % link.content "EMPTY" >
+<!ENTITY % link.qname "link" >
+<!ELEMENT %link.qname; %link.content; >
+<!-- end of link.element -->]]>
+
+<!ENTITY % link.attlist "INCLUDE" >
+<![%link.attlist;[
+<!ATTLIST %link.qname;
+ %Common.attrib;
+ charset %Charset.datatype; #IMPLIED
+ href %URI.datatype; #IMPLIED
+ hreflang %LanguageCode.datatype; #IMPLIED
+ type %ContentType.datatype; #IMPLIED
+ rel %LinkTypes.datatype; #IMPLIED
+ rev %LinkTypes.datatype; #IMPLIED
+ media %MediaDesc.datatype; #IMPLIED
+>
+<!-- end of link.attlist -->]]>
+
+<!-- end of xhtml-link-1.mod -->
+]]>
+
+<!-- Document Metainformation Module ............................ -->
+<!ENTITY % xhtml-meta.module "INCLUDE" >
+<![%xhtml-meta.module;[
+<!ENTITY % xhtml-meta.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-meta-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Document Metainformation Module ............................... -->
+<!-- file: xhtml-meta-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-meta-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Meta Information
+
+ meta
+
+ This module declares the meta element type and its attributes,
+ used to provide declarative document metainformation.
+-->
+
+<!-- meta: Generic Metainformation ..................... -->
+
+<!ENTITY % meta.element "INCLUDE" >
+<![%meta.element;[
+<!ENTITY % meta.content "EMPTY" >
+<!ENTITY % meta.qname "meta" >
+<!ELEMENT %meta.qname; %meta.content; >
+<!-- end of meta.element -->]]>
+
+<!ENTITY % meta.attlist "INCLUDE" >
+<![%meta.attlist;[
+<!ATTLIST %meta.qname;
+ %XHTML.xmlns.attrib;
+ %I18n.attrib;
+ http-equiv NMTOKEN #IMPLIED
+ name NMTOKEN #IMPLIED
+ content CDATA #REQUIRED
+ scheme CDATA #IMPLIED
+>
+<!-- end of meta.attlist -->]]>
+
+<!-- end of xhtml-meta-1.mod -->
+]]>
+
+<!-- Base Element Module ........................................ -->
+<!ENTITY % xhtml-base.module "INCLUDE" >
+<![%xhtml-base.module;[
+<!ENTITY % xhtml-base.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-base-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Base Element Module ........................................... -->
+<!-- file: xhtml-base-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-base-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Base element
+
+ base
+
+ This module declares the base element type and its attributes,
+ used to define a base URI against which relative URIs in the
+ document will be resolved.
+
+ Note that this module also redeclares the content model for
+ the head element to include the base element.
+-->
+
+<!-- base: Document Base URI ........................... -->
+
+<!ENTITY % base.element "INCLUDE" >
+<![%base.element;[
+<!ENTITY % base.content "EMPTY" >
+<!ENTITY % base.qname "base" >
+<!ELEMENT %base.qname; %base.content; >
+<!-- end of base.element -->]]>
+
+<!ENTITY % base.attlist "INCLUDE" >
+<![%base.attlist;[
+<!ATTLIST %base.qname;
+ %XHTML.xmlns.attrib;
+ href %URI.datatype; #REQUIRED
+>
+<!-- end of base.attlist -->]]>
+
+<!ENTITY % head.content
+ "( %HeadOpts.mix;,
+ ( ( %title.qname;, %HeadOpts.mix;, ( %base.qname;, %HeadOpts.mix; )? )
+ | ( %base.qname;, %HeadOpts.mix;, ( %title.qname;, %HeadOpts.mix; ))))"
+>
+
+<!-- end of xhtml-base-1.mod -->
+]]>
+
+<!-- Scripting Module ........................................... -->
+<!ENTITY % xhtml-script.module "INCLUDE" >
+<![%xhtml-script.module;[
+<!ENTITY % xhtml-script.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Scripting 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-script-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Document Scripting Module ..................................... -->
+<!-- file: xhtml-script-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Scripting 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-script-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Scripting
+
+ script, noscript
+
+ This module declares element types and attributes used to provide
+ support for executable scripts as well as an alternate content
+ container where scripts are not supported.
+-->
+
+<!-- script: Scripting Statement ....................... -->
+
+<!ENTITY % script.element "INCLUDE" >
+<![%script.element;[
+<!ENTITY % script.content "( #PCDATA )" >
+<!ENTITY % script.qname "script" >
+<!ELEMENT %script.qname; %script.content; >
+<!-- end of script.element -->]]>
+
+<!ENTITY % script.attlist "INCLUDE" >
+<![%script.attlist;[
+<!ATTLIST %script.qname;
+ %XHTML.xmlns.attrib;
+ charset %Charset.datatype; #IMPLIED
+ type %ContentType.datatype; #REQUIRED
+ src %URI.datatype; #IMPLIED
+ defer ( defer ) #IMPLIED
+ xml:space ( preserve ) #FIXED 'preserve'
+>
+<!-- end of script.attlist -->]]>
+
+<!-- noscript: No-Script Alternate Content ............. -->
+
+<!ENTITY % noscript.element "INCLUDE" >
+<![%noscript.element;[
+<!ENTITY % noscript.content
+ "( %Block.mix; )+"
+>
+<!ENTITY % noscript.qname "noscript" >
+<!ELEMENT %noscript.qname; %noscript.content; >
+<!-- end of noscript.element -->]]>
+
+<!ENTITY % noscript.attlist "INCLUDE" >
+<![%noscript.attlist;[
+<!ATTLIST %noscript.qname;
+ %Common.attrib;
+>
+<!-- end of noscript.attlist -->]]>
+
+<!-- end of xhtml-script-1.mod -->
+]]>
+
+<!-- Style Sheets Module ......................................... -->
+<!ENTITY % xhtml-style.module "INCLUDE" >
+<![%xhtml-style.module;[
+<!ENTITY % xhtml-style.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Style Sheets 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-style-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Document Style Sheet Module ................................... -->
+<!-- file: xhtml-style-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//DTD XHTML Style Sheets 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-style-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Style Sheets
+
+ style
+
+ This module declares the style element type and its attributes,
+ used to embed style sheet information in the document head element.
+-->
+
+<!-- style: Style Sheet Information .................... -->
+
+<!ENTITY % style.element "INCLUDE" >
+<![%style.element;[
+<!ENTITY % style.content "( #PCDATA )" >
+<!ENTITY % style.qname "style" >
+<!ELEMENT %style.qname; %style.content; >
+<!-- end of style.element -->]]>
+
+<!ENTITY % style.attlist "INCLUDE" >
+<![%style.attlist;[
+<!ATTLIST %style.qname;
+ %XHTML.xmlns.attrib;
+ %title.attrib;
+ %I18n.attrib;
+ type %ContentType.datatype; #REQUIRED
+ media %MediaDesc.datatype; #IMPLIED
+ xml:space ( preserve ) #FIXED 'preserve'
+>
+<!-- end of style.attlist -->]]>
+
+<!-- end of xhtml-style-1.mod -->
+]]>
+
+<!-- Image Module ............................................... -->
+<!ENTITY % xhtml-image.module "INCLUDE" >
+<![%xhtml-image.module;[
+<!ENTITY % xhtml-image.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-image-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Images Module ................................................. -->
+<!-- file: xhtml-image-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Rovision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-image-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Images
+
+ img
+
+ This module provides markup to support basic image embedding.
+-->
+
+<!-- To avoid problems with text-only UAs as well as to make
+ image content understandable and navigable to users of
+ non-visual UAs, you need to provide a description with
+ the 'alt' attribute, and avoid server-side image maps.
+-->
+
+<!ENTITY % img.element "INCLUDE" >
+<![%img.element;[
+<!ENTITY % img.content "EMPTY" >
+<!ENTITY % img.qname "img" >
+<!ELEMENT %img.qname; %img.content; >
+<!-- end of img.element -->]]>
+
+<!ENTITY % img.attlist "INCLUDE" >
+<![%img.attlist;[
+<!ATTLIST %img.qname;
+ %Common.attrib;
+ src %URI.datatype; #REQUIRED
+ alt %Text.datatype; #REQUIRED
+ longdesc %URI.datatype; #IMPLIED
+ height %Length.datatype; #IMPLIED
+ width %Length.datatype; #IMPLIED
+>
+<!-- end of img.attlist -->]]>
+
+<!-- end of xhtml-image-1.mod -->
+]]>
+
+<!-- Client-side Image Map Module ............................... -->
+<!ENTITY % xhtml-csismap.module "INCLUDE" >
+<![%xhtml-csismap.module;[
+<!ENTITY % xhtml-csismap.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Client-side Image Maps 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-csismap-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Client-side Image Map Module .................................. -->
+<!-- file: xhtml-csismap-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Client-side Image Maps 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-csismap-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Client-side Image Maps
+
+ area, map
+
+ This module declares elements and attributes to support client-side
+ image maps. This requires that the Image Module (or a module
+ declaring the img element type) be included in the DTD.
+
+ These can be placed in the same document or grouped in a
+ separate document, although the latter isn't widely supported
+-->
+
+<!ENTITY % area.element "INCLUDE" >
+<![%area.element;[
+<!ENTITY % area.content "EMPTY" >
+<!ENTITY % area.qname "area" >
+<!ELEMENT %area.qname; %area.content; >
+<!-- end of area.element -->]]>
+
+<!ENTITY % Shape.datatype "( rect | circle | poly | default )">
+<!ENTITY % Coords.datatype "CDATA" >
+
+<!ENTITY % area.attlist "INCLUDE" >
+<![%area.attlist;[
+<!ATTLIST %area.qname;
+ %Common.attrib;
+ href %URI.datatype; #IMPLIED
+ shape %Shape.datatype; 'rect'
+ coords %Coords.datatype; #IMPLIED
+ nohref ( nohref ) #IMPLIED
+ alt %Text.datatype; #REQUIRED
+ tabindex %Number.datatype; #IMPLIED
+ accesskey %Character.datatype; #IMPLIED
+>
+<!-- end of area.attlist -->]]>
+
+<!-- modify anchor attribute definition list
+ to allow for client-side image maps
+-->
+<!ATTLIST %a.qname;
+ shape %Shape.datatype; 'rect'
+ coords %Coords.datatype; #IMPLIED
+>
+
+<!-- modify img attribute definition list
+ to allow for client-side image maps
+-->
+<!ATTLIST %img.qname;
+ usemap IDREF #IMPLIED
+>
+
+<!-- modify form input attribute definition list
+ to allow for client-side image maps
+-->
+<!ATTLIST %input.qname;
+ usemap IDREF #IMPLIED
+>
+
+<!-- modify object attribute definition list
+ to allow for client-side image maps
+-->
+<!ATTLIST %object.qname;
+ usemap IDREF #IMPLIED
+>
+
+<!-- 'usemap' points to the 'id' attribute of a <map> element,
+ which must be in the same document; support for external
+ document maps was not widely supported in HTML and is
+ eliminated in XHTML.
+
+ It is considered an error for the element pointed to by
+ a usemap IDREF to occur in anything but a <map> element.
+-->
+
+<!ENTITY % map.element "INCLUDE" >
+<![%map.element;[
+<!ENTITY % map.content
+ "(( %Block.mix; ) | %area.qname; )+"
+>
+<!ENTITY % map.qname "map" >
+<!ELEMENT %map.qname; %map.content; >
+<!-- end of map.element -->]]>
+
+<!ENTITY % map.attlist "INCLUDE" >
+<![%map.attlist;[
+<!ATTLIST %map.qname;
+ %XHTML.xmlns.attrib;
+ id ID #REQUIRED
+ %class.attrib;
+ %title.attrib;
+ %Core.extra.attrib;
+ %I18n.attrib;
+ %Events.attrib;
+>
+<!-- end of map.attlist -->]]>
+
+<!-- end of xhtml-csismap-1.mod -->
+]]>
+
+<!-- Server-side Image Map Module ............................... -->
+<!ENTITY % xhtml-ssismap.module "INCLUDE" >
+<![%xhtml-ssismap.module;[
+<!ENTITY % xhtml-ssismap.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Server-side Image Maps 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-ssismap-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Server-side Image Map Module .................................. -->
+<!-- file: xhtml-ssismap-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Server-side Image Maps 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-ssismap-1.mod"
+
+ Revisions:
+#2000-10-22: added declaration for 'ismap' on <input>
+ ....................................................................... -->
+
+<!-- Server-side Image Maps
+
+ This adds the 'ismap' attribute to the img and input elements
+ to support server-side processing of a user selection.
+-->
+
+<!ATTLIST %img.qname;
+ ismap ( ismap ) #IMPLIED
+>
+
+<!ATTLIST %input.qname;
+ ismap ( ismap ) #IMPLIED
+>
+
+<!-- end of xhtml-ssismap-1.mod -->
+]]>
+
+<!-- Param Element Module ....................................... -->
+<!ENTITY % xhtml-param.module "INCLUDE" >
+<![%xhtml-param.module;[
+<!ENTITY % xhtml-param.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-param-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Param Element Module ..................................... -->
+<!-- file: xhtml-param-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-param-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Parameters for Java Applets and Embedded Objects
+
+ param
+
+ This module provides declarations for the param element,
+ used to provide named property values for the applet
+ and object elements.
+-->
+
+<!-- param: Named Property Value ....................... -->
+
+<!ENTITY % param.element "INCLUDE" >
+<![%param.element;[
+<!ENTITY % param.content "EMPTY" >
+<!ENTITY % param.qname "param" >
+<!ELEMENT %param.qname; %param.content; >
+<!-- end of param.element -->]]>
+
+<!ENTITY % param.attlist "INCLUDE" >
+<![%param.attlist;[
+<!ATTLIST %param.qname;
+ %XHTML.xmlns.attrib;
+ %id.attrib;
+ name CDATA #REQUIRED
+ value CDATA #IMPLIED
+ valuetype ( data | ref | object ) 'data'
+ type %ContentType.datatype; #IMPLIED
+>
+<!-- end of param.attlist -->]]>
+
+<!-- end of xhtml-param-1.mod -->
+]]>
+
+<!-- Embedded Object Module ..................................... -->
+<!ENTITY % xhtml-object.module "INCLUDE" >
+<![%xhtml-object.module;[
+<!ENTITY % xhtml-object.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-object-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Embedded Object Module ........................................ -->
+<!-- file: xhtml-object-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-object-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Embedded Objects
+
+ object
+
+ This module declares the object element type and its attributes, used
+ to embed external objects as part of XHTML pages. In the document,
+ place param elements prior to other content within the object element.
+
+ Note that use of this module requires instantiation of the Param
+ Element Module.
+-->
+
+<!-- object: Generic Embedded Object ................... -->
+
+<!ENTITY % object.element "INCLUDE" >
+<![%object.element;[
+<!ENTITY % object.content
+ "( #PCDATA | %Flow.mix; | %param.qname; )*"
+>
+<!ENTITY % object.qname "object" >
+<!ELEMENT %object.qname; %object.content; >
+<!-- end of object.element -->]]>
+
+<!ENTITY % object.attlist "INCLUDE" >
+<![%object.attlist;[
+<!ATTLIST %object.qname;
+ %Common.attrib;
+ declare ( declare ) #IMPLIED
+ classid %URI.datatype; #IMPLIED
+ codebase %URI.datatype; #IMPLIED
+ data %URI.datatype; #IMPLIED
+ type %ContentType.datatype; #IMPLIED
+ codetype %ContentType.datatype; #IMPLIED
+ archive %URIs.datatype; #IMPLIED
+ standby %Text.datatype; #IMPLIED
+ height %Length.datatype; #IMPLIED
+ width %Length.datatype; #IMPLIED
+ name CDATA #IMPLIED
+ tabindex %Number.datatype; #IMPLIED
+>
+<!-- end of object.attlist -->]]>
+
+<!-- end of xhtml-object-1.mod -->
+]]>
+
+<!-- Tables Module ............................................... -->
+<!ENTITY % xhtml-table.module "INCLUDE" >
+<![%xhtml-table.module;[
+<!ENTITY % xhtml-table.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Tables 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-table-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Table Module .................................................. -->
+<!-- file: xhtml-table-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Tables 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-table-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Tables
+
+ table, caption, thead, tfoot, tbody, colgroup, col, tr, th, td
+
+ This module declares element types and attributes used to provide
+ table markup similar to HTML 4, including features that enable
+ better accessibility for non-visual user agents.
+-->
+
+<!-- declare qualified element type names:
+-->
+<!ENTITY % table.qname "table" >
+<!ENTITY % caption.qname "caption" >
+<!ENTITY % thead.qname "thead" >
+<!ENTITY % tfoot.qname "tfoot" >
+<!ENTITY % tbody.qname "tbody" >
+<!ENTITY % colgroup.qname "colgroup" >
+<!ENTITY % col.qname "col" >
+<!ENTITY % tr.qname "tr" >
+<!ENTITY % th.qname "th" >
+<!ENTITY % td.qname "td" >
+
+<!-- The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % frame.attrib
+ "frame ( void
+ | above
+ | below
+ | hsides
+ | lhs
+ | rhs
+ | vsides
+ | box
+ | border ) #IMPLIED"
+>
+
+<!-- The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+
+ "none" if border is absent or border="0" otherwise "all"
+-->
+<!ENTITY % rules.attrib
+ "rules ( none
+ | groups
+ | rows
+ | cols
+ | all ) #IMPLIED"
+>
+
+<!-- horizontal alignment attributes for cell contents
+-->
+<!ENTITY % CellHAlign.attrib
+ "align ( left
+ | center
+ | right
+ | justify
+ | char ) #IMPLIED
+ char %Character.datatype; #IMPLIED
+ charoff %Length.datatype; #IMPLIED"
+>
+
+<!-- vertical alignment attribute for cell contents
+-->
+<!ENTITY % CellVAlign.attrib
+ "valign ( top
+ | middle
+ | bottom
+ | baseline ) #IMPLIED"
+>
+
+<!-- scope is simpler than axes attribute for common tables
+-->
+<!ENTITY % scope.attrib
+ "scope ( row
+ | col
+ | rowgroup
+ | colgroup ) #IMPLIED"
+>
+
+<!-- table: Table Element .............................. -->
+
+<!ENTITY % table.element "INCLUDE" >
+<![%table.element;[
+<!ENTITY % table.content
+ "( %caption.qname;?, ( %col.qname;* | %colgroup.qname;* ),
+ (( %thead.qname;?, %tfoot.qname;?, %tbody.qname;+ ) | ( %tr.qname;+ )))"
+>
+<!ELEMENT %table.qname; %table.content; >
+<!-- end of table.element -->]]>
+
+<!ENTITY % table.attlist "INCLUDE" >
+<![%table.attlist;[
+<!ATTLIST %table.qname;
+ %Common.attrib;
+ summary %Text.datatype; #IMPLIED
+ width %Length.datatype; #IMPLIED
+ border %Pixels.datatype; #IMPLIED
+ %frame.attrib;
+ %rules.attrib;
+ cellspacing %Length.datatype; #IMPLIED
+ cellpadding %Length.datatype; #IMPLIED
+>
+<!-- end of table.attlist -->]]>
+
+<!-- caption: Table Caption ............................ -->
+
+<!ENTITY % caption.element "INCLUDE" >
+<![%caption.element;[
+<!ENTITY % caption.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ELEMENT %caption.qname; %caption.content; >
+<!-- end of caption.element -->]]>
+
+<!ENTITY % caption.attlist "INCLUDE" >
+<![%caption.attlist;[
+<!ATTLIST %caption.qname;
+ %Common.attrib;
+>
+<!-- end of caption.attlist -->]]>
+
+<!-- thead: Table Header ............................... -->
+
+<!-- Use thead to duplicate headers when breaking table
+ across page boundaries, or for static headers when
+ tbody sections are rendered in scrolling panel.
+-->
+
+<!ENTITY % thead.element "INCLUDE" >
+<![%thead.element;[
+<!ENTITY % thead.content "( %tr.qname; )+" >
+<!ELEMENT %thead.qname; %thead.content; >
+<!-- end of thead.element -->]]>
+
+<!ENTITY % thead.attlist "INCLUDE" >
+<![%thead.attlist;[
+<!ATTLIST %thead.qname;
+ %Common.attrib;
+ %CellHAlign.attrib;
+ %CellVAlign.attrib;
+>
+<!-- end of thead.attlist -->]]>
+
+<!-- tfoot: Table Footer ............................... -->
+
+<!-- Use tfoot to duplicate footers when breaking table
+ across page boundaries, or for static footers when
+ tbody sections are rendered in scrolling panel.
+-->
+
+<!ENTITY % tfoot.element "INCLUDE" >
+<![%tfoot.element;[
+<!ENTITY % tfoot.content "( %tr.qname; )+" >
+<!ELEMENT %tfoot.qname; %tfoot.content; >
+<!-- end of tfoot.element -->]]>
+
+<!ENTITY % tfoot.attlist "INCLUDE" >
+<![%tfoot.attlist;[
+<!ATTLIST %tfoot.qname;
+ %Common.attrib;
+ %CellHAlign.attrib;
+ %CellVAlign.attrib;
+>
+<!-- end of tfoot.attlist -->]]>
+
+<!-- tbody: Table Body ................................. -->
+
+<!-- Use multiple tbody sections when rules are needed
+ between groups of table rows.
+-->
+
+<!ENTITY % tbody.element "INCLUDE" >
+<![%tbody.element;[
+<!ENTITY % tbody.content "( %tr.qname; )+" >
+<!ELEMENT %tbody.qname; %tbody.content; >
+<!-- end of tbody.element -->]]>
+
+<!ENTITY % tbody.attlist "INCLUDE" >
+<![%tbody.attlist;[
+<!ATTLIST %tbody.qname;
+ %Common.attrib;
+ %CellHAlign.attrib;
+ %CellVAlign.attrib;
+>
+<!-- end of tbody.attlist -->]]>
+
+<!-- colgroup: Table Column Group ...................... -->
+
+<!-- colgroup groups a set of col elements. It allows you
+ to group several semantically-related columns together.
+-->
+
+<!ENTITY % colgroup.element "INCLUDE" >
+<![%colgroup.element;[
+<!ENTITY % colgroup.content "( %col.qname; )*" >
+<!ELEMENT %colgroup.qname; %colgroup.content; >
+<!-- end of colgroup.element -->]]>
+
+<!ENTITY % colgroup.attlist "INCLUDE" >
+<![%colgroup.attlist;[
+<!ATTLIST %colgroup.qname;
+ %Common.attrib;
+ span %Number.datatype; '1'
+ width %MultiLength.datatype; #IMPLIED
+ %CellHAlign.attrib;
+ %CellVAlign.attrib;
+>
+<!-- end of colgroup.attlist -->]]>
+
+<!-- col: Table Column ................................. -->
+
+<!-- col elements define the alignment properties for
+ cells in one or more columns.
+
+ The width attribute specifies the width of the
+ columns, e.g.
+
+ width="64" width in screen pixels
+ width="0.5*" relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+
+<!ENTITY % col.element "INCLUDE" >
+<![%col.element;[
+<!ENTITY % col.content "EMPTY" >
+<!ELEMENT %col.qname; %col.content; >
+<!-- end of col.element -->]]>
+
+<!ENTITY % col.attlist "INCLUDE" >
+<![%col.attlist;[
+<!ATTLIST %col.qname;
+ %Common.attrib;
+ span %Number.datatype; '1'
+ width %MultiLength.datatype; #IMPLIED
+ %CellHAlign.attrib;
+ %CellVAlign.attrib;
+>
+<!-- end of col.attlist -->]]>
+
+<!-- tr: Table Row ..................................... -->
+
+<!ENTITY % tr.element "INCLUDE" >
+<![%tr.element;[
+<!ENTITY % tr.content "( %th.qname; | %td.qname; )+" >
+<!ELEMENT %tr.qname; %tr.content; >
+<!-- end of tr.element -->]]>
+
+<!ENTITY % tr.attlist "INCLUDE" >
+<![%tr.attlist;[
+<!ATTLIST %tr.qname;
+ %Common.attrib;
+ %CellHAlign.attrib;
+ %CellVAlign.attrib;
+>
+<!-- end of tr.attlist -->]]>
+
+<!-- th: Table Header Cell ............................. -->
+
+<!-- th is for header cells, td for data,
+ but for cells acting as both use td
+-->
+
+<!ENTITY % th.element "INCLUDE" >
+<![%th.element;[
+<!ENTITY % th.content
+ "( #PCDATA | %Flow.mix; )*"
+>
+<!ELEMENT %th.qname; %th.content; >
+<!-- end of th.element -->]]>
+
+<!ENTITY % th.attlist "INCLUDE" >
+<![%th.attlist;[
+<!ATTLIST %th.qname;
+ %Common.attrib;
+ abbr %Text.datatype; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ %scope.attrib;
+ rowspan %Number.datatype; '1'
+ colspan %Number.datatype; '1'
+ %CellHAlign.attrib;
+ %CellVAlign.attrib;
+>
+<!-- end of th.attlist -->]]>
+
+<!-- td: Table Data Cell ............................... -->
+
+<!ENTITY % td.element "INCLUDE" >
+<![%td.element;[
+<!ENTITY % td.content
+ "( #PCDATA | %Flow.mix; )*"
+>
+<!ELEMENT %td.qname; %td.content; >
+<!-- end of td.element -->]]>
+
+<!ENTITY % td.attlist "INCLUDE" >
+<![%td.attlist;[
+<!ATTLIST %td.qname;
+ %Common.attrib;
+ abbr %Text.datatype; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ %scope.attrib;
+ rowspan %Number.datatype; '1'
+ colspan %Number.datatype; '1'
+ %CellHAlign.attrib;
+ %CellVAlign.attrib;
+>
+<!-- end of td.attlist -->]]>
+
+<!-- end of xhtml-table-1.mod -->
+]]>
+
+<!-- Forms Module ............................................... -->
+<!ENTITY % xhtml-form.module "INCLUDE" >
+<![%xhtml-form.module;[
+<!ENTITY % xhtml-form.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Forms 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-form-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Forms Module .................................................. -->
+<!-- file: xhtml-form-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Forms 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-form-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Forms
+
+ form, label, input, select, optgroup, option,
+ textarea, fieldset, legend, button
+
+ This module declares markup to provide support for online
+ forms, based on the features found in HTML 4 forms.
+-->
+
+<!-- declare qualified element type names:
+-->
+<!ENTITY % form.qname "form" >
+<!ENTITY % label.qname "label" >
+<!ENTITY % input.qname "input" >
+<!ENTITY % select.qname "select" >
+<!ENTITY % optgroup.qname "optgroup" >
+<!ENTITY % option.qname "option" >
+<!ENTITY % textarea.qname "textarea" >
+<!ENTITY % fieldset.qname "fieldset" >
+<!ENTITY % legend.qname "legend" >
+<!ENTITY % button.qname "button" >
+
+<!-- %BlkNoForm.mix; includes all non-form block elements,
+ plus %Misc.class;
+-->
+<!ENTITY % BlkNoForm.mix
+ "%Heading.class;
+ | %List.class;
+ | %BlkStruct.class;
+ %BlkPhras.class;
+ %BlkPres.class;
+ %Table.class;
+ %Block.extra;
+ %Misc.class;"
+>
+
+<!-- form: Form Element ................................ -->
+
+<!ENTITY % form.element "INCLUDE" >
+<![%form.element;[
+<!ENTITY % form.content
+ "( %BlkNoForm.mix;
+ | %fieldset.qname; )+"
+>
+<!ELEMENT %form.qname; %form.content; >
+<!-- end of form.element -->]]>
+
+<!ENTITY % form.attlist "INCLUDE" >
+<![%form.attlist;[
+<!ATTLIST %form.qname;
+ %Common.attrib;
+ action %URI.datatype; #REQUIRED
+ method ( get | post ) 'get'
+ enctype %ContentType.datatype; 'application/x-www-form-urlencoded'
+ accept-charset %Charsets.datatype; #IMPLIED
+ accept %ContentTypes.datatype; #IMPLIED
+>
+<!-- end of form.attlist -->]]>
+
+<!-- label: Form Field Label Text ...................... -->
+
+<!-- Each label must not contain more than ONE field
+-->
+
+<!ENTITY % label.element "INCLUDE" >
+<![%label.element;[
+<!ENTITY % label.content
+ "( #PCDATA
+ | %input.qname; | %select.qname; | %textarea.qname; | %button.qname;
+ | %InlStruct.class;
+ %InlPhras.class;
+ %I18n.class;
+ %InlPres.class;
+ %Anchor.class;
+ %InlSpecial.class;
+ %Inline.extra;
+ %Misc.class; )*"
+>
+<!ELEMENT %label.qname; %label.content; >
+<!-- end of label.element -->]]>
+
+<!ENTITY % label.attlist "INCLUDE" >
+<![%label.attlist;[
+<!ATTLIST %label.qname;
+ %Common.attrib;
+ for IDREF #IMPLIED
+ accesskey %Character.datatype; #IMPLIED
+>
+<!-- end of label.attlist -->]]>
+
+<!-- input: Form Control ............................... -->
+
+<!ENTITY % input.element "INCLUDE" >
+<![%input.element;[
+<!ENTITY % input.content "EMPTY" >
+<!ELEMENT %input.qname; %input.content; >
+<!-- end of input.element -->]]>
+
+<!ENTITY % input.attlist "INCLUDE" >
+<![%input.attlist;[
+<!ENTITY % InputType.class
+ "( text | password | checkbox | radio | submit
+ | reset | file | hidden | image | button )"
+>
+<!-- attribute 'name' required for all but submit & reset
+-->
+<!ATTLIST %input.qname;
+ %Common.attrib;
+ type %InputType.class; 'text'
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ checked ( checked ) #IMPLIED
+ disabled ( disabled ) #IMPLIED
+ readonly ( readonly ) #IMPLIED
+ size %Number.datatype; #IMPLIED
+ maxlength %Number.datatype; #IMPLIED
+ src %URI.datatype; #IMPLIED
+ alt %Text.datatype; #IMPLIED
+ tabindex %Number.datatype; #IMPLIED
+ accesskey %Character.datatype; #IMPLIED
+ accept %ContentTypes.datatype; #IMPLIED
+>
+<!-- end of input.attlist -->]]>
+
+<!-- select: Option Selector ........................... -->
+
+<!ENTITY % select.element "INCLUDE" >
+<![%select.element;[
+<!ENTITY % select.content
+ "( %optgroup.qname; | %option.qname; )+"
+>
+<!ELEMENT %select.qname; %select.content; >
+<!-- end of select.element -->]]>
+
+<!ENTITY % select.attlist "INCLUDE" >
+<![%select.attlist;[
+<!ATTLIST %select.qname;
+ %Common.attrib;
+ name CDATA #IMPLIED
+ size %Number.datatype; #IMPLIED
+ multiple ( multiple ) #IMPLIED
+ disabled ( disabled ) #IMPLIED
+ tabindex %Number.datatype; #IMPLIED
+>
+<!-- end of select.attlist -->]]>
+
+<!-- optgroup: Option Group ............................ -->
+
+<!ENTITY % optgroup.element "INCLUDE" >
+<![%optgroup.element;[
+<!ENTITY % optgroup.content "( %option.qname; )+" >
+<!ELEMENT %optgroup.qname; %optgroup.content; >
+<!-- end of optgroup.element -->]]>
+
+<!ENTITY % optgroup.attlist "INCLUDE" >
+<![%optgroup.attlist;[
+<!ATTLIST %optgroup.qname;
+ %Common.attrib;
+ disabled ( disabled ) #IMPLIED
+ label %Text.datatype; #REQUIRED
+>
+<!-- end of optgroup.attlist -->]]>
+
+<!-- option: Selectable Choice ......................... -->
+
+<!ENTITY % option.element "INCLUDE" >
+<![%option.element;[
+<!ENTITY % option.content "( #PCDATA )" >
+<!ELEMENT %option.qname; %option.content; >
+<!-- end of option.element -->]]>
+
+<!ENTITY % option.attlist "INCLUDE" >
+<![%option.attlist;[
+<!ATTLIST %option.qname;
+ %Common.attrib;
+ selected ( selected ) #IMPLIED
+ disabled ( disabled ) #IMPLIED
+ label %Text.datatype; #IMPLIED
+ value CDATA #IMPLIED
+>
+<!-- end of option.attlist -->]]>
+
+<!-- textarea: Multi-Line Text Field ................... -->
+
+<!ENTITY % textarea.element "INCLUDE" >
+<![%textarea.element;[
+<!ENTITY % textarea.content "( #PCDATA )" >
+<!ELEMENT %textarea.qname; %textarea.content; >
+<!-- end of textarea.element -->]]>
+
+<!ENTITY % textarea.attlist "INCLUDE" >
+<![%textarea.attlist;[
+<!ATTLIST %textarea.qname;
+ %Common.attrib;
+ name CDATA #IMPLIED
+ rows %Number.datatype; #REQUIRED
+ cols %Number.datatype; #REQUIRED
+ disabled ( disabled ) #IMPLIED
+ readonly ( readonly ) #IMPLIED
+ tabindex %Number.datatype; #IMPLIED
+ accesskey %Character.datatype; #IMPLIED
+>
+<!-- end of textarea.attlist -->]]>
+
+<!-- fieldset: Form Control Group ...................... -->
+
+<!-- #PCDATA is to solve the mixed content problem,
+ per specification only whitespace is allowed
+-->
+
+<!ENTITY % fieldset.element "INCLUDE" >
+<![%fieldset.element;[
+<!ENTITY % fieldset.content
+ "( #PCDATA | %legend.qname; | %Flow.mix; )*"
+>
+<!ELEMENT %fieldset.qname; %fieldset.content; >
+<!-- end of fieldset.element -->]]>
+
+<!ENTITY % fieldset.attlist "INCLUDE" >
+<![%fieldset.attlist;[
+<!ATTLIST %fieldset.qname;
+ %Common.attrib;
+>
+<!-- end of fieldset.attlist -->]]>
+
+<!-- legend: Fieldset Legend ........................... -->
+
+<!ENTITY % legend.element "INCLUDE" >
+<![%legend.element;[
+<!ENTITY % legend.content
+ "( #PCDATA | %Inline.mix; )*"
+>
+<!ELEMENT %legend.qname; %legend.content; >
+<!-- end of legend.element -->]]>
+
+<!ENTITY % legend.attlist "INCLUDE" >
+<![%legend.attlist;[
+<!ATTLIST %legend.qname;
+ %Common.attrib;
+ accesskey %Character.datatype; #IMPLIED
+>
+<!-- end of legend.attlist -->]]>
+
+<!-- button: Push Button ............................... -->
+
+<!ENTITY % button.element "INCLUDE" >
+<![%button.element;[
+<!ENTITY % button.content
+ "( #PCDATA
+ | %BlkNoForm.mix;
+ | %InlStruct.class;
+ %InlPhras.class;
+ %InlPres.class;
+ %I18n.class;
+ %InlSpecial.class;
+ %Inline.extra; )*"
+>
+<!ELEMENT %button.qname; %button.content; >
+<!-- end of button.element -->]]>
+
+<!ENTITY % button.attlist "INCLUDE" >
+<![%button.attlist;[
+<!ATTLIST %button.qname;
+ %Common.attrib;
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ type ( button | submit | reset ) 'submit'
+ disabled ( disabled ) #IMPLIED
+ tabindex %Number.datatype; #IMPLIED
+ accesskey %Character.datatype; #IMPLIED
+>
+<!-- end of button.attlist -->]]>
+
+<!-- end of xhtml-form-1.mod -->
+]]>
+
+<!-- Legacy Markup ............................................... -->
+<!ENTITY % xhtml-legacy.module "IGNORE" >
+<![%xhtml-legacy.module;[
+<!ENTITY % xhtml-legacy.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Legacy Markup 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-legacy-1.mod" >
+%xhtml-legacy.mod;]]>
+
+<!-- Document Structure Module (required) ....................... -->
+<!ENTITY % xhtml-struct.module "INCLUDE" >
+<![%xhtml-struct.module;[
+<!ENTITY % xhtml-struct.mod
+ PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN"
+ "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-struct-1.mod" >
+<!-- ...................................................................... -->
+<!-- XHTML Structure Module .............................................. -->
+<!-- file: xhtml-struct-1.mod
+
+ This is XHTML, a reformulation of HTML as a modular XML application.
+ Copyright 1998-2001 W3C (MIT, INRIA, Keio), All Rights Reserved.
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $ SMI
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-struct-1.mod"
+
+ Revisions:
+ (none)
+ ....................................................................... -->
+
+<!-- Document Structure
+
+ title, head, body, html
+
+ The Structure Module defines the major structural elements and
+ their attributes.
+
+ Note that the content model of the head element type is redeclared
+ when the Base Module is included in the DTD.
+
+ The parameter entity containing the XML namespace URI value used
+ for XHTML is '%XHTML.xmlns;', defined in the Qualified Names module.
+-->
+
+<!-- title: Document Title ............................. -->
+
+<!-- The title element is not considered part of the flow of text.
+ It should be displayed, for example as the page header or
+ window title. Exactly one title is required per document.
+-->
+
+<!ENTITY % title.element "INCLUDE" >
+<![%title.element;[
+<!ENTITY % title.content "( #PCDATA )" >
+<!ENTITY % title.qname "title" >
+<!ELEMENT %title.qname; %title.content; >
+<!-- end of title.element -->]]>
+
+<!ENTITY % title.attlist "INCLUDE" >
+<![%title.attlist;[
+<!ATTLIST %title.qname;
+ %XHTML.xmlns.attrib;
+ %I18n.attrib;
+>
+<!-- end of title.attlist -->]]>
+
+<!-- head: Document Head ............................... -->
+
+<!ENTITY % head.element "INCLUDE" >
+<![%head.element;[
+<!ENTITY % head.content
+ "( %HeadOpts.mix;, %title.qname;, %HeadOpts.mix; )"
+>
+<!ENTITY % head.qname "head" >
+<!ELEMENT %head.qname; %head.content; >
+<!-- end of head.element -->]]>
+
+<!ENTITY % head.attlist "INCLUDE" >
+<![%head.attlist;[
+<!-- reserved for future use with document profiles
+-->
+<!ENTITY % profile.attrib
+ "profile %URI.datatype; '%XHTML.profile;'"
+>
+
+<!ATTLIST %head.qname;
+ %XHTML.xmlns.attrib;
+ %I18n.attrib;
+ %profile.attrib;
+>
+<!-- end of head.attlist -->]]>
+
+<!-- body: Document Body ............................... -->
+
+<!ENTITY % body.element "INCLUDE" >
+<![%body.element;[
+<!ENTITY % body.content
+ "( %Block.mix; )+"
+>
+<!ENTITY % body.qname "body" >
+<!ELEMENT %body.qname; %body.content; >
+<!-- end of body.element -->]]>
+
+<!ENTITY % body.attlist "INCLUDE" >
+<![%body.attlist;[
+<!ATTLIST %body.qname;
+ %Common.attrib;
+>
+<!-- end of body.attlist -->]]>
+
+<!-- html: XHTML Document Element ...................... -->
+
+<!ENTITY % html.element "INCLUDE" >
+<![%html.element;[
+<!ENTITY % html.content "( %head.qname;, %body.qname; )" >
+<!ENTITY % html.qname "html" >
+<!ELEMENT %html.qname; %html.content; >
+<!-- end of html.element -->]]>
+
+<!ENTITY % html.attlist "INCLUDE" >
+<![%html.attlist;[
+<!-- version attribute value defined in driver
+-->
+<!ENTITY % XHTML.version.attrib
+ "version %FPI.datatype; #FIXED '%XHTML.version;'"
+>
+
+<!-- see the Qualified Names module for information
+ on how to extend XHTML using XML namespaces
+-->
+<!ATTLIST %html.qname;
+ %XHTML.xmlns.attrib;
+ %XHTML.version.attrib;
+ %I18n.attrib;
+>
+<!-- end of html.attlist -->]]>
+
+<!-- end of xhtml-struct-1.mod -->
+]]>
+
+<!-- end of XHTML 1.1 DTD ................................................. -->
+<!-- ....................................................................... -->
+
+]]>
+
+<!-- instantiate MathML 2.0 DTD ................................. -->
+<![%MATHML.module;[
+<!ENTITY % MATHML.dtd.decl
+ 'PUBLIC "-//W3C//DTD MathML 2.0//EN"
+ "%MATHML.dtd.sysid;"'
+>
+<!ENTITY % MATHML.dtd %MATHML.dtd.decl; >
+<!-- MathML 2.0 DTD ....................................................... -->
+<!-- file: mathml2.dtd
+-->
+
+<!-- MathML 2.0 DTD
+
+ This is the Mathematical Markup Language (MathML) 2.0, an XML
+ application for describing mathematical notation and capturing
+ both its structure and content.
+
+ Copyright 1998-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 the MathML 2.0 DTD 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 make
+ no representation about the suitability of the DTD for any purpose.
+
+ It is provided "as is" without expressed or implied warranty.
+
+ Revision: $Id: xhtml-math11-f.dtd,v 1.11 2002/07/05 19:16:14 davidc Exp $
+
+ This entity may be identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//DTD MathML 2.0//EN"
+ SYSTEM "mathml2.dtd"
+
+ Revisions: editor and revision history at EOF
+-->
+
+
+<!-- MathML Qualified Names module ............................... -->
+<!ENTITY % mathml-qname.module "INCLUDE" >
+<![%mathml-qname.module;[
+<!ENTITY % mathml-qname.mod
+ PUBLIC "-//W3C//ENTITIES MathML 2.0 Qualified Names 1.0//EN"
+ "mathml2-qname-1.mod" >
+%mathml-qname.mod;]]>
+
+<!-- if %NS.prefixed; is INCLUDE, include all NS attributes,
+ otherwise just those associated with MathML
+-->
+<![%NS.prefixed;[
+<!ENTITY % MATHML.NamespaceDecl.attrib
+ "%NamespaceDecl.attrib;"
+>
+]]>
+<!ENTITY % MATHML.NamespaceDecl.attrib
+ "%MATHML.xmlns.attrib;"
+>
+
+<!ENTITY % XLINK.prefix "xlink" >
+
+<!-- Attributes shared by all elements .......................... -->
+
+<!ENTITY % MATHML.Common.attrib
+ "%MATHML.NamespaceDecl.attrib;
+ %XLINK.prefix;:href CDATA #IMPLIED
+ %XLINK.prefix;:type CDATA #IMPLIED
+ class CDATA #IMPLIED
+ style CDATA #IMPLIED
+ id ID #IMPLIED
+ xref IDREF #IMPLIED
+ other CDATA #IMPLIED"
+>
+
+<!-- Presentation element set ................................... -->
+
+<!-- Attribute definitions -->
+
+<!ENTITY % att-fontsize
+ "fontsize CDATA #IMPLIED" >
+<!ENTITY % att-fontweight
+ "fontweight ( normal | bold ) #IMPLIED" >
+<!ENTITY % att-fontstyle
+ "fontstyle ( normal | italic ) #IMPLIED" >
+<!ENTITY % att-fontfamily
+ "fontfamily CDATA #IMPLIED" >
+<!ENTITY % att-color
+ "color CDATA #IMPLIED" >
+
+<!-- MathML2 typographically-distinguished symbol attributes -->
+
+<!ENTITY % att-mathvariant
+ "mathvariant CDATA #IMPLIED" >
+<!ENTITY % att-mathsize
+ "mathsize CDATA #IMPLIED" >
+<!ENTITY % att-mathcolor
+ "mathcolor CDATA #IMPLIED" >
+<!ENTITY % att-mathbackground
+ "mathbackground CDATA #IMPLIED" >
+
+<!ENTITY % att-fontinfo
+ "%att-fontsize;
+ %att-fontweight;
+ %att-fontstyle;
+ %att-fontfamily;
+ %att-color;
+ %att-mathvariant;
+ %att-mathsize;
+ %att-mathcolor;
+ %att-mathbackground;"
+>
+
+<!ENTITY % att-form
+ "form ( prefix | infix | postfix ) #IMPLIED" >
+<!ENTITY % att-fence
+ "fence ( true | false ) #IMPLIED" >
+<!ENTITY % att-separator
+ "separator ( true | false ) #IMPLIED" >
+<!ENTITY % att-lspace
+ "lspace CDATA #IMPLIED" >
+<!ENTITY % att-rspace
+ "rspace CDATA #IMPLIED" >
+<!ENTITY % att-stretchy
+ "stretchy ( true | false ) #IMPLIED" >
+<!ENTITY % att-symmetric
+ "symmetric ( true | false ) #IMPLIED" >
+<!ENTITY % att-maxsize
+ "maxsize CDATA #IMPLIED" >
+<!ENTITY % att-minsize
+ "minsize CDATA #IMPLIED" >
+<!ENTITY % att-largeop
+ "largeop ( true | false) #IMPLIED" >
+<!ENTITY % att-movablelimits
+ "movablelimits ( true | false ) #IMPLIED" >
+<!ENTITY % att-accent
+ "accent ( true | false ) #IMPLIED" >
+
+<!ENTITY % att-opinfo
+ "%att-form;
+ %att-fence;
+ %att-separator;
+ %att-lspace;
+ %att-rspace;
+ %att-stretchy;
+ %att-symmetric;
+ %att-maxsize;
+ %att-minsize;
+ %att-largeop;
+ %att-movablelimits;
+ %att-accent;"
+>
+<!ENTITY % att-width
+ "width CDATA #IMPLIED" >
+<!ENTITY % att-height
+ "height CDATA #IMPLIED" >
+<!ENTITY % att-depth
+ "depth CDATA #IMPLIED" >
+<!ENTITY % att-linebreak
+ "linebreak CDATA #IMPLIED" >
+<!ENTITY % att-sizeinfo
+ "%att-width;
+ %att-height;
+ %att-depth;"
+>
+<!ENTITY % att-lquote
+ "lquote CDATA #IMPLIED" >
+<!ENTITY % att-rquote
+ "rquote CDATA #IMPLIED" >
+<!ENTITY % att-linethickness
+ "linethickness CDATA #IMPLIED" >
+<!ENTITY % att-scriptlevel
+ "scriptlevel CDATA #IMPLIED" >
+<!ENTITY % att-displaystyle
+ "displaystyle ( true | false ) #IMPLIED" >
+<!ENTITY % att-scriptsizemultiplier
+ "scriptsizemultiplier CDATA #IMPLIED" >
+<!ENTITY % att-scriptminsize
+ "scriptminsize CDATA #IMPLIED" >
+<!ENTITY % att-background
+ "background CDATA #IMPLIED" >
+<!ENTITY % att-veryverythinmathspace
+ "veryverythinmathspace CDATA #IMPLIED" >
+<!ENTITY % att-verythinmathspace
+ "verythinmathspace CDATA #IMPLIED" >
+<!ENTITY % att-thinmathspace
+ "thinmathspace CDATA #IMPLIED" >
+<!ENTITY % att-mediummathspace
+ "mediummathspace CDATA #IMPLIED" >
+<!ENTITY % att-thickmathspace
+ "thickmathspace CDATA #IMPLIED" >
+<!ENTITY % att-verythickmathspace
+ "verythickmathspace CDATA #IMPLIED" >
+<!ENTITY % att-veryverythickmathspace
+ "veryverythickmathspace CDATA #IMPLIED" >
+<!ENTITY % att-open
+ "open CDATA #IMPLIED" >
+<!ENTITY % att-close
+ "close CDATA #IMPLIED" >
+<!ENTITY % att-separators
+ "separators CDATA #IMPLIED" >
+<!ENTITY % att-subscriptshift
+ "subscriptshift CDATA #IMPLIED" >
+<!ENTITY % att-superscriptshift
+ "superscriptshift CDATA #IMPLIED" >
+<!ENTITY % att-accentunder
+ "accentunder ( true | false ) #IMPLIED" >
+<!ENTITY % att-align
+ "align CDATA #IMPLIED" >
+<!ENTITY % att-numalign
+ "numalign CDATA #IMPLIED" >
+<!ENTITY % att-denomalign
+ "denomalign CDATA #IMPLIED" >
+<!ENTITY % att-rowalign
+ "rowalign CDATA #IMPLIED" >
+<!ENTITY % att-columnalign
+ "columnalign CDATA #IMPLIED" >
+<!ENTITY % att-columnwidth
+ "columnwidth CDATA #IMPLIED" >
+<!ENTITY % att-groupalign
+ "groupalign CDATA #IMPLIED" >
+<!ENTITY % att-alignmentscope
+ "alignmentscope CDATA #IMPLIED" >
+<!ENTITY % att-rowspacing
+ "rowspacing CDATA #IMPLIED" >
+<!ENTITY % att-columnspacing
+ "columnspacing CDATA #IMPLIED" >
+<!ENTITY % att-rowlines
+ "rowlines CDATA #IMPLIED" >
+<!ENTITY % att-columnlines
+ "columnlines CDATA #IMPLIED" >
+<!ENTITY % att-frame
+ "frame ( none | solid | dashed ) #IMPLIED" >
+<!ENTITY % att-side
+ "side ( left | right | leftoverlap | rightoverlap ) #IMPLIED" >
+<!ENTITY % att-framespacing
+ "framespacing CDATA #IMPLIED" >
+<!ENTITY % att-equalrows
+ "equalrows CDATA #IMPLIED" >
+<!ENTITY % att-equalcolumns
+ "equalcolumns CDATA #IMPLIED" >
+
+<!ENTITY % att-tableinfo
+ "%att-align;
+ %att-rowalign;
+ %att-columnalign;
+ %att-columnwidth;
+ %att-groupalign;
+ %att-alignmentscope;
+ %att-side;
+ %att-rowspacing;
+ %att-columnspacing;
+ %att-rowlines;
+ %att-columnlines;
+ %att-width;
+ %att-frame;
+ %att-framespacing;
+ %att-equalrows;
+ %att-equalcolumns;
+ %att-displaystyle;"
+>
+
+<!ENTITY % att-rowspan
+ "rowspan CDATA #IMPLIED" >
+<!ENTITY % att-columnspan
+ "columnspan CDATA #IMPLIED" >
+<!ENTITY % att-edge
+ "edge ( left | right ) #IMPLIED" >
+<!ENTITY % att-actiontype
+ "actiontype CDATA #IMPLIED" >
+<!ENTITY % att-selection
+ "selection CDATA #IMPLIED" >
+
+<!ENTITY % att-name
+ "name CDATA #IMPLIED" >
+<!ENTITY % att-alt
+ "alt CDATA #IMPLIED" >
+<!ENTITY % att-index
+ "index CDATA #IMPLIED" >
+
+<!ENTITY % att-bevelled
+ "bevelled CDATA #IMPLIED" >
+
+<!-- Presentation schemata with content -->
+
+<!ENTITY % ptoken
+ "%mi.qname; | %mn.qname; | %mo.qname;
+ | %mtext.qname; | %ms.qname;" >
+
+<!ATTLIST %mi.qname;
+ %MATHML.Common.attrib;
+ %att-fontinfo;
+>
+
+<!ATTLIST %mn.qname;
+ %MATHML.Common.attrib;
+ %att-fontinfo;
+>
+
+<!ATTLIST %mo.qname;
+ %MATHML.Common.attrib;
+ %att-fontinfo;
+ %att-opinfo;
+>
+
+<!ATTLIST %mtext.qname;
+ %MATHML.Common.attrib;
+ %att-fontinfo;
+>
+
+<!ATTLIST %ms.qname;
+ %MATHML.Common.attrib;
+ %att-fontinfo;
+ %att-lquote;
+ %att-rquote;
+>
+
+<!-- Empty presentation schemata -->
+
+<!ENTITY % petoken
+ "%mspace.qname;" >
+<!ELEMENT %mspace.qname; EMPTY >
+
+<!ATTLIST %mspace.qname;
+ %att-sizeinfo;
+ %att-linebreak;
+ %MATHML.Common.attrib;
+>
+
+<!-- Presentation: general layout schemata -->
+
+<!ENTITY % pgenschema
+ "%mrow.qname; | %mfrac.qname; | %msqrt.qname; | %mroot.qname;
+ | %menclose.qname; | %mstyle.qname; | %merror.qname;
+ | %mpadded.qname; | %mphantom.qname; | %mfenced.qname;" >
+
+<!ATTLIST %mrow.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %mfrac.qname;
+ %MATHML.Common.attrib;
+ %att-bevelled;
+ %att-linethickness;
+>
+
+<!ATTLIST %msqrt.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %menclose.qname;
+ %MATHML.Common.attrib;
+ notation CDATA 'longdiv' >
+
+<!ATTLIST %mroot.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %mstyle.qname;
+ %MATHML.Common.attrib;
+ %att-fontinfo;
+ %att-opinfo;
+ %att-lquote;
+ %att-rquote;
+ %att-linethickness;
+ %att-scriptlevel;
+ %att-scriptsizemultiplier;
+ %att-scriptminsize;
+ %att-background;
+ %att-veryverythinmathspace;
+ %att-verythinmathspace;
+ %att-thinmathspace;
+ %att-mediummathspace;
+ %att-thickmathspace;
+ %att-verythickmathspace;
+ %att-veryverythickmathspace;
+ %att-open;
+ %att-close;
+ %att-separators;
+ %att-subscriptshift;
+ %att-superscriptshift;
+ %att-accentunder;
+ %att-tableinfo;
+ %att-rowspan;
+ %att-columnspan;
+ %att-edge;
+ %att-actiontype;
+ %att-selection;
+>
+
+<!ATTLIST %merror.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %mpadded.qname;
+ %MATHML.Common.attrib;
+ %att-sizeinfo;
+ %att-lspace;
+>
+
+<!ATTLIST %mphantom.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %mfenced.qname;
+ %MATHML.Common.attrib;
+ %att-open;
+ %att-close;
+ %att-separators;
+>
+
+<!-- Presentation layout schemata: scripts and limits -->
+
+<!ENTITY % pscrschema
+ "%msub.qname; | %msup.qname; | %msubsup.qname; | %munder.qname;
+ | %mover.qname; | %munderover.qname; | %mmultiscripts.qname;" >
+
+<!ATTLIST %msub.qname;
+ %MATHML.Common.attrib;
+ %att-subscriptshift;
+>
+
+<!ATTLIST %msup.qname;
+ %MATHML.Common.attrib;
+ %att-superscriptshift;
+>
+
+<!ATTLIST %msubsup.qname;
+ %MATHML.Common.attrib;
+ %att-subscriptshift;
+ %att-superscriptshift;
+>
+
+<!ATTLIST %munder.qname;
+ %MATHML.Common.attrib;
+ %att-accentunder;
+>
+
+<!ATTLIST %mover.qname;
+ %MATHML.Common.attrib;
+ %att-accent;
+>
+
+<!ATTLIST %munderover.qname;
+ %MATHML.Common.attrib;
+ %att-accent;
+ %att-accentunder;
+>
+
+<!ATTLIST %mmultiscripts.qname;
+ %MATHML.Common.attrib;
+ %att-subscriptshift;
+ %att-superscriptshift;
+>
+
+<!-- Presentation layout schemata: empty elements for scripts -->
+
+<!ENTITY % pscreschema
+ "%mprescripts.qname; | %none.qname;" >
+
+<!ELEMENT %mprescripts.qname; EMPTY >
+<!ATTLIST %mprescripts.qname;
+ %MATHML.xmlns.attrib; >
+
+<!ELEMENT %none.qname; EMPTY >
+<!ATTLIST %none.qname;
+ %MATHML.xmlns.attrib; >
+
+<!-- Presentation layout schemata: tables -->
+
+<!ENTITY % ptabschema
+ "%mtable.qname; | %mtr.qname; | %mlabeledtr.qname; | %mtd.qname;" >
+
+<!ATTLIST %mtable.qname;
+ %MATHML.Common.attrib;
+ %att-tableinfo;
+>
+
+<!ATTLIST %mtr.qname;
+ %MATHML.Common.attrib;
+ %att-rowalign;
+ %att-columnalign;
+ %att-groupalign;
+>
+
+<!ATTLIST %mlabeledtr.qname;
+ %MATHML.Common.attrib;
+ %att-rowalign;
+ %att-columnalign;
+ %att-groupalign;
+>
+
+<!ATTLIST %mtd.qname;
+ %MATHML.Common.attrib;
+ %att-rowalign;
+ %att-columnalign;
+ %att-groupalign;
+ %att-rowspan;
+ %att-columnspan;
+>
+
+<!ENTITY % plschema
+ "%pgenschema; | %pscrschema; | %ptabschema;" >
+
+<!-- Empty presentation layout schemata -->
+
+<!ENTITY % peschema
+ "%maligngroup.qname; | %malignmark.qname;" >
+
+<!ELEMENT %malignmark.qname; EMPTY >
+
+<!ATTLIST %malignmark.qname;
+ %att-edge; >
+
+<!ELEMENT %maligngroup.qname; EMPTY >
+<!ATTLIST %maligngroup.qname;
+ %MATHML.Common.attrib;
+ %att-groupalign;
+>
+
+
+<!ELEMENT %mglyph.qname; EMPTY >
+<!ATTLIST %mglyph.qname;
+ %att-alt;
+ %att-fontfamily;
+ %att-index; >
+
+<!-- Presentation action schemata -->
+
+<!ENTITY % pactions
+ "%maction.qname;" >
+<!ATTLIST %maction.qname;
+ %MATHML.Common.attrib;
+ %att-actiontype;
+ %att-selection;
+>
+
+<!-- The following entity for substitution into
+ content constructs excludes elements that
+ are not valid as expressions.
+-->
+
+<!ENTITY % PresInCont
+ "%ptoken; | %petoken; |
+ %plschema; | %peschema; | %pactions;" >
+
+<!-- Presentation entity: all presentation constructs -->
+
+<!ENTITY % Presentation
+ "%ptoken; | %petoken; | %pscreschema; |
+ %plschema; | %peschema; | %pactions;">
+
+<!-- Content element set ........................................ -->
+
+<!-- Attribute definitions -->
+
+<!ENTITY % att-base
+ "base CDATA '10'" >
+<!ENTITY % att-closure
+ "closure CDATA 'closed'" >
+<!ENTITY % att-definition
+ "definitionURL CDATA ''" >
+<!ENTITY % att-encoding
+ "encoding CDATA ''" >
+<!ENTITY % att-nargs
+ "nargs CDATA '1'" >
+<!ENTITY % att-occurrence
+ "occurrence CDATA 'function-model'" >
+<!ENTITY % att-order
+ "order CDATA 'numeric'" >
+<!ENTITY % att-scope
+ "scope CDATA 'local'" >
+<!ENTITY % att-type
+ "type CDATA #IMPLIED" >
+
+<!-- Content elements: leaf nodes -->
+
+<!ENTITY % ctoken
+ "%csymbol.qname; | %ci.qname; | %cn.qname;" >
+
+<!ATTLIST %ci.qname;
+ %MATHML.Common.attrib;
+ %att-type;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ATTLIST %csymbol.qname;
+ %MATHML.Common.attrib;
+ %att-encoding;
+ %att-type;
+ %att-definition;
+>
+
+<!ATTLIST %cn.qname;
+ %MATHML.Common.attrib;
+ %att-type;
+ %att-base;
+ %att-definition;
+ %att-encoding;
+>
+
+<!-- Content elements: specials -->
+
+<!ENTITY % cspecial
+ "%apply.qname; | %reln.qname; |
+ %lambda.qname;" >
+
+<!ATTLIST %apply.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %reln.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %lambda.qname;
+ %MATHML.Common.attrib;
+>
+
+<!-- Content elements: others -->
+
+<!ENTITY % cother
+ "%condition.qname; | %declare.qname; | %sep.qname;" >
+
+<!ATTLIST %condition.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %declare.qname;
+ %MATHML.Common.attrib;
+ %att-type;
+ %att-scope;
+ %att-nargs;
+ %att-occurrence;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %sep.qname; EMPTY >
+<!ATTLIST %sep.qname;
+ %MATHML.xmlns.attrib; >
+
+<!-- Content elements: semantic mapping -->
+
+<!ENTITY % csemantics
+ "%semantics.qname; | %annotation.qname; |
+ %annotation-xml.qname;" >
+
+<!ATTLIST %semantics.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ATTLIST %annotation.qname;
+ %MATHML.Common.attrib;
+ %att-encoding;
+>
+
+<!ATTLIST %annotation-xml.qname;
+ %MATHML.Common.attrib;
+ %att-encoding;
+>
+
+<!-- Content elements: constructors -->
+
+<!ENTITY % cconstructor
+ "%interval.qname; | %list.qname; | %matrix.qname;
+ | %matrixrow.qname; | %set.qname; | %vector.qname;
+ | %piecewise.qname; " >
+
+<!ATTLIST %interval.qname;
+ %MATHML.Common.attrib;
+ %att-closure;
+>
+
+<!ATTLIST %set.qname;
+ %MATHML.Common.attrib;
+ %att-type;
+>
+
+<!ATTLIST %list.qname;
+ %MATHML.Common.attrib;
+ %att-order;
+>
+
+<!ATTLIST %vector.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %matrix.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %matrixrow.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %piecewise.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %piece.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %otherwise.qname;
+ %MATHML.Common.attrib;
+>
+
+
+<!-- Content elements: symbols -->
+
+<!ENTITY % c0ary
+ "%integers.qname; |
+ %reals.qname; |
+ %rationals.qname; |
+ %naturalnumbers.qname; |
+ %complexes.qname; |
+ %primes.qname; |
+ %exponentiale.qname; |
+ %imaginaryi.qname; |
+ %notanumber.qname; |
+ %true.qname; |
+ %false.qname; |
+ %emptyset.qname; |
+ %pi.qname; |
+ %eulergamma.qname; |
+ %infinity.qname;" >
+
+<!ELEMENT %integers.qname; EMPTY >
+<!ATTLIST %integers.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %reals.qname; EMPTY >
+<!ATTLIST %reals.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %rationals.qname; EMPTY >
+<!ATTLIST %rationals.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %naturalnumbers.qname; EMPTY >
+<!ATTLIST %naturalnumbers.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %complexes.qname; EMPTY >
+<!ATTLIST %complexes.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %primes.qname; EMPTY >
+<!ATTLIST %primes.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %exponentiale.qname; EMPTY >
+<!ATTLIST %exponentiale.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %imaginaryi.qname; EMPTY >
+<!ATTLIST %imaginaryi.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %notanumber.qname; EMPTY >
+<!ATTLIST %notanumber.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %true.qname; EMPTY >
+<!ATTLIST %true.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %false.qname; EMPTY >
+<!ATTLIST %false.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %emptyset.qname; EMPTY >
+<!ATTLIST %emptyset.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %pi.qname; EMPTY >
+<!ATTLIST %pi.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %eulergamma.qname; EMPTY >
+<!ATTLIST %eulergamma.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %infinity.qname; EMPTY >
+<!ATTLIST %infinity.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!-- Content elements: operators -->
+
+<!ENTITY % cfuncop1ary
+ "%inverse.qname; | %ident.qname;|
+ %domain.qname; | %codomain.qname; |
+ %image.qname; " >
+
+<!ELEMENT %inverse.qname; EMPTY >
+<!ATTLIST %inverse.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %domain.qname; EMPTY >
+<!ATTLIST %domain.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %codomain.qname; EMPTY >
+<!ATTLIST %codomain.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %image.qname; EMPTY >
+<!ATTLIST %image.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+
+
+<!ENTITY % cfuncopnary
+ "%fn.qname; | %compose.qname;" >
+
+<!ATTLIST %fn.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %ident.qname; EMPTY >
+<!ATTLIST %ident.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %compose.qname; EMPTY >
+<!ATTLIST %compose.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % carithop1ary
+ "%abs.qname; | %conjugate.qname; | %exp.qname; | %factorial.qname; |
+ %arg.qname; | %real.qname; | %imaginary.qname; |
+ %floor.qname; | %ceiling.qname;" >
+
+<!ELEMENT %exp.qname; EMPTY >
+<!ATTLIST %exp.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %abs.qname; EMPTY >
+<!ATTLIST %abs.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arg.qname; EMPTY >
+<!ATTLIST %arg.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %real.qname; EMPTY >
+<!ATTLIST %real.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %imaginary.qname; EMPTY >
+<!ATTLIST %imaginary.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %conjugate.qname; EMPTY >
+<!ATTLIST %conjugate.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %factorial.qname; EMPTY >
+<!ATTLIST %factorial.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+
+<!ELEMENT %floor.qname; EMPTY >
+<!ATTLIST %floor.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %ceiling.qname; EMPTY >
+<!ATTLIST %ceiling.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+<!ENTITY % carithop1or2ary
+ "%minus.qname;" >
+
+<!ELEMENT %minus.qname; EMPTY >
+<!ATTLIST %minus.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % carithop2ary
+ "%quotient.qname; | %divide.qname; | %power.qname; | %rem.qname;" >
+
+<!ELEMENT %quotient.qname; EMPTY >
+<!ATTLIST %quotient.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %divide.qname; EMPTY >
+<!ATTLIST %divide.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %power.qname; EMPTY >
+<!ATTLIST %power.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %rem.qname; EMPTY >
+<!ATTLIST %rem.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % carithopnary
+ "%plus.qname; | %times.qname; | %max.qname;
+ | %min.qname; | %gcd.qname; | %lcm.qname;" >
+
+<!ELEMENT %plus.qname; EMPTY >
+<!ATTLIST %plus.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %max.qname; EMPTY >
+<!ATTLIST %max.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %min.qname; EMPTY >
+<!ATTLIST %min.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %times.qname; EMPTY >
+<!ATTLIST %times.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %gcd.qname; EMPTY >
+<!ATTLIST %gcd.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %lcm.qname; EMPTY >
+<!ATTLIST %lcm.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % carithoproot
+ "%root.qname;" >
+
+<!ELEMENT %root.qname; EMPTY >
+<!ATTLIST %root.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % clogicopquant
+ "%exists.qname; | %forall.qname;" >
+
+<!ELEMENT %exists.qname; EMPTY >
+<!ATTLIST %exists.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %forall.qname; EMPTY >
+<!ATTLIST %forall.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % clogicopnary
+ "%and.qname; | %or.qname; | %xor.qname;" >
+
+<!ELEMENT %and.qname; EMPTY >
+<!ATTLIST %and.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %or.qname; EMPTY >
+<!ATTLIST %or.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %xor.qname; EMPTY >
+<!ATTLIST %xor.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % clogicop1ary
+ "%not.qname;" >
+
+<!ELEMENT %not.qname; EMPTY >
+<!ATTLIST %not.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % clogicop2ary
+ "%implies.qname;" >
+
+<!ELEMENT %implies.qname; EMPTY >
+<!ATTLIST %implies.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % ccalcop
+ "%log.qname; | %int.qname; | %diff.qname; | %partialdiff.qname; |
+ %divergence.qname; | %grad.qname; | %curl.qname; | %laplacian.qname;" >
+
+<!ELEMENT %divergence.qname; EMPTY >
+<!ATTLIST %divergence.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %grad.qname; EMPTY >
+<!ATTLIST %grad.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %curl.qname; EMPTY >
+<!ATTLIST %curl.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %laplacian.qname; EMPTY >
+<!ATTLIST %laplacian.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %log.qname; EMPTY >
+<!ATTLIST %log.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %int.qname; EMPTY >
+<!ATTLIST %int.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %diff.qname; EMPTY >
+<!ATTLIST %diff.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %partialdiff.qname; EMPTY >
+<!ATTLIST %partialdiff.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % ccalcop1ary
+ "%ln.qname;" >
+
+<!ELEMENT %ln.qname; EMPTY >
+<!ATTLIST %ln.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % csetop1ary
+ "%card.qname;" >
+
+<!ELEMENT %card.qname; EMPTY >
+<!ATTLIST %card.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % csetop2ary
+ "%setdiff.qname;" >
+
+<!ELEMENT %setdiff.qname; EMPTY >
+<!ATTLIST %setdiff.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % csetopnary
+ "%union.qname; | %intersect.qname; | %cartesianproduct.qname; " >
+
+<!ELEMENT %union.qname; EMPTY >
+<!ATTLIST %union.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %intersect.qname; EMPTY >
+<!ATTLIST %intersect.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %cartesianproduct.qname; EMPTY >
+<!ATTLIST %cartesianproduct.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % cseqop
+ "%sum.qname; | %product.qname; | %limit.qname;" >
+
+<!ELEMENT %sum.qname; EMPTY >
+<!ATTLIST %sum.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %product.qname; EMPTY >
+<!ATTLIST %product.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %limit.qname; EMPTY >
+<!ATTLIST %limit.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % ctrigop
+ "%sin.qname; | %cos.qname; | %tan.qname;
+ | %sec.qname; | %csc.qname; | %cot.qname;
+ | %sinh.qname; | %cosh.qname; | %tanh.qname;
+ | %sech.qname; | %csch.qname; | %coth.qname;
+ | %arcsin.qname; | %arccos.qname; | %arctan.qname;
+ | %arccosh.qname; | %arccot.qname; | %arccoth.qname;
+ | %arccsc.qname; | %arccsch.qname; | %arcsec.qname;
+ | %arcsech.qname; | %arcsinh.qname; | %arctanh.qname;
+ " >
+
+<!ELEMENT %sin.qname; EMPTY >
+<!ATTLIST %sin.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %cos.qname; EMPTY >
+<!ATTLIST %cos.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %tan.qname; EMPTY >
+<!ATTLIST %tan.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %sec.qname; EMPTY >
+<!ATTLIST %sec.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %csc.qname; EMPTY >
+<!ATTLIST %csc.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %cot.qname; EMPTY >
+<!ATTLIST %cot.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %sinh.qname; EMPTY >
+<!ATTLIST %sinh.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %cosh.qname; EMPTY >
+<!ATTLIST %cosh.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %tanh.qname; EMPTY >
+<!ATTLIST %tanh.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %sech.qname; EMPTY >
+<!ATTLIST %sech.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %csch.qname; EMPTY >
+<!ATTLIST %csch.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %coth.qname; EMPTY >
+<!ATTLIST %coth.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arcsin.qname; EMPTY >
+<!ATTLIST %arcsin.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arccos.qname; EMPTY >
+<!ATTLIST %arccos.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arctan.qname; EMPTY >
+<!ATTLIST %arctan.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arccosh.qname; EMPTY >
+<!ATTLIST %arccosh.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+
+<!ELEMENT %arccot.qname; EMPTY >
+<!ATTLIST %arccot.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arccoth.qname; EMPTY >
+<!ATTLIST %arccoth.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+
+<!ELEMENT %arccsc.qname; EMPTY >
+<!ATTLIST %arccsc.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arccsch.qname; EMPTY >
+<!ATTLIST %arccsch.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arcsec.qname; EMPTY >
+<!ATTLIST %arcsec.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arcsech.qname; EMPTY >
+<!ATTLIST %arcsech.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arcsinh.qname; EMPTY >
+<!ATTLIST %arcsinh.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %arctanh.qname; EMPTY >
+<!ATTLIST %arctanh.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+
+
+<!ENTITY % cstatopnary
+ "%mean.qname; | %sdev.qname; |
+ %variance.qname; | %median.qname; |
+ %mode.qname;" >
+
+<!ELEMENT %mean.qname; EMPTY >
+<!ATTLIST %mean.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %sdev.qname; EMPTY >
+<!ATTLIST %sdev.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %variance.qname; EMPTY >
+<!ATTLIST %variance.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %median.qname; EMPTY >
+<!ATTLIST %median.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %mode.qname; EMPTY >
+<!ATTLIST %mode.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % cstatopmoment
+ "%moment.qname;" >
+
+<!ELEMENT %moment.qname; EMPTY >
+<!ATTLIST %moment.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % clalgop1ary
+ "%determinant.qname; |
+ %transpose.qname;" >
+
+<!ELEMENT %determinant.qname; EMPTY >
+<!ATTLIST %determinant.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %transpose.qname; EMPTY >
+<!ATTLIST %transpose.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % clalgop2ary
+ "%vectorproduct.qname;
+ | %scalarproduct.qname;
+ | %outerproduct.qname;" >
+
+<!ELEMENT %vectorproduct.qname; EMPTY >
+<!ATTLIST %vectorproduct.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %scalarproduct.qname; EMPTY >
+<!ATTLIST %scalarproduct.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %outerproduct.qname; EMPTY >
+<!ATTLIST %outerproduct.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % clalgopnary
+ "%selector.qname;" >
+
+<!ELEMENT %selector.qname; EMPTY >
+<!ATTLIST %selector.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!-- Content elements: relations -->
+
+<!ENTITY % cgenrel2ary
+ "%neq.qname; | %factorof.qname;" >
+
+<!ELEMENT %neq.qname; EMPTY >
+<!ATTLIST %neq.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %factorof.qname; EMPTY >
+<!ATTLIST %factorof.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % cgenrelnary
+ "%eq.qname; | %leq.qname; | %lt.qname; | %geq.qname;
+ | %gt.qname;| %equivalent.qname; | %approx.qname;" >
+
+<!ELEMENT %eq.qname; EMPTY >
+<!ATTLIST %eq.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %equivalent.qname; EMPTY >
+<!ATTLIST %equivalent.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %approx.qname; EMPTY >
+<!ATTLIST %approx.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %gt.qname; EMPTY >
+<!ATTLIST %gt.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %lt.qname; EMPTY >
+<!ATTLIST %lt.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %geq.qname; EMPTY >
+<!ATTLIST %geq.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %leq.qname; EMPTY >
+<!ATTLIST %leq.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % csetrel2ary
+ "%in.qname; | %notin.qname; | %notsubset.qname; | %notprsubset.qname;" >
+
+<!ELEMENT %in.qname; EMPTY >
+<!ATTLIST %in.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %notin.qname; EMPTY >
+<!ATTLIST %notin.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %notsubset.qname; EMPTY >
+<!ATTLIST %notsubset.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %notprsubset.qname; EMPTY >
+<!ATTLIST %notprsubset.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % csetrelnary
+ "%subset.qname; | %prsubset.qname;" >
+
+<!ELEMENT %subset.qname; EMPTY >
+<!ATTLIST %subset.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ELEMENT %prsubset.qname; EMPTY >
+<!ATTLIST %prsubset.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+>
+
+<!ENTITY % cseqrel2ary
+ "%tendsto.qname;" >
+
+<!ELEMENT %tendsto.qname; EMPTY >
+<!ATTLIST %tendsto.qname;
+ %MATHML.Common.attrib;
+ %att-definition;
+ %att-encoding;
+ %att-type;
+>
+
+<!-- Content elements: quantifiers -->
+
+<!ENTITY % cquantifier
+ "%lowlimit.qname; | %uplimit.qname; | %bvar.qname;
+ | %degree.qname; | %logbase.qname;
+ | %momentabout.qname; | %domainofapplication.qname; " >
+
+<!ATTLIST %lowlimit.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %uplimit.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %bvar.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %degree.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %logbase.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %momentabout.qname;
+ %MATHML.Common.attrib;
+>
+
+<!ATTLIST %domainofapplication.qname;
+ %MATHML.Common.attrib;
+>
+
+<!-- Operator groups -->
+
+<!ENTITY % cop1ary
+ "%cfuncop1ary; | %carithop1ary; | %clogicop1ary; |
+ %ccalcop1ary; | %ctrigop; | %clalgop1ary; |
+ %csetop1ary;" >
+
+<!ENTITY % cop2ary
+ "%carithop2ary; | %clogicop2ary;| %clalgop2ary; | %csetop2ary;" >
+
+<!ENTITY % copnary
+ "%cfuncopnary; | %carithopnary; | %clogicopnary; |
+ %csetopnary; | %cstatopnary; | %clalgopnary;" >
+
+<!ENTITY % copmisc
+ "%carithoproot; | %carithop1or2ary; | %ccalcop; |
+ %cseqop; | %cstatopmoment; | %clogicopquant;" >
+
+<!-- Relation groups -->
+
+<!ENTITY % crel2ary
+ "%cgenrel2ary; | %csetrel2ary; | %cseqrel2ary;" >
+
+<!ENTITY % crelnary
+ "%cgenrelnary; | %csetrelnary;" >
+
+<!-- Content constructs: all -->
+
+<!ENTITY % Content
+ "%ctoken; | %cspecial; | %cother; | %csemantics; | %c0ary;
+ | %cconstructor; | %cquantifier; | %cop1ary; | %cop2ary;
+ | %copnary; |%copmisc; | %crel2ary; | %crelnary;" >
+
+<!-- Content constructs for substitution in presentation structures -->
+
+<!ENTITY % ContInPres
+ "%ci.qname; |%csymbol.qname;| %cn.qname; | %c0ary; |
+ %apply.qname; | %fn.qname; |
+ %lambda.qname; | %reln.qname; |
+ %cconstructor; |
+ %semantics.qname; |%declare.qname;" >
+
+<!-- ............................................................. -->
+<!-- Recursive definition for content of expressions. Include
+ presentation constructs at lowest level so presentation
+ layout schemata hold presentation or content elements.
+ Include content constructs at lowest level so content
+ elements hold PCDATA or presentation elements at leaf
+ level (for permitted substitutable elements in context)
+-->
+
+<!ENTITY % ContentExpression
+ "(%Content; | %PresInCont;)*" >
+<!ENTITY % PresExpression
+ "(%Presentation; | %ContInPres;)*" >
+<!ENTITY % MathExpression
+ "(%PresInCont; | %ContInPres;)*" >
+
+<!-- PCDATA or MathML character elements -->
+<!ENTITY % MathMLCharacters
+ "#PCDATA | %mglyph.qname; " >
+
+<!-- Content elements: tokens -->
+<!-- (may contain embedded presentation constructs) -->
+
+<!ELEMENT %ci.qname; (%MathMLCharacters; | %PresInCont;)* >
+<!ELEMENT %csymbol.qname; (%MathMLCharacters; | %PresInCont;)* >
+<!ELEMENT %cn.qname; (%MathMLCharacters; | %sep.qname; | %PresInCont;)* >
+
+<!-- Content elements: special -->
+
+<!ELEMENT %apply.qname; (%ContentExpression;) >
+<!ELEMENT %reln.qname; (%ContentExpression;) >
+<!ELEMENT %lambda.qname; (%ContentExpression;) >
+
+<!-- Content elements: other -->
+
+<!ELEMENT %condition.qname; (%ContentExpression;) >
+<!ELEMENT %declare.qname; (%ContentExpression;) >
+
+<!-- Content elements: semantics -->
+
+<!ELEMENT %semantics.qname; (%ContentExpression;) >
+<!ENTITY % Annotation.content "( #PCDATA )" >
+<!ELEMENT %annotation.qname; %Annotation.content; >
+
+<!ENTITY % Annotation-xml.content "ANY" >
+<!ELEMENT %annotation-xml.qname; %Annotation-xml.content; >
+
+<!-- Content elements: constructors -->
+
+<!ELEMENT %interval.qname; (%ContentExpression;) >
+<!ELEMENT %set.qname; (%ContentExpression;) >
+<!ELEMENT %list.qname; (%ContentExpression;) >
+<!ELEMENT %vector.qname; (%ContentExpression;) >
+<!ELEMENT %matrix.qname; (%ContentExpression;) >
+<!ELEMENT %matrixrow.qname; (%ContentExpression;) >
+
+<!ELEMENT %piecewise.qname; ((%piece.qname;)*, (%otherwise.qname;)? ) >
+<!ELEMENT %piece.qname; (%ContentExpression;) >
+<!ELEMENT %otherwise.qname; (%ContentExpression;) >
+
+<!-- Content elements: operator (user-defined) -->
+
+<!ELEMENT %fn.qname; (%ContentExpression;) >
+
+<!-- Content elements: quantifiers -->
+
+<!ELEMENT %lowlimit.qname; (%ContentExpression;) >
+<!ELEMENT %uplimit.qname; (%ContentExpression;) >
+<!ELEMENT %bvar.qname; (%ContentExpression;) >
+<!ELEMENT %degree.qname; (%ContentExpression;) >
+<!ELEMENT %logbase.qname; (%ContentExpression;) >
+<!ELEMENT %momentabout.qname; (%ContentExpression;) >
+<!ELEMENT %domainofapplication.qname; (%ContentExpression;) >
+
+<!-- ............................................................. -->
+<!-- Presentation layout schemata contain tokens,
+ layout and content schemata.
+-->
+
+<!ELEMENT %mstyle.qname; (%PresExpression;) >
+<!ELEMENT %merror.qname; (%PresExpression;) >
+<!ELEMENT %mphantom.qname; (%PresExpression;) >
+<!ELEMENT %mrow.qname; (%PresExpression;) >
+<!ELEMENT %mfrac.qname; (%PresExpression;) >
+<!ELEMENT %msqrt.qname; (%PresExpression;) >
+<!ELEMENT %menclose.qname; (%PresExpression;) >
+<!ELEMENT %mroot.qname; (%PresExpression;) >
+<!ELEMENT %msub.qname; (%PresExpression;) >
+<!ELEMENT %msup.qname; (%PresExpression;) >
+<!ELEMENT %msubsup.qname; (%PresExpression;) >
+<!ELEMENT %mmultiscripts.qname; (%PresExpression;) >
+<!ELEMENT %munder.qname; (%PresExpression;) >
+<!ELEMENT %mover.qname; (%PresExpression;) >
+<!ELEMENT %munderover.qname; (%PresExpression;) >
+<!ELEMENT %mtable.qname; (%PresExpression;) >
+<!ELEMENT %mtr.qname; (%PresExpression;) >
+<!ELEMENT %mlabeledtr.qname; (%PresExpression;) >
+<!ELEMENT %mtd.qname; (%PresExpression;) >
+<!ELEMENT %maction.qname; (%PresExpression;) >
+<!ELEMENT %mfenced.qname; (%PresExpression;) >
+<!ELEMENT %mpadded.qname; (%PresExpression;) >
+
+<!-- Presentation elements contain PCDATA or malignmark constructs. -->
+
+<!ELEMENT %mi.qname; (%MathMLCharacters; |
+ %malignmark.qname;)* >
+<!ELEMENT %mn.qname; (%MathMLCharacters; |
+ %malignmark.qname;)* >
+<!ELEMENT %mo.qname; (%MathMLCharacters; |
+ %malignmark.qname;)* >
+<!ELEMENT %mtext.qname; (%MathMLCharacters; |
+ %malignmark.qname;)* >
+<!ELEMENT %ms.qname; (%MathMLCharacters; |
+ %malignmark.qname;)* >
+
+<!-- Browser interface definition ............................... -->
+
+<!-- Attributes for top-level element "math" -->
+
+<!ENTITY % att-macros
+ "macros CDATA #IMPLIED" >
+<!ENTITY % att-mode
+ "mode CDATA #IMPLIED" >
+<!ENTITY % att-display
+ "display CDATA #IMPLIED" >
+
+<!ENTITY % att-topinfo
+ "%MATHML.Common.attrib;
+ %att-macros;
+ %att-mode;
+ %att-display;" >
+
+<!-- Attributes for browser interface element -->
+
+<!ENTITY % att-baseline
+ "baseline CDATA #IMPLIED" >
+<!ENTITY % att-overflow
+ "overflow ( scroll | elide | truncate | scale ) 'scroll'" >
+<!ENTITY % att-altimg
+ "altimg CDATA #IMPLIED" >
+<!ENTITY % att-alttext
+ "alttext CDATA #IMPLIED" >
+
+<!ENTITY % att-browif
+ "%att-type;
+ %att-name;
+ %att-height;
+ %att-width;
+ %att-baseline;
+ %att-overflow;
+ %att-altimg;
+ %att-alttext;" >
+
+<!-- ............................................................. -->
+<!-- The top-level element "math" contains MathML encoded
+ mathematics. The "math" element has the browser info
+ attributes iff it is also the browser interface element.
+-->
+
+<!ELEMENT %math.qname; (%MathExpression;) >
+
+<!ATTLIST %math.qname;
+ %att-topinfo;
+ %att-browif; >
+
+<!-- MathML Character Entities .............................................. -->
+<!ENTITY % mathml-charent.module "INCLUDE" >
+<![%mathml-charent.module;[
+<!-- Entity sets from ISO Technical Report 9573-13 ..... -->
+
+<!ENTITY % ent-isoamsa
+ PUBLIC "-//W3C//ENTITIES Added Math Symbols: Arrow Relations for MathML 2.0//EN"
+ "iso9573-13/isoamsa.ent" >
+
+<!--
+ File isoamsa.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY angzarr "&#x0237C;" ><!--angle with down zig-zag arrow -->
+<!ENTITY cirmid "&#x02AEF;" ><!--circle, mid below -->
+<!ENTITY cudarrl "&#x02938;" ><!--left, curved, down arrow -->
+<!ENTITY cudarrr "&#x02935;" ><!--right, curved, down arrow -->
+<!ENTITY cularr "&#x021B6;" ><!--/curvearrowleft A: left curved arrow -->
+<!ENTITY cularrp "&#x0293D;" ><!--curved left arrow with plus -->
+<!ENTITY curarr "&#x021B7;" ><!--/curvearrowright A: rt curved arrow -->
+<!ENTITY curarrm "&#x0293C;" ><!--curved right arrow with minus -->
+<!ENTITY Darr "&#x021A1;" ><!--down two-headed arrow -->
+<!ENTITY dArr "&#x021D3;" ><!--/Downarrow A: down dbl arrow -->
+<!ENTITY ddarr "&#x021CA;" ><!--/downdownarrows A: two down arrows -->
+<!ENTITY DDotrahd "&#x02911;" ><!--right arrow with dotted stem -->
+<!ENTITY dfisht "&#x0297F;" ><!--down fish tail -->
+<!ENTITY dHar "&#x02965;" ><!--down harpoon-left, down harpoon-right -->
+<!ENTITY dharl "&#x021C3;" ><!--/downharpoonleft A: dn harpoon-left -->
+<!ENTITY dharr "&#x021C2;" ><!--/downharpoonright A: down harpoon-rt -->
+<!ENTITY duarr "&#x021F5;" ><!--down arrow, up arrow -->
+<!ENTITY duhar "&#x0296F;" ><!--down harp, up harp -->
+<!ENTITY dzigrarr "&#x027FF;" ><!--right long zig-zag arrow -->
+<!ENTITY erarr "&#x02971;" ><!--equal, right arrow below -->
+<!ENTITY hArr "&#x021D4;" ><!--/Leftrightarrow A: l&r dbl arrow -->
+<!ENTITY harr "&#x02194;" ><!--/leftrightarrow A: l&r arrow -->
+<!ENTITY harrcir "&#x02948;" ><!--left and right arrow with a circle -->
+<!ENTITY harrw "&#x021AD;" ><!--/leftrightsquigarrow A: l&r arr-wavy -->
+<!ENTITY hoarr "&#x021FF;" ><!--horizontal open arrow -->
+<!ENTITY imof "&#x022B7;" ><!--image of -->
+<!ENTITY lAarr "&#x021DA;" ><!--/Lleftarrow A: left triple arrow -->
+<!ENTITY Larr "&#x0219E;" ><!--/twoheadleftarrow A: -->
+<!ENTITY larrbfs "&#x0291F;" ><!--left arrow-bar, filled square -->
+<!ENTITY larrfs "&#x0291D;" ><!--left arrow, filled square -->
+<!ENTITY larrhk "&#x021A9;" ><!--/hookleftarrow A: left arrow-hooked -->
+<!ENTITY larrlp "&#x021AB;" ><!--/looparrowleft A: left arrow-looped -->
+<!ENTITY larrpl "&#x02939;" ><!--left arrow, plus -->
+<!ENTITY larrsim "&#x02973;" ><!--left arrow, similar -->
+<!ENTITY larrtl "&#x021A2;" ><!--/leftarrowtail A: left arrow-tailed -->
+<!ENTITY lAtail "&#x0291B;" ><!--left double arrow-tail -->
+<!ENTITY latail "&#x02919;" ><!--left arrow-tail -->
+<!ENTITY lBarr "&#x0290E;" ><!--left doubly broken arrow -->
+<!ENTITY lbarr "&#x0290C;" ><!--left broken arrow -->
+<!ENTITY ldca "&#x02936;" ><!--left down curved arrow -->
+<!ENTITY ldrdhar "&#x02967;" ><!--left harpoon-down over right harpoon-down -->
+<!ENTITY ldrushar "&#x0294B;" ><!--left-down-right-up harpoon -->
+<!ENTITY ldsh "&#x021B2;" ><!--left down angled arrow -->
+<!ENTITY lfisht "&#x0297C;" ><!--left fish tail -->
+<!ENTITY lHar "&#x02962;" ><!--left harpoon-up over left harpoon-down -->
+<!ENTITY lhard "&#x021BD;" ><!--/leftharpoondown A: l harpoon-down -->
+<!ENTITY lharu "&#x021BC;" ><!--/leftharpoonup A: left harpoon-up -->
+<!ENTITY lharul "&#x0296A;" ><!--left harpoon-up over long dash -->
+<!ENTITY llarr "&#x021C7;" ><!--/leftleftarrows A: two left arrows -->
+<!ENTITY llhard "&#x0296B;" ><!--left harpoon-down below long dash -->
+<!ENTITY loarr "&#x021FD;" ><!--left open arrow -->
+<!ENTITY lrarr "&#x021C6;" ><!--/leftrightarrows A: l arr over r arr -->
+<!ENTITY lrhar "&#x021CB;" ><!--/leftrightharpoons A: l harp over r -->
+<!ENTITY lrhard "&#x0296D;" ><!--right harpoon-down below long dash -->
+<!ENTITY lsh "&#x021B0;" ><!--/Lsh A: -->
+<!ENTITY lurdshar "&#x0294A;" ><!--left-up-right-down harpoon -->
+<!ENTITY luruhar "&#x02966;" ><!--left harpoon-up over right harpoon-up -->
+<!ENTITY Map "&#x02905;" ><!--twoheaded mapsto -->
+<!ENTITY map "&#x021A6;" ><!--/mapsto A: -->
+<!ENTITY midcir "&#x02AF0;" ><!--mid, circle below -->
+<!ENTITY mumap "&#x022B8;" ><!--/multimap A: -->
+<!ENTITY nearhk "&#x02924;" ><!--NE arrow-hooked -->
+<!ENTITY neArr "&#x021D7;" ><!--NE pointing dbl arrow -->
+<!ENTITY nearr "&#x02197;" ><!--/nearrow A: NE pointing arrow -->
+<!ENTITY nesear "&#x02928;" ><!--/toea A: NE & SE arrows -->
+<!ENTITY nhArr "&#x021CE;" ><!--/nLeftrightarrow A: not l&r dbl arr -->
+<!ENTITY nharr "&#x021AE;" ><!--/nleftrightarrow A: not l&r arrow -->
+<!ENTITY nlArr "&#x021CD;" ><!--/nLeftarrow A: not implied by -->
+<!ENTITY nlarr "&#x0219A;" ><!--/nleftarrow A: not left arrow -->
+<!ENTITY nrArr "&#x021CF;" ><!--/nRightarrow A: not implies -->
+<!ENTITY nrarr "&#x0219B;" ><!--/nrightarrow A: not right arrow -->
+<!ENTITY nrarrc "&#x02933;&#x00338;" ><!--not right arrow-curved -->
+<!ENTITY nrarrw "&#x0219D;&#x00338;" ><!--not right arrow-wavy -->
+<!ENTITY nvHarr "&#x021CE;" ><!--not, vert, left and right double arrow -->
+<!ENTITY nvlArr "&#x021CD;" ><!--not, vert, left double arrow -->
+<!ENTITY nvrArr "&#x021CF;" ><!--not, vert, right double arrow -->
+<!ENTITY nwarhk "&#x02923;" ><!--NW arrow-hooked -->
+<!ENTITY nwArr "&#x021D6;" ><!--NW pointing dbl arrow -->
+<!ENTITY nwarr "&#x02196;" ><!--/nwarrow A: NW pointing arrow -->
+<!ENTITY nwnear "&#x02927;" ><!--NW & NE arrows -->
+<!ENTITY olarr "&#x021BA;" ><!--/circlearrowleft A: l arr in circle -->
+<!ENTITY orarr "&#x021BB;" ><!--/circlearrowright A: r arr in circle -->
+<!ENTITY origof "&#x022B6;" ><!--original of -->
+<!ENTITY rAarr "&#x021DB;" ><!--/Rrightarrow A: right triple arrow -->
+<!ENTITY Rarr "&#x021A0;" ><!--/twoheadrightarrow A: -->
+<!ENTITY rarrap "&#x02975;" ><!--approximate, right arrow above -->
+<!ENTITY rarrbfs "&#x02920;" ><!--right arrow-bar, filled square -->
+<!ENTITY rarrc "&#x02933;" ><!--right arrow-curved -->
+<!ENTITY rarrfs "&#x0291E;" ><!--right arrow, filled square -->
+<!ENTITY rarrhk "&#x021AA;" ><!--/hookrightarrow A: rt arrow-hooked -->
+<!ENTITY rarrlp "&#x021AC;" ><!--/looparrowright A: rt arrow-looped -->
+<!ENTITY rarrpl "&#x02945;" ><!--right arrow, plus -->
+<!ENTITY rarrsim "&#x02974;" ><!--right arrow, similar -->
+<!ENTITY Rarrtl "&#x02916;" ><!--right two-headed arrow with tail -->
+<!ENTITY rarrtl "&#x021A3;" ><!--/rightarrowtail A: rt arrow-tailed -->
+<!ENTITY rarrw "&#x0219D;" ><!--/rightsquigarrow A: rt arrow-wavy -->
+<!ENTITY rAtail "&#x0291C;" ><!--right double arrow-tail -->
+<!ENTITY ratail "&#x021A3;" ><!--right arrow-tail -->
+<!ENTITY RBarr "&#x02910;" ><!--/drbkarow A: twoheaded right broken arrow -->
+<!ENTITY rBarr "&#x0290F;" ><!--/dbkarow A: right doubly broken arrow -->
+<!ENTITY rbarr "&#x0290D;" ><!--/bkarow A: right broken arrow -->
+<!ENTITY rdca "&#x02937;" ><!--right down curved arrow -->
+<!ENTITY rdldhar "&#x02969;" ><!--right harpoon-down over left harpoon-down -->
+<!ENTITY rdsh "&#x021B3;" ><!--right down angled arrow -->
+<!ENTITY rfisht "&#x0297D;" ><!--right fish tail -->
+<!ENTITY rHar "&#x02964;" ><!--right harpoon-up over right harpoon-down -->
+<!ENTITY rhard "&#x021C1;" ><!--/rightharpoondown A: rt harpoon-down -->
+<!ENTITY rharu "&#x021C0;" ><!--/rightharpoonup A: rt harpoon-up -->
+<!ENTITY rharul "&#x0296C;" ><!--right harpoon-up over long dash -->
+<!ENTITY rlarr "&#x021C4;" ><!--/rightleftarrows A: r arr over l arr -->
+<!ENTITY rlhar "&#x021CC;" ><!--/rightleftharpoons A: r harp over l -->
+<!ENTITY roarr "&#x021FE;" ><!--right open arrow -->
+<!ENTITY rrarr "&#x021C9;" ><!--/rightrightarrows A: two rt arrows -->
+<!ENTITY rsh "&#x021B1;" ><!--/Rsh A: -->
+<!ENTITY ruluhar "&#x02968;" ><!--right harpoon-up over left harpoon-up -->
+<!ENTITY searhk "&#x02925;" ><!--/hksearow A: SE arrow-hooken -->
+<!ENTITY seArr "&#x021D8;" ><!--SE pointing dbl arrow -->
+<!ENTITY searr "&#x02198;" ><!--/searrow A: SE pointing arrow -->
+<!ENTITY seswar "&#x02929;" ><!--/tosa A: SE & SW arrows -->
+<!ENTITY simrarr "&#x02972;" ><!--similar, right arrow below -->
+<!ENTITY slarr "&#x02190;" ><!--short left arrow -->
+<!ENTITY srarr "&#x02192;" ><!--short right arrow -->
+<!ENTITY swarhk "&#x02926;" ><!--/hkswarow A: SW arrow-hooked -->
+<!ENTITY swArr "&#x021D9;" ><!--SW pointing dbl arrow -->
+<!ENTITY swarr "&#x02199;" ><!--/swarrow A: SW pointing arrow -->
+<!ENTITY swnwar "&#x0292A;" ><!--SW & NW arrows -->
+<!ENTITY Uarr "&#x0219F;" ><!--up two-headed arrow -->
+<!ENTITY uArr "&#x021D1;" ><!--/Uparrow A: up dbl arrow -->
+<!ENTITY Uarrocir "&#x02949;" ><!--up two-headed arrow above circle -->
+<!ENTITY udarr "&#x021C5;" ><!--up arrow, down arrow -->
+<!ENTITY udhar "&#x0296E;" ><!--up harp, down harp -->
+<!ENTITY ufisht "&#x0297E;" ><!--up fish tail -->
+<!ENTITY uHar "&#x02963;" ><!--up harpoon-left, up harpoon-right -->
+<!ENTITY uharl "&#x021BF;" ><!--/upharpoonleft A: up harpoon-left -->
+<!ENTITY uharr "&#x021BE;" ><!--/upharpoonright /restriction A: up harp-r -->
+<!ENTITY uuarr "&#x021C8;" ><!--/upuparrows A: two up arrows -->
+<!ENTITY vArr "&#x021D5;" ><!--/Updownarrow A: up&down dbl arrow -->
+<!ENTITY varr "&#x02195;" ><!--/updownarrow A: up&down arrow -->
+<!ENTITY xhArr "&#x027FA;" ><!--/Longleftrightarrow A: long l&r dbl arr -->
+<!ENTITY xharr "&#x027F7;" ><!--/longleftrightarrow A: long l&r arr -->
+<!ENTITY xlArr "&#x027F8;" ><!--/Longleftarrow A: long l dbl arrow -->
+<!ENTITY xlarr "&#x027F5;" ><!--/longleftarrow A: long left arrow -->
+<!ENTITY xmap "&#x027FC;" ><!--/longmapsto A: -->
+<!ENTITY xrArr "&#x027F9;" ><!--/Longrightarrow A: long rt dbl arr -->
+<!ENTITY xrarr "&#x027F6;" ><!--/longrightarrow A: long right arrow -->
+<!ENTITY zigrarr "&#x021DD;" ><!--right zig-zag arrow -->
+
+
+<!ENTITY % ent-isoamsb
+ PUBLIC "-//W3C//ENTITIES Added Math Symbols: Binary Operators for MathML 2.0//EN"
+ "iso9573-13/isoamsb.ent" >
+
+<!--
+ File isoamsb.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ References to the VARIANT SELECTOR 1 character (&#x0FE00;)
+ should match the uses listed in Unicode Technical Report 25.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY ac "&#x0290F;" ><!--most positive -->
+<!ENTITY acE "&#x029DB;" ><!--most positive, two lines below -->
+<!ENTITY amalg "&#x02A3F;" ><!--/amalg B: amalgamation or coproduct -->
+<!ENTITY barvee "&#x022BD;" ><!--bar, vee -->
+<!ENTITY Barwed "&#x02306;" ><!--/doublebarwedge B: log and, dbl bar above -->
+<!ENTITY barwed "&#x022BC;" ><!--/barwedge B: logical and, bar above -->
+<!ENTITY bsolb "&#x029C5;" ><!--reverse solidus in square -->
+<!ENTITY Cap "&#x022D2;" ><!--/Cap /doublecap B: dbl intersection -->
+<!ENTITY capand "&#x02A44;" ><!--intersection, and -->
+<!ENTITY capbrcup "&#x02A49;" ><!--intersection, bar, union -->
+<!ENTITY capcap "&#x02A4B;" ><!--intersection, intersection, joined -->
+<!ENTITY capcup "&#x02A47;" ><!--intersection above union -->
+<!ENTITY capdot "&#x02A40;" ><!--intersection, with dot -->
+<!ENTITY caps "&#x02229;&#x0FE00;" ><!--intersection, serifs -->
+<!ENTITY ccaps "&#x02A4D;" ><!--closed intersection, serifs -->
+<!ENTITY ccups "&#x02A4C;" ><!--closed union, serifs -->
+<!ENTITY ccupssm "&#x02A50;" ><!--closed union, serifs, smash product -->
+<!ENTITY coprod "&#x02210;" ><!--/coprod L: coproduct operator -->
+<!ENTITY Cup "&#x022D3;" ><!--/Cup /doublecup B: dbl union -->
+<!ENTITY cupbrcap "&#x02A48;" ><!--union, bar, intersection -->
+<!ENTITY cupcap "&#x02A46;" ><!--union above intersection -->
+<!ENTITY cupcup "&#x02A4A;" ><!--union, union, joined -->
+<!ENTITY cupdot "&#x0228D;" ><!--union, with dot -->
+<!ENTITY cupor "&#x02A45;" ><!--union, or -->
+<!ENTITY cups "&#x0222A;&#x0FE00;" ><!--union, serifs -->
+<!ENTITY cuvee "&#x022CE;" ><!--/curlyvee B: curly logical or -->
+<!ENTITY cuwed "&#x022CF;" ><!--/curlywedge B: curly logical and -->
+<!ENTITY Dagger "&#x02021;" ><!--/ddagger B: double dagger relation -->
+<!ENTITY dagger "&#x02020;" ><!--/dagger B: dagger relation -->
+<!ENTITY diam "&#x022C4;" ><!--/diamond B: open diamond -->
+<!ENTITY divonx "&#x022C7;" ><!--/divideontimes B: division on times -->
+<!ENTITY eplus "&#x02A71;" ><!--equal, plus -->
+<!ENTITY hercon "&#x022B9;" ><!--hermitian conjugate matrix -->
+<!ENTITY intcal "&#x022BA;" ><!--/intercal B: intercal -->
+<!ENTITY iprod "&#x02A3C;" ><!--/intprod -->
+<!ENTITY loplus "&#x02A2D;" ><!--plus sign in left half circle -->
+<!ENTITY lotimes "&#x02A34;" ><!--multiply sign in left half circle -->
+<!ENTITY lthree "&#x022CB;" ><!--/leftthreetimes B: -->
+<!ENTITY ltimes "&#x022C9;" ><!--/ltimes B: times sign, left closed -->
+<!ENTITY midast "&#x0002A;" ><!--/ast B: asterisk -->
+<!ENTITY minusb "&#x0229F;" ><!--/boxminus B: minus sign in box -->
+<!ENTITY minusd "&#x02238;" ><!--/dotminus B: minus sign, dot above -->
+<!ENTITY minusdu "&#x02A2A;" ><!--minus sign, dot below -->
+<!ENTITY ncap "&#x02A43;" ><!--bar, intersection -->
+<!ENTITY ncup "&#x02A42;" ><!--bar, union -->
+<!ENTITY oast "&#x0229B;" ><!--/circledast B: asterisk in circle -->
+<!ENTITY ocir "&#x0229A;" ><!--/circledcirc B: small circle in circle -->
+<!ENTITY odash "&#x0229D;" ><!--/circleddash B: hyphen in circle -->
+<!ENTITY odiv "&#x02A38;" ><!--divide in circle -->
+<!ENTITY odot "&#x02299;" ><!--/odot B: middle dot in circle -->
+<!ENTITY odsold "&#x029BC;" ><!--dot, solidus, dot in circle -->
+<!ENTITY ofcir "&#x029BF;" ><!--filled circle in circle -->
+<!ENTITY ogt "&#x029C1;" ><!--greater-than in circle -->
+<!ENTITY ohbar "&#x029B5;" ><!--circle with horizontal bar -->
+<!ENTITY olcir "&#x029BE;" ><!--large circle in circle -->
+<!ENTITY olt "&#x029C0;" ><!--less-than in circle -->
+<!ENTITY omid "&#x029B6;" ><!--vertical bar in circle -->
+<!ENTITY ominus "&#x02296;" ><!--/ominus B: minus sign in circle -->
+<!ENTITY opar "&#x029B7;" ><!--parallel in circle -->
+<!ENTITY operp "&#x029B9;" ><!--perpendicular in circle -->
+<!ENTITY oplus "&#x02295;" ><!--/oplus B: plus sign in circle -->
+<!ENTITY osol "&#x02298;" ><!--/oslash B: solidus in circle -->
+<!ENTITY Otimes "&#x02A37;" ><!--multiply sign in double circle -->
+<!ENTITY otimes "&#x02297;" ><!--/otimes B: multiply sign in circle -->
+<!ENTITY otimesas "&#x02A36;" ><!--multiply sign in circle, circumflex accent -->
+<!ENTITY ovbar "&#x0233D;" ><!--circle with vertical bar -->
+<!ENTITY plusacir "&#x02A23;" ><!--plus, circumflex accent above -->
+<!ENTITY plusb "&#x0229E;" ><!--/boxplus B: plus sign in box -->
+<!ENTITY pluscir "&#x02A22;" ><!--plus, small circle above -->
+<!ENTITY plusdo "&#x02214;" ><!--/dotplus B: plus sign, dot above -->
+<!ENTITY plusdu "&#x02A25;" ><!--plus sign, dot below -->
+<!ENTITY pluse "&#x02A72;" ><!--plus, equals -->
+<!ENTITY plussim "&#x02A26;" ><!--plus, similar below -->
+<!ENTITY plustwo "&#x02A27;" ><!--plus, two; Nim-addition -->
+<!ENTITY prod "&#x0220F;" ><!--/prod L: product operator -->
+<!ENTITY race "&#x029DA;" ><!--reverse most positive, line below -->
+<!ENTITY roplus "&#x02A2E;" ><!--plus sign in right half circle -->
+<!ENTITY rotimes "&#x02A35;" ><!--multiply sign in right half circle -->
+<!ENTITY rthree "&#x022CC;" ><!--/rightthreetimes B: -->
+<!ENTITY rtimes "&#x022CA;" ><!--/rtimes B: times sign, right closed -->
+<!ENTITY sdot "&#x022C5;" ><!--/cdot B: small middle dot -->
+<!ENTITY sdotb "&#x022A1;" ><!--/dotsquare /boxdot B: small dot in box -->
+<!ENTITY setmn "&#x02216;" ><!--/setminus B: reverse solidus -->
+<!ENTITY simplus "&#x02A24;" ><!--plus, similar above -->
+<!ENTITY smashp "&#x02A33;" ><!--smash product -->
+<!ENTITY solb "&#x029C4;" ><!--solidus in square -->
+<!ENTITY sqcap "&#x02293;" ><!--/sqcap B: square intersection -->
+<!ENTITY sqcaps "&#x02293;&#x0FE00;" ><!--square intersection, serifs -->
+<!ENTITY sqcup "&#x02294;" ><!--/sqcup B: square union -->
+<!ENTITY sqcups "&#x02294;&#x0FE00;" ><!--square union, serifs -->
+<!ENTITY ssetmn "&#x02216;" ><!--/smallsetminus B: sm reverse solidus -->
+<!ENTITY sstarf "&#x022C6;" ><!--/star B: small star, filled -->
+<!ENTITY subdot "&#x02ABD;" ><!--subset, with dot -->
+<!ENTITY sum "&#x02211;" ><!--/sum L: summation operator -->
+<!ENTITY supdot "&#x02ABE;" ><!--superset, with dot -->
+<!ENTITY timesb "&#x022A0;" ><!--/boxtimes B: multiply sign in box -->
+<!ENTITY timesbar "&#x02A31;" ><!--multiply sign, bar below -->
+<!ENTITY timesd "&#x02A30;" ><!--times, dot -->
+<!ENTITY tridot "&#x025EC;" ><!--dot in triangle -->
+<!ENTITY triminus "&#x02A3A;" ><!--minus in triangle -->
+<!ENTITY triplus "&#x02A39;" ><!--plus in triangle -->
+<!ENTITY trisb "&#x029CD;" ><!--triangle, serifs at bottom -->
+<!ENTITY tritime "&#x02A3B;" ><!--multiply in triangle -->
+<!ENTITY uplus "&#x0228E;" ><!--/uplus B: plus sign in union -->
+<!ENTITY veebar "&#x022BB;" ><!--/veebar B: logical or, bar below -->
+<!ENTITY wedbar "&#x02A5F;" ><!--wedge, bar below -->
+<!ENTITY wreath "&#x02240;" ><!--/wr B: wreath product -->
+<!ENTITY xcap "&#x022C2;" ><!--/bigcap L: intersection operator -->
+<!ENTITY xcirc "&#x025EF;" ><!--/bigcirc B: large circle -->
+<!ENTITY xcup "&#x022C3;" ><!--/bigcup L: union operator -->
+<!ENTITY xdtri "&#x025BD;" ><!--/bigtriangledown B: big dn tri, open -->
+<!ENTITY xodot "&#x02299;" ><!--/bigodot L: circle dot operator -->
+<!ENTITY xoplus "&#x02295;" ><!--/bigoplus L: circle plus operator -->
+<!ENTITY xotime "&#x02297;" ><!--/bigotimes L: circle times operator -->
+<!ENTITY xsqcup "&#x02294;" ><!--/bigsqcup L: square union operator -->
+<!ENTITY xuplus "&#x0228E;" ><!--/biguplus L: -->
+<!ENTITY xutri "&#x025B3;" ><!--/bigtriangleup B: big up tri, open -->
+<!ENTITY xvee "&#x022C1;" ><!--/bigvee L: logical and operator -->
+<!ENTITY xwedge "&#x022C0;" ><!--/bigwedge L: logical or operator -->
+
+
+<!ENTITY % ent-isoamsc
+ PUBLIC "-//W3C//ENTITIES Added Math Symbols: Delimiters for MathML 2.0//EN"
+ "iso9573-13/isoamsc.ent" >
+
+<!--
+ File isoamsc.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY dlcorn "&#x0231E;" ><!--/llcorner O: lower left corner -->
+<!ENTITY drcorn "&#x0231F;" ><!--/lrcorner C: lower right corner -->
+<!ENTITY gtlPar "&#x02995;" ><!--dbl left parenthesis, greater -->
+<!ENTITY langd "&#x02991;" ><!--left angle, dot -->
+<!ENTITY lbrke "&#x0298B;" ><!--left bracket, equal -->
+<!ENTITY lbrksld "&#x0298F;" ><!--left bracket, solidus bottom corner -->
+<!ENTITY lbrkslu "&#x0298D;" ><!--left bracket, solidus top corner -->
+<!ENTITY lceil "&#x02308;" ><!--/lceil O: left ceiling -->
+<!ENTITY lfloor "&#x0230A;" ><!--/lfloor O: left floor -->
+<!ENTITY lmoust "&#x023B0;" ><!--/lmoustache -->
+<!ENTITY lparlt "&#x02993;" ><!--O: left parenthesis, lt -->
+<!ENTITY ltrPar "&#x02996;" ><!--dbl right parenthesis, less -->
+<!ENTITY rangd "&#x02992;" ><!--right angle, dot -->
+<!ENTITY rbrke "&#x0298C;" ><!--right bracket, equal -->
+<!ENTITY rbrksld "&#x0298E;" ><!--right bracket, solidus bottom corner -->
+<!ENTITY rbrkslu "&#x02990;" ><!--right bracket, solidus top corner -->
+<!ENTITY rceil "&#x02309;" ><!--/rceil C: right ceiling -->
+<!ENTITY rfloor "&#x0230B;" ><!--/rfloor C: right floor -->
+<!ENTITY rmoust "&#x023B1;" ><!--/rmoustache -->
+<!ENTITY rpargt "&#x02994;" ><!--C: right paren, gt -->
+<!ENTITY ulcorn "&#x0231C;" ><!--/ulcorner O: upper left corner -->
+<!ENTITY urcorn "&#x0231D;" ><!--/urcorner C: upper right corner -->
+
+
+<!ENTITY % ent-isoamsn
+ PUBLIC "-//W3C//ENTITIES Added Math Symbols: Negated Relations for MathML 2.0//EN"
+ "iso9573-13/isoamsn.ent" >
+
+<!--
+ File isoamsn.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ References to the VARIANT SELECTOR 1 character (&#x0FE00;)
+ should match the uses listed in Unicode Technical Report 25.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY gnap "&#x02A8A;" ><!--/gnapprox N: greater, not approximate -->
+<!ENTITY gnE "&#x02269;" ><!--/gneqq N: greater, not dbl equals -->
+<!ENTITY gne "&#x02269;" ><!--/gneq N: greater, not equals -->
+<!ENTITY gnsim "&#x022E7;" ><!--/gnsim N: greater, not similar -->
+<!ENTITY gvnE "&#x02269;&#x0FE00;" ><!--/gvertneqq N: gt, vert, not dbl eq -->
+<!ENTITY lnap "&#x02A89;" ><!--/lnapprox N: less, not approximate -->
+<!ENTITY lnE "&#x02268;" ><!--/lneqq N: less, not double equals -->
+<!ENTITY lne "&#x02268;" ><!--/lneq N: less, not equals -->
+<!ENTITY lnsim "&#x022E6;" ><!--/lnsim N: less, not similar -->
+<!ENTITY lvnE "&#x02268;&#x0FE00;" ><!--/lvertneqq N: less, vert, not dbl eq -->
+<!ENTITY nap "&#x02249;" ><!--/napprox N: not approximate -->
+<!ENTITY napE "&#x02A70;&#x00338;" ><!--not approximately equal or equal to -->
+<!ENTITY napid "&#x0224B;&#x00338;" ><!--not approximately identical to -->
+<!ENTITY ncong "&#x02247;" ><!--/ncong N: not congruent with -->
+<!ENTITY ncongdot "&#x02A6D;&#x00338;" ><!--not congruent, dot -->
+<!ENTITY nequiv "&#x02262;" ><!--/nequiv N: not identical with -->
+<!ENTITY ngE "&#x02A7E;&#x00338;" ><!--/ngeqq N: not greater, dbl equals -->
+<!ENTITY nge "&#x02271;" ><!--/ngeq N: not greater-than-or-equal -->
+<!ENTITY nges "&#x02A7E;&#x00338;" ><!--/ngeqslant N: not gt-or-eq, slanted -->
+<!ENTITY nGg "&#x022D9;&#x00338;" ><!--not triple greater than -->
+<!ENTITY ngsim "&#x02275;" ><!--not greater, similar -->
+<!ENTITY nGt "&#x0226B;&#x020D2;" ><!--not, vert, much greater than -->
+<!ENTITY ngt "&#x0226F;" ><!--/ngtr N: not greater-than -->
+<!ENTITY nGtv "&#x0226B;&#x00338;" ><!--not much greater than, variant -->
+<!ENTITY nlE "&#x02A7D;&#x00338;" ><!--/nleqq N: not less, dbl equals -->
+<!ENTITY nle "&#x02270;" ><!--/nleq N: not less-than-or-equal -->
+<!ENTITY nles "&#x02A7D;&#x00338;" ><!--/nleqslant N: not less-or-eq, slant -->
+<!ENTITY nLl "&#x022D8;&#x00338;" ><!--not triple less than -->
+<!ENTITY nlsim "&#x02274;" ><!--not less, similar -->
+<!ENTITY nLt "&#x0226A;&#x020D2;" ><!--not, vert, much less than -->
+<!ENTITY nlt "&#x0226E;" ><!--/nless N: not less-than -->
+<!ENTITY nltri "&#x022EA;" ><!--/ntriangleleft N: not left triangle -->
+<!ENTITY nltrie "&#x022EC;" ><!--/ntrianglelefteq N: not l tri, eq -->
+<!ENTITY nLtv "&#x0226A;&#x00338;" ><!--not much less than, variant -->
+<!ENTITY nmid "&#x02224;" ><!--/nmid -->
+<!ENTITY npar "&#x02226;" ><!--/nparallel N: not parallel -->
+<!ENTITY npr "&#x02280;" ><!--/nprec N: not precedes -->
+<!ENTITY nprcue "&#x022E0;" ><!--not curly precedes, eq -->
+<!ENTITY npre "&#x02AAF;&#x00338;" ><!--/npreceq N: not precedes, equals -->
+<!ENTITY nrtri "&#x022EB;" ><!--/ntriangleright N: not rt triangle -->
+<!ENTITY nrtrie "&#x022ED;" ><!--/ntrianglerighteq N: not r tri, eq -->
+<!ENTITY nsc "&#x02281;" ><!--/nsucc N: not succeeds -->
+<!ENTITY nsccue "&#x022E1;" ><!--not succeeds, curly eq -->
+<!ENTITY nsce "&#x02AB0;&#x00338;" ><!--/nsucceq N: not succeeds, equals -->
+<!ENTITY nsim "&#x02241;" ><!--/nsim N: not similar -->
+<!ENTITY nsime "&#x02244;" ><!--/nsimeq N: not similar, equals -->
+<!ENTITY nsmid "&#x02224;" ><!--/nshortmid -->
+<!ENTITY nspar "&#x02226;" ><!--/nshortparallel N: not short par -->
+<!ENTITY nsqsube "&#x022E2;" ><!--not, square subset, equals -->
+<!ENTITY nsqsupe "&#x022E3;" ><!--not, square superset, equals -->
+<!ENTITY nsub "&#x02284;" ><!--not subset -->
+<!ENTITY nsubE "&#x02288;" ><!--/nsubseteqq N: not subset, dbl eq -->
+<!ENTITY nsube "&#x02288;" ><!--/nsubseteq N: not subset, equals -->
+<!ENTITY nsup "&#x02285;" ><!--not superset -->
+<!ENTITY nsupE "&#x02289;" ><!--/nsupseteqq N: not superset, dbl eq -->
+<!ENTITY nsupe "&#x02289;" ><!--/nsupseteq N: not superset, equals -->
+<!ENTITY ntgl "&#x02279;" ><!--not greater, less -->
+<!ENTITY ntlg "&#x02278;" ><!--not less, greater -->
+<!ENTITY nvap "&#x0224D;&#x020D2;" ><!--not, vert, approximate -->
+<!ENTITY nVDash "&#x022AF;" ><!--/nVDash N: not dbl vert, dbl dash -->
+<!ENTITY nVdash "&#x022AE;" ><!--/nVdash N: not dbl vertical, dash -->
+<!ENTITY nvDash "&#x022AD;" ><!--/nvDash N: not vertical, dbl dash -->
+<!ENTITY nvdash "&#x022AC;" ><!--/nvdash N: not vertical, dash -->
+<!ENTITY nvge "&#x02A7E;&#x00338;" ><!--not, vert, greater-than-or-equal -->
+<!ENTITY nvgt "&#x0226F;" ><!--not, vert, greater-than -->
+<!ENTITY nvle "&#x02A7D;&#x00338;" ><!--not, vert, less-than-or-equal -->
+<!ENTITY nvlt "&#x0226E;" ><!--not, vert, less-than -->
+<!ENTITY nvltrie "&#x022B4;&#x020D2;" ><!--not, vert, left triangle, equals -->
+<!ENTITY nvrtrie "&#x022B5;&#x020D2;" ><!--not, vert, right triangle, equals -->
+<!ENTITY nvsim "&#x0223C;&#x020D2;" ><!--not, vert, similar -->
+<!ENTITY parsim "&#x02AF3;" ><!--parallel, similar -->
+<!ENTITY prnap "&#x022E8;" ><!--/precnapprox N: precedes, not approx -->
+<!ENTITY prnE "&#x02AB5;" ><!--/precneqq N: precedes, not dbl eq -->
+<!ENTITY prnsim "&#x022E8;" ><!--/precnsim N: precedes, not similar -->
+<!ENTITY rnmid "&#x02AEE;" ><!--reverse /nmid -->
+<!ENTITY scnap "&#x022E9;" ><!--/succnapprox N: succeeds, not approx -->
+<!ENTITY scnE "&#x02AB6;" ><!--/succneqq N: succeeds, not dbl eq -->
+<!ENTITY scnsim "&#x022E9;" ><!--/succnsim N: succeeds, not similar -->
+<!ENTITY simne "&#x02246;" ><!--similar, not equals -->
+<!ENTITY solbar "&#x0233F;" ><!--solidus, bar through -->
+<!ENTITY subnE "&#x0228A;" ><!--/subsetneqq N: subset, not dbl eq -->
+<!ENTITY subne "&#x0228A;" ><!--/subsetneq N: subset, not equals -->
+<!ENTITY supnE "&#x0228B;" ><!--/supsetneqq N: superset, not dbl eq -->
+<!ENTITY supne "&#x0228B;" ><!--/supsetneq N: superset, not equals -->
+<!ENTITY vnsub "&#x02284;" ><!--/nsubset N: not subset, var -->
+<!ENTITY vnsup "&#x02285;" ><!--/nsupset N: not superset, var -->
+<!ENTITY vsubnE "&#x0228A;&#x0FE00;" ><!--/varsubsetneqq N: subset not dbl eq, var -->
+<!ENTITY vsubne "&#x0228A;&#x0FE00;" ><!--/varsubsetneq N: subset, not eq, var -->
+<!ENTITY vsupnE "&#x0228B;&#x0FE00;" ><!--/varsupsetneqq N: super not dbl eq, var -->
+<!ENTITY vsupne "&#x0228B;&#x0FE00;" ><!--/varsupsetneq N: superset, not eq, var -->
+
+
+<!ENTITY % ent-isoamso
+ PUBLIC "-//W3C//ENTITIES Added Math Symbols: Ordinary for MathML 2.0//EN"
+ "iso9573-13/isoamso.ent" >
+
+<!--
+ File isoamso.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY ang "&#x02220;" ><!--/angle - angle -->
+<!ENTITY ange "&#x029A4;" ><!--angle, equal -->
+<!ENTITY angmsd "&#x02221;" ><!--/measuredangle - angle-measured -->
+<!ENTITY angmsdaa "&#x029A8;" ><!--angle-measured, arrow, up, right -->
+<!ENTITY angmsdab "&#x029A9;" ><!--angle-measured, arrow, up, left -->
+<!ENTITY angmsdac "&#x029AA;" ><!--angle-measured, arrow, down, right -->
+<!ENTITY angmsdad "&#x029AB;" ><!--angle-measured, arrow, down, left -->
+<!ENTITY angmsdae "&#x029AC;" ><!--angle-measured, arrow, right, up -->
+<!ENTITY angmsdaf "&#x029AD;" ><!--angle-measured, arrow, left, up -->
+<!ENTITY angmsdag "&#x029AE;" ><!--angle-measured, arrow, right, down -->
+<!ENTITY angmsdah "&#x029AF;" ><!--angle-measured, arrow, left, down -->
+<!ENTITY angrtvb "&#x022BE;" ><!--right angle-measured -->
+<!ENTITY angrtvbd "&#x0299D;" ><!--right angle-measured, dot -->
+<!ENTITY bbrk "&#x023B5;" ><!--bottom square bracket -->
+<!ENTITY bemptyv "&#x029B0;" ><!--reversed circle, slash -->
+<!ENTITY beth "&#x02136;" ><!--/beth - beth, Hebrew -->
+<!ENTITY boxbox "&#x029C9;" ><!--two joined squares -->
+<!ENTITY bprime "&#x02035;" ><!--/backprime - reverse prime -->
+<!ENTITY bsemi "&#x0204F;" ><!--reverse semi-colon -->
+<!ENTITY cemptyv "&#x029B2;" ><!--circle, slash, small circle above -->
+<!ENTITY cirE "&#x029C3;" ><!--circle, two horizontal stroked to the right -->
+<!ENTITY cirscir "&#x029C2;" ><!--circle, small circle to the right -->
+<!ENTITY comp "&#x02201;" ><!--/complement - complement sign -->
+<!ENTITY daleth "&#x02138;" ><!--/daleth - daleth, Hebrew -->
+<!ENTITY demptyv "&#x029B1;" ><!--circle, slash, bar above -->
+<!ENTITY ell "&#x02113;" ><!--/ell - cursive small l -->
+<!ENTITY empty "&#x02205;" ><!--/emptyset - zero, slash -->
+<!ENTITY emptyv "&#x02205;" ><!--/varnothing - circle, slash -->
+<!ENTITY gimel "&#x02137;" ><!--/gimel - gimel, Hebrew -->
+<!ENTITY iiota "&#x02129;" ><!--inverted iota -->
+<!ENTITY image "&#x02111;" ><!--/Im - imaginary -->
+<!ENTITY imath "&#x00131;" ><!--/imath - small i, no dot -->
+<!ENTITY jmath "&#x0006A;" ><!--/jmath - small j, no dot -->
+<!ENTITY laemptyv "&#x029B4;" ><!--circle, slash, left arrow above -->
+<!ENTITY lltri "&#x025FA;" ><!--lower left triangle -->
+<!ENTITY lrtri "&#x022BF;" ><!--lower right triangle -->
+<!ENTITY mho "&#x02127;" ><!--/mho - conductance -->
+<!ENTITY nang "&#x02220;&#x020D2;" ><!--not, vert, angle -->
+<!ENTITY nexist "&#x02204;" ><!--/nexists - negated exists -->
+<!ENTITY oS "&#x024C8;" ><!--/circledS - capital S in circle -->
+<!ENTITY planck "&#x0210F;" ><!--/hbar - Planck's over 2pi -->
+<!ENTITY plankv "&#x0210F;" ><!--/hslash - variant Planck's over 2pi -->
+<!ENTITY raemptyv "&#x029B3;" ><!--circle, slash, right arrow above -->
+<!ENTITY range "&#x029A5;" ><!--reverse angle, equal -->
+<!ENTITY real "&#x0211C;" ><!--/Re - real -->
+<!ENTITY tbrk "&#x023B4;" ><!--top square bracket -->
+<!ENTITY ultri "&#x025F8;" ><!--upper left triangle -->
+<!ENTITY urtri "&#x025F9;" ><!--upper right triangle -->
+<!ENTITY vzigzag "&#x0299A;" ><!--vertical zig-zag line -->
+<!ENTITY weierp "&#x02118;" ><!--/wp - Weierstrass p -->
+
+
+<!ENTITY % ent-isoamsr
+ PUBLIC "-//W3C//ENTITIES Added Math Symbols: Relations for MathML 2.0//EN"
+ "iso9573-13/isoamsr.ent" >
+
+<!--
+ File isoamsr.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ References to the VARIANT SELECTOR 1 character (&#x0FE00;)
+ should match the uses listed in Unicode Technical Report 25.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY apE "&#x0224A;" ><!--approximately equal or equal to -->
+<!ENTITY ape "&#x0224A;" ><!--/approxeq R: approximate, equals -->
+<!ENTITY apid "&#x0224B;" ><!--approximately identical to -->
+<!ENTITY asymp "&#x02248;" ><!--/asymp R: asymptotically equal to -->
+<!ENTITY Barv "&#x02AE7;" ><!--vert, dbl bar (over) -->
+<!ENTITY bcong "&#x0224C;" ><!--/backcong R: reverse congruent -->
+<!ENTITY bepsi "&#x003F6;" ><!--/backepsilon R: such that -->
+<!ENTITY bowtie "&#x022C8;" ><!--/bowtie R: -->
+<!ENTITY bsim "&#x0223D;" ><!--/backsim R: reverse similar -->
+<!ENTITY bsime "&#x022CD;" ><!--/backsimeq R: reverse similar, eq -->
+<!ENTITY bsolhsub "&#x0005C;&#x02282;" ><!--reverse solidus, subset -->
+<!ENTITY bump "&#x0224E;" ><!--/Bumpeq R: bumpy equals -->
+<!ENTITY bumpE "&#x02AAE;" ><!--bump, equals -->
+<!ENTITY bumpe "&#x0224F;" ><!--/bumpeq R: bumpy equals, equals -->
+<!ENTITY cire "&#x02257;" ><!--/circeq R: circle, equals -->
+<!ENTITY Colon "&#x02237;" ><!--/Colon, two colons -->
+<!ENTITY Colone "&#x02A74;" ><!--double colon, equals -->
+<!ENTITY colone "&#x02254;" ><!--/coloneq R: colon, equals -->
+<!ENTITY congdot "&#x02A6D;" ><!--congruent, dot -->
+<!ENTITY csub "&#x02ACF;" ><!--subset, closed -->
+<!ENTITY csube "&#x02AD1;" ><!--subset, closed, equals -->
+<!ENTITY csup "&#x02AD0;" ><!--superset, closed -->
+<!ENTITY csupe "&#x02AD2;" ><!--superset, closed, equals -->
+<!ENTITY cuepr "&#x022DE;" ><!--/curlyeqprec R: curly eq, precedes -->
+<!ENTITY cuesc "&#x022DF;" ><!--/curlyeqsucc R: curly eq, succeeds -->
+<!ENTITY Dashv "&#x02AE4;" ><!--dbl dash, vertical -->
+<!ENTITY dashv "&#x022A3;" ><!--/dashv R: dash, vertical -->
+<!ENTITY easter "&#x0225B;" ><!--equal, asterisk above -->
+<!ENTITY ecir "&#x02256;" ><!--/eqcirc R: circle on equals sign -->
+<!ENTITY ecolon "&#x02255;" ><!--/eqcolon R: equals, colon -->
+<!ENTITY eDDot "&#x02A77;" ><!--/ddotseq R: equal with four dots -->
+<!ENTITY eDot "&#x02251;" ><!--/doteqdot /Doteq R: eq, even dots -->
+<!ENTITY efDot "&#x02252;" ><!--/fallingdotseq R: eq, falling dots -->
+<!ENTITY eg "&#x02A9A;" ><!--equal-or-greater -->
+<!ENTITY egs "&#x022DD;" ><!--/eqslantgtr R: equal-or-gtr, slanted -->
+<!ENTITY egsdot "&#x02A98;" ><!--equal-or-greater, slanted, dot inside -->
+<!ENTITY el "&#x02A99;" ><!--equal-or-less -->
+<!ENTITY els "&#x022DC;" ><!--/eqslantless R: eq-or-less, slanted -->
+<!ENTITY elsdot "&#x02A97;" ><!--equal-or-less, slanted, dot inside -->
+<!ENTITY equest "&#x0225F;" ><!--/questeq R: equal with questionmark -->
+<!ENTITY equivDD "&#x02A78;" ><!--equivalent, four dots above -->
+<!ENTITY erDot "&#x02253;" ><!--/risingdotseq R: eq, rising dots -->
+<!ENTITY esdot "&#x02250;" ><!--/doteq R: equals, single dot above -->
+<!ENTITY Esim "&#x02A73;" ><!--equal, similar -->
+<!ENTITY esim "&#x02242;" ><!--/esim R: equals, similar -->
+<!ENTITY fork "&#x022D4;" ><!--/pitchfork R: pitchfork -->
+<!ENTITY forkv "&#x02AD9;" ><!--fork, variant -->
+<!ENTITY frown "&#x02322;" ><!--/frown R: down curve -->
+<!ENTITY gap "&#x02273;" ><!--/gtrapprox R: greater, approximate -->
+<!ENTITY gE "&#x02267;" ><!--/geqq R: greater, double equals -->
+<!ENTITY gEl "&#x022DB;" ><!--/gtreqqless R: gt, dbl equals, less -->
+<!ENTITY gel "&#x022DB;" ><!--/gtreqless R: greater, equals, less -->
+<!ENTITY ges "&#x02A7E;" ><!--/geqslant R: gt-or-equal, slanted -->
+<!ENTITY gescc "&#x02AA9;" ><!--greater than, closed by curve, equal, slanted -->
+<!ENTITY gesdot "&#x02A80;" ><!--greater-than-or-equal, slanted, dot inside -->
+<!ENTITY gesdoto "&#x02A82;" ><!--greater-than-or-equal, slanted, dot above -->
+<!ENTITY gesdotol "&#x02A84;" ><!--greater-than-or-equal, slanted, dot above left -->
+<!ENTITY gesl "&#x022DB;&#x0FE00;" ><!--greater, equal, slanted, less -->
+<!ENTITY gesles "&#x02A94;" ><!--greater, equal, slanted, less, equal, slanted -->
+<!ENTITY Gg "&#x022D9;" ><!--/ggg /Gg /gggtr R: triple gtr-than -->
+<!ENTITY gl "&#x02277;" ><!--/gtrless R: greater, less -->
+<!ENTITY gla "&#x02AA5;" ><!--greater, less, apart -->
+<!ENTITY glE "&#x02A92;" ><!--greater, less, equal -->
+<!ENTITY glj "&#x02AA4;" ><!--greater, less, overlapping -->
+<!ENTITY gsim "&#x02273;" ><!--/gtrsim R: greater, similar -->
+<!ENTITY gsime "&#x02A8E;" ><!--greater, similar, equal -->
+<!ENTITY gsiml "&#x02A90;" ><!--greater, similar, less -->
+<!ENTITY Gt "&#x0226B;" ><!--/gg R: dbl greater-than sign -->
+<!ENTITY gtcc "&#x02AA7;" ><!--greater than, closed by curve -->
+<!ENTITY gtcir "&#x02A7A;" ><!--greater than, circle inside -->
+<!ENTITY gtdot "&#x022D7;" ><!--/gtrdot R: greater than, with dot -->
+<!ENTITY gtquest "&#x02A7C;" ><!--greater than, questionmark above -->
+<!ENTITY gtrarr "&#x02978;" ><!--greater than, right arrow -->
+<!ENTITY homtht "&#x0223B;" ><!--homothetic -->
+<!ENTITY lap "&#x02272;" ><!--/lessapprox R: less, approximate -->
+<!ENTITY lat "&#x02AAB;" ><!--larger than -->
+<!ENTITY late "&#x02AAD;" ><!--larger than or equal -->
+<!ENTITY lates "&#x02AAD;&#x0FE00;" ><!--larger than or equal, slanted -->
+<!ENTITY lE "&#x02266;" ><!--/leqq R: less, double equals -->
+<!ENTITY lEg "&#x022DA;" ><!--/lesseqqgtr R: less, dbl eq, greater -->
+<!ENTITY leg "&#x022DA;" ><!--/lesseqgtr R: less, eq, greater -->
+<!ENTITY les "&#x02A7D;" ><!--/leqslant R: less-than-or-eq, slant -->
+<!ENTITY lescc "&#x02AA8;" ><!--less than, closed by curve, equal, slanted -->
+<!ENTITY lesdot "&#x02A7F;" ><!--less-than-or-equal, slanted, dot inside -->
+<!ENTITY lesdoto "&#x02A81;" ><!--less-than-or-equal, slanted, dot above -->
+<!ENTITY lesdotor "&#x02A83;" ><!--less-than-or-equal, slanted, dot above right -->
+<!ENTITY lesg "&#x022DA;&#x0FE00;" ><!--less, equal, slanted, greater -->
+<!ENTITY lesges "&#x02A93;" ><!--less, equal, slanted, greater, equal, slanted -->
+<!ENTITY lg "&#x02276;" ><!--/lessgtr R: less, greater -->
+<!ENTITY lgE "&#x02A91;" ><!--less, greater, equal -->
+<!ENTITY Ll "&#x022D8;" ><!--/Ll /lll /llless R: triple less-than -->
+<!ENTITY lsim "&#x02272;" ><!--/lesssim R: less, similar -->
+<!ENTITY lsime "&#x02A8D;" ><!--less, similar, equal -->
+<!ENTITY lsimg "&#x02A8F;" ><!--less, similar, greater -->
+<!ENTITY Lt "&#x0226A;" ><!--/ll R: double less-than sign -->
+<!ENTITY ltcc "&#x02AA6;" ><!--less than, closed by curve -->
+<!ENTITY ltcir "&#x02A79;" ><!--less than, circle inside -->
+<!ENTITY ltdot "&#x022D6;" ><!--/lessdot R: less than, with dot -->
+<!ENTITY ltlarr "&#x02976;" ><!--less than, left arrow -->
+<!ENTITY ltquest "&#x02A7B;" ><!--less than, questionmark above -->
+<!ENTITY ltrie "&#x022B4;" ><!--/trianglelefteq R: left triangle, eq -->
+<!ENTITY mcomma "&#x02A29;" ><!--minus, comma above -->
+<!ENTITY mDDot "&#x0223A;" ><!--minus with four dots, geometric properties -->
+<!ENTITY mid "&#x02223;" ><!--/mid R: -->
+<!ENTITY mlcp "&#x02ADB;" ><!--/mlcp -->
+<!ENTITY models "&#x022A7;" ><!--/models R: -->
+<!ENTITY mstpos "&#x0223E;" ><!--most positive -->
+<!ENTITY Pr "&#x02ABB;" ><!--dbl precedes -->
+<!ENTITY pr "&#x0227A;" ><!--/prec R: precedes -->
+<!ENTITY prap "&#x0227E;" ><!--/precapprox R: precedes, approximate -->
+<!ENTITY prcue "&#x0227C;" ><!--/preccurlyeq R: precedes, curly eq -->
+<!ENTITY prE "&#x02AAF;" ><!--precedes, dbl equals -->
+<!ENTITY pre "&#x02AAF;" ><!--/preceq R: precedes, equals -->
+<!ENTITY prsim "&#x0227E;" ><!--/precsim R: precedes, similar -->
+<!ENTITY prurel "&#x022B0;" ><!--element precedes under relation -->
+<!ENTITY ratio "&#x02236;" ><!--/ratio -->
+<!ENTITY rtrie "&#x022B5;" ><!--/trianglerighteq R: right tri, eq -->
+<!ENTITY rtriltri "&#x029CE;" ><!--right triangle above left triangle -->
+<!ENTITY Sc "&#x02ABC;" ><!--dbl succeeds -->
+<!ENTITY sc "&#x0227B;" ><!--/succ R: succeeds -->
+<!ENTITY scap "&#x0227F;" ><!--/succapprox R: succeeds, approximate -->
+<!ENTITY sccue "&#x0227D;" ><!--/succcurlyeq R: succeeds, curly eq -->
+<!ENTITY scE "&#x0227E;" ><!--succeeds, dbl equals -->
+<!ENTITY sce "&#x0227D;" ><!--/succeq R: succeeds, equals -->
+<!ENTITY scsim "&#x0227F;" ><!--/succsim R: succeeds, similar -->
+<!ENTITY sdote "&#x02A66;" ><!--equal, dot below -->
+<!ENTITY simg "&#x02A9E;" ><!--similar, greater -->
+<!ENTITY simgE "&#x02AA0;" ><!--similar, greater, equal -->
+<!ENTITY siml "&#x02A9D;" ><!--similar, less -->
+<!ENTITY simlE "&#x02A9F;" ><!--similar, less, equal -->
+<!ENTITY smid "&#x02223;" ><!--/shortmid R: -->
+<!ENTITY smile "&#x02323;" ><!--/smile R: up curve -->
+<!ENTITY smt "&#x02AAA;" ><!--smaller than -->
+<!ENTITY smte "&#x02AAC;" ><!--smaller than or equal -->
+<!ENTITY smtes "&#x02AAC;&#x0FE00;" ><!--smaller than or equal, slanted -->
+<!ENTITY spar "&#x02225;" ><!--/shortparallel R: short parallel -->
+<!ENTITY sqsub "&#x0228F;" ><!--/sqsubset R: square subset -->
+<!ENTITY sqsube "&#x02291;" ><!--/sqsubseteq R: square subset, equals -->
+<!ENTITY sqsup "&#x02290;" ><!--/sqsupset R: square superset -->
+<!ENTITY sqsupe "&#x02292;" ><!--/sqsupseteq R: square superset, eq -->
+<!ENTITY Sub "&#x022D0;" ><!--/Subset R: double subset -->
+<!ENTITY subE "&#x02286;" ><!--/subseteqq R: subset, dbl equals -->
+<!ENTITY subedot "&#x02AC3;" ><!--subset, equals, dot -->
+<!ENTITY submult "&#x02AC1;" ><!--subset, multiply -->
+<!ENTITY subplus "&#x02ABF;" ><!--subset, plus -->
+<!ENTITY subrarr "&#x02979;" ><!--subset, right arrow -->
+<!ENTITY subsim "&#x02AC7;" ><!--subset, similar -->
+<!ENTITY subsub "&#x02AD5;" ><!--subset above subset -->
+<!ENTITY subsup "&#x02AD3;" ><!--subset above superset -->
+<!ENTITY Sup "&#x022D1;" ><!--/Supset R: dbl superset -->
+<!ENTITY supdsub "&#x02AD8;" ><!--superset, subset, dash joining them -->
+<!ENTITY supE "&#x02287;" ><!--/supseteqq R: superset, dbl equals -->
+<!ENTITY supedot "&#x02AC4;" ><!--superset, equals, dot -->
+<!ENTITY suphsol "&#x02283;&#x00338;" ><!--superset, solidus -->
+<!ENTITY suphsub "&#x02AD7;" ><!--superset, subset -->
+<!ENTITY suplarr "&#x0297B;" ><!--superset, left arrow -->
+<!ENTITY supmult "&#x02AC2;" ><!--superset, multiply -->
+<!ENTITY supplus "&#x02AC0;" ><!--superset, plus -->
+<!ENTITY supsim "&#x02AC8;" ><!--superset, similar -->
+<!ENTITY supsub "&#x02AD4;" ><!--superset above subset -->
+<!ENTITY supsup "&#x02AD6;" ><!--superset above superset -->
+<!ENTITY thkap "&#x02248;" ><!--/thickapprox R: thick approximate -->
+<!ENTITY topfork "&#x02ADA;" ><!--fork with top -->
+<!ENTITY trie "&#x0225C;" ><!--/triangleq R: triangle, equals -->
+<!ENTITY twixt "&#x0226C;" ><!--/between R: between -->
+<!ENTITY Vbar "&#x02AEB;" ><!--dbl vert, bar (under) -->
+<!ENTITY vBar "&#x02AE8;" ><!--vert, dbl bar (under) -->
+<!ENTITY vBarv "&#x02AE9;" ><!--dbl bar, vert over and under -->
+<!ENTITY VDash "&#x022AB;" ><!--dbl vert, dbl dash -->
+<!ENTITY Vdash "&#x022A9;" ><!--/Vdash R: dbl vertical, dash -->
+<!ENTITY vDash "&#x022A8;" ><!--/vDash R: vertical, dbl dash -->
+<!ENTITY vdash "&#x022A2;" ><!--/vdash R: vertical, dash -->
+<!ENTITY Vdashl "&#x02AE6;" ><!--vertical, dash (long) -->
+<!ENTITY vltri "&#x022B2;" ><!--/vartriangleleft R: l tri, open, var -->
+<!ENTITY vprop "&#x0221D;" ><!--/varpropto R: proportional, variant -->
+<!ENTITY vrtri "&#x022B3;" ><!--/vartriangleright R: r tri, open, var -->
+<!ENTITY Vvdash "&#x022AA;" ><!--/Vvdash R: triple vertical, dash -->
+
+
+<!ENTITY % ent-isogrk3
+ PUBLIC "-//W3C//ENTITIES Greek Symbols for MathML 2.0//EN"
+ "iso9573-13/isogrk3.ent" >
+
+<!--
+ File isogrk3.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY alpha "&#x003B1;" ><!--/alpha small alpha, Greek -->
+<!ENTITY beta "&#x003B2;" ><!--/beta small beta, Greek -->
+<!ENTITY chi "&#x003C7;" ><!--/chi small chi, Greek -->
+<!ENTITY Delta "&#x00394;" ><!--/Delta capital Delta, Greek -->
+<!ENTITY delta "&#x003B4;" ><!--/delta small delta, Greek -->
+<!ENTITY epsi "&#x003B5;" ><!--/straightepsilon, small epsilon, Greek -->
+<!ENTITY epsiv "&#x0025B;" ><!--/varepsilon -->
+<!ENTITY eta "&#x003B7;" ><!--/eta small eta, Greek -->
+<!ENTITY Gamma "&#x00393;" ><!--/Gamma capital Gamma, Greek -->
+<!ENTITY gamma "&#x003B3;" ><!--/gamma small gamma, Greek -->
+<!ENTITY Gammad "&#x003DC;" ><!--capital digamma -->
+<!ENTITY gammad "&#x003DC;" ><!--/digamma -->
+<!ENTITY iota "&#x003B9;" ><!--/iota small iota, Greek -->
+<!ENTITY kappa "&#x003BA;" ><!--/kappa small kappa, Greek -->
+<!ENTITY kappav "&#x003F0;" ><!--/varkappa -->
+<!ENTITY Lambda "&#x0039B;" ><!--/Lambda capital Lambda, Greek -->
+<!ENTITY lambda "&#x003BB;" ><!--/lambda small lambda, Greek -->
+<!ENTITY mu "&#x003BC;" ><!--/mu small mu, Greek -->
+<!ENTITY nu "&#x003BD;" ><!--/nu small nu, Greek -->
+<!ENTITY Omega "&#x003A9;" ><!--/Omega capital Omega, Greek -->
+<!ENTITY omega "&#x003C9;" ><!--/omega small omega, Greek -->
+<!ENTITY Phi "&#x003A6;" ><!--/Phi capital Phi, Greek -->
+<!ENTITY phi "&#x003D5;" ><!--/straightphi - small phi, Greek -->
+<!ENTITY phiv "&#x003C6;" ><!--/varphi - curly or open phi -->
+<!ENTITY Pi "&#x003A0;" ><!--/Pi capital Pi, Greek -->
+<!ENTITY pi "&#x003C0;" ><!--/pi small pi, Greek -->
+<!ENTITY piv "&#x003D6;" ><!--/varpi -->
+<!ENTITY Psi "&#x003A8;" ><!--/Psi capital Psi, Greek -->
+<!ENTITY psi "&#x003C8;" ><!--/psi small psi, Greek -->
+<!ENTITY rho "&#x003C1;" ><!--/rho small rho, Greek -->
+<!ENTITY rhov "&#x003F1;" ><!--/varrho -->
+<!ENTITY Sigma "&#x003A3;" ><!--/Sigma capital Sigma, Greek -->
+<!ENTITY sigma "&#x003C3;" ><!--/sigma small sigma, Greek -->
+<!ENTITY sigmav "&#x003C2;" ><!--/varsigma -->
+<!ENTITY tau "&#x003C4;" ><!--/tau small tau, Greek -->
+<!ENTITY Theta "&#x00398;" ><!--/Theta capital Theta, Greek -->
+<!ENTITY theta "&#x003B8;" ><!--/theta straight theta, small theta, Greek -->
+<!ENTITY thetav "&#x003D1;" ><!--/vartheta - curly or open theta -->
+<!ENTITY Upsi "&#x003D2;" ><!--/Upsilon capital Upsilon, Greek -->
+<!ENTITY upsi "&#x003C5;" ><!--/upsilon small upsilon, Greek -->
+<!ENTITY Xi "&#x0039E;" ><!--/Xi capital Xi, Greek -->
+<!ENTITY xi "&#x003BE;" ><!--/xi small xi, Greek -->
+<!ENTITY zeta "&#x003B6;" ><!--/zeta small zeta, Greek -->
+
+
+<!ENTITY % ent-isomfrk
+ PUBLIC "-//W3C//ENTITIES Math Alphabets: Fraktur for MathML 2.0//EN"
+ "iso9573-13/isomfrk.ent" >
+
+<!--
+ File isomfrk.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY % plane1D "&#38;#38;#x1D">
+
+<!ENTITY Afr "%plane1D;504;" ><!--/frak A, upper case a -->
+<!ENTITY afr "%plane1D;51E;" ><!--/frak a, lower case a -->
+<!ENTITY Bfr "%plane1D;505;" ><!--/frak B, upper case b -->
+<!ENTITY bfr "%plane1D;51F;" ><!--/frak b, lower case b -->
+<!ENTITY Cfr "&#x0212D;" ><!--/frak C, upper case c -->
+<!ENTITY cfr "%plane1D;520;" ><!--/frak c, lower case c -->
+<!ENTITY Dfr "%plane1D;507;" ><!--/frak D, upper case d -->
+<!ENTITY dfr "%plane1D;521;" ><!--/frak d, lower case d -->
+<!ENTITY Efr "%plane1D;508;" ><!--/frak E, upper case e -->
+<!ENTITY efr "%plane1D;522;" ><!--/frak e, lower case e -->
+<!ENTITY Ffr "%plane1D;509;" ><!--/frak F, upper case f -->
+<!ENTITY ffr "%plane1D;523;" ><!--/frak f, lower case f -->
+<!ENTITY Gfr "%plane1D;50A;" ><!--/frak G, upper case g -->
+<!ENTITY gfr "%plane1D;524;" ><!--/frak g, lower case g -->
+<!ENTITY Hfr "&#x0210C;" ><!--/frak H, upper case h -->
+<!ENTITY hfr "%plane1D;525;" ><!--/frak h, lower case h -->
+<!ENTITY Ifr "&#x02111;" ><!--/frak I, upper case i -->
+<!ENTITY ifr "%plane1D;526;" ><!--/frak i, lower case i -->
+<!ENTITY Jfr "%plane1D;50D;" ><!--/frak J, upper case j -->
+<!ENTITY jfr "%plane1D;527;" ><!--/frak j, lower case j -->
+<!ENTITY Kfr "%plane1D;50E;" ><!--/frak K, upper case k -->
+<!ENTITY kfr "%plane1D;528;" ><!--/frak k, lower case k -->
+<!ENTITY Lfr "%plane1D;50F;" ><!--/frak L, upper case l -->
+<!ENTITY lfr "%plane1D;529;" ><!--/frak l, lower case l -->
+<!ENTITY Mfr "%plane1D;510;" ><!--/frak M, upper case m -->
+<!ENTITY mfr "%plane1D;52A;" ><!--/frak m, lower case m -->
+<!ENTITY Nfr "%plane1D;511;" ><!--/frak N, upper case n -->
+<!ENTITY nfr "%plane1D;52B;" ><!--/frak n, lower case n -->
+<!ENTITY Ofr "%plane1D;512;" ><!--/frak O, upper case o -->
+<!ENTITY ofr "%plane1D;52C;" ><!--/frak o, lower case o -->
+<!ENTITY Pfr "%plane1D;513;" ><!--/frak P, upper case p -->
+<!ENTITY pfr "%plane1D;52D;" ><!--/frak p, lower case p -->
+<!ENTITY Qfr "%plane1D;514;" ><!--/frak Q, upper case q -->
+<!ENTITY qfr "%plane1D;52E;" ><!--/frak q, lower case q -->
+<!ENTITY Rfr "&#x0211C;" ><!--/frak R, upper case r -->
+<!ENTITY rfr "%plane1D;52F;" ><!--/frak r, lower case r -->
+<!ENTITY Sfr "%plane1D;516;" ><!--/frak S, upper case s -->
+<!ENTITY sfr "%plane1D;530;" ><!--/frak s, lower case s -->
+<!ENTITY Tfr "%plane1D;517;" ><!--/frak T, upper case t -->
+<!ENTITY tfr "%plane1D;531;" ><!--/frak t, lower case t -->
+<!ENTITY Ufr "%plane1D;518;" ><!--/frak U, upper case u -->
+<!ENTITY ufr "%plane1D;532;" ><!--/frak u, lower case u -->
+<!ENTITY Vfr "%plane1D;519;" ><!--/frak V, upper case v -->
+<!ENTITY vfr "%plane1D;533;" ><!--/frak v, lower case v -->
+<!ENTITY Wfr "%plane1D;51A;" ><!--/frak W, upper case w -->
+<!ENTITY wfr "%plane1D;534;" ><!--/frak w, lower case w -->
+<!ENTITY Xfr "%plane1D;51B;" ><!--/frak X, upper case x -->
+<!ENTITY xfr "%plane1D;535;" ><!--/frak x, lower case x -->
+<!ENTITY Yfr "%plane1D;51C;" ><!--/frak Y, upper case y -->
+<!ENTITY yfr "%plane1D;536;" ><!--/frak y, lower case y -->
+<!ENTITY Zfr "&#x02128;" ><!--/frak Z, upper case z -->
+<!ENTITY zfr "%plane1D;537;" ><!--/frak z, lower case z -->
+
+
+<!ENTITY % ent-isomopf
+ PUBLIC "-//W3C//ENTITIES Math Alphabets: Open Face for MathML 2.0//EN"
+ "iso9573-13/isomopf.ent" >
+
+<!--
+ File isomopf.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY % plane1D "&#38;#38;#x1D">
+
+<!ENTITY Aopf "%plane1D;538;" ><!--/Bbb A, open face A -->
+<!ENTITY Bopf "%plane1D;539;" ><!--/Bbb B, open face B -->
+<!ENTITY Copf "&#x02102;" ><!--/Bbb C, open face C -->
+<!ENTITY Dopf "%plane1D;53B;" ><!--/Bbb D, open face D -->
+<!ENTITY Eopf "%plane1D;53C;" ><!--/Bbb E, open face E -->
+<!ENTITY Fopf "%plane1D;53D;" ><!--/Bbb F, open face F -->
+<!ENTITY Gopf "%plane1D;53E;" ><!--/Bbb G, open face G -->
+<!ENTITY Hopf "&#x0210D;" ><!--/Bbb H, open face H -->
+<!ENTITY Iopf "%plane1D;540;" ><!--/Bbb I, open face I -->
+<!ENTITY Jopf "%plane1D;541;" ><!--/Bbb J, open face J -->
+<!ENTITY Kopf "%plane1D;542;" ><!--/Bbb K, open face K -->
+<!ENTITY Lopf "%plane1D;543;" ><!--/Bbb L, open face L -->
+<!ENTITY Mopf "%plane1D;544;" ><!--/Bbb M, open face M -->
+<!ENTITY Nopf "&#x02115;" ><!--/Bbb N, open face N -->
+<!ENTITY Oopf "%plane1D;546;" ><!--/Bbb O, open face O -->
+<!ENTITY Popf "&#x02119;" ><!--/Bbb P, open face P -->
+<!ENTITY Qopf "&#x0211A;" ><!--/Bbb Q, open face Q -->
+<!ENTITY Ropf "&#x0211D;" ><!--/Bbb R, open face R -->
+<!ENTITY Sopf "%plane1D;54A;" ><!--/Bbb S, open face S -->
+<!ENTITY Topf "%plane1D;54B;" ><!--/Bbb T, open face T -->
+<!ENTITY Uopf "%plane1D;54C;" ><!--/Bbb U, open face U -->
+<!ENTITY Vopf "%plane1D;54D;" ><!--/Bbb V, open face V -->
+<!ENTITY Wopf "%plane1D;54E;" ><!--/Bbb W, open face W -->
+<!ENTITY Xopf "%plane1D;54F;" ><!--/Bbb X, open face X -->
+<!ENTITY Yopf "%plane1D;550;" ><!--/Bbb Y, open face Y -->
+<!ENTITY Zopf "&#x02124;" ><!--/Bbb Z, open face Z -->
+
+
+<!ENTITY % ent-isomscr
+ PUBLIC "-//W3C//ENTITIES Math Alphabets: Script for MathML 2.0//EN"
+ "iso9573-13/isomscr.ent" >
+
+<!--
+ File isomscr.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY % plane1D "&#38;#38;#x1D">
+
+<!ENTITY Ascr "%plane1D;49C;" ><!--/scr A, script letter A -->
+<!ENTITY ascr "%plane1D;4B6;" ><!--/scr a, script letter a -->
+<!ENTITY Bscr "&#x0212C;" ><!--/scr B, script letter B -->
+<!ENTITY bscr "%plane1D;4B7;" ><!--/scr b, script letter b -->
+<!ENTITY Cscr "%plane1D;49E;" ><!--/scr C, script letter C -->
+<!ENTITY cscr "%plane1D;4B8;" ><!--/scr c, script letter c -->
+<!ENTITY Dscr "%plane1D;49F;" ><!--/scr D, script letter D -->
+<!ENTITY dscr "%plane1D;4B9;" ><!--/scr d, script letter d -->
+<!ENTITY Escr "&#x02130;" ><!--/scr E, script letter E -->
+<!ENTITY escr "&#x0212F;" ><!--/scr e, script letter e -->
+<!ENTITY Fscr "&#x02131;" ><!--/scr F, script letter F -->
+<!ENTITY fscr "%plane1D;4BB;" ><!--/scr f, script letter f -->
+<!ENTITY Gscr "%plane1D;4A2;" ><!--/scr G, script letter G -->
+<!ENTITY gscr "&#x0210A;" ><!--/scr g, script letter g -->
+<!ENTITY Hscr "&#x0210B;" ><!--/scr H, script letter H -->
+<!ENTITY hscr "%plane1D;4BD;" ><!--/scr h, script letter h -->
+<!ENTITY Iscr "&#x02110;" ><!--/scr I, script letter I -->
+<!ENTITY iscr "%plane1D;4BE;" ><!--/scr i, script letter i -->
+<!ENTITY Jscr "%plane1D;4A5;" ><!--/scr J, script letter J -->
+<!ENTITY jscr "%plane1D;4BF;" ><!--/scr j, script letter j -->
+<!ENTITY Kscr "%plane1D;4A6;" ><!--/scr K, script letter K -->
+<!ENTITY kscr "%plane1D;4C0;" ><!--/scr k, script letter k -->
+<!ENTITY Lscr "&#x02112;" ><!--/scr L, script letter L -->
+<!ENTITY lscr "&#x02113;" ><!--/scr l, script letter l -->
+<!ENTITY Mscr "&#x02133;" ><!--/scr M, script letter M -->
+<!ENTITY mscr "%plane1D;4C2;" ><!--/scr m, script letter m -->
+<!ENTITY Nscr "%plane1D;4A9;" ><!--/scr N, script letter N -->
+<!ENTITY nscr "%plane1D;4C3;" ><!--/scr n, script letter n -->
+<!ENTITY Oscr "%plane1D;4AA;" ><!--/scr O, script letter O -->
+<!ENTITY oscr "&#x02134;" ><!--/scr o, script letter o -->
+<!ENTITY Pscr "%plane1D;4AB;" ><!--/scr P, script letter P -->
+<!ENTITY pscr "%plane1D;4C5;" ><!--/scr p, script letter p -->
+<!ENTITY Qscr "%plane1D;4AC;" ><!--/scr Q, script letter Q -->
+<!ENTITY qscr "%plane1D;4C6;" ><!--/scr q, script letter q -->
+<!ENTITY Rscr "&#x0211B;" ><!--/scr R, script letter R -->
+<!ENTITY rscr "%plane1D;4C7;" ><!--/scr r, script letter r -->
+<!ENTITY Sscr "%plane1D;4AE;" ><!--/scr S, script letter S -->
+<!ENTITY sscr "%plane1D;4C8;" ><!--/scr s, script letter s -->
+<!ENTITY Tscr "%plane1D;4AF;" ><!--/scr T, script letter T -->
+<!ENTITY tscr "%plane1D;4C9;" ><!--/scr t, script letter t -->
+<!ENTITY Uscr "%plane1D;4B0;" ><!--/scr U, script letter U -->
+<!ENTITY uscr "%plane1D;4CA;" ><!--/scr u, script letter u -->
+<!ENTITY Vscr "%plane1D;4B1;" ><!--/scr V, script letter V -->
+<!ENTITY vscr "%plane1D;4CB;" ><!--/scr v, script letter v -->
+<!ENTITY Wscr "%plane1D;4B2;" ><!--/scr W, script letter W -->
+<!ENTITY wscr "%plane1D;4CC;" ><!--/scr w, script letter w -->
+<!ENTITY Xscr "%plane1D;4B3;" ><!--/scr X, script letter X -->
+<!ENTITY xscr "%plane1D;4CD;" ><!--/scr x, script letter x -->
+<!ENTITY Yscr "%plane1D;4B4;" ><!--/scr Y, script letter Y -->
+<!ENTITY yscr "%plane1D;4CE;" ><!--/scr y, script letter y -->
+<!ENTITY Zscr "%plane1D;4B5;" ><!--/scr Z, script letter Z -->
+<!ENTITY zscr "%plane1D;4CF;" ><!--/scr z, script letter z -->
+
+
+<!ENTITY % ent-isotech
+ PUBLIC "-//W3C//ENTITIES General Technical for MathML 2.0//EN"
+ "iso9573-13/isotech.ent" >
+
+<!--
+ File isotech.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ References to the VARIANT SELECTOR 1 character (&#x0FE00;)
+ should match the uses listed in Unicode Technical Report 25.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1991
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY % plane1D "&#38;#38;#x1D">
+
+<!ENTITY acd "&#x0223F;" ><!--ac current -->
+<!ENTITY aleph "&#x02135;" ><!--/aleph aleph, Hebrew -->
+<!ENTITY And "&#x02A53;" ><!--dbl logical and -->
+<!ENTITY and "&#x02227;" ><!--/wedge /land B: logical and -->
+<!ENTITY andand "&#x02A55;" ><!--two logical and -->
+<!ENTITY andd "&#x02A5C;" ><!--and, horizontal dash -->
+<!ENTITY andslope "&#x02A58;" ><!--sloping large and -->
+<!ENTITY andv "&#x02A5A;" ><!--and with middle stem -->
+<!ENTITY angrt "&#x0221F;" ><!--right (90 degree) angle -->
+<!ENTITY angsph "&#x02222;" ><!--/sphericalangle angle-spherical -->
+<!ENTITY angst "&#x0212B;" ><!--Angstrom capital A, ring -->
+<!ENTITY ap "&#x02248;" ><!--/approx R: approximate -->
+<!ENTITY apacir "&#x02A6F;" ><!--approximate, circumflex accent -->
+<!ENTITY awconint "&#x02233;" ><!--contour integral, anti-clockwise -->
+<!ENTITY awint "&#x02A11;" ><!--anti clock-wise integration -->
+<!ENTITY becaus "&#x02235;" ><!--/because R: because -->
+<!ENTITY bernou "&#x0212C;" ><!--Bernoulli function (script capital B) -->
+<!ENTITY bne "&#x0003D;&#x020E5;" ><!--reverse not equal -->
+<!ENTITY bnequiv "&#x02261;&#x020E5;" ><!--reverse not equivalent -->
+<!ENTITY bNot "&#x02AED;" ><!--reverse not with two horizontal strokes -->
+<!ENTITY bnot "&#x02310;" ><!--reverse not -->
+<!ENTITY bottom "&#x022A5;" ><!--/bot bottom -->
+<!ENTITY cap "&#x02229;" ><!--/cap B: intersection -->
+<!ENTITY Cconint "&#x02230;" ><!--triple contour integral operator -->
+<!ENTITY cirfnint "&#x02A10;" ><!--circulation function -->
+<!ENTITY compfn "&#x02218;" ><!--/circ B: composite function (small circle) -->
+<!ENTITY cong "&#x02245;" ><!--/cong R: congruent with -->
+<!ENTITY Conint "&#x0222F;" ><!--double contour integral operator -->
+<!ENTITY conint "&#x0222E;" ><!--/oint L: contour integral operator -->
+<!ENTITY ctdot "&#x022EF;" ><!--/cdots, three dots, centered -->
+<!ENTITY cup "&#x0222A;" ><!--/cup B: union or logical sum -->
+<!ENTITY cwconint "&#x02232;" ><!--contour integral, clockwise -->
+<!ENTITY cwint "&#x02231;" ><!--clockwise integral -->
+<!ENTITY cylcty "&#x0232D;" ><!--cylindricity -->
+<!ENTITY disin "&#x022F2;" ><!--set membership, long horizontal stroke -->
+<!ENTITY Dot "&#x000A8;" ><!--dieresis or umlaut mark -->
+<!ENTITY DotDot "&#x020DC;" ><!--four dots above -->
+<!ENTITY dsol "&#x029F6;" ><!--solidus, bar above -->
+<!ENTITY dtdot "&#x022F1;" ><!--/ddots, three dots, descending -->
+<!ENTITY dwangle "&#x029A6;" ><!--large downward pointing angle -->
+<!ENTITY epar "&#x022D5;" ><!--parallel, equal; equal or parallel -->
+<!ENTITY eparsl "&#x029E3;" ><!--parallel, slanted, equal; homothetically congruent to -->
+<!ENTITY equiv "&#x02261;" ><!--/equiv R: identical with -->
+<!ENTITY eqvparsl "&#x029E5;" ><!--equivalent, equal; congruent and parallel -->
+<!ENTITY exist "&#x02203;" ><!--/exists at least one exists -->
+<!ENTITY fnof "&#x00192;" ><!--function of (italic small f) -->
+<!ENTITY forall "&#x02200;" ><!--/forall for all -->
+<!ENTITY fpartint "&#x02A0D;" ><!--finite part integral -->
+<!ENTITY ge "&#x02265;" ><!--/geq /ge R: greater-than-or-equal -->
+<!ENTITY hamilt "&#x0210B;" ><!--Hamiltonian (script capital H) -->
+<!ENTITY iff "&#x021D4;" ><!--/iff if and only if -->
+<!ENTITY iinfin "&#x029DC;" ><!--infinity sign, incomplete -->
+<!ENTITY imped "%plane1D;543;" ><!--impedance -->
+<!ENTITY infin "&#x0221E;" ><!--/infty infinity -->
+<!ENTITY Int "&#x0222C;" ><!--double integral operator -->
+<!ENTITY int "&#x0222B;" ><!--/int L: integral operator -->
+<!ENTITY intlarhk "&#x02A17;" ><!--integral, left arrow with hook -->
+<!ENTITY isin "&#x02208;" ><!--/in R: set membership -->
+<!ENTITY isindot "&#x022F5;" ><!--set membership, dot above -->
+<!ENTITY isinE "&#x022F9;" ><!--set membership, two horizontal strokes -->
+<!ENTITY isins "&#x022F4;" ><!--set membership, vertical bar on horizontal stroke -->
+<!ENTITY isinsv "&#x022F3;" ><!--large set membership, vertical bar on horizontal stroke -->
+<!ENTITY isinv "&#x02208;" ><!--set membership, variant -->
+<!ENTITY lagran "&#x02112;" ><!--Lagrangian (script capital L) -->
+<!ENTITY Lang "&#x0300A;" ><!--left angle bracket, double -->
+<!ENTITY lang "&#x02329;" ><!--/langle O: left angle bracket -->
+<!ENTITY lArr "&#x021D0;" ><!--/Leftarrow A: is implied by -->
+<!ENTITY lbbrk "&#x03014;" ><!--left broken bracket -->
+<!ENTITY le "&#x02264;" ><!--/leq /le R: less-than-or-equal -->
+<!ENTITY loang "&#x02989;" ><!--left open angular bracket -->
+<!ENTITY lobrk "&#x0301A;" ><!--left open bracket -->
+<!ENTITY lopar "&#x02985;" ><!--left open parenthesis -->
+<!ENTITY lowast "&#x02217;" ><!--low asterisk -->
+<!ENTITY minus "&#x02212;" ><!--B: minus sign -->
+<!ENTITY mnplus "&#x02213;" ><!--/mp B: minus-or-plus sign -->
+<!ENTITY nabla "&#x02207;" ><!--/nabla del, Hamilton operator -->
+<!ENTITY ne "&#x02260;" ><!--/ne /neq R: not equal -->
+<!ENTITY nedot "&#x02260;&#x00307;" ><!--not equal, dot -->
+<!ENTITY nhpar "&#x02AF2;" ><!--not, horizontal, parallel -->
+<!ENTITY ni "&#x0220B;" ><!--/ni /owns R: contains -->
+<!ENTITY nis "&#x022FC;" ><!--contains, vertical bar on horizontal stroke -->
+<!ENTITY nisd "&#x022FA;" ><!--contains, long horizontal stroke -->
+<!ENTITY niv "&#x0220B;" ><!--contains, variant -->
+<!ENTITY Not "&#x02AEC;" ><!--not with two horizontal strokes -->
+<!ENTITY notin "&#x02209;" ><!--/notin N: negated set membership -->
+<!ENTITY notindot "&#x02209;&#x00307;" ><!--negated set membership, dot above -->
+<!ENTITY notinva "&#x02209;" ><!--negated set membership, variant -->
+<!ENTITY notinvb "&#x022F7;" ><!--negated set membership, variant -->
+<!ENTITY notinvc "&#x022F6;" ><!--negated set membership, variant -->
+<!ENTITY notni "&#x0220C;" ><!--negated contains -->
+<!ENTITY notniva "&#x0220C;" ><!--negated contains, variant -->
+<!ENTITY notnivb "&#x022FE;" ><!--contains, variant -->
+<!ENTITY notnivc "&#x022FD;" ><!--contains, variant -->
+<!ENTITY nparsl "&#x02225;&#x0FE00;&#x020E5;" ><!--not parallel, slanted -->
+<!ENTITY npart "&#x02202;&#x00338;" ><!--not partial differential -->
+<!ENTITY npolint "&#x02A14;" ><!--line integration, not including the pole -->
+<!ENTITY nvinfin "&#x029DE;" ><!--not, vert, infinity -->
+<!ENTITY olcross "&#x029BB;" ><!--circle, cross -->
+<!ENTITY Or "&#x02A54;" ><!--dbl logical or -->
+<!ENTITY or "&#x02228;" ><!--/vee /lor B: logical or -->
+<!ENTITY ord "&#x02A5D;" ><!--or, horizontal dash -->
+<!ENTITY order "&#x02134;" ><!--order of (script small o) -->
+<!ENTITY oror "&#x02A56;" ><!--two logical or -->
+<!ENTITY orslope "&#x02A57;" ><!--sloping large or -->
+<!ENTITY orv "&#x02A5B;" ><!--or with middle stem -->
+<!ENTITY par "&#x02225;" ><!--/parallel R: parallel -->
+<!ENTITY parsl "&#x02225;&#x0FE00;" ><!--parallel, slanted -->
+<!ENTITY part "&#x02202;" ><!--/partial partial differential -->
+<!ENTITY permil "&#x02030;" ><!--per thousand -->
+<!ENTITY perp "&#x022A5;" ><!--/perp R: perpendicular -->
+<!ENTITY pertenk "&#x02031;" ><!--per 10 thousand -->
+<!ENTITY phmmat "&#x02133;" ><!--physics M-matrix (script capital M) -->
+<!ENTITY pointint "&#x02A15;" ><!--integral around a point operator -->
+<!ENTITY Prime "&#x02033;" ><!--double prime or second -->
+<!ENTITY prime "&#x02032;" ><!--/prime prime or minute -->
+<!ENTITY profalar "&#x0232E;" ><!--all-around profile -->
+<!ENTITY profline "&#x02312;" ><!--profile of a line -->
+<!ENTITY profsurf "&#x02313;" ><!--profile of a surface -->
+<!ENTITY prop "&#x0221D;" ><!--/propto R: is proportional to -->
+<!ENTITY qint "&#x02A0C;" ><!--/iiiint quadruple integral operator -->
+<!ENTITY qprime "&#x02057;" ><!--quadruple prime -->
+<!ENTITY quatint "&#x02A16;" ><!--quaternion integral operator -->
+<!ENTITY radic "&#x0221A;" ><!--/surd radical -->
+<!ENTITY Rang "&#x0300B;" ><!--right angle bracket, double -->
+<!ENTITY rang "&#x0232A;" ><!--/rangle C: right angle bracket -->
+<!ENTITY rArr "&#x021D2;" ><!--/Rightarrow A: implies -->
+<!ENTITY rbbrk "&#x03015;" ><!--right broken bracket -->
+<!ENTITY roang "&#x0298A;" ><!--right open angular bracket -->
+<!ENTITY robrk "&#x0301B;" ><!--right open bracket -->
+<!ENTITY ropar "&#x02986;" ><!--right open parenthesis -->
+<!ENTITY rppolint "&#x02A12;" ><!--line integration, rectangular path around pole -->
+<!ENTITY scpolint "&#x02A13;" ><!--line integration, semi-circular path around pole -->
+<!ENTITY sim "&#x0223C;" ><!--/sim R: similar -->
+<!ENTITY simdot "&#x02A6A;" ><!--similar, dot -->
+<!ENTITY sime "&#x02243;" ><!--/simeq R: similar, equals -->
+<!ENTITY smeparsl "&#x029E4;" ><!--similar, parallel, slanted, equal -->
+<!ENTITY square "&#x025A1;" ><!--/square, square -->
+<!ENTITY squarf "&#x025AA;" ><!--/blacksquare, square, filled -->
+<!ENTITY sub "&#x02282;" ><!--/subset R: subset or is implied by -->
+<!ENTITY sube "&#x02286;" ><!--/subseteq R: subset, equals -->
+<!ENTITY sup "&#x02283;" ><!--/supset R: superset or implies -->
+<!ENTITY supe "&#x02287;" ><!--/supseteq R: superset, equals -->
+<!ENTITY tdot "&#x020DB;" ><!--three dots above -->
+<!ENTITY there4 "&#x02234;" ><!--/therefore R: therefore -->
+<!ENTITY tint "&#x0222D;" ><!--/iiint triple integral operator -->
+<!ENTITY top "&#x022A4;" ><!--/top top -->
+<!ENTITY topbot "&#x02336;" ><!--top and bottom -->
+<!ENTITY topcir "&#x02AF1;" ><!--top, circle below -->
+<!ENTITY tprime "&#x02034;" ><!--triple prime -->
+<!ENTITY utdot "&#x022F0;" ><!--three dots, ascending -->
+<!ENTITY uwangle "&#x029A7;" ><!--large upward pointing angle -->
+<!ENTITY vangrt "&#x022BE;" ><!--right angle, variant -->
+<!ENTITY veeeq "&#x0225A;" ><!--logical or, equals -->
+<!ENTITY Verbar "&#x02016;" ><!--/Vert dbl vertical bar -->
+<!ENTITY wedgeq "&#x02259;" ><!--/wedgeq R: corresponds to (wedge, equals) -->
+<!ENTITY xnis "&#x022FB;" ><!--large contains, vertical bar on horizontal stroke -->
+
+
+<!-- Entity sets from informative annex to ISO 8879:1986 (SGML) ....... -->
+
+<!ENTITY % ent-isobox
+ PUBLIC "-//W3C//ENTITIES Box and Line Drawing for MathML 2.0//EN"
+ "iso8879/isobox.ent" >
+
+<!--
+ File isobox.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY boxDL "&#x02557;" ><!--lower left quadrant -->
+<!ENTITY boxDl "&#x02556;" ><!--lower left quadrant -->
+<!ENTITY boxdL "&#x02555;" ><!--lower left quadrant -->
+<!ENTITY boxdl "&#x02510;" ><!--lower left quadrant -->
+<!ENTITY boxDR "&#x02554;" ><!--lower right quadrant -->
+<!ENTITY boxDr "&#x02553;" ><!--lower right quadrant -->
+<!ENTITY boxdR "&#x02552;" ><!--lower right quadrant -->
+<!ENTITY boxdr "&#x0250C;" ><!--lower right quadrant -->
+<!ENTITY boxH "&#x02550;" ><!--horizontal line -->
+<!ENTITY boxh "&#x02500;" ><!--horizontal line -->
+<!ENTITY boxHD "&#x02566;" ><!--lower left and right quadrants -->
+<!ENTITY boxHd "&#x02564;" ><!--lower left and right quadrants -->
+<!ENTITY boxhD "&#x02565;" ><!--lower left and right quadrants -->
+<!ENTITY boxhd "&#x0252C;" ><!--lower left and right quadrants -->
+<!ENTITY boxHU "&#x02569;" ><!--upper left and right quadrants -->
+<!ENTITY boxHu "&#x02567;" ><!--upper left and right quadrants -->
+<!ENTITY boxhU "&#x02568;" ><!--upper left and right quadrants -->
+<!ENTITY boxhu "&#x02534;" ><!--upper left and right quadrants -->
+<!ENTITY boxUL "&#x0255D;" ><!--upper left quadrant -->
+<!ENTITY boxUl "&#x0255C;" ><!--upper left quadrant -->
+<!ENTITY boxuL "&#x0255B;" ><!--upper left quadrant -->
+<!ENTITY boxul "&#x02518;" ><!--upper left quadrant -->
+<!ENTITY boxUR "&#x0255A;" ><!--upper right quadrant -->
+<!ENTITY boxUr "&#x02559;" ><!--upper right quadrant -->
+<!ENTITY boxuR "&#x02558;" ><!--upper right quadrant -->
+<!ENTITY boxur "&#x02514;" ><!--upper right quadrant -->
+<!ENTITY boxV "&#x02551;" ><!--vertical line -->
+<!ENTITY boxv "&#x02502;" ><!--vertical line -->
+<!ENTITY boxVH "&#x0256C;" ><!--all four quadrants -->
+<!ENTITY boxVh "&#x0256B;" ><!--all four quadrants -->
+<!ENTITY boxvH "&#x0256A;" ><!--all four quadrants -->
+<!ENTITY boxvh "&#x0253C;" ><!--all four quadrants -->
+<!ENTITY boxVL "&#x02563;" ><!--upper and lower left quadrants -->
+<!ENTITY boxVl "&#x02562;" ><!--upper and lower left quadrants -->
+<!ENTITY boxvL "&#x02561;" ><!--upper and lower left quadrants -->
+<!ENTITY boxvl "&#x02524;" ><!--upper and lower left quadrants -->
+<!ENTITY boxVR "&#x02560;" ><!--upper and lower right quadrants -->
+<!ENTITY boxVr "&#x0255F;" ><!--upper and lower right quadrants -->
+<!ENTITY boxvR "&#x0255E;" ><!--upper and lower right quadrants -->
+<!ENTITY boxvr "&#x0251C;" ><!--upper and lower right quadrants -->
+
+
+<!ENTITY % ent-isocyr1
+ PUBLIC "-//W3C//ENTITIES Russian Cyrillic for MathML 2.0//EN"
+ "iso8879/isocyr1.ent" >
+
+<!--
+ File isocyr1.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY Acy "&#x00410;" ><!--=capital A, Cyrillic -->
+<!ENTITY acy "&#x00430;" ><!--=small a, Cyrillic -->
+<!ENTITY Bcy "&#x00411;" ><!--=capital BE, Cyrillic -->
+<!ENTITY bcy "&#x00431;" ><!--=small be, Cyrillic -->
+<!ENTITY CHcy "&#x00427;" ><!--=capital CHE, Cyrillic -->
+<!ENTITY chcy "&#x00447;" ><!--=small che, Cyrillic -->
+<!ENTITY Dcy "&#x00414;" ><!--=capital DE, Cyrillic -->
+<!ENTITY dcy "&#x00434;" ><!--=small de, Cyrillic -->
+<!ENTITY Ecy "&#x0042D;" ><!--=capital E, Cyrillic -->
+<!ENTITY ecy "&#x0044D;" ><!--=small e, Cyrillic -->
+<!ENTITY Fcy "&#x00424;" ><!--=capital EF, Cyrillic -->
+<!ENTITY fcy "&#x00444;" ><!--=small ef, Cyrillic -->
+<!ENTITY Gcy "&#x00413;" ><!--=capital GHE, Cyrillic -->
+<!ENTITY gcy "&#x00433;" ><!--=small ghe, Cyrillic -->
+<!ENTITY HARDcy "&#x0042A;" ><!--=capital HARD sign, Cyrillic -->
+<!ENTITY hardcy "&#x0044A;" ><!--=small hard sign, Cyrillic -->
+<!ENTITY Icy "&#x00418;" ><!--=capital I, Cyrillic -->
+<!ENTITY icy "&#x00438;" ><!--=small i, Cyrillic -->
+<!ENTITY IEcy "&#x00415;" ><!--=capital IE, Cyrillic -->
+<!ENTITY iecy "&#x00435;" ><!--=small ie, Cyrillic -->
+<!ENTITY IOcy "&#x00401;" ><!--=capital IO, Russian -->
+<!ENTITY iocy "&#x00451;" ><!--=small io, Russian -->
+<!ENTITY Jcy "&#x00419;" ><!--=capital short I, Cyrillic -->
+<!ENTITY jcy "&#x00439;" ><!--=small short i, Cyrillic -->
+<!ENTITY Kcy "&#x0041A;" ><!--=capital KA, Cyrillic -->
+<!ENTITY kcy "&#x0043A;" ><!--=small ka, Cyrillic -->
+<!ENTITY KHcy "&#x00425;" ><!--=capital HA, Cyrillic -->
+<!ENTITY khcy "&#x00445;" ><!--=small ha, Cyrillic -->
+<!ENTITY Lcy "&#x0041B;" ><!--=capital EL, Cyrillic -->
+<!ENTITY lcy "&#x0043B;" ><!--=small el, Cyrillic -->
+<!ENTITY Mcy "&#x0041C;" ><!--=capital EM, Cyrillic -->
+<!ENTITY mcy "&#x0043C;" ><!--=small em, Cyrillic -->
+<!ENTITY Ncy "&#x0041D;" ><!--=capital EN, Cyrillic -->
+<!ENTITY ncy "&#x0043D;" ><!--=small en, Cyrillic -->
+<!ENTITY numero "&#x02116;" ><!--=numero sign -->
+<!ENTITY Ocy "&#x0041E;" ><!--=capital O, Cyrillic -->
+<!ENTITY ocy "&#x0043E;" ><!--=small o, Cyrillic -->
+<!ENTITY Pcy "&#x0041F;" ><!--=capital PE, Cyrillic -->
+<!ENTITY pcy "&#x0043F;" ><!--=small pe, Cyrillic -->
+<!ENTITY Rcy "&#x00420;" ><!--=capital ER, Cyrillic -->
+<!ENTITY rcy "&#x00440;" ><!--=small er, Cyrillic -->
+<!ENTITY Scy "&#x00421;" ><!--=capital ES, Cyrillic -->
+<!ENTITY scy "&#x00441;" ><!--=small es, Cyrillic -->
+<!ENTITY SHCHcy "&#x00429;" ><!--=capital SHCHA, Cyrillic -->
+<!ENTITY shchcy "&#x00449;" ><!--=small shcha, Cyrillic -->
+<!ENTITY SHcy "&#x00428;" ><!--=capital SHA, Cyrillic -->
+<!ENTITY shcy "&#x00448;" ><!--=small sha, Cyrillic -->
+<!ENTITY SOFTcy "&#x0042C;" ><!--=capital SOFT sign, Cyrillic -->
+<!ENTITY softcy "&#x0044C;" ><!--=small soft sign, Cyrillic -->
+<!ENTITY Tcy "&#x00422;" ><!--=capital TE, Cyrillic -->
+<!ENTITY tcy "&#x00442;" ><!--=small te, Cyrillic -->
+<!ENTITY TScy "&#x00426;" ><!--=capital TSE, Cyrillic -->
+<!ENTITY tscy "&#x00446;" ><!--=small tse, Cyrillic -->
+<!ENTITY Ucy "&#x00423;" ><!--=capital U, Cyrillic -->
+<!ENTITY ucy "&#x00443;" ><!--=small u, Cyrillic -->
+<!ENTITY Vcy "&#x00412;" ><!--=capital VE, Cyrillic -->
+<!ENTITY vcy "&#x00432;" ><!--=small ve, Cyrillic -->
+<!ENTITY YAcy "&#x0042F;" ><!--=capital YA, Cyrillic -->
+<!ENTITY yacy "&#x0044F;" ><!--=small ya, Cyrillic -->
+<!ENTITY Ycy "&#x0042B;" ><!--=capital YERU, Cyrillic -->
+<!ENTITY ycy "&#x0044B;" ><!--=small yeru, Cyrillic -->
+<!ENTITY YUcy "&#x0042E;" ><!--=capital YU, Cyrillic -->
+<!ENTITY yucy "&#x0044E;" ><!--=small yu, Cyrillic -->
+<!ENTITY Zcy "&#x00417;" ><!--=capital ZE, Cyrillic -->
+<!ENTITY zcy "&#x00437;" ><!--=small ze, Cyrillic -->
+<!ENTITY ZHcy "&#x00416;" ><!--=capital ZHE, Cyrillic -->
+<!ENTITY zhcy "&#x00436;" ><!--=small zhe, Cyrillic -->
+
+
+<!ENTITY % ent-isocyr2
+ PUBLIC "-//W3C//ENTITIES Non-Russian Cyrillic for MathML 2.0//EN"
+ "iso8879/isocyr2.ent" >
+
+<!--
+ File isocyr2.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY DJcy "&#x00402;" ><!--=capital DJE, Serbian -->
+<!ENTITY djcy "&#x00452;" ><!--=small dje, Serbian -->
+<!ENTITY DScy "&#x00405;" ><!--=capital DSE, Macedonian -->
+<!ENTITY dscy "&#x00455;" ><!--=small dse, Macedonian -->
+<!ENTITY DZcy "&#x0040F;" ><!--=capital dze, Serbian -->
+<!ENTITY dzcy "&#x0045F;" ><!--=small dze, Serbian -->
+<!ENTITY GJcy "&#x00403;" ><!--=capital GJE Macedonian -->
+<!ENTITY gjcy "&#x00453;" ><!--=small gje, Macedonian -->
+<!ENTITY Iukcy "&#x00406;" ><!--=capital I, Ukrainian -->
+<!ENTITY iukcy "&#x00456;" ><!--=small i, Ukrainian -->
+<!ENTITY Jsercy "&#x00408;" ><!--=capital JE, Serbian -->
+<!ENTITY jsercy "&#x00458;" ><!--=small je, Serbian -->
+<!ENTITY Jukcy "&#x00404;" ><!--=capital JE, Ukrainian -->
+<!ENTITY jukcy "&#x00454;" ><!--=small je, Ukrainian -->
+<!ENTITY KJcy "&#x0040C;" ><!--=capital KJE, Macedonian -->
+<!ENTITY kjcy "&#x0045C;" ><!--=small kje Macedonian -->
+<!ENTITY LJcy "&#x00409;" ><!--=capital LJE, Serbian -->
+<!ENTITY ljcy "&#x00459;" ><!--=small lje, Serbian -->
+<!ENTITY NJcy "&#x0040A;" ><!--=capital NJE, Serbian -->
+<!ENTITY njcy "&#x0045A;" ><!--=small nje, Serbian -->
+<!ENTITY TSHcy "&#x0040B;" ><!--=capital TSHE, Serbian -->
+<!ENTITY tshcy "&#x0045B;" ><!--=small tshe, Serbian -->
+<!ENTITY Ubrcy "&#x0040E;" ><!--=capital U, Byelorussian -->
+<!ENTITY ubrcy "&#x0045E;" ><!--=small u, Byelorussian -->
+<!ENTITY YIcy "&#x00407;" ><!--=capital YI, Ukrainian -->
+<!ENTITY yicy "&#x00457;" ><!--=small yi, Ukrainian -->
+
+
+<!ENTITY % ent-isodia
+ PUBLIC "-//W3C//ENTITIES Diacritical Marks for MathML 2.0//EN"
+ "iso8879/isodia.ent" >
+
+<!--
+ File isodia.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY acute "&#x000B4;" ><!--=acute accent -->
+<!ENTITY breve "&#x002D8;" ><!--=breve -->
+<!ENTITY caron "&#x002C7;" ><!--=caron -->
+<!ENTITY cedil "&#x000B8;" ><!--=cedilla -->
+<!ENTITY circ "&#x002C6;" ><!--circumflex accent -->
+<!ENTITY dblac "&#x002DD;" ><!--=double acute accent -->
+<!ENTITY die "&#x000A8;" ><!--=dieresis -->
+<!ENTITY dot "&#x002D9;" ><!--=dot above -->
+<!ENTITY grave "&#x00060;" ><!--=grave accent -->
+<!ENTITY macr "&#x000AF;" ><!--=macron -->
+<!ENTITY ogon "&#x002DB;" ><!--=ogonek -->
+<!ENTITY ring "&#x002DA;" ><!--=ring -->
+<!ENTITY tilde "&#x002DC;" ><!--=tilde -->
+<!ENTITY uml "&#x000A8;" ><!--=umlaut mark -->
+
+
+<!ENTITY % ent-isolat1
+ PUBLIC "-//W3C//ENTITIES Added Latin 1 for MathML 2.0//EN"
+ "iso8879/isolat1.ent" >
+
+<!--
+ File isolat1.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY Aacute "&#x000C1;" ><!--=capital A, acute accent -->
+<!ENTITY aacute "&#x000E1;" ><!--=small a, acute accent -->
+<!ENTITY Acirc "&#x000C2;" ><!--=capital A, circumflex accent -->
+<!ENTITY acirc "&#x000E2;" ><!--=small a, circumflex accent -->
+<!ENTITY AElig "&#x000C6;" ><!--=capital AE diphthong (ligature) -->
+<!ENTITY aelig "&#x000E6;" ><!--=small ae diphthong (ligature) -->
+<!ENTITY Agrave "&#x000C0;" ><!--=capital A, grave accent -->
+<!ENTITY agrave "&#x000E0;" ><!--=small a, grave accent -->
+<!ENTITY Aring "&#x000C5;" ><!--=capital A, ring -->
+<!ENTITY aring "&#x000E5;" ><!--=small a, ring -->
+<!ENTITY Atilde "&#x000C3;" ><!--=capital A, tilde -->
+<!ENTITY atilde "&#x000E3;" ><!--=small a, tilde -->
+<!ENTITY Auml "&#x000C4;" ><!--=capital A, dieresis or umlaut mark -->
+<!ENTITY auml "&#x000E4;" ><!--=small a, dieresis or umlaut mark -->
+<!ENTITY Ccedil "&#x000C7;" ><!--=capital C, cedilla -->
+<!ENTITY ccedil "&#x000E7;" ><!--=small c, cedilla -->
+<!ENTITY Eacute "&#x000C9;" ><!--=capital E, acute accent -->
+<!ENTITY eacute "&#x000E9;" ><!--=small e, acute accent -->
+<!ENTITY Ecirc "&#x000CA;" ><!--=capital E, circumflex accent -->
+<!ENTITY ecirc "&#x000EA;" ><!--=small e, circumflex accent -->
+<!ENTITY Egrave "&#x000C8;" ><!--=capital E, grave accent -->
+<!ENTITY egrave "&#x000E8;" ><!--=small e, grave accent -->
+<!ENTITY ETH "&#x000D0;" ><!--=capital Eth, Icelandic -->
+<!ENTITY eth "&#x000F0;" ><!--=small eth, Icelandic -->
+<!ENTITY Euml "&#x000CB;" ><!--=capital E, dieresis or umlaut mark -->
+<!ENTITY euml "&#x000EB;" ><!--=small e, dieresis or umlaut mark -->
+<!ENTITY Iacute "&#x000CD;" ><!--=capital I, acute accent -->
+<!ENTITY iacute "&#x000ED;" ><!--=small i, acute accent -->
+<!ENTITY Icirc "&#x000CE;" ><!--=capital I, circumflex accent -->
+<!ENTITY icirc "&#x000EE;" ><!--=small i, circumflex accent -->
+<!ENTITY Igrave "&#x000CC;" ><!--=capital I, grave accent -->
+<!ENTITY igrave "&#x000EC;" ><!--=small i, grave accent -->
+<!ENTITY Iuml "&#x000CF;" ><!--=capital I, dieresis or umlaut mark -->
+<!ENTITY iuml "&#x000EF;" ><!--=small i, dieresis or umlaut mark -->
+<!ENTITY Ntilde "&#x000D1;" ><!--=capital N, tilde -->
+<!ENTITY ntilde "&#x000F1;" ><!--=small n, tilde -->
+<!ENTITY Oacute "&#x000D3;" ><!--=capital O, acute accent -->
+<!ENTITY oacute "&#x000F3;" ><!--=small o, acute accent -->
+<!ENTITY Ocirc "&#x000D4;" ><!--=capital O, circumflex accent -->
+<!ENTITY ocirc "&#x000F4;" ><!--=small o, circumflex accent -->
+<!ENTITY Ograve "&#x000D2;" ><!--=capital O, grave accent -->
+<!ENTITY ograve "&#x000F2;" ><!--=small o, grave accent -->
+<!ENTITY Oslash "&#x000D8;" ><!--=capital O, slash -->
+<!ENTITY oslash "&#x000F8;" ><!--latin small letter o with stroke -->
+<!ENTITY Otilde "&#x000D5;" ><!--=capital O, tilde -->
+<!ENTITY otilde "&#x000F5;" ><!--=small o, tilde -->
+<!ENTITY Ouml "&#x000D6;" ><!--=capital O, dieresis or umlaut mark -->
+<!ENTITY ouml "&#x000F6;" ><!--=small o, dieresis or umlaut mark -->
+<!ENTITY szlig "&#x000DF;" ><!--=small sharp s, German (sz ligature) -->
+<!ENTITY THORN "&#x000DE;" ><!--=capital THORN, Icelandic -->
+<!ENTITY thorn "&#x000FE;" ><!--=small thorn, Icelandic -->
+<!ENTITY Uacute "&#x000DA;" ><!--=capital U, acute accent -->
+<!ENTITY uacute "&#x000FA;" ><!--=small u, acute accent -->
+<!ENTITY Ucirc "&#x000DB;" ><!--=capital U, circumflex accent -->
+<!ENTITY ucirc "&#x000FB;" ><!--=small u, circumflex accent -->
+<!ENTITY Ugrave "&#x000D9;" ><!--=capital U, grave accent -->
+<!ENTITY ugrave "&#x000F9;" ><!--=small u, grave accent -->
+<!ENTITY Uuml "&#x000DC;" ><!--=capital U, dieresis or umlaut mark -->
+<!ENTITY uuml "&#x000FC;" ><!--=small u, dieresis or umlaut mark -->
+<!ENTITY Yacute "&#x000DD;" ><!--=capital Y, acute accent -->
+<!ENTITY yacute "&#x000FD;" ><!--=small y, acute accent -->
+<!ENTITY yuml "&#x000FF;" ><!--=small y, dieresis or umlaut mark -->
+
+
+<!ENTITY % ent-isolat2
+ PUBLIC "-//W3C//ENTITIES Added Latin 2 for MathML 2.0//EN"
+ "iso8879/isolat2.ent" >
+
+<!--
+ File isolat2.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY Abreve "&#x00102;" ><!--=capital A, breve -->
+<!ENTITY abreve "&#x00103;" ><!--=small a, breve -->
+<!ENTITY Amacr "&#x00100;" ><!--=capital A, macron -->
+<!ENTITY amacr "&#x00101;" ><!--=small a, macron -->
+<!ENTITY Aogon "&#x00104;" ><!--=capital A, ogonek -->
+<!ENTITY aogon "&#x00105;" ><!--=small a, ogonek -->
+<!ENTITY Cacute "&#x00106;" ><!--=capital C, acute accent -->
+<!ENTITY cacute "&#x00107;" ><!--=small c, acute accent -->
+<!ENTITY Ccaron "&#x0010C;" ><!--=capital C, caron -->
+<!ENTITY ccaron "&#x0010D;" ><!--=small c, caron -->
+<!ENTITY Ccirc "&#x00108;" ><!--=capital C, circumflex accent -->
+<!ENTITY ccirc "&#x00109;" ><!--=small c, circumflex accent -->
+<!ENTITY Cdot "&#x0010A;" ><!--=capital C, dot above -->
+<!ENTITY cdot "&#x0010B;" ><!--=small c, dot above -->
+<!ENTITY Dcaron "&#x0010E;" ><!--=capital D, caron -->
+<!ENTITY dcaron "&#x0010F;" ><!--=small d, caron -->
+<!ENTITY Dstrok "&#x00110;" ><!--=capital D, stroke -->
+<!ENTITY dstrok "&#x00111;" ><!--=small d, stroke -->
+<!ENTITY Ecaron "&#x0011A;" ><!--=capital E, caron -->
+<!ENTITY ecaron "&#x0011B;" ><!--=small e, caron -->
+<!ENTITY Edot "&#x00116;" ><!--=capital E, dot above -->
+<!ENTITY edot "&#x00117;" ><!--=small e, dot above -->
+<!ENTITY Emacr "&#x00112;" ><!--=capital E, macron -->
+<!ENTITY emacr "&#x00113;" ><!--=small e, macron -->
+<!ENTITY ENG "&#x0014A;" ><!--=capital ENG, Lapp -->
+<!ENTITY eng "&#x0014B;" ><!--=small eng, Lapp -->
+<!ENTITY Eogon "&#x00118;" ><!--=capital E, ogonek -->
+<!ENTITY eogon "&#x00119;" ><!--=small e, ogonek -->
+<!ENTITY gacute "&#x001F5;" ><!--=small g, acute accent -->
+<!ENTITY Gbreve "&#x0011E;" ><!--=capital G, breve -->
+<!ENTITY gbreve "&#x0011F;" ><!--=small g, breve -->
+<!ENTITY Gcedil "&#x00122;" ><!--=capital G, cedilla -->
+<!ENTITY Gcirc "&#x0011C;" ><!--=capital G, circumflex accent -->
+<!ENTITY gcirc "&#x0011D;" ><!--=small g, circumflex accent -->
+<!ENTITY Gdot "&#x00120;" ><!--=capital G, dot above -->
+<!ENTITY gdot "&#x00121;" ><!--=small g, dot above -->
+<!ENTITY Hcirc "&#x00124;" ><!--=capital H, circumflex accent -->
+<!ENTITY hcirc "&#x00125;" ><!--=small h, circumflex accent -->
+<!ENTITY Hstrok "&#x00126;" ><!--=capital H, stroke -->
+<!ENTITY hstrok "&#x00127;" ><!--=small h, stroke -->
+<!ENTITY Idot "&#x00130;" ><!--=capital I, dot above -->
+<!ENTITY IJlig "&#x00132;" ><!--=capital IJ ligature -->
+<!ENTITY ijlig "&#x00133;" ><!--=small ij ligature -->
+<!ENTITY Imacr "&#x0012A;" ><!--=capital I, macron -->
+<!ENTITY imacr "&#x0012B;" ><!--=small i, macron -->
+<!ENTITY inodot "&#x00131;" ><!--=small i without dot -->
+<!ENTITY Iogon "&#x0012E;" ><!--=capital I, ogonek -->
+<!ENTITY iogon "&#x0012F;" ><!--=small i, ogonek -->
+<!ENTITY Itilde "&#x00128;" ><!--=capital I, tilde -->
+<!ENTITY itilde "&#x00129;" ><!--=small i, tilde -->
+<!ENTITY Jcirc "&#x00134;" ><!--=capital J, circumflex accent -->
+<!ENTITY jcirc "&#x00135;" ><!--=small j, circumflex accent -->
+<!ENTITY Kcedil "&#x00136;" ><!--=capital K, cedilla -->
+<!ENTITY kcedil "&#x00137;" ><!--=small k, cedilla -->
+<!ENTITY kgreen "&#x00138;" ><!--=small k, Greenlandic -->
+<!ENTITY Lacute "&#x00139;" ><!--=capital L, acute accent -->
+<!ENTITY lacute "&#x0013A;" ><!--=small l, acute accent -->
+<!ENTITY Lcaron "&#x0013D;" ><!--=capital L, caron -->
+<!ENTITY lcaron "&#x0013E;" ><!--=small l, caron -->
+<!ENTITY Lcedil "&#x0013B;" ><!--=capital L, cedilla -->
+<!ENTITY lcedil "&#x0013C;" ><!--=small l, cedilla -->
+<!ENTITY Lmidot "&#x0013F;" ><!--=capital L, middle dot -->
+<!ENTITY lmidot "&#x00140;" ><!--=small l, middle dot -->
+<!ENTITY Lstrok "&#x00141;" ><!--=capital L, stroke -->
+<!ENTITY lstrok "&#x00142;" ><!--=small l, stroke -->
+<!ENTITY Nacute "&#x00143;" ><!--=capital N, acute accent -->
+<!ENTITY nacute "&#x00144;" ><!--=small n, acute accent -->
+<!ENTITY napos "&#x00149;" ><!--=small n, apostrophe -->
+<!ENTITY Ncaron "&#x00147;" ><!--=capital N, caron -->
+<!ENTITY ncaron "&#x00148;" ><!--=small n, caron -->
+<!ENTITY Ncedil "&#x00145;" ><!--=capital N, cedilla -->
+<!ENTITY ncedil "&#x00146;" ><!--=small n, cedilla -->
+<!ENTITY Odblac "&#x00150;" ><!--=capital O, double acute accent -->
+<!ENTITY odblac "&#x00151;" ><!--=small o, double acute accent -->
+<!ENTITY OElig "&#x00152;" ><!--=capital OE ligature -->
+<!ENTITY oelig "&#x00153;" ><!--=small oe ligature -->
+<!ENTITY Omacr "&#x0014C;" ><!--=capital O, macron -->
+<!ENTITY omacr "&#x0014D;" ><!--=small o, macron -->
+<!ENTITY Racute "&#x00154;" ><!--=capital R, acute accent -->
+<!ENTITY racute "&#x00155;" ><!--=small r, acute accent -->
+<!ENTITY Rcaron "&#x00158;" ><!--=capital R, caron -->
+<!ENTITY rcaron "&#x00159;" ><!--=small r, caron -->
+<!ENTITY Rcedil "&#x00156;" ><!--=capital R, cedilla -->
+<!ENTITY rcedil "&#x00157;" ><!--=small r, cedilla -->
+<!ENTITY Sacute "&#x0015A;" ><!--=capital S, acute accent -->
+<!ENTITY sacute "&#x0015B;" ><!--=small s, acute accent -->
+<!ENTITY Scaron "&#x00160;" ><!--=capital S, caron -->
+<!ENTITY scaron "&#x00161;" ><!--=small s, caron -->
+<!ENTITY Scedil "&#x0015E;" ><!--=capital S, cedilla -->
+<!ENTITY scedil "&#x0015F;" ><!--=small s, cedilla -->
+<!ENTITY Scirc "&#x0015C;" ><!--=capital S, circumflex accent -->
+<!ENTITY scirc "&#x0015D;" ><!--=small s, circumflex accent -->
+<!ENTITY Tcaron "&#x00164;" ><!--=capital T, caron -->
+<!ENTITY tcaron "&#x00165;" ><!--=small t, caron -->
+<!ENTITY Tcedil "&#x00162;" ><!--=capital T, cedilla -->
+<!ENTITY tcedil "&#x00163;" ><!--=small t, cedilla -->
+<!ENTITY Tstrok "&#x00166;" ><!--=capital T, stroke -->
+<!ENTITY tstrok "&#x00167;" ><!--=small t, stroke -->
+<!ENTITY Ubreve "&#x0016C;" ><!--=capital U, breve -->
+<!ENTITY ubreve "&#x0016D;" ><!--=small u, breve -->
+<!ENTITY Udblac "&#x00170;" ><!--=capital U, double acute accent -->
+<!ENTITY udblac "&#x00171;" ><!--=small u, double acute accent -->
+<!ENTITY Umacr "&#x0016A;" ><!--=capital U, macron -->
+<!ENTITY umacr "&#x0016B;" ><!--=small u, macron -->
+<!ENTITY Uogon "&#x00172;" ><!--=capital U, ogonek -->
+<!ENTITY uogon "&#x00173;" ><!--=small u, ogonek -->
+<!ENTITY Uring "&#x0016E;" ><!--=capital U, ring -->
+<!ENTITY uring "&#x0016F;" ><!--=small u, ring -->
+<!ENTITY Utilde "&#x00168;" ><!--=capital U, tilde -->
+<!ENTITY utilde "&#x00169;" ><!--=small u, tilde -->
+<!ENTITY Wcirc "&#x00174;" ><!--=capital W, circumflex accent -->
+<!ENTITY wcirc "&#x00175;" ><!--=small w, circumflex accent -->
+<!ENTITY Ycirc "&#x00176;" ><!--=capital Y, circumflex accent -->
+<!ENTITY ycirc "&#x00177;" ><!--=small y, circumflex accent -->
+<!ENTITY Yuml "&#x00178;" ><!--=capital Y, dieresis or umlaut mark -->
+<!ENTITY Zacute "&#x00179;" ><!--=capital Z, acute accent -->
+<!ENTITY zacute "&#x0017A;" ><!--=small z, acute accent -->
+<!ENTITY Zcaron "&#x0017D;" ><!--=capital Z, caron -->
+<!ENTITY zcaron "&#x0017E;" ><!--=small z, caron -->
+<!ENTITY Zdot "&#x0017B;" ><!--=capital Z, dot above -->
+<!ENTITY zdot "&#x0017C;" ><!--=small z, dot above -->
+
+
+<!ENTITY % ent-isonum
+ PUBLIC "-//W3C//ENTITIES Numeric and Special Graphic for MathML 2.0//EN"
+ "iso8879/isonum.ent" >
+
+<!--
+ File isonum.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY amp "&#38;#38;" ><!--=ampersand -->
+<!ENTITY apos "&#x00027;" ><!--=apostrophe -->
+<!ENTITY ast "&#x0002A;" ><!--/ast B: =asterisk -->
+<!ENTITY brvbar "&#x000A6;" ><!--=broken (vertical) bar -->
+<!ENTITY bsol "&#x0005C;" ><!--/backslash =reverse solidus -->
+<!ENTITY cent "&#x000A2;" ><!--=cent sign -->
+<!ENTITY colon "&#x0003A;" ><!--/colon P: -->
+<!ENTITY comma "&#x0002C;" ><!--P: =comma -->
+<!ENTITY commat "&#x00040;" ><!--=commercial at -->
+<!ENTITY copy "&#x000A9;" ><!--=copyright sign -->
+<!ENTITY curren "&#x000A4;" ><!--=general currency sign -->
+<!ENTITY darr "&#x02193;" ><!--/downarrow A: =downward arrow -->
+<!ENTITY deg "&#x000B0;" ><!--=degree sign -->
+<!ENTITY divide "&#x000F7;" ><!--/div B: =divide sign -->
+<!ENTITY dollar "&#x00024;" ><!--=dollar sign -->
+<!ENTITY equals "&#x0003D;" ><!--=equals sign R: -->
+<!ENTITY excl "&#x00021;" ><!--=exclamation mark -->
+<!ENTITY frac12 "&#x000BD;" ><!--=fraction one-half -->
+<!ENTITY frac14 "&#x000BC;" ><!--=fraction one-quarter -->
+<!ENTITY frac18 "&#x0215B;" ><!--=fraction one-eighth -->
+<!ENTITY frac34 "&#x000BE;" ><!--=fraction three-quarters -->
+<!ENTITY frac38 "&#x0215C;" ><!--=fraction three-eighths -->
+<!ENTITY frac58 "&#x0215D;" ><!--=fraction five-eighths -->
+<!ENTITY frac78 "&#x0215E;" ><!--=fraction seven-eighths -->
+<!ENTITY gt "&#x0003E;" ><!--=greater-than sign R: -->
+<!ENTITY half "&#x000BD;" ><!--=fraction one-half -->
+<!ENTITY horbar "&#x02015;" ><!--=horizontal bar -->
+<!ENTITY hyphen "&#x02010;" ><!--=hyphen -->
+<!ENTITY iexcl "&#x000A1;" ><!--=inverted exclamation mark -->
+<!ENTITY iquest "&#x000BF;" ><!--=inverted question mark -->
+<!ENTITY laquo "&#x000AB;" ><!--=angle quotation mark, left -->
+<!ENTITY larr "&#x02190;" ><!--/leftarrow /gets A: =leftward arrow -->
+<!ENTITY lcub "&#x0007B;" ><!--/lbrace O: =left curly bracket -->
+<!ENTITY ldquo "&#x0201C;" ><!--=double quotation mark, left -->
+<!ENTITY lowbar "&#x0005F;" ><!--=low line -->
+<!ENTITY lpar "&#x00028;" ><!--O: =left parenthesis -->
+<!ENTITY lsqb "&#x0005B;" ><!--/lbrack O: =left square bracket -->
+<!ENTITY lsquo "&#x02018;" ><!--=single quotation mark, left -->
+<!ENTITY lt "&#38;#60;" ><!--=less-than sign R: -->
+<!ENTITY micro "&#x000B5;" ><!--=micro sign -->
+<!ENTITY middot "&#x000B7;" ><!--/centerdot B: =middle dot -->
+<!ENTITY nbsp "&#x000A0;" ><!--=no break (required) space -->
+<!ENTITY not "&#x000AC;" ><!--/neg /lnot =not sign -->
+<!ENTITY num "&#x00023;" ><!--=number sign -->
+<!ENTITY ohm "&#x02126;" ><!--=ohm sign -->
+<!ENTITY ordf "&#x000AA;" ><!--=ordinal indicator, feminine -->
+<!ENTITY ordm "&#x000BA;" ><!--=ordinal indicator, masculine -->
+<!ENTITY para "&#x000B6;" ><!--=pilcrow (paragraph sign) -->
+<!ENTITY percnt "&#x00025;" ><!--=percent sign -->
+<!ENTITY period "&#x0002E;" ><!--=full stop, period -->
+<!ENTITY plus "&#x0002B;" ><!--=plus sign B: -->
+<!ENTITY plusmn "&#x000B1;" ><!--/pm B: =plus-or-minus sign -->
+<!ENTITY pound "&#x000A3;" ><!--=pound sign -->
+<!ENTITY quest "&#x0003F;" ><!--=question mark -->
+<!ENTITY quot "&#x00022;" ><!--=quotation mark -->
+<!ENTITY raquo "&#x000BB;" ><!--=angle quotation mark, right -->
+<!ENTITY rarr "&#x02192;" ><!--/rightarrow /to A: =rightward arrow -->
+<!ENTITY rcub "&#x0007D;" ><!--/rbrace C: =right curly bracket -->
+<!ENTITY rdquo "&#x0201D;" ><!--=double quotation mark, right -->
+<!ENTITY reg "&#x000AE;" ><!--/circledR =registered sign -->
+<!ENTITY rpar "&#x00029;" ><!--C: =right parenthesis -->
+<!ENTITY rsqb "&#x0005D;" ><!--/rbrack C: =right square bracket -->
+<!ENTITY rsquo "&#x02019;" ><!--=single quotation mark, right -->
+<!ENTITY sect "&#x000A7;" ><!--=section sign -->
+<!ENTITY semi "&#x0003B;" ><!--=semicolon P: -->
+<!ENTITY shy "&#x000AD;" ><!--=soft hyphen -->
+<!ENTITY sol "&#x0002F;" ><!--=solidus -->
+<!ENTITY sung "&#x0266A;" ><!--=music note (sung text sign) -->
+<!ENTITY sup1 "&#x000B9;" ><!--=superscript one -->
+<!ENTITY sup2 "&#x000B2;" ><!--=superscript two -->
+<!ENTITY sup3 "&#x000B3;" ><!--=superscript three -->
+<!ENTITY times "&#x000D7;" ><!--/times B: =multiply sign -->
+<!ENTITY trade "&#x02122;" ><!--=trade mark sign -->
+<!ENTITY uarr "&#x02191;" ><!--/uparrow A: =upward arrow -->
+<!ENTITY verbar "&#x0007C;" ><!--/vert =vertical bar -->
+<!ENTITY yen "&#x000A5;" ><!--/yen =yen sign -->
+
+
+<!ENTITY % ent-isopub
+ PUBLIC "-//W3C//ENTITIES Publishing for MathML 2.0//EN"
+ "iso8879/isopub.ent" >
+
+<!--
+ File isopub.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+<!ENTITY blank "&#x02423;" ><!--=significant blank symbol -->
+<!ENTITY blk12 "&#x02592;" ><!--=50% shaded block -->
+<!ENTITY blk14 "&#x02591;" ><!--=25% shaded block -->
+<!ENTITY blk34 "&#x02593;" ><!--=75% shaded block -->
+<!ENTITY block "&#x02588;" ><!--=full block -->
+<!ENTITY bull "&#x02022;" ><!--/bullet B: =round bullet, filled -->
+<!ENTITY caret "&#x02041;" ><!--=caret (insertion mark) -->
+<!ENTITY check "&#x02713;" ><!--/checkmark =tick, check mark -->
+<!ENTITY cir "&#x025CB;" ><!--/circ B: =circle, open -->
+<!ENTITY clubs "&#x02663;" ><!--/clubsuit =club suit symbol -->
+<!ENTITY copysr "&#x02117;" ><!--=sound recording copyright sign -->
+<!ENTITY cross "&#x02717;" ><!--=ballot cross -->
+<!ENTITY Dagger "&#x02021;" ><!--/ddagger B: =double dagger -->
+<!ENTITY dagger "&#x02020;" ><!--/dagger B: =dagger -->
+<!ENTITY dash "&#x02010;" ><!--=hyphen (true graphic) -->
+<!ENTITY diams "&#x02666;" ><!--/diamondsuit =diamond suit symbol -->
+<!ENTITY dlcrop "&#x0230D;" ><!--downward left crop mark -->
+<!ENTITY drcrop "&#x0230C;" ><!--downward right crop mark -->
+<!ENTITY dtri "&#x025BF;" ><!--/triangledown =down triangle, open -->
+<!ENTITY dtrif "&#x025BE;" ><!--/blacktriangledown =dn tri, filled -->
+<!ENTITY emsp "&#x02003;" ><!--=em space -->
+<!ENTITY emsp13 "&#x02004;" ><!--=1/3-em space -->
+<!ENTITY emsp14 "&#x02005;" ><!--=1/4-em space -->
+<!ENTITY ensp "&#x02002;" ><!--=en space (1/2-em) -->
+<!ENTITY female "&#x02640;" ><!--=female symbol -->
+<!ENTITY ffilig "&#x0FB03;" ><!--small ffi ligature -->
+<!ENTITY fflig "&#x0FB00;" ><!--small ff ligature -->
+<!ENTITY ffllig "&#x0FB04;" ><!--small ffl ligature -->
+<!ENTITY filig "&#x0FB01;" ><!--small fi ligature -->
+<!ENTITY flat "&#x0266D;" ><!--/flat =musical flat -->
+<!ENTITY fllig "&#x0FB02;" ><!--small fl ligature -->
+<!ENTITY frac13 "&#x02153;" ><!--=fraction one-third -->
+<!ENTITY frac15 "&#x02155;" ><!--=fraction one-fifth -->
+<!ENTITY frac16 "&#x02159;" ><!--=fraction one-sixth -->
+<!ENTITY frac23 "&#x02154;" ><!--=fraction two-thirds -->
+<!ENTITY frac25 "&#x02156;" ><!--=fraction two-fifths -->
+<!ENTITY frac35 "&#x02157;" ><!--=fraction three-fifths -->
+<!ENTITY frac45 "&#x02158;" ><!--=fraction four-fifths -->
+<!ENTITY frac56 "&#x0215A;" ><!--=fraction five-sixths -->
+<!ENTITY hairsp "&#x0200A;" ><!--=hair space -->
+<!ENTITY hellip "&#x02026;" ><!--=ellipsis (horizontal) -->
+<!ENTITY hybull "&#x02043;" ><!--rectangle, filled (hyphen bullet) -->
+<!ENTITY incare "&#x02105;" ><!--=in-care-of symbol -->
+<!ENTITY ldquor "&#x0201E;" ><!--=rising dbl quote, left (low) -->
+<!ENTITY lhblk "&#x02584;" ><!--=lower half block -->
+<!ENTITY loz "&#x025CA;" ><!--/lozenge - lozenge or total mark -->
+<!ENTITY lozf "&#x029EB;" ><!--/blacklozenge - lozenge, filled -->
+<!ENTITY lsquor "&#x0201A;" ><!--=rising single quote, left (low) -->
+<!ENTITY ltri "&#x025C3;" ><!--/triangleleft B: l triangle, open -->
+<!ENTITY ltrif "&#x025C2;" ><!--/blacktriangleleft R: =l tri, filled -->
+<!ENTITY male "&#x02642;" ><!--=male symbol -->
+<!ENTITY malt "&#x02720;" ><!--/maltese =maltese cross -->
+<!ENTITY marker "&#x025AE;" ><!--=histogram marker -->
+<!ENTITY mdash "&#x02014;" ><!--=em dash -->
+<!ENTITY mldr "&#x02026;" ><!--em leader -->
+<!ENTITY natur "&#x0266E;" ><!--/natural - music natural -->
+<!ENTITY ndash "&#x02013;" ><!--=en dash -->
+<!ENTITY nldr "&#x02025;" ><!--=double baseline dot (en leader) -->
+<!ENTITY numsp "&#x02007;" ><!--=digit space (width of a number) -->
+<!ENTITY phone "&#x0260E;" ><!--=telephone symbol -->
+<!ENTITY puncsp "&#x02008;" ><!--=punctuation space (width of comma) -->
+<!ENTITY rdquor "&#x0201D;" ><!--rising dbl quote, right (high) -->
+<!ENTITY rect "&#x025AD;" ><!--=rectangle, open -->
+<!ENTITY rsquor "&#x02019;" ><!--rising single quote, right (high) -->
+<!ENTITY rtri "&#x025B9;" ><!--/triangleright B: r triangle, open -->
+<!ENTITY rtrif "&#x025B8;" ><!--/blacktriangleright R: =r tri, filled -->
+<!ENTITY rx "&#x0211E;" ><!--pharmaceutical prescription (Rx) -->
+<!ENTITY sext "&#x02736;" ><!--sextile (6-pointed star) -->
+<!ENTITY sharp "&#x0266F;" ><!--/sharp =musical sharp -->
+<!ENTITY spades "&#x02660;" ><!--/spadesuit =spades suit symbol -->
+<!ENTITY squ "&#x025A1;" ><!--=square, open -->
+<!ENTITY squf "&#x025AA;" ><!--/blacksquare =sq bullet, filled -->
+<!ENTITY star "&#x022C6;" ><!--=star, open -->
+<!ENTITY starf "&#x02605;" ><!--/bigstar - star, filled -->
+<!ENTITY target "&#x02316;" ><!--register mark or target -->
+<!ENTITY telrec "&#x02315;" ><!--=telephone recorder symbol -->
+<!ENTITY thinsp "&#x02009;" ><!--=thin space (1/6-em) -->
+<!ENTITY uhblk "&#x02580;" ><!--=upper half block -->
+<!ENTITY ulcrop "&#x0230F;" ><!--upward left crop mark -->
+<!ENTITY urcrop "&#x0230E;" ><!--upward right crop mark -->
+<!ENTITY utri "&#x025B5;" ><!--/triangle =up triangle, open -->
+<!ENTITY utrif "&#x025B4;" ><!--/blacktriangle =up tri, filled -->
+<!ENTITY vellip "&#x022EE;" ><!--vertical ellipsis -->
+
+
+<!-- New characters defined by MathML ............................ -->
+
+<!ENTITY % ent-mmlextra
+ PUBLIC "-//W3C//ENTITIES Extra for MathML 2.0//EN"
+ "mathml/mmlextra.ent" >
+
+<!--
+ File mmlextra.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+-->
+
+<!ENTITY % plane1D "&#38;#38;#x1D">
+
+<!ENTITY af "&#x02061;" ><!--character showing function application in presentation tagging -->
+<!ENTITY aopf "%plane1D;552;" ><!-- -->
+<!ENTITY asympeq "&#x0224D;" ><!--Old ISOAMSR asymp (for HTML compatibility) -->
+<!ENTITY bopf "%plane1D;553;" ><!-- -->
+<!ENTITY copf "%plane1D;554;" ><!-- -->
+<!ENTITY Cross "&#x02A2F;" ><!--cross or vector product -->
+<!ENTITY DD "&#x02145;" ><!--D for use in differentials, e.g., within integrals -->
+<!ENTITY dd "&#x02146;" ><!--d for use in differentials, e.g., within integrals -->
+<!ENTITY dopf "%plane1D;555;" ><!-- -->
+<!ENTITY DownArrowBar "&#x02913;" ><!--down arrow to bar -->
+<!ENTITY DownBreve "&#x00311;" ><!--breve, inverted (non-spacing) -->
+<!ENTITY DownLeftRightVector "&#x02950;" ><!--left-down-right-down harpoon -->
+<!ENTITY DownLeftTeeVector "&#x0295E;" ><!--left-down harpoon from bar -->
+<!ENTITY DownLeftVectorBar "&#x02956;" ><!--left-down harpoon to bar -->
+<!ENTITY DownRightTeeVector "&#x0295F;" ><!--right-down harpoon from bar -->
+<!ENTITY DownRightVectorBar "&#x02957;" ><!--right-down harpoon to bar -->
+<!ENTITY ee "&#x02147;" ><!--e use for the exponential base of the natural logarithms -->
+<!ENTITY EmptySmallSquare "&#x025FB;" ><!--empty small square -->
+<!ENTITY EmptyVerySmallSquare "&#x025AB;" ><!--empty small square -->
+<!ENTITY eopf "%plane1D;556;" ><!-- -->
+<!ENTITY Equal "&#x02A75;" ><!--two consecutive equal signs -->
+<!ENTITY FilledSmallSquare "&#x025FC;" ><!--filled small square -->
+<!ENTITY FilledVerySmallSquare "&#x025AA;" ><!--filled very small square -->
+<!ENTITY fopf "%plane1D;557;" ><!-- -->
+<!ENTITY gopf "%plane1D;558;" ><!-- -->
+<!ENTITY GreaterGreater "&#x02AA2;" ><!--alias for GT -->
+<!ENTITY Hat "&#x0005E;" ><!--circumflex accent -->
+<!ENTITY hopf "%plane1D;559;" ><!-- -->
+<!ENTITY HorizontalLine "&#x02500;" ><!--short horizontal line -->
+<!ENTITY ic "&#x02063;" ><!--short form of &InvisibleComma; -->
+<!ENTITY ii "&#x02148;" ><!--i for use as a square root of -1 -->
+<!ENTITY iopf "%plane1D;55A;" ><!-- -->
+<!ENTITY it "&#x02062;" ><!--marks multiplication when it is understood without a mark -->
+<!ENTITY jopf "%plane1D;55B;" ><!-- -->
+<!ENTITY kopf "%plane1D;55C;" ><!-- -->
+<!ENTITY larrb "&#x021E4;" ><!--leftwards arrow to bar -->
+<!ENTITY LeftDownTeeVector "&#x02961;" ><!--down-left harpoon from bar -->
+<!ENTITY LeftDownVectorBar "&#x02959;" ><!--down-left harpoon to bar -->
+<!ENTITY LeftRightVector "&#x0294E;" ><!--left-up-right-up harpoon -->
+<!ENTITY LeftTeeVector "&#x0295A;" ><!--left-up harpoon from bar -->
+<!ENTITY LeftTriangleBar "&#x029CF;" ><!--not left triangle, vertical bar -->
+<!ENTITY LeftUpDownVector "&#x02951;" ><!--up-left-down-left harpoon -->
+<!ENTITY LeftUpTeeVector "&#x02960;" ><!--up-left harpoon from bar -->
+<!ENTITY LeftUpVectorBar "&#x02958;" ><!--up-left harpoon to bar -->
+<!ENTITY LeftVectorBar "&#x02952;" ><!--left-up harpoon to bar -->
+<!ENTITY LessLess "&#x02AA1;" ><!--alias for Lt -->
+<!ENTITY lopf "%plane1D;55D;" ><!-- -->
+<!ENTITY mapstodown "&#x021A7;" ><!--downwards arrow from bar -->
+<!ENTITY mapstoleft "&#x021A4;" ><!--leftwards arrow from bar -->
+<!ENTITY mapstoup "&#x021A5;" ><!--upwards arrow from bar -->
+<!ENTITY MediumSpace "&#x0205F;" ><!--space of width 4/18 em -->
+<!ENTITY mopf "%plane1D;55E;" ><!-- -->
+<!ENTITY nbump "&#x0224E;&#x00338;" ><!--not bumpy equals -->
+<!ENTITY nbumpe "&#x0224F;&#x00338;" ><!--not bumpy single equals -->
+<!ENTITY nesim "&#x02242;&#x00338;" ><!--not equal or similar -->
+<!ENTITY NewLine "&#x0000A;" ><!--force a line break; line feed -->
+<!ENTITY NoBreak "&#x02060;" ><!--never break line here -->
+<!ENTITY nopf "%plane1D;55F;" ><!-- -->
+<!ENTITY NotCupCap "&#x0226D;" ><!--alias for &nasymp; -->
+<!ENTITY NotHumpEqual "&#x0224F;&#x00338;" ><!--alias for &nbumpe; -->
+<!ENTITY NotLeftTriangleBar "&#x029CF;&#x00338;" ><!--not left triangle, vertical bar -->
+<!ENTITY NotNestedGreaterGreater "&#x02AA2;&#x00338;" ><!--not double greater-than sign -->
+<!ENTITY NotNestedLessLess "&#x02AA1;&#x00338;" ><!--not double less-than sign -->
+<!ENTITY NotRightTriangleBar "&#x029D0;&#x00338;" ><!--not vertical bar, right triangle -->
+<!ENTITY NotSquareSubset "&#x0228F;&#x00338;" ><!--square not subset -->
+<!ENTITY NotSquareSuperset "&#x02290;&#x00338;" ><!--negated set-like partial order operator -->
+<!ENTITY NotSucceedsTilde "&#x0227F;&#x00338;" ><!--not succeeds or similar -->
+<!ENTITY oopf "%plane1D;560;" ><!-- -->
+<!ENTITY OverBar "&#x000AF;" ><!--over bar -->
+<!ENTITY OverBrace "&#x0FE37;" ><!--over brace -->
+<!ENTITY OverBracket "&#x023B4;" ><!--over bracket -->
+<!ENTITY OverParenthesis "&#x0FE35;" ><!--over parenthesis -->
+<!ENTITY planckh "&#x0210E;" ><!--the ring (skew field) of quaternions -->
+<!ENTITY popf "%plane1D;561;" ><!-- -->
+<!ENTITY Product "&#x0220F;" ><!--alias for &prod -->
+<!ENTITY qopf "%plane1D;562;" ><!-- -->
+<!ENTITY rarrb "&#x021E5;" ><!--leftwards arrow to bar -->
+<!ENTITY RightDownTeeVector "&#x0295D;" ><!--down-right harpoon from bar -->
+<!ENTITY RightDownVectorBar "&#x02955;" ><!--down-right harpoon to bar -->
+<!ENTITY RightTeeVector "&#x0295B;" ><!--right-up harpoon from bar -->
+<!ENTITY RightTriangleBar "&#x029D0;" ><!--vertical bar, right triangle -->
+<!ENTITY RightUpDownVector "&#x0294F;" ><!--up-right-down-right harpoon -->
+<!ENTITY RightUpTeeVector "&#x0295C;" ><!--up-right harpoon from bar -->
+<!ENTITY RightUpVectorBar "&#x02954;" ><!--up-right harpoon to bar -->
+<!ENTITY RightVectorBar "&#x02953;" ><!--up-right harpoon to bar -->
+<!ENTITY ropf "%plane1D;563;" ><!-- -->
+<!ENTITY RoundImplies "&#x02970;" ><!--round implies -->
+<!ENTITY RuleDelayed "&#x029F4;" ><!--rule-delayed (colon right arrow) -->
+<!ENTITY sopf "%plane1D;564;" ><!-- -->
+<!ENTITY Tab "&#x00009;" ><!--tabulator stop; horizontal tabulation -->
+<!ENTITY ThickSpace "&#x02009;&#x0200A;&#x0200A;" ><!--space of width 5/18 em -->
+<!ENTITY topf "%plane1D;565;" ><!-- -->
+<!ENTITY UnderBar "&#x00332;" ><!--combining low line -->
+<!ENTITY UnderBrace "&#x0FE38;" ><!--under brace -->
+<!ENTITY UnderBracket "&#x023B5;" ><!--under bracket -->
+<!ENTITY UnderParenthesis "&#x0FE36;" ><!--under parenthesis -->
+<!ENTITY uopf "%plane1D;566;" ><!-- -->
+<!ENTITY UpArrowBar "&#x02912;" ><!--up arrow to bar -->
+<!ENTITY Upsilon "&#x003A5;" ><!--ISOGRK1 Ugr, HTML4 Upsilon -->
+<!ENTITY VerticalLine "&#x0007C;" ><!--alias ISONUM verbar -->
+<!ENTITY VerticalSeparator "&#x02758;" ><!--vertical separating operator -->
+<!ENTITY vopf "%plane1D;567;" ><!-- -->
+<!ENTITY wopf "%plane1D;568;" ><!-- -->
+<!ENTITY xopf "%plane1D;569;" ><!-- -->
+<!ENTITY yopf "%plane1D;56A;" ><!-- -->
+<!ENTITY ZeroWidthSpace "&#x0200B;" ><!--zero width space -->
+<!ENTITY zopf "%plane1D;56B;" ><!-- -->
+
+
+<!-- MathML aliases for characters defined above ................. -->
+
+<!ENTITY % ent-mmlalias
+ PUBLIC "-//W3C//ENTITIES Aiases for MathML 2.0//EN"
+ "mathml/mmlalias.ent" >
+
+<!--
+ File mmlalias.ent produced by the XSL script characters.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 3.2.
+
+ References to the VARIANT SELECTOR 1 character (&#x0FE00;)
+ should match the uses listed in Unicode Technical Report 25.
+
+-->
+
+<!ENTITY angle "&#x02220;" ><!--alias ISOAMSO ang -->
+<!ENTITY ApplyFunction "&#x02061;" ><!--character showing function application in presentation tagging -->
+<!ENTITY approx "&#x02248;" ><!--alias ISOTECH ap -->
+<!ENTITY approxeq "&#x0224A;" ><!--alias ISOAMSR ape -->
+<!ENTITY Assign "&#x02254;" ><!--assignment operator, alias ISOAMSR colone -->
+<!ENTITY backcong "&#x0224C;" ><!--alias ISOAMSR bcong -->
+<!ENTITY backepsilon "&#x003F6;" ><!--alias ISOAMSR bepsi -->
+<!ENTITY backprime "&#x02035;" ><!--alias ISOAMSO bprime -->
+<!ENTITY backsim "&#x0223D;" ><!--alias ISOAMSR bsim -->
+<!ENTITY backsimeq "&#x022CD;" ><!--alias ISOAMSR bsime -->
+<!ENTITY Backslash "&#x02216;" ><!--alias ISOAMSB setmn -->
+<!ENTITY barwedge "&#x022BC;" ><!--alias ISOAMSB barwed -->
+<!ENTITY Because "&#x02235;" ><!--alias ISOTECH becaus -->
+<!ENTITY because "&#x02235;" ><!--alias ISOTECH becaus -->
+<!ENTITY Bernoullis "&#x0212C;" ><!--alias ISOTECH bernou -->
+<!ENTITY between "&#x0226C;" ><!--alias ISOAMSR twixt -->
+<!ENTITY bigcap "&#x022C2;" ><!--alias ISOAMSB xcap -->
+<!ENTITY bigcirc "&#x025EF;" ><!--alias ISOAMSB xcirc -->
+<!ENTITY bigcup "&#x022C3;" ><!--alias ISOAMSB xcup -->
+<!ENTITY bigodot "&#x02299;" ><!--alias ISOAMSB xodot -->
+<!ENTITY bigoplus "&#x02295;" ><!--alias ISOAMSB xoplus -->
+<!ENTITY bigotimes "&#x02297;" ><!--alias ISOAMSB xotime -->
+<!ENTITY bigsqcup "&#x02294;" ><!--alias ISOAMSB xsqcup -->
+<!ENTITY bigstar "&#x02605;" ><!--ISOPUB starf -->
+<!ENTITY bigtriangledown "&#x025BD;" ><!--alias ISOAMSB xdtri -->
+<!ENTITY bigtriangleup "&#x025B3;" ><!--alias ISOAMSB xutri -->
+<!ENTITY biguplus "&#x0228E;" ><!--alias ISOAMSB xuplus -->
+<!ENTITY bigvee "&#x022C1;" ><!--alias ISOAMSB xvee -->
+<!ENTITY bigwedge "&#x022C0;" ><!--alias ISOAMSB xwedge -->
+<!ENTITY bkarow "&#x0290D;" ><!--alias ISOAMSA rbarr -->
+<!ENTITY blacklozenge "&#x029EB;" ><!--alias ISOPUB lozf -->
+<!ENTITY blacksquare "&#x025AA;" ><!--ISOTECH squarf -->
+<!ENTITY blacktriangle "&#x025B4;" ><!--alias ISOPUB utrif -->
+<!ENTITY blacktriangledown "&#x025BE;" ><!--alias ISOPUB dtrif -->
+<!ENTITY blacktriangleleft "&#x025C2;" ><!--alias ISOPUB ltrif -->
+<!ENTITY blacktriangleright "&#x025B8;" ><!--alias ISOPUB rtrif -->
+<!ENTITY bot "&#x022A5;" ><!--alias ISOTECH bottom -->
+<!ENTITY boxminus "&#x0229F;" ><!--alias ISOAMSB minusb -->
+<!ENTITY boxplus "&#x0229E;" ><!--alias ISOAMSB plusb -->
+<!ENTITY boxtimes "&#x022A0;" ><!--alias ISOAMSB timesb -->
+<!ENTITY Breve "&#x002D8;" ><!--alias ISODIA breve -->
+<!ENTITY bullet "&#x02022;" ><!--alias ISOPUB bull -->
+<!ENTITY Bumpeq "&#x0224E;" ><!--alias ISOAMSR bump -->
+<!ENTITY bumpeq "&#x0224F;" ><!--alias ISOAMSR bumpe -->
+<!ENTITY CapitalDifferentialD "&#x02145;" ><!--D for use in differentials, e.g., within integrals -->
+<!ENTITY Cayleys "&#x0212D;" ><!--the non-associative ring of octonions or Cayley numbers -->
+<!ENTITY Cedilla "&#x000B8;" ><!--alias ISODIA cedil -->
+<!ENTITY CenterDot "&#x000B7;" ><!--alias ISONUM middot -->
+<!ENTITY centerdot "&#x000B7;" ><!--alias ISONUM middot -->
+<!ENTITY checkmark "&#x02713;" ><!--alias ISOPUB check -->
+<!ENTITY circeq "&#x02257;" ><!--alias ISOAMSR cire -->
+<!ENTITY circlearrowleft "&#x021BA;" ><!--alias ISOAMSA olarr -->
+<!ENTITY circlearrowright "&#x021BB;" ><!--alias ISOAMSA orarr -->
+<!ENTITY circledast "&#x0229B;" ><!--alias ISOAMSB oast -->
+<!ENTITY circledcirc "&#x0229A;" ><!--alias ISOAMSB ocir -->
+<!ENTITY circleddash "&#x0229D;" ><!--alias ISOAMSB odash -->
+<!ENTITY CircleDot "&#x02299;" ><!--alias ISOAMSB odot -->
+<!ENTITY circledR "&#x000AE;" ><!--alias ISONUM reg -->
+<!ENTITY circledS "&#x024C8;" ><!--alias ISOAMSO oS -->
+<!ENTITY CircleMinus "&#x02296;" ><!--alias ISOAMSB ominus -->
+<!ENTITY CirclePlus "&#x02295;" ><!--alias ISOAMSB oplus -->
+<!ENTITY CircleTimes "&#x02297;" ><!--alias ISOAMSB otimes -->
+<!ENTITY ClockwiseContourIntegral "&#x02232;" ><!--alias ISOTECH cwconint -->
+<!ENTITY CloseCurlyDoubleQuote "&#x0201D;" ><!--alias ISONUM rdquo -->
+<!ENTITY CloseCurlyQuote "&#x02019;" ><!--alias ISONUM rsquo -->
+<!ENTITY clubsuit "&#x02663;" ><!--ISOPUB clubs -->
+<!ENTITY coloneq "&#x02254;" ><!--alias ISOAMSR colone -->
+<!ENTITY complement "&#x02201;" ><!--alias ISOAMSO comp -->
+<!ENTITY complexes "&#x02102;" ><!--the field of complex numbers -->
+<!ENTITY Congruent "&#x02261;" ><!--alias ISOTECH equiv -->
+<!ENTITY ContourIntegral "&#x0222E;" ><!--alias ISOTECH conint -->
+<!ENTITY Coproduct "&#x02210;" ><!--alias ISOAMSB coprod -->
+<!ENTITY CounterClockwiseContourIntegral "&#x02233;" ><!--alias ISOTECH awconint -->
+<!ENTITY CupCap "&#x0224D;" ><!--alias asympeq -->
+<!ENTITY curlyeqprec "&#x022DE;" ><!--alias ISOAMSR cuepr -->
+<!ENTITY curlyeqsucc "&#x022DF;" ><!--alias ISOAMSR cuesc -->
+<!ENTITY curlyvee "&#x022CE;" ><!--alias ISOAMSB cuvee -->
+<!ENTITY curlywedge "&#x022CF;" ><!--alias ISOAMSB cuwed -->
+<!ENTITY curvearrowleft "&#x021B6;" ><!--alias ISOAMSA cularr -->
+<!ENTITY curvearrowright "&#x021B7;" ><!--alias ISOAMSA curarr -->
+<!ENTITY dbkarow "&#x0290F;" ><!--alias ISOAMSA rBarr -->
+<!ENTITY ddagger "&#x02021;" ><!--alias ISOPUB Dagger -->
+<!ENTITY ddotseq "&#x02A77;" ><!--alias ISOAMSR eDDot -->
+<!ENTITY Del "&#x02207;" ><!--alias ISOTECH nabla -->
+<!ENTITY DiacriticalAcute "&#x000B4;" ><!--alias ISODIA acute -->
+<!ENTITY DiacriticalDot "&#x002D9;" ><!--alias ISODIA dot -->
+<!ENTITY DiacriticalDoubleAcute "&#x002DD;" ><!--alias ISODIA dblac -->
+<!ENTITY DiacriticalGrave "&#x00060;" ><!--alias ISODIA grave -->
+<!ENTITY DiacriticalTilde "&#x002DC;" ><!--alias ISODIA tilde -->
+<!ENTITY Diamond "&#x022C4;" ><!--alias ISOAMSB diam -->
+<!ENTITY diamond "&#x022C4;" ><!--alias ISOAMSB diam -->
+<!ENTITY diamondsuit "&#x02666;" ><!--ISOPUB diams -->
+<!ENTITY DifferentialD "&#x02146;" ><!--d for use in differentials, e.g., within integrals -->
+<!ENTITY digamma "&#x003DC;" ><!--alias ISOGRK3 gammad -->
+<!ENTITY div "&#x000F7;" ><!--alias ISONUM divide -->
+<!ENTITY divideontimes "&#x022C7;" ><!--alias ISOAMSB divonx -->
+<!ENTITY doteq "&#x02250;" ><!--alias ISOAMSR esdot -->
+<!ENTITY doteqdot "&#x02251;" ><!--alias ISOAMSR eDot -->
+<!ENTITY DotEqual "&#x02250;" ><!--alias ISOAMSR esdot -->
+<!ENTITY dotminus "&#x02238;" ><!--alias ISOAMSB minusd -->
+<!ENTITY dotplus "&#x02214;" ><!--alias ISOAMSB plusdo -->
+<!ENTITY dotsquare "&#x022A1;" ><!--alias ISOAMSB sdotb -->
+<!ENTITY doublebarwedge "&#x02306;" ><!--alias ISOAMSB Barwed -->
+<!ENTITY DoubleContourIntegral "&#x0222F;" ><!--alias ISOTECH Conint -->
+<!ENTITY DoubleDot "&#x000A8;" ><!--alias ISODIA die -->
+<!ENTITY DoubleDownArrow "&#x021D3;" ><!--alias ISOAMSA dArr -->
+<!ENTITY DoubleLeftArrow "&#x021D0;" ><!--alias ISOTECH lArr -->
+<!ENTITY DoubleLeftRightArrow "&#x021D4;" ><!--alias ISOAMSA hArr -->
+<!ENTITY DoubleLeftTee "&#x02AE4;" ><!--alias for &Dashv; -->
+<!ENTITY DoubleLongLeftArrow "&#x027F8;" ><!--alias ISOAMSA xlArr -->
+<!ENTITY DoubleLongLeftRightArrow "&#x027FA;" ><!--alias ISOAMSA xhArr -->
+<!ENTITY DoubleLongRightArrow "&#x027F9;" ><!--alias ISOAMSA xrArr -->
+<!ENTITY DoubleRightArrow "&#x021D2;" ><!--alias ISOTECH rArr -->
+<!ENTITY DoubleRightTee "&#x022A8;" ><!--alias ISOAMSR vDash -->
+<!ENTITY DoubleUpArrow "&#x021D1;" ><!--alias ISOAMSA uArr -->
+<!ENTITY DoubleUpDownArrow "&#x021D5;" ><!--alias ISOAMSA vArr -->
+<!ENTITY DoubleVerticalBar "&#x02225;" ><!--alias ISOTECH par -->
+<!ENTITY DownArrow "&#x02193;" ><!--alias ISONUM darr -->
+<!ENTITY Downarrow "&#x021D3;" ><!--alias ISOAMSA dArr -->
+<!ENTITY downarrow "&#x02193;" ><!--alias ISONUM darr -->
+<!ENTITY DownArrowUpArrow "&#x021F5;" ><!--alias ISOAMSA duarr -->
+<!ENTITY downdownarrows "&#x021CA;" ><!--alias ISOAMSA ddarr -->
+<!ENTITY downharpoonleft "&#x021C3;" ><!--alias ISOAMSA dharl -->
+<!ENTITY downharpoonright "&#x021C2;" ><!--alias ISOAMSA dharr -->
+<!ENTITY DownLeftVector "&#x021BD;" ><!--alias ISOAMSA lhard -->
+<!ENTITY DownRightVector "&#x021C1;" ><!--alias ISOAMSA rhard -->
+<!ENTITY DownTee "&#x022A4;" ><!--alias ISOTECH top -->
+<!ENTITY DownTeeArrow "&#x021A7;" ><!--alias for mapstodown -->
+<!ENTITY drbkarow "&#x02910;" ><!--alias ISOAMSA RBarr -->
+<!ENTITY Element "&#x02208;" ><!--alias ISOTECH isinv -->
+<!ENTITY emptyset "&#x02205;" ><!--alias ISOAMSO empty -->
+<!ENTITY eqcirc "&#x02256;" ><!--alias ISOAMSR ecir -->
+<!ENTITY eqcolon "&#x02255;" ><!--alias ISOAMSR ecolon -->
+<!ENTITY eqsim "&#x02242;" ><!--alias ISOAMSR esim -->
+<!ENTITY eqslantgtr "&#x022DD;" ><!--alias ISOAMSR egs -->
+<!ENTITY eqslantless "&#x022DC;" ><!--alias ISOAMSR els -->
+<!ENTITY EqualTilde "&#x02242;" ><!--alias ISOAMSR esim -->
+<!ENTITY Equilibrium "&#x021CC;" ><!--alias ISOAMSA rlhar -->
+<!ENTITY Exists "&#x02203;" ><!--alias ISOTECH exist -->
+<!ENTITY expectation "&#x02130;" ><!--expectation (operator) -->
+<!ENTITY ExponentialE "&#x02147;" ><!--e use for the exponential base of the natural logarithms -->
+<!ENTITY exponentiale "&#x02147;" ><!--base of the Napierian logarithms -->
+<!ENTITY fallingdotseq "&#x02252;" ><!--alias ISOAMSR efDot -->
+<!ENTITY ForAll "&#x02200;" ><!--alias ISOTECH forall -->
+<!ENTITY Fouriertrf "&#x02131;" ><!--Fourier transform -->
+<!ENTITY geq "&#x02265;" ><!--alias ISOTECH ge -->
+<!ENTITY geqq "&#x02267;" ><!--alias ISOAMSR gE -->
+<!ENTITY geqslant "&#x02A7E;" ><!--alias ISOAMSR ges -->
+<!ENTITY gg "&#x0226B;" ><!--alias ISOAMSR Gt -->
+<!ENTITY ggg "&#x022D9;" ><!--alias ISOAMSR Gg -->
+<!ENTITY gnapprox "&#x02A8A;" ><!--alias ISOAMSN gnap -->
+<!ENTITY gneq "&#x02269;" ><!--alias ISOAMSN gne -->
+<!ENTITY gneqq "&#x02269;" ><!--alias ISOAMSN gnE -->
+<!ENTITY GreaterEqual "&#x02265;" ><!--alias ISOTECH ge -->
+<!ENTITY GreaterEqualLess "&#x022DB;" ><!--alias ISOAMSR gel -->
+<!ENTITY GreaterFullEqual "&#x02267;" ><!--alias ISOAMSR gE -->
+<!ENTITY GreaterLess "&#x02277;" ><!--alias ISOAMSR gl -->
+<!ENTITY GreaterSlantEqual "&#x02A7E;" ><!--alias ISOAMSR ges -->
+<!ENTITY GreaterTilde "&#x02273;" ><!--alias ISOAMSR gsim -->
+<!ENTITY gtrapprox "&#x02273;" ><!--alias ISOAMSR gap -->
+<!ENTITY gtrdot "&#x022D7;" ><!--alias ISOAMSR gtdot -->
+<!ENTITY gtreqless "&#x022DB;" ><!--alias ISOAMSR gel -->
+<!ENTITY gtreqqless "&#x022DB;" ><!--alias ISOAMSR gEl -->
+<!ENTITY gtrless "&#x02277;" ><!--alias ISOAMSR gl -->
+<!ENTITY gtrsim "&#x02273;" ><!--alias ISOAMSR gsim -->
+<!ENTITY gvertneqq "&#x02269;&#x0FE00;" ><!--alias ISOAMSN gvnE -->
+<!ENTITY Hacek "&#x002C7;" ><!--alias ISODIA caron -->
+<!ENTITY hbar "&#x0210F;" ><!--alias ISOAMSO plank -->
+<!ENTITY heartsuit "&#x02661;" ><!--ISOPUB hearts -->
+<!ENTITY HilbertSpace "&#x0210B;" ><!--Hilbert space -->
+<!ENTITY hksearow "&#x02925;" ><!--alias ISOAMSA searhk -->
+<!ENTITY hkswarow "&#x02926;" ><!--alias ISOAMSA swarhk -->
+<!ENTITY hookleftarrow "&#x021A9;" ><!--alias ISOAMSA larrhk -->
+<!ENTITY hookrightarrow "&#x021AA;" ><!--alias ISOAMSA rarrhk -->
+<!ENTITY hslash "&#x0210F;" ><!--alias ISOAMSO plankv -->
+<!ENTITY HumpDownHump "&#x0224E;" ><!--alias ISOAMSR bump -->
+<!ENTITY HumpEqual "&#x0224F;" ><!--alias ISOAMSR bumpe -->
+<!ENTITY iiiint "&#x02A0C;" ><!--alias ISOTECH qint -->
+<!ENTITY iiint "&#x0222D;" ><!--alias ISOTECH tint -->
+<!ENTITY Im "&#x02111;" ><!--alias ISOAMSO image -->
+<!ENTITY ImaginaryI "&#x02148;" ><!--i for use as a square root of -1 -->
+<!ENTITY imagline "&#x02110;" ><!--the geometric imaginary line -->
+<!ENTITY imagpart "&#x02111;" ><!--alias ISOAMSO image -->
+<!ENTITY Implies "&#x021D2;" ><!--alias ISOTECH rArr -->
+<!ENTITY in "&#x02208;" ><!--ISOTECH isin -->
+<!ENTITY integers "&#x02124;" ><!--the ring of integers -->
+<!ENTITY Integral "&#x0222B;" ><!--alias ISOTECH int -->
+<!ENTITY intercal "&#x022BA;" ><!--alias ISOAMSB intcal -->
+<!ENTITY Intersection "&#x022C2;" ><!--alias ISOAMSB xcap -->
+<!ENTITY intprod "&#x02A3C;" ><!--alias ISOAMSB iprod -->
+<!ENTITY InvisibleComma "&#x02063;" ><!--used as a separator, e.g., in indices -->
+<!ENTITY InvisibleTimes "&#x02062;" ><!--marks multiplication when it is understood without a mark -->
+<!ENTITY langle "&#x02329;" ><!--alias ISOTECH lang -->
+<!ENTITY Laplacetrf "&#x02112;" ><!--Laplace transform -->
+<!ENTITY lbrace "&#x0007B;" ><!--alias ISONUM lcub -->
+<!ENTITY lbrack "&#x0005B;" ><!--alias ISONUM lsqb -->
+<!ENTITY LeftAngleBracket "&#x02329;" ><!--alias ISOTECH lang -->
+<!ENTITY LeftArrow "&#x02190;" ><!--alias ISONUM larr -->
+<!ENTITY Leftarrow "&#x021D0;" ><!--alias ISOTECH lArr -->
+<!ENTITY leftarrow "&#x02190;" ><!--alias ISONUM larr -->
+<!ENTITY LeftArrowBar "&#x021E4;" ><!--alias for larrb -->
+<!ENTITY LeftArrowRightArrow "&#x021C6;" ><!--alias ISOAMSA lrarr -->
+<!ENTITY leftarrowtail "&#x021A2;" ><!--alias ISOAMSA larrtl -->
+<!ENTITY LeftCeiling "&#x02308;" ><!--alias ISOAMSC lceil -->
+<!ENTITY LeftDoubleBracket "&#x0301A;" ><!--left double bracket delimiter -->
+<!ENTITY LeftDownVector "&#x021C3;" ><!--alias ISOAMSA dharl -->
+<!ENTITY LeftFloor "&#x0230A;" ><!--alias ISOAMSC lfloor -->
+<!ENTITY leftharpoondown "&#x021BD;" ><!--alias ISOAMSA lhard -->
+<!ENTITY leftharpoonup "&#x021BC;" ><!--alias ISOAMSA lharu -->
+<!ENTITY leftleftarrows "&#x021C7;" ><!--alias ISOAMSA llarr -->
+<!ENTITY LeftRightArrow "&#x02194;" ><!--alias ISOAMSA harr -->
+<!ENTITY Leftrightarrow "&#x021D4;" ><!--alias ISOAMSA hArr -->
+<!ENTITY leftrightarrow "&#x02194;" ><!--alias ISOAMSA harr -->
+<!ENTITY leftrightarrows "&#x021C6;" ><!--alias ISOAMSA lrarr -->
+<!ENTITY leftrightharpoons "&#x021CB;" ><!--alias ISOAMSA lrhar -->
+<!ENTITY leftrightsquigarrow "&#x021AD;" ><!--alias ISOAMSA harrw -->
+<!ENTITY LeftTee "&#x022A3;" ><!--alias ISOAMSR dashv -->
+<!ENTITY LeftTeeArrow "&#x021A4;" ><!--alias for mapstoleft -->
+<!ENTITY leftthreetimes "&#x022CB;" ><!--alias ISOAMSB lthree -->
+<!ENTITY LeftTriangle "&#x022B2;" ><!--alias ISOAMSR vltri -->
+<!ENTITY LeftTriangleEqual "&#x022B4;" ><!--alias ISOAMSR ltrie -->
+<!ENTITY LeftUpVector "&#x021BF;" ><!--alias ISOAMSA uharl -->
+<!ENTITY LeftVector "&#x021BC;" ><!--alias ISOAMSA lharu -->
+<!ENTITY leq "&#x02264;" ><!--alias ISOTECH le -->
+<!ENTITY leqq "&#x02266;" ><!--alias ISOAMSR lE -->
+<!ENTITY leqslant "&#x02A7D;" ><!--alias ISOAMSR les -->
+<!ENTITY lessapprox "&#x02272;" ><!--alias ISOAMSR lap -->
+<!ENTITY lessdot "&#x022D6;" ><!--alias ISOAMSR ltdot -->
+<!ENTITY lesseqgtr "&#x022DA;" ><!--alias ISOAMSR leg -->
+<!ENTITY lesseqqgtr "&#x022DA;" ><!--alias ISOAMSR lEg -->
+<!ENTITY LessEqualGreater "&#x022DA;" ><!--alias ISOAMSR leg -->
+<!ENTITY LessFullEqual "&#x02266;" ><!--alias ISOAMSR lE -->
+<!ENTITY LessGreater "&#x02276;" ><!--alias ISOAMSR lg -->
+<!ENTITY lessgtr "&#x02276;" ><!--alias ISOAMSR lg -->
+<!ENTITY lesssim "&#x02272;" ><!--alias ISOAMSR lsim -->
+<!ENTITY LessSlantEqual "&#x02A7D;" ><!--alias ISOAMSR les -->
+<!ENTITY LessTilde "&#x02272;" ><!--alias ISOAMSR lsim -->
+<!ENTITY ll "&#x0226A;" ><!--alias ISOAMSR Lt -->
+<!ENTITY llcorner "&#x0231E;" ><!--alias ISOAMSC dlcorn -->
+<!ENTITY Lleftarrow "&#x021DA;" ><!--alias ISOAMSA lAarr -->
+<!ENTITY lmoustache "&#x023B0;" ><!--alias ISOAMSC lmoust -->
+<!ENTITY lnapprox "&#x02A89;" ><!--alias ISOAMSN lnap -->
+<!ENTITY lneq "&#x02268;" ><!--alias ISOAMSN lne -->
+<!ENTITY lneqq "&#x02268;" ><!--alias ISOAMSN lnE -->
+<!ENTITY LongLeftArrow "&#x027F5;" ><!--alias ISOAMSA xlarr -->
+<!ENTITY Longleftarrow "&#x027F8;" ><!--alias ISOAMSA xlArr -->
+<!ENTITY longleftarrow "&#x027F5;" ><!--alias ISOAMSA xlarr -->
+<!ENTITY LongLeftRightArrow "&#x027F7;" ><!--alias ISOAMSA xharr -->
+<!ENTITY Longleftrightarrow "&#x027FA;" ><!--alias ISOAMSA xhArr -->
+<!ENTITY longleftrightarrow "&#x027F7;" ><!--alias ISOAMSA xharr -->
+<!ENTITY longmapsto "&#x027FC;" ><!--alias ISOAMSA xmap -->
+<!ENTITY LongRightArrow "&#x027F6;" ><!--alias ISOAMSA xrarr -->
+<!ENTITY Longrightarrow "&#x027F9;" ><!--alias ISOAMSA xrArr -->
+<!ENTITY longrightarrow "&#x027F6;" ><!--alias ISOAMSA xrarr -->
+<!ENTITY looparrowleft "&#x021AB;" ><!--alias ISOAMSA larrlp -->
+<!ENTITY looparrowright "&#x021AC;" ><!--alias ISOAMSA rarrlp -->
+<!ENTITY LowerLeftArrow "&#x02199;" ><!--alias ISOAMSA swarr -->
+<!ENTITY LowerRightArrow "&#x02198;" ><!--alias ISOAMSA searr -->
+<!ENTITY lozenge "&#x025CA;" ><!--alias ISOPUB loz -->
+<!ENTITY lrcorner "&#x0231F;" ><!--alias ISOAMSC drcorn -->
+<!ENTITY Lsh "&#x021B0;" ><!--alias ISOAMSA lsh -->
+<!ENTITY lvertneqq "&#x02268;&#x0FE00;" ><!--alias ISOAMSN lvnE -->
+<!ENTITY maltese "&#x02720;" ><!--alias ISOPUB malt -->
+<!ENTITY mapsto "&#x021A6;" ><!--alias ISOAMSA map -->
+<!ENTITY measuredangle "&#x02221;" ><!--alias ISOAMSO angmsd -->
+<!ENTITY Mellintrf "&#x02133;" ><!--Mellin transform -->
+<!ENTITY MinusPlus "&#x02213;" ><!--alias ISOTECH mnplus -->
+<!ENTITY mp "&#x02213;" ><!--alias ISOTECH mnplus -->
+<!ENTITY multimap "&#x022B8;" ><!--alias ISOAMSA mumap -->
+<!ENTITY napprox "&#x02249;" ><!--alias ISOAMSN nap -->
+<!ENTITY natural "&#x0266E;" ><!--alias ISOPUB natur -->
+<!ENTITY naturals "&#x02115;" ><!--the semi-ring of natural numbers -->
+<!ENTITY nearrow "&#x02197;" ><!--alias ISOAMSA nearr -->
+<!ENTITY NegativeMediumSpace "&#x0200B;" ><!--space of width -4/18 em -->
+<!ENTITY NegativeThickSpace "&#x0200B;" ><!--space of width -5/18 em -->
+<!ENTITY NegativeThinSpace "&#x0200B;" ><!--space of width -3/18 em -->
+<!ENTITY NegativeVeryThinSpace "&#x0200B;" ><!--space of width -1/18 em -->
+<!ENTITY NestedGreaterGreater "&#x0226B;" ><!--alias ISOAMSR Gt -->
+<!ENTITY NestedLessLess "&#x0226A;" ><!--alias ISOAMSR Lt -->
+<!ENTITY nexists "&#x02204;" ><!--alias ISOAMSO nexist -->
+<!ENTITY ngeq "&#x02271;" ><!--alias ISOAMSN nge -->
+<!ENTITY ngeqq "&#x02A7E;&#x00338;" ><!--alias ISOAMSN ngE -->
+<!ENTITY ngeqslant "&#x02A7E;&#x00338;" ><!--alias ISOAMSN nges -->
+<!ENTITY ngtr "&#x0226F;" ><!--alias ISOAMSN ngt -->
+<!ENTITY nLeftarrow "&#x021CD;" ><!--alias ISOAMSA nlArr -->
+<!ENTITY nleftarrow "&#x0219A;" ><!--alias ISOAMSA nlarr -->
+<!ENTITY nLeftrightarrow "&#x021CE;" ><!--alias ISOAMSA nhArr -->
+<!ENTITY nleftrightarrow "&#x021AE;" ><!--alias ISOAMSA nharr -->
+<!ENTITY nleq "&#x02270;" ><!--alias ISOAMSN nle -->
+<!ENTITY nleqq "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nlE -->
+<!ENTITY nleqslant "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nles -->
+<!ENTITY nless "&#x0226E;" ><!--alias ISOAMSN nlt -->
+<!ENTITY NonBreakingSpace "&#x000A0;" ><!--alias ISONUM nbsp -->
+<!ENTITY NotCongruent "&#x02262;" ><!--alias ISOAMSN nequiv -->
+<!ENTITY NotDoubleVerticalBar "&#x02226;" ><!--alias ISOAMSN npar -->
+<!ENTITY NotElement "&#x02209;" ><!--alias ISOTECH notin -->
+<!ENTITY NotEqual "&#x02260;" ><!--alias ISOTECH ne -->
+<!ENTITY NotEqualTilde "&#x02242;&#x00338;" ><!--alias for &nesim; -->
+<!ENTITY NotExists "&#x02204;" ><!--alias ISOAMSO nexist -->
+<!ENTITY NotGreater "&#x0226F;" ><!--alias ISOAMSN ngt -->
+<!ENTITY NotGreaterEqual "&#x02271;" ><!--alias ISOAMSN nge -->
+<!ENTITY NotGreaterFullEqual "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nlE -->
+<!ENTITY NotGreaterGreater "&#x0226B;&#x00338;" ><!--alias ISOAMSN nGtv -->
+<!ENTITY NotGreaterLess "&#x02279;" ><!--alias ISOAMSN ntvgl -->
+<!ENTITY NotGreaterSlantEqual "&#x02A7E;&#x00338;" ><!--alias ISOAMSN nges -->
+<!ENTITY NotGreaterTilde "&#x02275;" ><!--alias ISOAMSN ngsim -->
+<!ENTITY NotHumpDownHump "&#x0224E;&#x00338;" ><!--alias for &nbump; -->
+<!ENTITY NotLeftTriangle "&#x022EA;" ><!--alias ISOAMSN nltri -->
+<!ENTITY NotLeftTriangleEqual "&#x022EC;" ><!--alias ISOAMSN nltrie -->
+<!ENTITY NotLess "&#x0226E;" ><!--alias ISOAMSN nlt -->
+<!ENTITY NotLessEqual "&#x02270;" ><!--alias ISOAMSN nle -->
+<!ENTITY NotLessGreater "&#x02278;" ><!--alias ISOAMSN ntvlg -->
+<!ENTITY NotLessLess "&#x0226A;&#x00338;" ><!--alias ISOAMSN nLtv -->
+<!ENTITY NotLessSlantEqual "&#x02A7D;&#x00338;" ><!--alias ISOAMSN nles -->
+<!ENTITY NotLessTilde "&#x02274;" ><!--alias ISOAMSN nlsim -->
+<!ENTITY NotPrecedes "&#x02280;" ><!--alias ISOAMSN npr -->
+<!ENTITY NotPrecedesEqual "&#x02AAF;&#x00338;" ><!--alias ISOAMSN npre -->
+<!ENTITY NotPrecedesSlantEqual "&#x022E0;" ><!--alias ISOAMSN nprcue -->
+<!ENTITY NotReverseElement "&#x0220C;" ><!--alias ISOTECH notniva -->
+<!ENTITY NotRightTriangle "&#x022EB;" ><!--alias ISOAMSN nrtri -->
+<!ENTITY NotRightTriangleEqual "&#x022ED;" ><!--alias ISOAMSN nrtrie -->
+<!ENTITY NotSquareSubsetEqual "&#x022E2;" ><!--alias ISOAMSN nsqsube -->
+<!ENTITY NotSquareSupersetEqual "&#x022E3;" ><!--alias ISOAMSN nsqsupe -->
+<!ENTITY NotSubset "&#x02284;" ><!--alias ISOAMSN vnsub -->
+<!ENTITY NotSubsetEqual "&#x02288;" ><!--alias ISOAMSN nsube -->
+<!ENTITY NotSucceeds "&#x02281;" ><!--alias ISOAMSN nsc -->
+<!ENTITY NotSucceedsEqual "&#x02AB0;&#x00338;" ><!--alias ISOAMSN nsce -->
+<!ENTITY NotSucceedsSlantEqual "&#x022E1;" ><!--alias ISOAMSN nsccue -->
+<!ENTITY NotSuperset "&#x02285;" ><!--alias ISOAMSN vnsup -->
+<!ENTITY NotSupersetEqual "&#x02289;" ><!--alias ISOAMSN nsupe -->
+<!ENTITY NotTilde "&#x02241;" ><!--alias ISOAMSN nsim -->
+<!ENTITY NotTildeEqual "&#x02244;" ><!--alias ISOAMSN nsime -->
+<!ENTITY NotTildeFullEqual "&#x02247;" ><!--alias ISOAMSN ncong -->
+<!ENTITY NotTildeTilde "&#x02249;" ><!--alias ISOAMSN nap -->
+<!ENTITY NotVerticalBar "&#x02224;" ><!--alias ISOAMSN nmid -->
+<!ENTITY nparallel "&#x02226;" ><!--alias ISOAMSN npar -->
+<!ENTITY nprec "&#x02280;" ><!--alias ISOAMSN npr -->
+<!ENTITY npreceq "&#x02AAF;&#x00338;" ><!--alias ISOAMSN npre -->
+<!ENTITY nRightarrow "&#x021CF;" ><!--alias ISOAMSA nrArr -->
+<!ENTITY nrightarrow "&#x0219B;" ><!--alias ISOAMSA nrarr -->
+<!ENTITY nshortmid "&#x02224;" ><!--alias ISOAMSN nsmid -->
+<!ENTITY nshortparallel "&#x02226;" ><!--alias ISOAMSN nspar -->
+<!ENTITY nsimeq "&#x02244;" ><!--alias ISOAMSN nsime -->
+<!ENTITY nsubset "&#x02284;" ><!--alias ISOAMSN vnsub -->
+<!ENTITY nsubseteq "&#x02288;" ><!--alias ISOAMSN nsube -->
+<!ENTITY nsubseteqq "&#x02288;" ><!--alias ISOAMSN nsubE -->
+<!ENTITY nsucc "&#x02281;" ><!--alias ISOAMSN nsc -->
+<!ENTITY nsucceq "&#x02AB0;&#x00338;" ><!--alias ISOAMSN nsce -->
+<!ENTITY nsupset "&#x02285;" ><!--alias ISOAMSN vnsup -->
+<!ENTITY nsupseteq "&#x02289;" ><!--alias ISOAMSN nsupe -->
+<!ENTITY nsupseteqq "&#x02289;" ><!--alias ISOAMSN nsupE -->
+<!ENTITY ntriangleleft "&#x022EA;" ><!--alias ISOAMSN nltri -->
+<!ENTITY ntrianglelefteq "&#x022EC;" ><!--alias ISOAMSN nltrie -->
+<!ENTITY ntriangleright "&#x022EB;" ><!--alias ISOAMSN nrtri -->
+<!ENTITY ntrianglerighteq "&#x022ED;" ><!--alias ISOAMSN nrtrie -->
+<!ENTITY nwarrow "&#x02196;" ><!--alias ISOAMSA nwarr -->
+<!ENTITY oint "&#x0222E;" ><!--alias ISOTECH conint -->
+<!ENTITY OpenCurlyDoubleQuote "&#x0201C;" ><!--alias ISONUM ldquo -->
+<!ENTITY OpenCurlyQuote "&#x02018;" ><!--alias ISONUM lsquo -->
+<!ENTITY orderof "&#x02134;" ><!--alias ISOTECH order -->
+<!ENTITY parallel "&#x02225;" ><!--alias ISOTECH par -->
+<!ENTITY PartialD "&#x02202;" ><!--alias ISOTECH part -->
+<!ENTITY pitchfork "&#x022D4;" ><!--alias ISOAMSR fork -->
+<!ENTITY PlusMinus "&#x000B1;" ><!--alias ISONUM plusmn -->
+<!ENTITY pm "&#x000B1;" ><!--alias ISONUM plusmn -->
+<!ENTITY Poincareplane "&#x0210C;" ><!--the Poincare upper half-plane -->
+<!ENTITY prec "&#x0227A;" ><!--alias ISOAMSR pr -->
+<!ENTITY precapprox "&#x0227E;" ><!--alias ISOAMSR prap -->
+<!ENTITY preccurlyeq "&#x0227C;" ><!--alias ISOAMSR prcue -->
+<!ENTITY Precedes "&#x0227A;" ><!--alias ISOAMSR pr -->
+<!ENTITY PrecedesEqual "&#x02AAF;" ><!--alias ISOAMSR pre -->
+<!ENTITY PrecedesSlantEqual "&#x0227C;" ><!--alias ISOAMSR prcue -->
+<!ENTITY PrecedesTilde "&#x0227E;" ><!--alias ISOAMSR prsim -->
+<!ENTITY preceq "&#x02AAF;" ><!--alias ISOAMSR pre -->
+<!ENTITY precnapprox "&#x022E8;" ><!--alias ISOAMSN prnap -->
+<!ENTITY precneqq "&#x02AB5;" ><!--alias ISOAMSN prnE -->
+<!ENTITY precnsim "&#x022E8;" ><!--alias ISOAMSN prnsim -->
+<!ENTITY precsim "&#x0227E;" ><!--alias ISOAMSR prsim -->
+<!ENTITY primes "&#x02119;" ><!--the prime natural numbers -->
+<!ENTITY Proportion "&#x02237;" ><!--alias ISOAMSR Colon -->
+<!ENTITY Proportional "&#x0221D;" ><!--alias ISOTECH prop -->
+<!ENTITY propto "&#x0221D;" ><!--alias ISOTECH prop -->
+<!ENTITY quaternions "&#x0210D;" ><!--the ring (skew field) of quaternions -->
+<!ENTITY questeq "&#x0225F;" ><!--alias ISOAMSR equest -->
+<!ENTITY rangle "&#x0232A;" ><!--alias ISOTECH rang -->
+<!ENTITY rationals "&#x0211A;" ><!--the field of rational numbers -->
+<!ENTITY rbrace "&#x0007D;" ><!--alias ISONUM rcub -->
+<!ENTITY rbrack "&#x0005D;" ><!--alias ISONUM rsqb -->
+<!ENTITY Re "&#x0211C;" ><!--alias ISOAMSO real -->
+<!ENTITY realine "&#x0211B;" ><!--the geometric real line -->
+<!ENTITY realpart "&#x0211C;" ><!--alias ISOAMSO real -->
+<!ENTITY reals "&#x0211D;" ><!--the field of real numbers -->
+<!ENTITY ReverseElement "&#x0220B;" ><!--alias ISOTECH niv -->
+<!ENTITY ReverseEquilibrium "&#x021CB;" ><!--alias ISOAMSA lrhar -->
+<!ENTITY ReverseUpEquilibrium "&#x0296F;" ><!--alias ISOAMSA duhar -->
+<!ENTITY RightAngleBracket "&#x0232A;" ><!--alias ISOTECH rang -->
+<!ENTITY RightArrow "&#x02192;" ><!--alias ISONUM rarr -->
+<!ENTITY Rightarrow "&#x021D2;" ><!--alias ISOTECH rArr -->
+<!ENTITY rightarrow "&#x02192;" ><!--alias ISONUM rarr -->
+<!ENTITY RightArrowBar "&#x021E5;" ><!--alias for rarrb -->
+<!ENTITY RightArrowLeftArrow "&#x021C4;" ><!--alias ISOAMSA rlarr -->
+<!ENTITY rightarrowtail "&#x021A3;" ><!--alias ISOAMSA rarrtl -->
+<!ENTITY RightCeiling "&#x02309;" ><!--alias ISOAMSC rceil -->
+<!ENTITY RightDoubleBracket "&#x0301B;" ><!--right double bracket delimiter -->
+<!ENTITY RightDownVector "&#x021C2;" ><!--alias ISOAMSA dharr -->
+<!ENTITY RightFloor "&#x0230B;" ><!--alias ISOAMSC rfloor -->
+<!ENTITY rightharpoondown "&#x021C1;" ><!--alias ISOAMSA rhard -->
+<!ENTITY rightharpoonup "&#x021C0;" ><!--alias ISOAMSA rharu -->
+<!ENTITY rightleftarrows "&#x021C4;" ><!--alias ISOAMSA rlarr -->
+<!ENTITY rightleftharpoons "&#x021CC;" ><!--alias ISOAMSA rlhar -->
+<!ENTITY rightrightarrows "&#x021C9;" ><!--alias ISOAMSA rrarr -->
+<!ENTITY rightsquigarrow "&#x0219D;" ><!--alias ISOAMSA rarrw -->
+<!ENTITY RightTee "&#x022A2;" ><!--alias ISOAMSR vdash -->
+<!ENTITY RightTeeArrow "&#x021A6;" ><!--alias ISOAMSA map -->
+<!ENTITY rightthreetimes "&#x022CC;" ><!--alias ISOAMSB rthree -->
+<!ENTITY RightTriangle "&#x022B3;" ><!--alias ISOAMSR vrtri -->
+<!ENTITY RightTriangleEqual "&#x022B5;" ><!--alias ISOAMSR rtrie -->
+<!ENTITY RightUpVector "&#x021BE;" ><!--alias ISOAMSA uharr -->
+<!ENTITY RightVector "&#x021C0;" ><!--alias ISOAMSA rharu -->
+<!ENTITY risingdotseq "&#x02253;" ><!--alias ISOAMSR erDot -->
+<!ENTITY rmoustache "&#x023B1;" ><!--alias ISOAMSC rmoust -->
+<!ENTITY Rrightarrow "&#x021DB;" ><!--alias ISOAMSA rAarr -->
+<!ENTITY Rsh "&#x021B1;" ><!--alias ISOAMSA rsh -->
+<!ENTITY searrow "&#x02198;" ><!--alias ISOAMSA searr -->
+<!ENTITY setminus "&#x02216;" ><!--alias ISOAMSB setmn -->
+<!ENTITY ShortDownArrow "&#x02193;" ><!--short down arrow -->
+<!ENTITY ShortLeftArrow "&#x02190;" ><!--alias ISOAMSA slarr -->
+<!ENTITY shortmid "&#x02223;" ><!--alias ISOAMSR smid -->
+<!ENTITY shortparallel "&#x02225;" ><!--alias ISOAMSR spar -->
+<!ENTITY ShortRightArrow "&#x02192;" ><!--alias ISOAMSA srarr -->
+<!ENTITY ShortUpArrow "&#x02191;" ><!--short up arrow -->
+<!ENTITY simeq "&#x02243;" ><!--alias ISOTECH sime -->
+<!ENTITY SmallCircle "&#x02218;" ><!--alias ISOTECH compfn -->
+<!ENTITY smallsetminus "&#x02216;" ><!--alias ISOAMSB ssetmn -->
+<!ENTITY spadesuit "&#x02660;" ><!--ISOPUB spades -->
+<!ENTITY Sqrt "&#x0221A;" ><!--alias ISOTECH radic -->
+<!ENTITY sqsubset "&#x0228F;" ><!--alias ISOAMSR sqsub -->
+<!ENTITY sqsubseteq "&#x02291;" ><!--alias ISOAMSR sqsube -->
+<!ENTITY sqsupset "&#x02290;" ><!--alias ISOAMSR sqsup -->
+<!ENTITY sqsupseteq "&#x02292;" ><!--alias ISOAMSR sqsupe -->
+<!ENTITY Square "&#x025A1;" ><!--alias for square -->
+<!ENTITY SquareIntersection "&#x02293;" ><!--alias ISOAMSB sqcap -->
+<!ENTITY SquareSubset "&#x0228F;" ><!--alias ISOAMSR sqsub -->
+<!ENTITY SquareSubsetEqual "&#x02291;" ><!--alias ISOAMSR sqsube -->
+<!ENTITY SquareSuperset "&#x02290;" ><!--alias ISOAMSR sqsup -->
+<!ENTITY SquareSupersetEqual "&#x02292;" ><!--alias ISOAMSR sqsupe -->
+<!ENTITY SquareUnion "&#x02294;" ><!--alias ISOAMSB sqcup -->
+<!ENTITY Star "&#x022C6;" ><!--alias ISOAMSB sstarf -->
+<!ENTITY straightepsilon "&#x003B5;" ><!--alias ISOGRK3 epsi -->
+<!ENTITY straightphi "&#x003D5;" ><!--alias ISOGRK3 phi -->
+<!ENTITY Subset "&#x022D0;" ><!--alias ISOAMSR Sub -->
+<!ENTITY subset "&#x02282;" ><!--alias ISOTECH sub -->
+<!ENTITY subseteq "&#x02286;" ><!--alias ISOTECH sube -->
+<!ENTITY subseteqq "&#x02286;" ><!--alias ISOAMSR subE -->
+<!ENTITY SubsetEqual "&#x02286;" ><!--alias ISOTECH sube -->
+<!ENTITY subsetneq "&#x0228A;" ><!--alias ISOAMSN subne -->
+<!ENTITY subsetneqq "&#x0228A;" ><!--alias ISOAMSN subnE -->
+<!ENTITY succ "&#x0227B;" ><!--alias ISOAMSR sc -->
+<!ENTITY succapprox "&#x0227F;" ><!--alias ISOAMSR scap -->
+<!ENTITY succcurlyeq "&#x0227D;" ><!--alias ISOAMSR sccue -->
+<!ENTITY Succeeds "&#x0227B;" ><!--alias ISOAMSR sc -->
+<!ENTITY SucceedsEqual "&#x0227D;" ><!--alias ISOAMSR sce -->
+<!ENTITY SucceedsSlantEqual "&#x0227D;" ><!--alias ISOAMSR sccue -->
+<!ENTITY SucceedsTilde "&#x0227F;" ><!--alias ISOAMSR scsim -->
+<!ENTITY succeq "&#x0227D;" ><!--alias ISOAMSR sce -->
+<!ENTITY succnapprox "&#x022E9;" ><!--alias ISOAMSN scnap -->
+<!ENTITY succneqq "&#x02AB6;" ><!--alias ISOAMSN scnE -->
+<!ENTITY succnsim "&#x022E9;" ><!--alias ISOAMSN scnsim -->
+<!ENTITY succsim "&#x0227F;" ><!--alias ISOAMSR scsim -->
+<!ENTITY SuchThat "&#x0220B;" ><!--ISOTECH ni -->
+<!ENTITY Sum "&#x02211;" ><!--alias ISOAMSB sum -->
+<!ENTITY Superset "&#x02283;" ><!--alias ISOTECH sup -->
+<!ENTITY SupersetEqual "&#x02287;" ><!--alias ISOTECH supe -->
+<!ENTITY Supset "&#x022D1;" ><!--alias ISOAMSR Sup -->
+<!ENTITY supset "&#x02283;" ><!--alias ISOTECH sup -->
+<!ENTITY supseteq "&#x02287;" ><!--alias ISOTECH supe -->
+<!ENTITY supseteqq "&#x02287;" ><!--alias ISOAMSR supE -->
+<!ENTITY supsetneq "&#x0228B;" ><!--alias ISOAMSN supne -->
+<!ENTITY supsetneqq "&#x0228B;" ><!--alias ISOAMSN supnE -->
+<!ENTITY swarrow "&#x02199;" ><!--alias ISOAMSA swarr -->
+<!ENTITY Therefore "&#x02234;" ><!--alias ISOTECH there4 -->
+<!ENTITY therefore "&#x02234;" ><!--alias ISOTECH there4 -->
+<!ENTITY thickapprox "&#x02248;" ><!--ISOAMSR thkap -->
+<!ENTITY thicksim "&#x0223C;" ><!--ISOAMSR thksim -->
+<!ENTITY ThinSpace "&#x02009;" ><!--space of width 3/18 em alias ISOPUB thinsp -->
+<!ENTITY Tilde "&#x0223C;" ><!--alias ISOTECH sim -->
+<!ENTITY TildeEqual "&#x02243;" ><!--alias ISOTECH sime -->
+<!ENTITY TildeFullEqual "&#x02245;" ><!--alias ISOTECH cong -->
+<!ENTITY TildeTilde "&#x02248;" ><!--alias ISOTECH ap -->
+<!ENTITY toea "&#x02928;" ><!--alias ISOAMSA nesear -->
+<!ENTITY tosa "&#x02929;" ><!--alias ISOAMSA seswar -->
+<!ENTITY triangle "&#x025B5;" ><!--alias ISOPUB utri -->
+<!ENTITY triangledown "&#x025BF;" ><!--alias ISOPUB dtri -->
+<!ENTITY triangleleft "&#x025C3;" ><!--alias ISOPUB ltri -->
+<!ENTITY trianglelefteq "&#x022B4;" ><!--alias ISOAMSR ltrie -->
+<!ENTITY triangleq "&#x0225C;" ><!--alias ISOAMSR trie -->
+<!ENTITY triangleright "&#x025B9;" ><!--alias ISOPUB rtri -->
+<!ENTITY trianglerighteq "&#x022B5;" ><!--alias ISOAMSR rtrie -->
+<!ENTITY TripleDot "&#x020DB;" ><!--alias ISOTECH tdot -->
+<!ENTITY twoheadleftarrow "&#x0219E;" ><!--alias ISOAMSA Larr -->
+<!ENTITY twoheadrightarrow "&#x021A0;" ><!--alias ISOAMSA Rarr -->
+<!ENTITY ulcorner "&#x0231C;" ><!--alias ISOAMSC ulcorn -->
+<!ENTITY Union "&#x022C3;" ><!--alias ISOAMSB xcup -->
+<!ENTITY UnionPlus "&#x0228E;" ><!--alias ISOAMSB uplus -->
+<!ENTITY UpArrow "&#x02191;" ><!--alias ISONUM uarr -->
+<!ENTITY Uparrow "&#x021D1;" ><!--alias ISOAMSA uArr -->
+<!ENTITY uparrow "&#x02191;" ><!--alias ISONUM uarr -->
+<!ENTITY UpArrowDownArrow "&#x021C5;" ><!--alias ISOAMSA udarr -->
+<!ENTITY UpDownArrow "&#x02195;" ><!--alias ISOAMSA varr -->
+<!ENTITY Updownarrow "&#x021D5;" ><!--alias ISOAMSA vArr -->
+<!ENTITY updownarrow "&#x02195;" ><!--alias ISOAMSA varr -->
+<!ENTITY UpEquilibrium "&#x0296E;" ><!--alias ISOAMSA udhar -->
+<!ENTITY upharpoonleft "&#x021BF;" ><!--alias ISOAMSA uharl -->
+<!ENTITY upharpoonright "&#x021BE;" ><!--alias ISOAMSA uharr -->
+<!ENTITY UpperLeftArrow "&#x02196;" ><!--alias ISOAMSA nwarr -->
+<!ENTITY UpperRightArrow "&#x02197;" ><!--alias ISOAMSA nearr -->
+<!ENTITY upsilon "&#x003C5;" ><!--alias ISOGRK3 upsi -->
+<!ENTITY UpTee "&#x022A5;" ><!--alias ISOTECH perp -->
+<!ENTITY UpTeeArrow "&#x021A5;" ><!--Alias mapstoup -->
+<!ENTITY upuparrows "&#x021C8;" ><!--alias ISOAMSA uuarr -->
+<!ENTITY urcorner "&#x0231D;" ><!--alias ISOAMSC urcorn -->
+<!ENTITY varepsilon "&#x0025B;" ><!--alias ISOGRK3 epsiv -->
+<!ENTITY varkappa "&#x003F0;" ><!--alias ISOGRK3 kappav -->
+<!ENTITY varnothing "&#x02205;" ><!--alias ISOAMSO emptyv -->
+<!ENTITY varphi "&#x003C6;" ><!--alias ISOGRK3 phiv -->
+<!ENTITY varpi "&#x003D6;" ><!--alias ISOGRK3 piv -->
+<!ENTITY varpropto "&#x0221D;" ><!--alias ISOAMSR vprop -->
+<!ENTITY varrho "&#x003F1;" ><!--alias ISOGRK3 rhov -->
+<!ENTITY varsigma "&#x003C2;" ><!--alias ISOGRK3 sigmav -->
+<!ENTITY varsubsetneq "&#x0228A;&#x0FE00;" ><!--alias ISOAMSN vsubne -->
+<!ENTITY varsubsetneqq "&#x0228A;&#x0FE00;" ><!--alias ISOAMSN vsubnE -->
+<!ENTITY varsupsetneq "&#x0228B;&#x0FE00;" ><!--alias ISOAMSN vsupne -->
+<!ENTITY varsupsetneqq "&#x0228B;&#x0FE00;" ><!--alias ISOAMSN vsupnE -->
+<!ENTITY vartheta "&#x003D1;" ><!--alias ISOGRK3 thetav -->
+<!ENTITY vartriangleleft "&#x022B2;" ><!--alias ISOAMSR vltri -->
+<!ENTITY vartriangleright "&#x022B3;" ><!--alias ISOAMSR vrtri -->
+<!ENTITY Vee "&#x022C1;" ><!--alias ISOAMSB xvee -->
+<!ENTITY vee "&#x02228;" ><!--alias ISOTECH or -->
+<!ENTITY Vert "&#x02016;" ><!--alias ISOTECH Verbar -->
+<!ENTITY vert "&#x0007C;" ><!--alias ISONUM verbar -->
+<!ENTITY VerticalBar "&#x02223;" ><!--alias ISOAMSR mid -->
+<!ENTITY VerticalTilde "&#x02240;" ><!--alias ISOAMSB wreath -->
+<!ENTITY VeryThinSpace "&#x0200A;" ><!--space of width 1/18 em alias ISOPUB hairsp -->
+<!ENTITY Wedge "&#x022C0;" ><!--alias ISOAMSB xwedge -->
+<!ENTITY wedge "&#x02227;" ><!--alias ISOTECH and -->
+<!ENTITY wp "&#x02118;" ><!--alias ISOAMSO weierp -->
+<!ENTITY wr "&#x02240;" ><!--alias ISOAMSB wreath -->
+<!ENTITY zeetrf "&#x02128;" ><!--zee transform -->
+
+
+<!-- end of MathML Character Entity section -->]]>
+
+<!-- Revision History:
+
+ Initial draft (syntax = XML) 1997-05-09
+ Stephen Buswell
+ Revised 1997-05-14
+ Robert Miner
+ Revised 1997-06-29 and 1997-07-02
+ Stephen Buswell
+ Revised 1997-12-15
+ Stephen Buswell
+ Revised 1998-02-08
+ Stephen Buswell
+ Revised 1998-04-04
+ Stephen Buswell
+ Entities and small revisions 1999-02-21
+ David Carlisle
+ Added attribute definitionURL to ci and cn 1999-10-11
+ Nico Poppelier
+ Additions for MathML 2 1999-12-16
+ David Carlisle
+ Namespace support 2000-01-14
+ David Carlisle
+ XHTML Compatibility 2000-02-23
+ Murray Altheim
+ New content elements 2000-03-26
+ David Carlisle
+ Further revisions for MathML2 CR draft 2000-07-11
+ David Carlisle
+ Further revisions for MathML2 CR draft 2000-10-31
+ David Carlisle
+ Revisions for Unicode 3.2 2002-05-21
+ David Carlisle
+ Add width and side attributes to mtable (to align with the specification) 2002-06-05
+ David Carlisle
+ Use %XLINK.prefix rather than hardwired xlink:, add xlink:type 2002-06-12
+ David Carlisle
+ Add missing numalign and denomalign attributes for mfrac 2002-07-05
+ David Carlisle
+
+-->
+
+<!-- end of MathML 2.0 DTD ................................................ -->
+<!-- ....................................................................... -->
+
+
+]]>
+
+<!-- end of xhtml-math-svg.dtd -->
+
+
+
+<!ATTLIST %a.qname; target CDATA #IMPLIED>
+
+
diff --git a/htdocs/sgml-lib/UPD-MathML2-20021015/xhtml-math11.dtd b/htdocs/sgml-lib/UPD-MathML2-20021015/xhtml-math11.dtd
new file mode 100644
index 0000000..3a8c7d5
--- /dev/null
+++ b/htdocs/sgml-lib/UPD-MathML2-20021015/xhtml-math11.dtd
@@ -0,0 +1,9 @@
+<!ENTITY % driver SYSTEM "xhtml-math-svg.dtd">
+<!ENTITY % plane1D "&#38;#38;#xE">
+<!ENTITY % SVG.module "IGNORE" >
+<!ENTITY % MATHML.pref.prefixed "INCLUDE" >
+<!ENTITY % MATHML.sysid.base "" >
+%driver;
+<!ATTLIST %a.qname; target CDATA #IMPLIED>
+
+
diff --git a/htdocs/sgml-lib/xml.soc b/htdocs/sgml-lib/xml.soc
index 8155daa..41d4c0f 100644
--- a/htdocs/sgml-lib/xml.soc
+++ b/htdocs/sgml-lib/xml.soc
@@ -8,14 +8,14 @@ SYSTEM "spec.dtd" "http://www.w3.org/XML/1998/06/xmlspec-v20.dtd"
-- MathML 2.0 DTD driver --
PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
- "REC-MathML2-20010221/xhtml-math11-f.dtd"
+ "UPD-MathML2-20021015/xhtml-math11-f.dtd"
PUBLIC "-//W3C//DTD MathML 2.0//EN"
- "REC-MathML2-20010221/mathml2.dtd"
+ "UPD-MathML2-20021015/mathml2.dtd"
SYSTEM "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"
- "REC-MathML2-20010221/xhtml-math11-f.dtd"
+ "UPD-MathML2-20021015/xhtml-math11-f.dtd"
SYSTEM "http://www.w3.org/TR/MathML2/dtd/mathml2.dtd"
- "REC-MathML2-20010221/mathml2.dtd"
+ "UPD-MathML2-20021015/mathml2.dtd"
-- XHTML + MathML + SVG --
PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN"