diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2018-06-22 18:20:46 +0200 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2018-06-26 12:20:31 +0200 |
commit | a09ed7100e07c0416017c06de9e22fa888377d15 (patch) | |
tree | 146739719a89a7ca98dd3fad1afe619c242fd011 /schema/mathml2/content | |
parent | b88706f98b0859a40b5e50596c9fa75398c90c2f (diff) |
schema: add MathML2 XSD
These are needed to invoke the ODF validator with custom ODF schemas.
Change-Id: I231b5d8a8573e9ac6171a331362a31aceae08d80
Reviewed-on: https://gerrit.libreoffice.org/56399
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'schema/mathml2/content')
-rw-r--r-- | schema/mathml2/content/arith.xsd | 90 | ||||
-rw-r--r-- | schema/mathml2/content/calculus.xsd | 146 | ||||
-rw-r--r-- | schema/mathml2/content/common-attrib.xsd | 30 | ||||
-rw-r--r-- | schema/mathml2/content/constants.xsd | 83 | ||||
-rw-r--r-- | schema/mathml2/content/constructs.xsd | 260 | ||||
-rw-r--r-- | schema/mathml2/content/elementary-functions.xsd | 117 | ||||
-rw-r--r-- | schema/mathml2/content/functions.xsd | 73 | ||||
-rw-r--r-- | schema/mathml2/content/linear-algebra.xsd | 173 | ||||
-rw-r--r-- | schema/mathml2/content/logic.xsd | 53 | ||||
-rw-r--r-- | schema/mathml2/content/relations.xsd | 55 | ||||
-rw-r--r-- | schema/mathml2/content/semantics.xsd | 85 | ||||
-rw-r--r-- | schema/mathml2/content/sets.xsd | 236 | ||||
-rw-r--r-- | schema/mathml2/content/statistics.xsd | 136 | ||||
-rw-r--r-- | schema/mathml2/content/tokens.xsd | 120 | ||||
-rw-r--r-- | schema/mathml2/content/vector-calculus.xsd | 88 |
15 files changed, 1745 insertions, 0 deletions
diff --git a/schema/mathml2/content/arith.xsd b/schema/mathml2/content/arith.xsd new file mode 100644 index 000000000000..fdb508f7e4c3 --- /dev/null +++ b/schema/mathml2/content/arith.xsd @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/1998/Math/MathML" + targetNamespace="http://www.w3.org/1998/Math/MathML" + elementFormDefault="qualified" +> + +<xs:annotation> + <xs:documentation> + This is an XML Schema module for the "arithmetic" operators of content + MathML. + Author: Stéphane Dalmas, INRIA. + </xs:documentation> +</xs:annotation> + +<!-- a common type for all this --> + +<xs:complexType name="Arith.type"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:complexType> + +<!-- The elements --> + +<xs:element name="abs" type="Arith.type"/> +<xs:element name="conjugate" type="Arith.type"/> +<xs:element name="arg" type="Arith.type"/> +<xs:element name="real" type="Arith.type"/> +<xs:element name="imaginary" type="Arith.type"/> + +<xs:element name="floor" type="Arith.type"/> +<xs:element name="ceiling" type="Arith.type"/> + +<xs:element name="power" type="Arith.type"/> +<xs:element name="root" type="Arith.type"/> + +<xs:element name="minus" type="Arith.type"/> +<xs:element name="plus" type="Arith.type"/> +<xs:element name="sum" type="Arith.type"/> +<xs:element name="times" type="Arith.type"/> +<xs:element name="product" type="Arith.type"/> + +<xs:element name="max" type="Arith.type"/> +<xs:element name="min" type="Arith.type"/> + +<xs:element name="factorial" type="Arith.type"/> +<xs:element name="quotient" type="Arith.type"/> +<xs:element name="divide" type="Arith.type"/> +<xs:element name="rem" type="Arith.type"/> +<xs:element name="gcd" type="Arith.type"/> +<xs:element name="lcm" type="Arith.type"/> + +<!-- And the group of everything --> + +<xs:group name="Content-arith.class"> + <xs:choice> + <xs:element ref="abs"/> + <xs:element ref="conjugate"/> + <xs:element ref="factorial"/> + <xs:element ref="arg"/> + <xs:element ref="real"/> + <xs:element ref="imaginary"/> + <xs:element ref="floor"/> + <xs:element ref="ceiling"/> + <xs:element ref="quotient"/> + <xs:element ref="divide"/> + <xs:element ref="rem"/> + <xs:element ref="minus"/> + <xs:element ref="plus"/> + <xs:element ref="times"/> + <xs:element ref="power"/> + <xs:element ref="root"/> + <xs:element ref="max"/> + <xs:element ref="min"/> + <xs:element ref="gcd"/> + <xs:element ref="lcm"/> + <xs:element ref="sum"/> + <xs:element ref="product"/> + </xs:choice> +</xs:group> + +</xs:schema> +<!-- + Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. See + http://www.w3.org/Consortium/Legal/. + --> diff --git a/schema/mathml2/content/calculus.xsd b/schema/mathml2/content/calculus.xsd new file mode 100644 index 000000000000..1b8fdb0e0305 --- /dev/null +++ b/schema/mathml2/content/calculus.xsd @@ -0,0 +1,146 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/1998/Math/MathML" + targetNamespace="http://www.w3.org/1998/Math/MathML" + elementFormDefault="qualified" + > + +<xs:annotation> + <xs:documentation> + This is an XML Schema module for the calculs operators of content + MathML. + Author: Stéphane Dalmas, INRIA. + </xs:documentation> +</xs:annotation> + +<!-- "int" --> + +<xs:attributeGroup name="int.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="int.type"> + <xs:attributeGroup ref="int.attlist"/> +</xs:complexType> + +<xs:element name="int" type="int.type"/> + +<!-- "diff" --> + +<xs:attributeGroup name="diff.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="diff.type"> + <xs:attributeGroup ref="diff.attlist"/> +</xs:complexType> + +<xs:element name="diff" type="diff.type"/> + +<!-- "partialdiff" --> + +<xs:attributeGroup name="partialdiff.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="partialdiff.type"> + <xs:attributeGroup ref="partialdiff.attlist"/> +</xs:complexType> + +<xs:element name="partialdiff" type="partialdiff.type"/> + +<!-- "limit" --> + +<xs:attributeGroup name="limit.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + + +<xs:complexType name="limit.type"> + <xs:attributeGroup ref="limit.attlist"/> +</xs:complexType> + +<xs:element name="limit" type="limit.type"/> + +<!-- "lowlimit" --> + +<xs:attributeGroup name="lowlimit.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:group name="lowlimit.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="lowlimit.type"> + <xs:group ref="lowlimit.content" minOccurs="1" maxOccurs="unbounded"/> + <xs:attributeGroup ref="lowlimit.attlist"/> +</xs:complexType> + +<xs:element name="lowlimit" type="lowlimit.type"/> + +<!-- "uplimit" --> + +<xs:attributeGroup name="uplimit.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:group name="uplimit.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="uplimit.type"> + <xs:group ref="uplimit.content" minOccurs="1" maxOccurs="unbounded"/> + <xs:attributeGroup ref="uplimit.attlist"/> +</xs:complexType> + +<xs:element name="uplimit" type="uplimit.type"/> + +<!-- "tendsto" --> + +<xs:attributeGroup name="tendsto.attlist"> + <xs:attribute name="type" type="xs:string"/> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + + +<xs:complexType name="tendsto.type"> + <xs:attributeGroup ref="tendsto.attlist"/> +</xs:complexType> + +<xs:element name="tendsto" type="tendsto.type"/> + +<!-- And the group of everything --> + +<xs:group name="Content-calculus.class"> + <xs:choice> + <xs:element ref="int"/> + <xs:element ref="diff"/> + <xs:element ref="partialdiff"/> + <xs:element ref="limit"/> + <xs:element ref="lowlimit"/> + <xs:element ref="uplimit"/> + <xs:element ref="tendsto"/> + </xs:choice> +</xs:group> + +</xs:schema> +<!-- + Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. See + http://www.w3.org/Consortium/Legal/. + --> diff --git a/schema/mathml2/content/common-attrib.xsd b/schema/mathml2/content/common-attrib.xsd new file mode 100644 index 000000000000..b0d599f4a36c --- /dev/null +++ b/schema/mathml2/content/common-attrib.xsd @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/1998/Math/MathML" + targetNamespace="http://www.w3.org/1998/Math/MathML" + elementFormDefault="qualified" + > + +<xs:annotation> + <xs:documentation> + This is the XML schema module defining common attributes for the + content part of MathML. + Authors: Stéphane Dalmas, INRIA. + </xs:documentation> +</xs:annotation> + +<xs:attributeGroup name="Definition.attrib"> + <xs:attribute name="encoding" type="xs:string"/> + <xs:attribute name="definitionURL" type="xs:anyURI"/> +</xs:attributeGroup> + +</xs:schema> + +<!-- + Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. See + http://www.w3.org/Consortium/Legal/. + --> diff --git a/schema/mathml2/content/constants.xsd b/schema/mathml2/content/constants.xsd new file mode 100644 index 000000000000..a22548e26946 --- /dev/null +++ b/schema/mathml2/content/constants.xsd @@ -0,0 +1,83 @@ +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/1998/Math/MathML" + targetNamespace="http://www.w3.org/1998/Math/MathML" + elementFormDefault="qualified" + > + +<xs:annotation> + <xs:documentation> + This is the XML Schema module for the basic constants of MathML content. + Author: Stéphane Dalmas. + </xs:documentation> +</xs:annotation> + +<!-- a common type for all this --> + +<xs:complexType name="Constant.type"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:complexType> + +<!-- Basic sets --> + +<xs:element name="naturalnumbers" type="Constant.type"/> +<xs:element name="primes" type="Constant.type"/> +<xs:element name="integers" type="Constant.type"/> +<xs:element name="rationals" type="Constant.type"/> +<xs:element name="reals" type="Constant.type"/> +<xs:element name="complexes" type="Constant.type"/> + +<!-- Empty set --> + +<xs:element name="emptyset" type="Constant.type"/> + +<!-- Basic constants --> + +<xs:element name="exponentiale" type="Constant.type"/> +<xs:element name="imaginaryi" type="Constant.type"/> +<xs:element name="pi" type="Constant.type"/> +<xs:element name="eulergamma" type="Constant.type"/> + +<!-- Boolean constants --> + +<xs:element name="true" type="Constant.type"/> +<xs:element name="false" type="Constant.type"/> + +<!-- Infinty --> + +<xs:element name="infinity" type="Constant.type"/> + +<!-- NotANumber --> + +<xs:element name="notanumber" type="Constant.type"/> + +<!-- And the group of everything --> + +<xs:group name="Content-constants.class"> + <xs:choice> + <xs:element ref="naturalnumbers"/> + <xs:element ref="primes"/> + <xs:element ref="integers"/> + <xs:element ref="rationals"/> + <xs:element ref="reals"/> + <xs:element ref="complexes"/> + <xs:element ref="emptyset"/> + <xs:element ref="exponentiale"/> + <xs:element ref="imaginaryi"/> + <xs:element ref="pi"/> + <xs:element ref="eulergamma"/> + <xs:element ref="true"/> + <xs:element ref="false"/> + <xs:element ref="infinity"/> + <xs:element ref="notanumber"/> + </xs:choice> +</xs:group> + +</xs:schema> +<!-- + Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. See + http://www.w3.org/Consortium/Legal/. + --> diff --git a/schema/mathml2/content/constructs.xsd b/schema/mathml2/content/constructs.xsd new file mode 100644 index 000000000000..4cfc21af8a3d --- /dev/null +++ b/schema/mathml2/content/constructs.xsd @@ -0,0 +1,260 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/1998/Math/MathML" + targetNamespace="http://www.w3.org/1998/Math/MathML" + elementFormDefault="qualified" + > + + +<xs:annotation> + <xs:documentation> + This is an XML Schema module for the basic constructs of content MathML. + Author: Stéphane Dalmas, INRIA. + </xs:documentation> +</xs:annotation> + +<!-- "apply" --> + +<xs:attributeGroup name="apply.attlist"> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:group name="apply.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="apply.type"> + <xs:group ref="apply.content" minOccurs="0" maxOccurs="unbounded"/> + <xs:attributeGroup ref="apply.attlist"/> +</xs:complexType> + +<xs:element name="apply" type="apply.type"/> + +<!-- "interval" --> + +<xs:attributeGroup name="interval.attlist"> + <xs:attribute name="closure" default="closed"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="closed"/> + <xs:enumeration value="open"/> + <xs:enumeration value="open-closed"/> + <xs:enumeration value="closed-open"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<!-- +<xs:group name="interval.content"> + <xs:choice> + <xs:group ref="Content-expr.class" minOccurs="2" maxOccurs="2"/> + <xs:element ref="condition"/> + </xs:choice> +</xs:group> +--> + +<xs:complexType name="interval.type"> +<!-- <xs:group ref="interval.content"/> --> + <xs:group ref="Content-expr.class" maxOccurs="2"/> + <xs:attributeGroup ref="interval.attlist"/> +</xs:complexType> + +<xs:element name="interval" type="interval.type"/> + +<!-- "inverse" --> + +<xs:attributeGroup name="inverse.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="inverse.type"> + <xs:attributeGroup ref="inverse.attlist"/> +</xs:complexType> + +<xs:element name="inverse" type="inverse.type"/> + +<!-- "condition" --> + +<xs:attributeGroup name="condition.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> +</xs:attributeGroup> + +<xs:group name="condition.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="condition.type"> + <xs:group ref="condition.content" minOccurs="1" maxOccurs="unbounded"/> + <xs:attributeGroup ref="condition.attlist"/> +</xs:complexType> + +<xs:element name="condition" type="condition.type"/> + +<!-- "declare" --> + +<xs:attributeGroup name="declare.attlist"> + <xs:attribute name="type" type="xs:string"/> + <xs:attribute name="scope" type="xs:string"/> + <xs:attribute name="nargs" type="xs:nonNegativeInteger"/> + <xs:attribute name="occurrence"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="prefix"/> + <xs:enumeration value="infix"/> + <xs:enumeration value="function-model"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attributeGroup ref="Definition.attrib"/> +</xs:attributeGroup> + +<xs:group name="declare.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="declare.type"> + <xs:group ref="declare.content" minOccurs="1" maxOccurs="unbounded"/> + <xs:attributeGroup ref="declare.attlist"/> +</xs:complexType> + +<xs:element name="declare" type="declare.type"/> + +<!-- "lambda" --> + +<xs:attributeGroup name="lambda.attlist"> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:group name="lambda.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="lambda.type"> + <xs:group ref="lambda.content" minOccurs="1" maxOccurs="unbounded"/> + <xs:attributeGroup ref="lambda.attlist"/> +</xs:complexType> + +<xs:element name="lambda" type="lambda.type"/> + +<!-- "piecewise" and its inner elements --> + +<xs:group name="otherwise.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="otherwise.type"> + <xs:group ref="otherwise.content"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:complexType> + +<xs:element name="otherwise" type="otherwise.type"/> + +<xs:group name="piece.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="piece.type"> + <xs:group ref="piece.content" minOccurs="1" maxOccurs="unbounded"/> +</xs:complexType> + +<xs:element name="piece" type="piece.type"/> + +<xs:attributeGroup name="piecewise.attlist"> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:group name="piecewise.content"> + <xs:sequence> + <xs:element ref="piece" minOccurs="0" maxOccurs="unbounded"/> + <xs:sequence minOccurs="0"> + <xs:element ref="otherwise"/> + <xs:element ref="piece" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:sequence> +</xs:group> + +<xs:complexType name="piecewise.type"> + <xs:group ref="piecewise.content"/> + <xs:attributeGroup ref="piecewise.attlist"/> +</xs:complexType> + +<xs:element name="piecewise" type="piecewise.type"/> + +<!-- "bvar" --> + +<xs:attributeGroup name="bvar.attlist"> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:group name="bvar.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="bvar.type"> + <xs:group ref="bvar.content" minOccurs="1" maxOccurs="unbounded"/> + <xs:attributeGroup ref="bvar.attlist"/> +</xs:complexType> + +<xs:element name="bvar" type="bvar.type"/> + +<!-- "degree" --> + +<xs:attributeGroup name="degree.attlist"> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:group name="degree.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="degree.type"> + <xs:group ref="degree.content" minOccurs="1" maxOccurs="unbounded"/> + <xs:attributeGroup ref="degree.attlist"/> +</xs:complexType> + +<xs:element name="degree" type="degree.type"/> + +<!-- And the group of everything --> + +<xs:group name="Content-constructs.class"> + <xs:choice> + <xs:element ref="apply"/> + <xs:element ref="interval"/> + <xs:element ref="inverse"/> + <xs:element ref="condition"/> + <xs:element ref="declare"/> + <xs:element ref="lambda"/> + <xs:element ref="piecewise"/> + <xs:element ref="bvar"/> + <xs:element ref="degree"/> + </xs:choice> +</xs:group> + +</xs:schema> +<!-- + Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. See + http://www.w3.org/Consortium/Legal/. + --> diff --git a/schema/mathml2/content/elementary-functions.xsd b/schema/mathml2/content/elementary-functions.xsd new file mode 100644 index 000000000000..b106f0d170b1 --- /dev/null +++ b/schema/mathml2/content/elementary-functions.xsd @@ -0,0 +1,117 @@ +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/1998/Math/MathML" + targetNamespace="http://www.w3.org/1998/Math/MathML" + elementFormDefault="qualified" + > + + +<xs:annotation> + <xs:documentation> + This is an XML Schema module for the elementary functions in content + MathML. + Author: Stéphane Dalmas, INRIA. + </xs:documentation> +</xs:annotation> + +<!-- a common type for all this --> + +<xs:complexType name="Elementary-functions.type"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:complexType> + +<!-- Exp and logs --> + +<xs:element name="exp" type="Elementary-functions.type"/> +<xs:element name="ln" type="Elementary-functions.type"/> +<xs:element name="log" type="Elementary-functions.type"/> + +<!-- special element of the base of logarithms --> + +<xs:group name="logbase.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="logbase.type"> + <xs:group ref="logbase.content"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:complexType> + +<xs:element name="logbase" type="logbase.type"/> + +<!-- Trigonometric functions --> + +<xs:element name="sin" type="Elementary-functions.type"/> +<xs:element name="cos" type="Elementary-functions.type"/> +<xs:element name="tan" type="Elementary-functions.type"/> +<xs:element name="sec" type="Elementary-functions.type"/> +<xs:element name="csc" type="Elementary-functions.type"/> +<xs:element name="cot" type="Elementary-functions.type"/> + +<xs:element name="arcsin" type="Elementary-functions.type"/> +<xs:element name="arccos" type="Elementary-functions.type"/> +<xs:element name="arctan" type="Elementary-functions.type"/> +<xs:element name="arccot" type="Elementary-functions.type"/> +<xs:element name="arccsc" type="Elementary-functions.type"/> +<xs:element name="arcsec" type="Elementary-functions.type"/> + +<!-- Hyperbolic trigonometric functions --> + +<xs:element name="sinh" type="Elementary-functions.type"/> +<xs:element name="cosh" type="Elementary-functions.type"/> +<xs:element name="tanh" type="Elementary-functions.type"/> +<xs:element name="sech" type="Elementary-functions.type"/> +<xs:element name="csch" type="Elementary-functions.type"/> +<xs:element name="coth" type="Elementary-functions.type"/> +<xs:element name="arccosh" type="Elementary-functions.type"/> +<xs:element name="arccoth" type="Elementary-functions.type"/> +<xs:element name="arccsch" type="Elementary-functions.type"/> +<xs:element name="arcsech" type="Elementary-functions.type"/> +<xs:element name="arcsinh" type="Elementary-functions.type"/> +<xs:element name="arctanh" type="Elementary-functions.type"/> + +<!-- And the group of everything --> + +<xs:group name="Content-elementary-functions.class"> + <xs:choice> + <xs:element ref="exp"/> + <xs:element ref="ln"/> + <xs:element ref="log"/> + <xs:element ref="logbase"/> + <xs:element ref="sin"/> + <xs:element ref="cos"/> + <xs:element ref="tan"/> + <xs:element ref="sec"/> + <xs:element ref="csc"/> + <xs:element ref="cot"/> + <xs:element ref="arcsin"/> + <xs:element ref="arccos"/> + <xs:element ref="arctan"/> + <xs:element ref="arcsec"/> + <xs:element ref="arccsc"/> + <xs:element ref="arccot"/> + <xs:element ref="sinh"/> + <xs:element ref="cosh"/> + <xs:element ref="tanh"/> + <xs:element ref="sech"/> + <xs:element ref="csch"/> + <xs:element ref="coth"/> + <xs:element ref="arccosh"/> + <xs:element ref="arccoth"/> + <xs:element ref="arccsch"/> + <xs:element ref="arcsech"/> + <xs:element ref="arcsinh"/> + <xs:element ref="arctanh"/> + </xs:choice> +</xs:group> + +</xs:schema> +<!-- + Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. See + http://www.w3.org/Consortium/Legal/. + --> diff --git a/schema/mathml2/content/functions.xsd b/schema/mathml2/content/functions.xsd new file mode 100644 index 000000000000..11a5768dcc2a --- /dev/null +++ b/schema/mathml2/content/functions.xsd @@ -0,0 +1,73 @@ +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/1998/Math/MathML" + targetNamespace="http://www.w3.org/1998/Math/MathML" + elementFormDefault="qualified" + > + + +<xs:annotation> + <xs:documentation> + This is an XML Schema module for operators dealing with functions in content + MathML. + Author: Stéphane Dalmas, INRIA. + </xs:documentation> +</xs:annotation> + +<!-- a common type for all this --> + +<xs:complexType name="Functions.type"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:complexType> + +<!-- "compose" --> + +<xs:element name="compose" type="Functions.type"/> + +<!-- Domain, codomain and image --> + +<xs:element name="domain" type="Functions.type"/> +<xs:element name="codomain" type="Functions.type"/> +<xs:element name="image" type="Functions.type"/> + +<!-- "domainofapplication" --> + +<xs:group name="domainofapplication.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="domainofapplication.type"> + <xs:group ref="domainofapplication.content"/> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:complexType> + +<xs:element name="domainofapplication" type="domainofapplication.type"/> + +<!-- identity --> + +<xs:element name="ident" type="Functions.type"/> + +<!-- And the group of everything --> + +<xs:group name="Content-functions.class"> + <xs:choice> + <xs:element ref="compose"/> + <xs:element ref="domain"/> + <xs:element ref="codomain"/> + <xs:element ref="image"/> + <xs:element ref="domainofapplication"/> + <xs:element ref="ident"/> + </xs:choice> +</xs:group> + +</xs:schema> +<!-- + Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. See + http://www.w3.org/Consortium/Legal/. + --> diff --git a/schema/mathml2/content/linear-algebra.xsd b/schema/mathml2/content/linear-algebra.xsd new file mode 100644 index 000000000000..eb62bcb6f218 --- /dev/null +++ b/schema/mathml2/content/linear-algebra.xsd @@ -0,0 +1,173 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/1998/Math/MathML" + targetNamespace="http://www.w3.org/1998/Math/MathML" + elementFormDefault="qualified" + > + +<xs:annotation> + <xs:documentation> + This is an XML Schema module for the linear algebra part of content MathML. + Author: Stéphane Dalmas, INRIA. + </xs:documentation> +</xs:annotation> + +<!-- "vector" --> + +<xs:attributeGroup name="vector.attlist"> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:group name="vector.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="vector.type"> + <xs:group ref="vector.content" minOccurs="1" maxOccurs="unbounded"/> + <xs:attributeGroup ref="vector.attlist"/> +</xs:complexType> + +<xs:element name="vector" type="vector.type"/> + +<!-- "matrix" --> + +<xs:attributeGroup name="matrix.attlist"> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:group name="matrix.content"> + <xs:sequence> + <xs:element ref="matrixrow"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="matrix.type"> + <xs:group ref="matrix.content" minOccurs="1" maxOccurs="unbounded"/> + <xs:attributeGroup ref="matrix.attlist"/> +</xs:complexType> + +<xs:element name="matrix" type="matrix.type"/> + +<!-- "matrixrow" --> + +<xs:attributeGroup name="matrixrow.attlist"> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:group name="matrixrow.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="matrixrow.type"> + <xs:group ref="matrixrow.content" minOccurs="1" maxOccurs="unbounded"/> + <xs:attributeGroup ref="matrixrow.attlist"/> +</xs:complexType> + +<xs:element name="matrixrow" type="matrixrow.type"/> + +<!-- "determinant" --> + +<xs:attributeGroup name="determinant.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="determinant.type"> + <xs:attributeGroup ref="determinant.attlist"/> +</xs:complexType> + +<xs:element name="determinant" type="determinant.type"/> + +<!-- "transpose" --> + +<xs:attributeGroup name="transpose.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="transpose.type"> + <xs:attributeGroup ref="transpose.attlist"/> +</xs:complexType> + +<xs:element name="transpose" type="transpose.type"/> + +<!-- "selector" --> + +<xs:attributeGroup name="selector.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="selector.type"> + <xs:attributeGroup ref="selector.attlist"/> +</xs:complexType> + +<xs:element name="selector" type="selector.type"/> + +<!-- "vectorproduct" --> + +<xs:attributeGroup name="vectorproduct.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="vectorproduct.type"> + <xs:attributeGroup ref="vectorproduct.attlist"/> +</xs:complexType> + +<xs:element name="vectorproduct" type="vectorproduct.type"/> + +<!-- "scalarproduct" --> + +<xs:attributeGroup name="scalarproduct.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="scalarproduct.type"> + <xs:attributeGroup ref="scalarproduct.attlist"/> +</xs:complexType> + +<xs:element name="scalarproduct" type="scalarproduct.type"/> + +<!-- "outerproduct" --> + +<xs:attributeGroup name="outerproduct.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="outerproduct.type"> + <xs:attributeGroup ref="outerproduct.attlist"/> +</xs:complexType> + +<xs:element name="outerproduct" type="outerproduct.type"/> + +<!-- And the group of everything --> + +<xs:group name="Content-linear-algebra.class"> + <xs:choice> + <xs:element ref="vector"/> + <xs:element ref="matrix"/> + <xs:element ref="determinant"/> + <xs:element ref="transpose"/> + <xs:element ref="selector"/> + <xs:element ref="vectorproduct"/> + <xs:element ref="scalarproduct"/> + <xs:element ref="outerproduct"/> + </xs:choice> +</xs:group> +</xs:schema> + +<!-- + Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. See + http://www.w3.org/Consortium/Legal/. + --> diff --git a/schema/mathml2/content/logic.xsd b/schema/mathml2/content/logic.xsd new file mode 100644 index 000000000000..6dac2abe4a31 --- /dev/null +++ b/schema/mathml2/content/logic.xsd @@ -0,0 +1,53 @@ +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/1998/Math/MathML" + targetNamespace="http://www.w3.org/1998/Math/MathML" + elementFormDefault="qualified" + > + +<xs:annotation> + <xs:documentation> + This is an XML Schema module for the logic operators of content MathML. + Author: Stéphane Dalmas, INRIA. + </xs:documentation> +</xs:annotation> + +<!-- a common type for all this --> + +<xs:complexType name="Logic.type"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:complexType> + +<xs:element name="and" type="Elementary-functions.type"/> +<xs:element name="or" type="Logic.type"/> +<xs:element name="xor" type="Logic.type"/> + +<xs:element name="not" type="Logic.type"/> + +<xs:element name="exists" type="Logic.type"/> +<xs:element name="forall" type="Logic.type"/> + +<xs:element name="implies" type="Logic.type"/> + +<!-- And the group of everything --> + +<xs:group name="Content-logic.class"> + <xs:choice> + <xs:element ref="and"/> + <xs:element ref="or"/> + <xs:element ref="xor"/> + <xs:element ref="not"/> + <xs:element ref="exists"/> + <xs:element ref="forall"/> + <xs:element ref="implies"/> + </xs:choice> +</xs:group> + +</xs:schema> +<!-- + Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. See + http://www.w3.org/Consortium/Legal/. + --> diff --git a/schema/mathml2/content/relations.xsd b/schema/mathml2/content/relations.xsd new file mode 100644 index 000000000000..87496e5c3a66 --- /dev/null +++ b/schema/mathml2/content/relations.xsd @@ -0,0 +1,55 @@ +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/1998/Math/MathML" + targetNamespace="http://www.w3.org/1998/Math/MathML" + elementFormDefault="qualified" + > + +<xs:annotation> + <xs:documentation> + This is an XML Schema module for the relational operators of content MathML. + Author: Stéphane Dalmas, INRIA. + </xs:documentation> +</xs:annotation> + +<!-- a common type for all this --> +<xs:complexType name="Relations.type"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:complexType> + +<xs:element name="eq" type="Relations.type"/> +<xs:element name="neq" type="Relations.type"/> +<xs:element name="leq" type="Relations.type"/> +<xs:element name="lt" type="Relations.type"/> +<xs:element name="geq" type="Relations.type"/> +<xs:element name="gt" type="Relations.type"/> + +<xs:element name="equivalent" type="Relations.type"/> + +<xs:element name="approx" type="Relations.type"/> + +<xs:element name="factorof" type="Relations.type"/> + +<!-- And the group of everything --> +<xs:group name="Content-relations.class"> + <xs:choice> + <xs:element ref="eq"/> + <xs:element ref="neq"/> + <xs:element ref="leq"/> + <xs:element ref="lt"/> + <xs:element ref="geq"/> + <xs:element ref="gt"/> + <xs:element ref="equivalent"/> + <xs:element ref="approx"/> + <xs:element ref="factorof"/> + </xs:choice> +</xs:group> + +</xs:schema> +<!-- + Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. See + http://www.w3.org/Consortium/Legal/. + --> diff --git a/schema/mathml2/content/semantics.xsd b/schema/mathml2/content/semantics.xsd new file mode 100644 index 000000000000..d337ee76f11c --- /dev/null +++ b/schema/mathml2/content/semantics.xsd @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/1998/Math/MathML" + targetNamespace="http://www.w3.org/1998/Math/MathML" + elementFormDefault="qualified" + > + +<xs:annotation> + <xs:documentation> + This is an XML Schema module for the "sematics" element of content MathML. + Author: Stéphane Dalmas, INRIA. + </xs:documentation> +</xs:annotation> + +<!-- "annotation" --> + +<xs:attributeGroup name="annotation.attlist"> + <xs:attribute name="encoding" type="xs:string"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="annotation.type" mixed="true"> + <xs:attributeGroup ref="annotation.attlist"/> +</xs:complexType> + +<xs:element name="annotation" type="annotation.type"/> + +<!-- "annotation-xml" --> + +<xs:attributeGroup name="annotation-xml.attlist"> + <xs:attribute name="encoding" type="xs:string"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:group name="annotation-xml.content"> + <xs:sequence> + <xs:any processContents="lax"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="annotation-xml.type"> + <xs:group ref="annotation-xml.content"/> + <xs:attributeGroup ref="annotation-xml.attlist"/> +</xs:complexType> + +<xs:element name="annotation-xml" type="annotation-xml.type"/> + +<!-- "semantics" --> + +<xs:attributeGroup name="semantics.attlist"> + <xs:attribute name="encoding" type="xs:string"/> + <xs:attribute name="definitionURL" type="xs:anyURI"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:group name="Annotation.class"> + <xs:choice> + <xs:element ref="annotation"/> + <xs:element ref="annotation-xml"/> + </xs:choice> +</xs:group> + +<xs:group name="semantics.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + <xs:group ref="Annotation.class" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="semantics.type"> + <xs:group ref="semantics.content" minOccurs="1" maxOccurs="unbounded"/> + <xs:attributeGroup ref="semantics.attlist"/> +</xs:complexType> + +<xs:element name="semantics" type="semantics.type"/> + +</xs:schema> +<!-- + Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. See + http://www.w3.org/Consortium/Legal/. + --> diff --git a/schema/mathml2/content/sets.xsd b/schema/mathml2/content/sets.xsd new file mode 100644 index 000000000000..7a7f7f6851dd --- /dev/null +++ b/schema/mathml2/content/sets.xsd @@ -0,0 +1,236 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/1998/Math/MathML" + targetNamespace="http://www.w3.org/1998/Math/MathML" + elementFormDefault="qualified" + > + +<xs:annotation> + <xs:documentation> + This is an XML Schema module for the part of content MathML dealing with + sets and lists. + Author: Stéphane Dalmas, INRIA. + </xs:documentation> +</xs:annotation> + +<!-- "set" --> + +<!-- "type" could be "multiset" or "normal" or anything else --> +<xs:attributeGroup name="set.attlist"> + <xs:attribute name="type" type="xs:string"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:group name="set.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="set.type"> + <xs:group ref="set.content" minOccurs="0" maxOccurs="unbounded"/> + <xs:attributeGroup ref="set.attlist"/> +</xs:complexType> + +<xs:element name="set" type="set.type"/> + +<!-- "list" --> + +<xs:attributeGroup name="list.attlist"> + <xs:attribute name="order"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="lexicographic"/> + <xs:enumeration value="numeric"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:group name="list.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="list.type"> + <xs:group ref="list.content" minOccurs="0" maxOccurs="unbounded"/> + <xs:attributeGroup ref="list.attlist"/> +</xs:complexType> + +<xs:element name="list" type="list.type"/> + +<!-- "union" --> + +<xs:attributeGroup name="union.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="union.type"> + <xs:attributeGroup ref="union.attlist"/> +</xs:complexType> + +<xs:element name="union" type="union.type"/> + +<!-- "intersect" --> + +<xs:attributeGroup name="intersect.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="intersect.type"> + <xs:attributeGroup ref="intersect.attlist"/> +</xs:complexType> + +<xs:element name="intersect" type="intersect.type"/> + +<!-- "in" --> + +<xs:attributeGroup name="in.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="in.type"> + <xs:attributeGroup ref="in.attlist"/> +</xs:complexType> + +<xs:element name="in" type="in.type"/> + +<!-- "notin" --> + +<xs:attributeGroup name="notin.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="notin.type"> + <xs:attributeGroup ref="notin.attlist"/> +</xs:complexType> + +<xs:element name="notin" type="notin.type"/> + +<!-- "subset" --> + +<xs:attributeGroup name="subset.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="subset.type"> + <xs:attributeGroup ref="subset.attlist"/> +</xs:complexType> + +<xs:element name="subset" type="subset.type"/> + +<!-- "prsubset" --> + +<xs:attributeGroup name="prsubset.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="prsubset.type"> + <xs:attributeGroup ref="prsubset.attlist"/> +</xs:complexType> + +<xs:element name="prsubset" type="prsubset.type"/> + +<!-- "notsubset" --> + +<xs:attributeGroup name="notsubset.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="notsubset.type"> + <xs:attributeGroup ref="notsubset.attlist"/> +</xs:complexType> + +<xs:element name="notsubset" type="notsubset.type"/> + +<!-- "notprsubset" --> + +<xs:attributeGroup name="notprsubset.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="notprsubset.type"> + <xs:attributeGroup ref="notprsubset.attlist"/> +</xs:complexType> + +<xs:element name="notprsubset" type="notprsubset.type"/> + +<!-- "setdiff" --> + +<xs:attributeGroup name="setdiff.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="setdiff.type"> + <xs:attributeGroup ref="setdiff.attlist"/> +</xs:complexType> + +<xs:element name="setdiff" type="setdiff.type"/> + +<!-- "card" --> + +<xs:attributeGroup name="card.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="card.type"> + <xs:attributeGroup ref="card.attlist"/> +</xs:complexType> + +<xs:element name="card" type="card.type"/> + +<!-- "cartesianproduct" --> + +<xs:attributeGroup name="cartesianproduct.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="cartesianproduct.type"> + <xs:attributeGroup ref="cartesianproduct.attlist"/> +</xs:complexType> + +<xs:element name="cartesianproduct" type="cartesianproduct.type"/> + +<!-- And the group of everything --> + +<xs:group name="Content-sets.class"> + <xs:choice> + <xs:element ref="set"/> + <xs:element ref="list"/> + <xs:element ref="union"/> + <xs:element ref="intersect"/> + <xs:element ref="in"/> + <xs:element ref="notin"/> + <xs:element ref="subset"/> + <xs:element ref="prsubset"/> + <xs:element ref="notsubset"/> + <xs:element ref="notprsubset"/> + <xs:element ref="setdiff"/> + <xs:element ref="card"/> + <xs:element ref="cartesianproduct"/> + </xs:choice> +</xs:group> + +</xs:schema> + +<!-- + Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. See + http://www.w3.org/Consortium/Legal/. + --> diff --git a/schema/mathml2/content/statistics.xsd b/schema/mathml2/content/statistics.xsd new file mode 100644 index 000000000000..cf0f20e329fb --- /dev/null +++ b/schema/mathml2/content/statistics.xsd @@ -0,0 +1,136 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/1998/Math/MathML" + targetNamespace="http://www.w3.org/1998/Math/MathML" + elementFormDefault="qualified" + > + +<xs:annotation> + <xs:documentation> + This is an XML Schema module for the statistical operators of content MathML. + Author: Stéphane Dalmas, INRIA. + </xs:documentation> +</xs:annotation> + +<!-- "mean" --> + +<xs:attributeGroup name="mean.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="mean.type"> + <xs:attributeGroup ref="mean.attlist"/> +</xs:complexType> + +<xs:element name="mean" type="mean.type"/> + +<!-- "sdev" --> + +<xs:attributeGroup name="sdev.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="sdev.type"> + <xs:attributeGroup ref="sdev.attlist"/> +</xs:complexType> + +<xs:element name="sdev" type="sdev.type"/> + +<!-- "variance" --> + +<xs:attributeGroup name="variance.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="variance.type"> + <xs:attributeGroup ref="variance.attlist"/> +</xs:complexType> + +<xs:element name="variance" type="variance.type"/> + +<!-- "median" --> + +<xs:attributeGroup name="median.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="median.type"> + <xs:attributeGroup ref="median.attlist"/> +</xs:complexType> + +<xs:element name="median" type="median.type"/> + +<!-- "mode" --> + +<xs:attributeGroup name="mode.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="mode.type"> + <xs:attributeGroup ref="mode.attlist"/> +</xs:complexType> + +<xs:element name="mode" type="mode.type"/> + +<!-- "moment" --> + +<xs:attributeGroup name="moment.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="moment.type"> + <xs:attributeGroup ref="moment.attlist"/> +</xs:complexType> + +<xs:element name="moment" type="moment.type"/> + +<!-- "momentabout" --> + +<xs:attributeGroup name="momentabout.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:group name="momentabout.content"> + <xs:sequence> + <xs:group ref="Content-expr.class"/> + </xs:sequence> +</xs:group> + +<xs:complexType name="momentabout.type"> + <xs:group ref="momentabout.content" minOccurs="1" maxOccurs="unbounded"/> + <xs:attributeGroup ref="momentabout.attlist"/> +</xs:complexType> + +<xs:element name="momentabout" type="momentabout.type"/> + +<!-- And the group of everything --> + +<xs:group name="Content-statistics.class"> + <xs:choice> + <xs:element ref="mean"/> + <xs:element ref="sdev"/> + <xs:element ref="variance"/> + <xs:element ref="median"/> + <xs:element ref="mode"/> + <xs:element ref="moment"/> + <xs:element ref="momentabout"/> + </xs:choice> +</xs:group> + + +</xs:schema> +<!-- + Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. See + http://www.w3.org/Consortium/Legal/. + --> diff --git a/schema/mathml2/content/tokens.xsd b/schema/mathml2/content/tokens.xsd new file mode 100644 index 000000000000..7e7f9b81d4dc --- /dev/null +++ b/schema/mathml2/content/tokens.xsd @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/1998/Math/MathML" + targetNamespace="http://www.w3.org/1998/Math/MathML" + elementFormDefault="qualified" + > + +<xs:annotation> + <xs:documentation> + This is the XML schema module for the token elements of the + content part of MathML. + Author: Stéphane Dalmas, INRIA. + </xs:documentation> +</xs:annotation> + +<!-- common content for the token elements --> + +<xs:group name="Content-token.content"> + <xs:sequence> + <xs:group ref="Presentation-expr.class"/> + </xs:sequence> +</xs:group> + +<!-- "cn" --> + +<xs:attributeGroup name="cn.attlist"> + <xs:attribute name="base"> + <xs:simpleType> + <xs:restriction base="xs:positiveInteger"> + <xs:minInclusive value="2"/> + <xs:maxInclusive value="36"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="type"> + <xs:simpleType> + <xs:restriction base="xs:NMTOKEN"> + <xs:enumeration value="e-notation"/> + <xs:enumeration value="integer"/> + <xs:enumeration value="rational"/> + <xs:enumeration value="real"/> + <xs:enumeration value="complex-cartesian"/> + <xs:enumeration value="complex-polar"/> + <xs:enumeration value="constant"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<!-- the content of "cn" may have <sep> elements in it --> + +<xs:complexType name="sep.type"> +</xs:complexType> + +<xs:element name="sep" type="sep.type"/> + +<xs:group name="cn.content"> + <xs:choice> + <xs:group ref="Presentation-expr.class"/> + <xs:element ref="sep"/> + </xs:choice> +</xs:group> + +<xs:complexType name="cn.type" mixed="true"> + <xs:group ref="cn.content" minOccurs="0" maxOccurs="unbounded"/> + <xs:attributeGroup ref="cn.attlist"/> +</xs:complexType> + +<xs:element name="cn" type="cn.type"/> + +<!-- "ci" --> + +<xs:attributeGroup name="ci.attlist"> + <xs:attribute name="type" type="xs:string"/> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="ci.type" mixed="true"> + <xs:group ref="Content-token.content" minOccurs="0"/> + <xs:attributeGroup ref="ci.attlist"/> +</xs:complexType> + +<xs:element name="ci" type="ci.type"/> + +<!-- "csymbol" --> + +<xs:attributeGroup name="csymbol.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="csymbol.type" mixed="true"> + <xs:group ref="Content-token.content" minOccurs="0"/> + <xs:attributeGroup ref="csymbol.attlist"/> +</xs:complexType> + +<xs:element name="csymbol" type="csymbol.type"/> + +<!-- And the group of everything --> + +<xs:group name="Content-tokens.class"> + <xs:choice> + <xs:element ref="cn"/> + <xs:element ref="ci"/> + <xs:element ref="csymbol"/> + </xs:choice> +</xs:group> + +</xs:schema> +<!-- + Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. See + http://www.w3.org/Consortium/Legal/. + --> diff --git a/schema/mathml2/content/vector-calculus.xsd b/schema/mathml2/content/vector-calculus.xsd new file mode 100644 index 000000000000..3e5dd9ce2244 --- /dev/null +++ b/schema/mathml2/content/vector-calculus.xsd @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<xs:schema + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="http://www.w3.org/1998/Math/MathML" + targetNamespace="http://www.w3.org/1998/Math/MathML" + elementFormDefault="qualified" + > + +<xs:annotation> + <xs:documentation> + This is an XML Schema module for the vector calculs operators of content + MathML. + Author: Stéphane Dalmas, INRIA. + </xs:documentation> +</xs:annotation> + +<!-- "divergence" --> + +<xs:attributeGroup name="divergence.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="divergence.type"> + <xs:attributeGroup ref="divergence.attlist"/> +</xs:complexType> + +<xs:element name="divergence" type="divergence.type"/> + +<!-- "grad" --> + +<xs:attributeGroup name="grad.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="grad.type"> + <xs:attributeGroup ref="grad.attlist"/> +</xs:complexType> + +<xs:element name="grad" type="grad.type"/> + +<!-- "curl" --> + +<xs:attributeGroup name="curl.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="curl.type"> + <xs:attributeGroup ref="curl.attlist"/> +</xs:complexType> + +<xs:element name="curl" type="curl.type"/> + +<!-- "laplacian" --> + +<xs:attributeGroup name="laplacian.attlist"> + <xs:attributeGroup ref="Definition.attrib"/> + <xs:attributeGroup ref="Common.attrib"/> +</xs:attributeGroup> + +<xs:complexType name="laplacian.type"> + <xs:attributeGroup ref="laplacian.attlist"/> +</xs:complexType> + +<xs:element name="laplacian" type="laplacian.type"/> + +<!-- And the group of everything --> + +<xs:group name="Content-vector-calculus.class"> + <xs:choice> + <xs:element ref="divergence"/> + <xs:element ref="grad"/> + <xs:element ref="curl"/> + <xs:element ref="laplacian"/> + </xs:choice> +</xs:group> + + +</xs:schema> +<!-- + Copyright û 2002 World Wide Web Consortium, (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. See + http://www.w3.org/Consortium/Legal/. + --> |