incubator-odf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From devin...@apache.org
Subject svn commit: r1172466 [5/16] - in /incubator/odf/trunk/validator: ./ misc/ nbproject/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/odftoolkit/ src/main/java/org/odftoolkit/odfvalidator/ src/main/resources/ src/main/resources/META-INF/ s...
Date Mon, 19 Sep 2011 05:43:28 GMT
Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/sets.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/sets.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/sets.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/sets.xsd Mon Sep 19 05:43:23 2011
@@ -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&#233;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 &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/statistics.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/statistics.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/statistics.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/statistics.xsd Mon Sep 19 05:43:23 2011
@@ -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&#233;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 &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/tokens.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/tokens.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/tokens.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/tokens.xsd Mon Sep 19 05:43:23 2011
@@ -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&#233;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 &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/vector-calculus.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/vector-calculus.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/vector-calculus.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/content/vector-calculus.xsd Mon Sep 19 05:43:23 2011
@@ -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&#233;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 &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/mathml2.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/mathml2.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/mathml2.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/mathml2.xsd Mon Sep 19 05:43:23 2011
@@ -0,0 +1,59 @@
+<?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 for MathML.
+  Author: St&#233;phane Dalmas, INRIA.
+  </xs:documentation>
+</xs:annotation>
+
+<!-- common stuff -->
+
+<xs:include schemaLocation="common/math.xsd"/>
+<xs:include schemaLocation="common/common-attribs.xsd"/>
+
+<!-- Presentation -->
+<xs:include schemaLocation="presentation/common-types.xsd"/>
+<xs:include schemaLocation="presentation/common-attribs.xsd"/>
+<xs:include schemaLocation="presentation/characters.xsd"/>
+<xs:include schemaLocation="presentation/tokens.xsd"/>
+<xs:include schemaLocation="presentation/scripts.xsd"/>
+<xs:include schemaLocation="presentation/space.xsd"/>
+<xs:include schemaLocation="presentation/layout.xsd"/>
+<xs:include schemaLocation="presentation/table.xsd"/>
+<xs:include schemaLocation="presentation/style.xsd"/>
+<xs:include schemaLocation="presentation/error.xsd"/>
+<xs:include schemaLocation="presentation/action.xsd"/>
+
+<!-- Content -->
+
+<xs:include schemaLocation="content/common-attrib.xsd"/>
+<xs:include schemaLocation="content/tokens.xsd"/>
+<xs:include schemaLocation="content/arith.xsd"/>
+<xs:include schemaLocation="content/functions.xsd"/>
+<xs:include schemaLocation="content/logic.xsd"/>
+<xs:include schemaLocation="content/constructs.xsd"/>
+<xs:include schemaLocation="content/constants.xsd"/>
+<xs:include schemaLocation="content/elementary-functions.xsd"/>
+<xs:include schemaLocation="content/relations.xsd"/>
+<xs:include schemaLocation="content/semantics.xsd"/>
+<xs:include schemaLocation="content/sets.xsd"/>
+<xs:include schemaLocation="content/linear-algebra.xsd"/>
+<xs:include schemaLocation="content/calculus.xsd"/>
+<xs:include schemaLocation="content/vector-calculus.xsd"/>
+<xs:include schemaLocation="content/statistics.xsd"/>
+
+
+</xs:schema>
+<!--
+  Copyright &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/action.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/action.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/action.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/action.xsd Mon Sep 19 05:43:23 2011
@@ -0,0 +1,44 @@
+<?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 MathML "maction" element.
+  Author: St&#233;phane Dalmas, INRIA.
+  </xs:documentation>
+</xs:annotation>
+
+<xs:attributeGroup name="maction.attlist">
+  <xs:attribute name="actiontype" type="xs:string" use="required"/>
+  <xs:attribute name="selection"  type="xs:positiveInteger" default="1"/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:group name="maction.content">
+  <xs:sequence>
+    <xs:group ref="Presentation-expr.class"/>
+  </xs:sequence>
+</xs:group>
+
+<xs:complexType name="maction.type">
+  <xs:group ref="maction.content" minOccurs="1" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="maction.attlist"/>
+</xs:complexType>
+
+<xs:element name="maction" type="maction.type"/>
+
+</xs:schema>
+
+
+<!--
+  Copyright &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/characters.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/characters.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/characters.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/characters.xsd Mon Sep 19 05:43:23 2011
@@ -0,0 +1,37 @@
+<?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 MathML "mglyph" element.
+  Author: St&#233;phane Dalmas, INRIA.
+  </xs:documentation>
+</xs:annotation>
+
+<xs:attributeGroup name="mglyph.attlist">
+  <xs:attribute name="alt" type="xs:string"/>
+  <xs:attribute name="fontfamily" type="xs:string"/>
+  <xs:attribute name="index" type="xs:positiveInteger"/>
+</xs:attributeGroup>
+
+<xs:complexType name="mglyph.type">
+  <xs:attributeGroup ref="mglyph.attlist"/>
+</xs:complexType>
+
+<xs:element name="mglyph" type="mglyph.type"/>
+
+</xs:schema>
+
+
+<!--
+  Copyright &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/common-attribs.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/common-attribs.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/common-attribs.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/common-attribs.xsd Mon Sep 19 05:43:23 2011
@@ -0,0 +1,113 @@
+<?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 schema module defines sets of attributes common to several elements
+  of presentation MathML.
+  Author: St&#233;phane Dalmas, INRIA.
+  </xs:documentation>
+</xs:annotation>
+
+<!-- The mathematics style attributes. These attributes are valid on all
+     presentation token elements except "mspace" and "mglyph", and on no
+     other elements except "mstyle". -->
+
+<xs:attributeGroup name="Token-style.attrib">
+   <xs:attribute name="mathvariant">
+     <xs:simpleType>
+       <xs:restriction base="xs:string">
+           <xs:enumeration value="normal"/>
+           <xs:enumeration value="bold"/>
+           <xs:enumeration value="italic"/>
+           <xs:enumeration value="bold-italic"/>
+           <xs:enumeration value="double-struck"/>
+           <xs:enumeration value="bold-fraktur"/>
+           <xs:enumeration value="script"/>
+           <xs:enumeration value="bold-script"/>
+           <xs:enumeration value="fraktur"/>
+           <xs:enumeration value="sans-serif"/>
+           <xs:enumeration value="bold-sans-serif"/>
+           <xs:enumeration value="sans-serif-italic"/>
+           <xs:enumeration value="sans-serif-bold-italic"/>
+           <xs:enumeration value="monospace"/>
+       </xs:restriction>
+     </xs:simpleType>
+   </xs:attribute>
+   <xs:attribute name="mathsize">
+     <xs:simpleType>
+       <xs:union memberTypes="simple-size length-with-unit"/>
+     </xs:simpleType>
+   </xs:attribute>
+   <!-- For both of the following attributes the types should be
+        more restricted -->
+   <xs:attribute name="mathcolor" type="xs:string"/>
+   <xs:attribute name="mathbackground" type="xs:string"/>
+</xs:attributeGroup>
+
+<!-- These operators are all related to operators. They are valid on "mo" 
+     and "mstyle". -->
+
+<xs:attributeGroup name="Operator.attrib">
+   <!-- this attribute value is normally inferred from the position of
+    the operator in its "<mrow"> -->
+   <xs:attribute name="form">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="prefix"/>
+          <xs:enumeration value="infix"/>
+          <xs:enumeration value="postfix"/>
+        </xs:restriction>
+      </xs:simpleType>
+   </xs:attribute>
+   <!-- set by dictionnary, else it is "thickmathspace" -->
+   <xs:attribute name="lspace">
+      <xs:simpleType>
+         <xs:union memberTypes="length-with-unit named-space"/>
+      </xs:simpleType>
+   </xs:attribute>    
+   <!-- set by dictionnary, else it is "thickmathspace" -->
+   <xs:attribute name="rspace">
+      <xs:simpleType>
+         <xs:union memberTypes="length-with-unit named-space"/>
+      </xs:simpleType>
+   </xs:attribute>
+   <!-- set by dictionnary, else it is "false" -->
+   <xs:attribute name="fence" type="xs:boolean"/>
+   <!-- set by dictionnary, else it is "false" -->
+   <xs:attribute name="separator" type="xs:boolean"/>
+   <!-- set by dictionnary, else it is "false" -->
+   <xs:attribute name="stretchy" type="xs:boolean"/>
+   <!-- set by dictionnary, else it is "true" -->
+   <xs:attribute name="symmetric" type="xs:boolean"/>
+   <!-- set by dictionnary, else it is "false" -->
+   <xs:attribute name="movablelimits" type="xs:boolean"/>
+   <!-- set by dictionnary, else it is "false" -->
+   <xs:attribute name="accent" type="xs:boolean"/>
+   <!-- set by dictionnary, else it is "false" -->
+   <xs:attribute name="largeop" type="xs:boolean"/>
+   <xs:attribute name="minsize">
+      <xs:simpleType>
+         <xs:union memberTypes="length-with-unit named-space"/>
+      </xs:simpleType>
+   </xs:attribute>
+   <xs:attribute name="maxsize">
+      <xs:simpleType>
+         <xs:union memberTypes="length-with-unit named-space infinity xs:float"/>
+      </xs:simpleType>
+   </xs:attribute>
+</xs:attributeGroup>
+
+</xs:schema>
+<!--
+  Copyright &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/common-types.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/common-types.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/common-types.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/common-types.xsd Mon Sep 19 05:43:23 2011
@@ -0,0 +1,103 @@
+<?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 containing some type definitions for MathML.
+  Author: St&#233;phane Dalmas, INRIA.
+  </xs:documentation>
+</xs:annotation>
+
+<!-- Simple sizes -->
+
+<xs:simpleType name="simple-size">
+  <xs:restriction base="xs:string">
+    <xs:enumeration value="small"/>
+    <xs:enumeration value="normal"/>
+    <xs:enumeration value="big"/>
+  </xs:restriction>
+</xs:simpleType>
+
+<!-- Centering values -->
+
+<xs:simpleType name="centering">
+  <xs:restriction base="xs:string">
+    <xs:enumeration value="left"/>
+    <xs:enumeration value="center"/>
+    <xs:enumeration value="right"/>
+  </xs:restriction>
+</xs:simpleType>
+
+<!-- The named spaces -->
+
+<!-- this is also used in the value of the "width" attribute on the
+     "mpadded" element -->
+<xs:simpleType name="named-space">
+   <xs:restriction base="xs:string">
+     <xs:enumeration value="veryverythinmathspace"/>
+     <xs:enumeration value="verythinmathspace"/>
+     <xs:enumeration value="thinmathspace"/>
+     <xs:enumeration value="mediummathspace"/>
+     <xs:enumeration value="thickmathspace"/>
+     <xs:enumeration value="verythickmathspace"/>
+     <xs:enumeration value="veryverythickmathspace"/>
+   </xs:restriction>
+</xs:simpleType>
+
+<!-- Thickness -->
+
+<xs:simpleType name="thickness">
+  <xs:restriction base="xs:string">
+    <xs:enumeration value="thin"/>
+    <xs:enumeration value="medium"/>
+    <xs:enumeration value="thick"/>
+  </xs:restriction>
+</xs:simpleType>
+
+
+<!-- number with units used to specified lengths -->
+
+<xs:simpleType name="length-with-unit">
+  <xs:restriction base="xs:string">
+    <xs:pattern 
+     value="(-?([0-9]+|[0-9]*\.[0-9]+)*(em|ex|px|in|cm|mm|pt|pc|%))|0"/>
+   </xs:restriction>
+</xs:simpleType>
+
+<xs:simpleType name="length-with-optional-unit">
+  <xs:restriction base="xs:string">
+    <xs:pattern 
+      value="-?([0-9]+|[0-9]*\.[0-9]+)*(em|ex|px|in|cm|mm|pt|pc|%)?"/>
+   </xs:restriction>
+</xs:simpleType>
+
+<!-- This is just "infinity" that can be used as a length -->
+
+<xs:simpleType name="infinity">
+  <xs:restriction base="xs:string">
+    <xs:enumeration value="infinity"/>
+  </xs:restriction>
+</xs:simpleType>
+
+<!-- colors defined as RGB -->
+
+<xs:simpleType name="RGB-color">
+  <xs:restriction base="xs:string">
+    <xs:pattern value="#(([0-9]|[a-f]){3}|([0-9]|[a-f]){6})"/>
+  </xs:restriction>
+</xs:simpleType>
+
+</xs:schema>
+
+<!--
+  Copyright &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/error.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/error.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/error.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/error.xsd Mon Sep 19 05:43:23 2011
@@ -0,0 +1,40 @@
+<?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 MathML "merror" element.
+  Author: St&#233;phane Dalmas, INRIA.
+  </xs:documentation>
+</xs:annotation>
+
+<xs:attributeGroup name="merror.attlist">
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:group name="merror.content">
+  <xs:sequence>
+    <xs:group ref="Presentation-expr.class"/>
+  </xs:sequence>
+</xs:group>
+
+<xs:complexType name="merror.type">
+  <xs:group ref="merror.content" minOccurs="0" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="merror.attlist"/>
+</xs:complexType>
+
+<xs:element name="merror" type="merror.type"/>
+
+</xs:schema>
+<!--
+  Copyright &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/layout.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/layout.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/layout.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/layout.xsd Mon Sep 19 05:43:23 2011
@@ -0,0 +1,195 @@
+<?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 layout elements of the 
+  presentation part of MathML.
+  Author: St&#233;phane Dalmas, INRIA.
+  </xs:documentation>
+</xs:annotation>
+
+<!-- "mrow" -->
+
+<xs:attributeGroup name="mrow.attlist">
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="mrow.type">
+  <xs:group ref="Presentation-expr.class" minOccurs="0" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="mrow.attlist"/>
+</xs:complexType>
+
+<xs:element name="mrow" type="mrow.type"/>
+
+<!-- "mfrac" -->
+
+<xs:attributeGroup name="mfrac.attlist">
+  <xs:attribute name="bevelled" type="xs:boolean"/>
+  <xs:attribute name="denomalign" type="centering" default="center"/>
+  <xs:attribute name="numalign" type="centering" default="center"/>
+  <xs:attribute name="linethickness" default="1">
+    <xs:simpleType>
+      <xs:union memberTypes="length-with-optional-unit thickness"/>
+    </xs:simpleType> 
+  </xs:attribute>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="mfrac.type">
+  <xs:group ref="Presentation-expr.class" minOccurs="2" maxOccurs="2"/>
+  <xs:attributeGroup ref="mfrac.attlist"/>
+</xs:complexType>
+
+<xs:element name="mfrac" type="mfrac.type"/>
+
+<!-- "msqrt" -->
+
+<xs:attributeGroup name="msqrt.attlist">
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<!-- "msqrt" has an "inferred mrow" if more than one argument -->
+<xs:complexType name="msqrt.type">
+  <xs:group ref="Presentation-expr.class" minOccurs="0" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="msqrt.attlist"/>  
+</xs:complexType>
+
+<xs:element name="msqrt" type="msqrt.type"/>
+
+<!-- "mroot" -->
+
+<xs:attributeGroup name="mroot.attlist">
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="mroot.type">
+  <xs:group ref="Presentation-expr.class" minOccurs="2" maxOccurs="2"/>
+  <xs:attributeGroup ref="mroot.attlist"/>
+</xs:complexType>
+
+<xs:element name="mroot" type="mroot.type"/>
+
+<!-- "mpadded" -->
+
+<xs:simpleType name="mpadded-space">
+  <xs:restriction base="xs:string">
+    <xs:pattern
+value="(\+|-)?([0-9]+|[0-9]*\.[0-9]+)(((%?) *(width|lspace|height|depth))|(em|ex|px|in|cm|mm|pt|pc))"/>
+  </xs:restriction>
+</xs:simpleType>
+
+<xs:simpleType name="mpadded-width-space">
+  <xs:restriction base="xs:string">
+    <!-- MaxF: definition from spec seems wrong, fixing to ([+|-] unsigned-number (%[pseudo-unit]|pseudo-unit|h-unit)) | namedspace | 0 -->
+    <xs:pattern value="((\+|-)?([0-9]+|[0-9]*\.[0-9]+)(((%?) *(width|lspace|height|depth)?)|(width|lspace|height|depth)|(em|ex|px|in|cm|mm|pt|pc)))|((veryverythin|verythin|thin|medium|thick|verythick|veryverythick)mathspace)|0"/>
+  </xs:restriction>
+</xs:simpleType>
+
+<xs:attributeGroup name="mpadded.attlist">
+  <xs:attribute name="width" type="mpadded-width-space"/>
+  <!-- should have default=0 below but '0' is not in value space -->
+  <!-- see bug #425 -->
+  <xs:attribute name="lspace" type="mpadded-space"/>
+  <xs:attribute name="height" type="mpadded-space"/>
+  <xs:attribute name="depth" type="mpadded-space"/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="mpadded.type">
+  <xs:group ref="Presentation-expr.class" minOccurs="0" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="mpadded.attlist"/>
+</xs:complexType>
+
+<xs:element name="mpadded" type="mpadded.type"/>
+
+<!-- "mphantom" -->
+
+<xs:attributeGroup name="mphantom.attlist">
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="mphantom.type">
+  <xs:group ref="Presentation-expr.class" minOccurs="0" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="mphantom.attlist"/>
+</xs:complexType>
+
+<xs:element name="mphantom" type="mphantom.type"/>
+
+<!-- "mfenced" -->
+
+<xs:attributeGroup name="mfenced.attlist">
+  <xs:attribute name="open" type="xs:string" default="("/>
+  <xs:attribute name="close" type="xs:string" default=")"/>
+  <xs:attribute name="separators" type="xs:string" default=","/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="mfenced.type">
+  <xs:group ref="Presentation-expr.class" minOccurs="0" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="mfenced.attlist"/>
+</xs:complexType>
+
+<xs:element name="mfenced" type="mfenced.type"/>
+
+<!-- "menclose" -->
+
+<xs:attributeGroup name="menclose.attlist">
+  <xs:attribute name="notation" default="longdiv">
+    <xs:simpleType>
+      <xs:restriction base="xs:string">
+        <xs:enumeration value="actuarial"/>
+        <xs:enumeration value="longdiv"/>
+        <xs:enumeration value="radical"/>
+        <xs:enumeration value="box"/>
+        <xs:enumeration value="roundedbox"/>
+        <xs:enumeration value="circle"/>
+        <xs:enumeration value="left"/>
+        <xs:enumeration value="right"/>
+        <xs:enumeration value="top"/>
+        <xs:enumeration value="bottom"/>
+        <xs:enumeration value="updiagonalstrike"/>
+        <xs:enumeration value="downdiagonalstrike"/>
+        <xs:enumeration value="verticalstrike"/>
+        <xs:enumeration value="horizontalstrike"/>
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:attribute>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="menclose.type">
+  <xs:group ref="Presentation-expr.class" minOccurs="0" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="menclose.attlist"/>
+</xs:complexType>
+
+<xs:element name="menclose" type="menclose.type"/>
+
+<!-- And the group of everything -->
+
+<xs:group name="Presentation-layout.class">
+  <xs:choice> 
+    <xs:element ref="mrow"/>
+    <xs:element ref="mfrac"/>
+    <xs:element ref="msqrt"/>
+    <xs:element ref="mroot"/>
+    <xs:element ref="mpadded"/>
+    <xs:element ref="mphantom"/>
+    <xs:element ref="mfenced"/>
+    <xs:element ref="menclose"/>
+  </xs:choice>
+</xs:group>
+
+</xs:schema>
+
+<!--
+  Copyright &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/scripts.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/scripts.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/scripts.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/scripts.xsd Mon Sep 19 05:43:23 2011
@@ -0,0 +1,186 @@
+<?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 presentation elements of MathML
+  dealing with subscripts and superscripts.
+  Author: St&#233;phane Dalmas, INRIA.
+  </xs:documentation>
+</xs:annotation>
+
+<!-- "msub" -->
+
+<xs:attributeGroup name="msub.attlist">
+  <xs:attribute name="subscriptshift" type="length-with-unit"/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="msub.type">
+  <xs:group ref="Presentation-expr.class" minOccurs="2" maxOccurs="2"/>
+  <xs:attributeGroup ref="msub.attlist"/>
+</xs:complexType>
+
+<xs:element name="msub" type="msub.type"/>
+
+<!-- "msup" -->
+
+<xs:attributeGroup name="msup.attlist">
+  <xs:attribute name="superscriptshift" type="length-with-unit"/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="msup.type">
+  <xs:group ref="Presentation-expr.class" minOccurs="2" maxOccurs="2"/>
+  <xs:attributeGroup ref="msup.attlist"/>
+</xs:complexType>
+
+<xs:element name="msup" type="msup.type"/>
+
+<!-- "msubsup" -->
+
+<xs:attributeGroup name="msubsup.attlist">
+  <xs:attribute name="subscriptshift" type="length-with-unit"/>
+  <xs:attribute name="superscriptshift" type="length-with-unit"/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="msubsup.type">
+  <xs:group ref="Presentation-expr.class" minOccurs="3" maxOccurs="3"/>
+  <xs:attributeGroup ref="msubsup.attlist"/>
+</xs:complexType>
+
+<xs:element name="msubsup" type="msubsup.type"/>
+
+<!-- "munder" -->
+
+<xs:attributeGroup name="munder.attlist">
+  <xs:attribute name="accentunder" type="xs:boolean"/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="munder.type">
+  <xs:group ref="Presentation-expr.class" minOccurs="2" maxOccurs="2"/>
+  <xs:attributeGroup ref="munder.attlist"/>
+</xs:complexType>
+
+<xs:element name="munder" type="munder.type"/>
+
+<!-- "mover" -->
+
+<xs:attributeGroup name="mover.attlist">
+  <xs:attribute name="accent" type="xs:boolean"/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="mover.type">
+  <xs:group ref="Presentation-expr.class" minOccurs="2" maxOccurs="2"/>
+  <xs:attributeGroup ref="mover.attlist"/>
+</xs:complexType>
+
+<xs:element name="mover" type="mover.type"/>
+
+<!-- "munderover" -->
+
+<xs:attributeGroup name="munderover.attlist">
+  <xs:attribute name="accent" type="xs:boolean"/>
+  <xs:attribute name="accentunder" type="xs:boolean"/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="munderover.type">
+  <xs:group ref="Presentation-expr.class" minOccurs="3" maxOccurs="3"/>
+  <xs:attributeGroup ref="munderover.attlist"/>
+</xs:complexType>
+
+<xs:element name="munderover" type="munderover.type"/>
+
+<!-- "mmultiscripts", "mprescripts" and "none" -->
+
+<xs:attributeGroup name="mmultiscripts.attlist">
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:group name="Presentation-expr-or-none.class">
+  <xs:choice>
+    <xs:group ref="Presentation-expr.class"/>
+    <xs:element ref="none"/>
+  </xs:choice>
+</xs:group>
+
+<!-- not used
+<xs:group name="mprescripts.group">
+  <xs:sequence>
+     <xs:element ref="mprescripts"/>
+     <xs:choice minOccurs="0" maxOccurs="unbounded">
+        <xs:group ref="Presentation-expr.class"/>
+        <xs:element ref="none"/>
+     </xs:choice>
+  </xs:sequence>
+</xs:group>
+-->
+
+<xs:group name="mmultiscripts.content">
+  <xs:sequence>
+    <xs:group ref="Presentation-expr.class"/>
+    <xs:sequence minOccurs="0" maxOccurs="unbounded">
+      <xs:group ref="Presentation-expr-or-none.class"/>
+      <xs:group ref="Presentation-expr-or-none.class"/>
+    </xs:sequence>
+    <xs:sequence minOccurs="0">
+      <xs:element ref="mprescripts"/>
+      <xs:sequence maxOccurs="unbounded">
+        <xs:group ref="Presentation-expr-or-none.class"/>
+        <xs:group ref="Presentation-expr-or-none.class"/>
+      </xs:sequence>
+    </xs:sequence>
+  </xs:sequence>
+</xs:group>
+
+<xs:complexType name="mmultiscripts.type">
+  <xs:group ref="mmultiscripts.content"/>
+  <xs:attributeGroup ref="mmultiscripts.attlist"/>
+</xs:complexType>
+
+<xs:element name="mmultiscripts" type="mmultiscripts.type"/>
+
+<!-- Nothing... -->
+<xs:complexType name="none.type">
+</xs:complexType>
+
+<xs:element name="none" type="none.type"/>
+
+<!-- also void -->
+<xs:complexType name="mprescripts.type">
+</xs:complexType>
+
+<xs:element name="mprescripts" type="mprescripts.type"/>
+
+<!-- And the group of everything -->
+
+<xs:group name="Presentation-script.class">
+  <xs:choice>
+    <xs:element ref="msub"/>
+    <xs:element ref="msup"/>
+    <xs:element ref="msubsup"/>
+    <xs:element ref="munder"/>
+    <xs:element ref="mover"/>
+    <xs:element ref="munderover"/>
+    <xs:element ref="mmultiscripts"/>
+  </xs:choice>
+</xs:group>
+
+</xs:schema>
+
+<!--
+  Copyright &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/space.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/space.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/space.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/space.xsd Mon Sep 19 05:43:23 2011
@@ -0,0 +1,52 @@
+<?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 MathML "mspace" element.
+  Author: St&#233;phane Dalmas, INRIA.
+  </xs:documentation>
+</xs:annotation>
+
+<xs:attributeGroup name="mspace.attlist">
+  <xs:attribute name="width" default="0em">
+    <xs:simpleType>
+      <xs:union memberTypes="length-with-unit named-space"/>
+    </xs:simpleType>
+  </xs:attribute>
+  <xs:attribute name="height" type="length-with-unit" default="0ex"/>
+  <xs:attribute name="depth" type="length-with-unit" default="0ex"/>
+  <xs:attribute name="linebreak" default="auto">
+    <xs:simpleType>
+      <xs:restriction base="xs:string">
+        <xs:enumeration value="auto"/>
+        <xs:enumeration value="newline"/>
+        <xs:enumeration value="indentingnewline"/>
+        <xs:enumeration value="nobreak"/>
+        <xs:enumeration value="goodbreak"/>
+        <xs:enumeration value="badbreak"/>
+     </xs:restriction>
+   </xs:simpleType>
+  </xs:attribute>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="mspace.type">
+  <xs:attributeGroup ref="mspace.attlist"/>
+</xs:complexType>
+
+<xs:element name="mspace" type="mspace.type"/>
+
+</xs:schema>
+<!--
+  Copyright &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/style.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/style.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/style.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/style.xsd Mon Sep 19 05:43:23 2011
@@ -0,0 +1,69 @@
+<?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 for the "mstyle" element of MathML.
+  Author: St&#233;phane Dalmas, INRIA.
+  </xs:documentation>
+</xs:annotation>
+
+<!-- "mstyle" -->
+
+<xs:attributeGroup name="mstyle.attlist">
+  <xs:attribute name="scriptlevel" type="xs:integer"/>
+  <xs:attribute name="displaystyle" type="xs:boolean"/>
+  <xs:attribute name="scriptsizemultiplier" type="xs:decimal" default="0.71"/>
+  <xs:attribute name="scriptminsize" type="length-with-unit" default="8pt"/>
+  <xs:attribute name="color" type="xs:string"/>
+  <xs:attribute name="background" type="xs:string" default="transparent"/>
+  <xs:attribute name="veryverythinmathspace" type="length-with-unit"
+                default="0.0555556em"/>
+  <xs:attribute name="verythinmathspace" type="length-with-unit"
+                default="0.111111em"/>
+  <xs:attribute name="thinmathspace" type="length-with-unit"
+                default="0.166667em"/>
+  <xs:attribute name="mediummathspace" type="length-with-unit"
+                default="0.222222em"/>
+  <xs:attribute name="thickmathspace" type="length-with-unit"
+                default="0.277778em"/>
+  <xs:attribute name="verythickmathspace" type="length-with-unit"
+                default="0.333333em"/>
+  <xs:attribute name="veryverythickmathspace" type="length-with-unit"
+                default="0.388889em"/>
+  <xs:attribute name="linethickness" default="1">
+    <xs:simpleType>
+      <xs:union memberTypes="length-with-optional-unit thickness"/>
+    </xs:simpleType> 
+  </xs:attribute>
+  <xs:attributeGroup ref="Operator.attrib"/>
+  <xs:attributeGroup ref="Token-style.attrib"/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:group name="mstyle.content">
+  <xs:sequence>
+    <xs:group ref="Presentation-expr.class"/>
+  </xs:sequence>
+</xs:group>
+
+<xs:complexType name="mstyle.type">
+  <xs:group ref="mstyle.content" minOccurs="1" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="mstyle.attlist"/>
+</xs:complexType>
+
+<xs:element name="mstyle" type="mstyle.type"/>
+
+</xs:schema>
+<!--
+  Copyright &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/table.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/table.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/table.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/table.xsd Mon Sep 19 05:43:23 2011
@@ -0,0 +1,216 @@
+<?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 tables in MathML presentation.
+  Author: St&#233;phane Dalmas, INRIA.
+  </xs:documentation>
+</xs:annotation>
+
+<!-- Common attributes -->
+
+<xs:attributeGroup name="Table-alignment.attrib">
+  <xs:attribute name="rowalign" default="baseline">
+    <xs:simpleType> 
+      <xs:restriction base="xs:string">
+        <xs:pattern value="(top|bottom|center|baseline|axis)( top| bottom| center| baseline| axis)*"/>
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:attribute>
+  <xs:attribute name="columnalign" default="center">
+    <xs:simpleType> 
+      <xs:restriction base="xs:string">
+        <xs:pattern value="(left|center|right)( left| center| right)*"/>
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:attribute>
+  <xs:attribute name="groupalign" type="xs:string"/>
+</xs:attributeGroup>
+
+<!-- "mtr" -->
+
+<xs:attributeGroup name="mtr.attlist">
+  <xs:attributeGroup ref="Table-alignment.attrib"/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:group name="mtr.content">
+  <xs:sequence>
+    <xs:element ref="mtd"/>
+  </xs:sequence>
+</xs:group>
+
+<xs:complexType name="mtr.type">
+  <xs:group ref="mtr.content"  minOccurs="1" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="mtr.attlist"/>
+</xs:complexType>
+
+<xs:element name="mtr" type="mtr.type"/>
+
+<!-- "labeledtr" -->
+
+<xs:attributeGroup name="mlabeledtr.attlist">
+  <xs:attributeGroup ref="Table-alignment.attrib"/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:group name="mlabeledtr.content">
+  <xs:sequence>
+    <xs:element ref="mtd"/>
+  </xs:sequence>
+</xs:group>
+
+<xs:complexType name="mlabeledtr.type">
+  <xs:group ref="mlabeledtr.content" minOccurs="1" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="mlabeledtr.attlist"/>
+</xs:complexType>
+
+<xs:element name="mlabeledtr" type="mlabeledtr.type"/>
+
+<!-- "mtd" -->
+
+<xs:attributeGroup name="mtd.attlist">
+  <xs:attributeGroup ref="Table-alignment.attrib"/>
+  <xs:attribute name="columnspan" type="xs:positiveInteger" default="1"/>
+  <xs:attribute name="rowspan" type="xs:positiveInteger" default="1"/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:group name="mtd.content">
+  <xs:sequence>
+    <xs:group ref="Presentation-expr.class" minOccurs="0" maxOccurs="1"/>
+  </xs:sequence>
+</xs:group>
+
+<xs:complexType name="mtd.type">
+  <xs:group ref="mtd.content"  minOccurs="1" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="mtd.attlist"/>
+</xs:complexType>
+
+<xs:element name="mtd" type="mtd.type"/>
+
+<!-- "mtable" -->
+
+<xs:attributeGroup name="mtable.attlist">
+  <xs:attributeGroup ref="Table-alignment.attrib"/>
+  <xs:attribute name="align" type="xs:string" default="axis"/>
+  <xs:attribute name="alignmentscope" default="true">
+   <xs:simpleType>
+      <xs:restriction base="xs:string">
+         <xs:pattern value="(true|false)( true| false)*"/>
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:attribute>
+  <xs:attribute name="columnwidth" type="xs:string" default="auto"/>
+  <xs:attribute name="width" type="xs:string" default="auto"/>
+  <xs:attribute name="rowspacing" type="xs:string" default="1.0ex"/>
+  <xs:attribute name="columnspacing" type="xs:string" default="0.8em"/>
+  <xs:attribute name="rowlines" type="xs:string" default="none"/>
+  <xs:attribute name="columnlines" type="xs:string" default="none"/>
+  <xs:attribute name="frame" default="none">
+    <xs:simpleType>
+      <xs:restriction base="xs:string">
+         <xs:enumeration value="none"/>
+         <xs:enumeration value="solid"/>
+         <xs:enumeration value="dashed"/>
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:attribute>
+  <xs:attribute name="framespacing" type="xs:string" default="0.4em 0.5ex"/>
+  <xs:attribute name="equalrows" type="xs:boolean" default="false"/>
+  <xs:attribute name="equalcolumns" type="xs:boolean" default="false"/>
+  <xs:attribute name="displaystyle" type="xs:boolean" default="false"/>
+  <xs:attribute name="side" default="right">
+    <xs:simpleType>
+      <xs:restriction base="xs:string">
+         <xs:enumeration value="left"/>
+         <xs:enumeration value="right"/>
+         <xs:enumeration value="leftoverlap"/>
+         <xs:enumeration value="rightoverlap"/>
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:attribute>
+  <xs:attribute name="minlabelspacing" type="length-with-unit" default="0.8em"/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:group name="mtable.content">
+  <xs:choice>
+    <xs:element ref="mtr"/>
+    <xs:element ref="mlabeledtr"/>
+  </xs:choice>
+</xs:group>
+
+<xs:complexType name="mtable.type">
+  <xs:group ref="mtable.content"  minOccurs="1" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="mtable.attlist"/>
+</xs:complexType>
+
+<xs:element name="mtable" type="mtable.type"/>
+
+<!-- "maligngroup" -->
+
+<xs:attributeGroup name="maligngroup.attlist">
+  <xs:attribute name="groupalign">
+     <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="left"/>
+          <xs:enumeration value="center"/>
+          <xs:enumeration value="right"/>
+          <xs:enumeration value="decimalpoint"/>
+      </xs:restriction>
+     </xs:simpleType>    
+  </xs:attribute>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="maligngroup.type">
+  <xs:attributeGroup ref="maligngroup.attlist"/>
+</xs:complexType>
+
+<xs:element name="maligngroup" type="maligngroup.type"/>
+
+<!-- "malignmark" -->
+
+<xs:attributeGroup name="malignmark.attlist">
+  <xs:attribute name="edge" default="left">
+     <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="left"/>
+          <xs:enumeration value="right"/>
+        </xs:restriction>
+     </xs:simpleType>
+  </xs:attribute>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="malignmark.type">
+  <xs:attributeGroup ref="malignmark.attlist"/>
+</xs:complexType>
+
+<xs:element name="malignmark" type="malignmark.type"/>
+
+<!-- The group of everything -->
+
+<xs:group name="Presentation-table.class">
+  <xs:choice>
+     <xs:element ref="mtable"/>
+     <xs:element ref="maligngroup"/>
+     <xs:element ref="malignmark"/>
+  </xs:choice>  
+</xs:group>
+
+</xs:schema>
+<!--
+  Copyright &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/tokens.xsd
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/tokens.xsd?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/tokens.xsd (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml2.0/presentation/tokens.xsd Mon Sep 19 05:43:23 2011
@@ -0,0 +1,124 @@
+<?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 
+  presentation part of MathML.
+  Author: St&#233;phane Dalmas, INRIA.
+  </xs:documentation>
+</xs:annotation>
+
+<!-- The content of presentation token elements is either normal
+  characters, "mglyph" ones or alignment marks -->
+
+<xs:group name="Glyph-alignmark.class">
+    <xs:choice>
+      <xs:element ref="malignmark"/>
+      <xs:element ref="mglyph"/>
+    </xs:choice>
+</xs:group>
+
+<!-- "mi" -->
+
+<!-- "mi" is supposed to have a default value of its "mathvariant" attribute
+     set to "italic" -->
+<xs:attributeGroup name="mi.attlist">
+   <xs:attributeGroup ref="Token-style.attrib"/>
+   <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="mi.type" mixed="true">
+  <xs:group ref="Glyph-alignmark.class" minOccurs="0" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="mi.attlist"/> 
+</xs:complexType>
+
+<xs:element name="mi" type="mi.type"/>
+
+<!-- "mo" -->
+
+<xs:attributeGroup name="mo.attlist">
+   <xs:attributeGroup ref="Operator.attrib"/>
+   <xs:attributeGroup ref="Token-style.attrib"/>
+   <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="mo.type" mixed="true">
+  <xs:group ref="Glyph-alignmark.class" minOccurs="0" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="mo.attlist"/> 
+</xs:complexType>
+
+<xs:element name="mo" type="mo.type"/>
+
+<!-- "mn" -->
+
+<xs:attributeGroup name="mn.attlist">
+  <xs:attributeGroup ref="Token-style.attrib"/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="mn.type" mixed="true">
+  <xs:group ref="Glyph-alignmark.class" minOccurs="0" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="mi.attlist"/> 
+</xs:complexType>
+
+<xs:element name="mn" type="mn.type"/>
+
+<!-- "mtext" -->
+
+<xs:attributeGroup name="mtext.attlist">
+  <xs:attributeGroup ref="Token-style.attrib"/>
+  <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="mtext.type" mixed="true">
+  <xs:group ref="Glyph-alignmark.class" minOccurs="0" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="mtext.attlist"/> 
+</xs:complexType>
+
+<xs:element name="mtext" type="mtext.type"/>
+
+<!-- "ms" -->
+
+<xs:attributeGroup name="ms.attlist">
+   <!-- the values of "lquote" or "rquote" are not restricted to be
+        one character strings... -->
+   <xs:attribute name="lquote" type="xs:string" default="&quot;"/>
+   <xs:attribute name="rquote" type="xs:string" default="&quot;"/>
+   <xs:attributeGroup ref="Token-style.attrib"/>
+   <xs:attributeGroup ref="Common.attrib"/>
+</xs:attributeGroup>
+
+<xs:complexType name="ms.type" mixed="true">
+  <xs:group ref="Glyph-alignmark.class" minOccurs="0" maxOccurs="unbounded"/>
+  <xs:attributeGroup ref="ms.attlist"/> 
+</xs:complexType>
+
+<xs:element name="ms" type="ms.type"/>
+
+<!-- And the group of any token -->
+
+<xs:group name="Presentation-token.class">
+  <xs:choice> 
+    <xs:element ref="mi"/>
+    <xs:element ref="mo"/>
+    <xs:element ref="mn"/>
+    <xs:element ref="mtext"/>
+    <xs:element ref="ms"/>
+  </xs:choice>
+</xs:group>
+
+</xs:schema>
+
+<!--
+  Copyright &#251; 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/.
+  -->

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/algebra-logic.rnc
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/algebra-logic.rnc?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/algebra-logic.rnc (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/algebra-logic.rnc Mon Sep 19 05:43:23 2011
@@ -0,0 +1,84 @@
+#     This is the Mathematical Markup Language (MathML) 3.0, an XML
+#     application for describing mathematical notation and capturing
+#     both its structure and content.
+#
+#     Copyright 1998-2007 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 RelaxNG schema for MathML3
+#     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 Schema for any purpose.
+#
+#     This file contains the arity checking rules for the symbols
+#     from the content dictionary algebra-logic
+#     It is provided "as is" without expressed or implied warranty.
+#
+#     Revision:   $Id: algebra-logic.rnc,v 1.1 2007/12/11 15:38:51 dcarlis Exp $
+
+cd.token.unary.class |= factorial.token | unary_minus.token | not.token | abs.token | conjugate.token | arg.token | real.token | imaginary.token | floor.token | ceiling.token
+cd.token.binary.class |= quotient.token | divide.token | minus.token | power.token | rem.token | root.token | implies.token
+cd.token.nary.class |= max.token | min.token | plus.token | times.token | gcd.token | and.token | or.token | xor.token | lcm.token
+cd.binder.class |= forall.token | exists.token
+
+# the element definitions for the token elements
+quotient.content = Token.type, attribute  type  {MathMLtype}?
+quotient.token = element quotient {quotient.content}
+factorial.content = Token.type
+factorial.token = element factorial {factorial.content}
+divide.content = Token.type, attribute  type  {MathMLtype}?
+divide.token = element divide {divide.content}
+max.content = Token.type, attribute type {MathMLtype}?
+max.token = element max {max.content}
+min.content = Token.type, attribute type {MathMLtype}?
+min.token = element min {min.content}
+minus.content = Token.type, attribute type {MathMLtype}?
+minus.token = element minus {minus.content}
+unary_minus.content = Token.type, attribute type {MathMLtype}?
+unary_minus.token = element minus {unary_minus.content}
+#ednote(rnc:unary_minus) rename minus to unary_minus
+plus.content = Token.type, attribute type {MathMLtype}?
+plus.token = element plus {plus.content}
+power.content = Token.type, attribute type {MathMLtype}?
+power.token = element power {power.content}
+rem.content = Token.type, attribute type {MathMLtype}?
+rem.token = element rem {rem.content}
+times.content = Token.type, attribute type {MathMLtype}?
+times.token = element times {times.content}
+root.content = Token.type, attribute  type  {MathMLtype}?
+root.token = element root {root.content}
+gcd.content = Token.type, attribute type {MathMLtype}?
+gcd.token = element gcd {gcd.content}
+and.content = Token.type, attribute type {MathMLtype}?
+and.token = element and {and.content}
+or.content = Token.type, attribute type {MathMLtype}?
+or.token = element or {or.content}
+xor.content = Token.type, attribute type {MathMLtype}?
+xor.token = element xor {xor.content}
+not.content = Token.type, attribute type {MathMLtype}?
+not.token = element not {not.content}
+implies.content = Token.type, attribute type {MathMLtype}?
+implies.token = element implies {implies.content}
+forall.content = Token.type, attribute type {MathMLtype}?
+forall.token = element forall {forall.content}
+exists.content = Token.type, attribute type {MathMLtype}?
+exists.token = element exists {exists.content}
+abs.content = Token.type, attribute type {MathMLtype}?
+abs.token = element abs {abs.content}
+conjugate.content = Token.type
+conjugate.token = element conjugate {conjugate.content}
+arg.content = Token.type, attribute type {MathMLtype}?
+arg.token = element arg {arg.content}
+real.content = Token.type, attribute type {MathMLtype}?
+real.token = element real {real.content}
+imaginary.content = Token.type, attribute type {MathMLtype}?
+imaginary.token = element imaginary {imaginary.content}
+lcm.content = Token.type, attribute type {MathMLtype}?
+lcm.token = element lcm {lcm.content}
+floor.content = Token.type, attribute type {MathMLtype}?
+floor.token = element floor {floor.content}
+ceiling.content = Token.type, attribute type {MathMLtype}?
+ceiling.token = element ceiling {ceiling.content}

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/algebra-logic.rng
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/algebra-logic.rng?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/algebra-logic.rng (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/algebra-logic.rng Mon Sep 19 05:43:23 2011
@@ -0,0 +1,425 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+  <!--
+        This is the Mathematical Markup Language (MathML) 3.0, an XML
+        application for describing mathematical notation and capturing
+        both its structure and content.
+    
+        Copyright 1998-2007 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 RelaxNG schema for MathML3
+        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 Schema for any purpose.
+    
+        This file contains the arity checking rules for the symbols
+        from the content dictionary algebra-logic
+        It is provided "as is" without expressed or implied warranty.
+    
+        Revision:   $Id: algebra-logic.rng,v 1.1 2007/12/11 15:59:27 dcarlis Exp $
+  -->
+  <define name="cd.token.unary.class" combine="choice">
+    <choice>
+      <ref name="factorial.token"/>
+      <ref name="unary_minus.token"/>
+      <ref name="not.token"/>
+      <ref name="abs.token"/>
+      <ref name="conjugate.token"/>
+      <ref name="arg.token"/>
+      <ref name="real.token"/>
+      <ref name="imaginary.token"/>
+      <ref name="floor.token"/>
+      <ref name="ceiling.token"/>
+    </choice>
+  </define>
+  <define name="cd.token.binary.class" combine="choice">
+    <choice>
+      <ref name="quotient.token"/>
+      <ref name="divide.token"/>
+      <ref name="minus.token"/>
+      <ref name="power.token"/>
+      <ref name="rem.token"/>
+      <ref name="root.token"/>
+      <ref name="implies.token"/>
+    </choice>
+  </define>
+  <define name="cd.token.nary.class" combine="choice">
+    <choice>
+      <ref name="max.token"/>
+      <ref name="min.token"/>
+      <ref name="plus.token"/>
+      <ref name="times.token"/>
+      <ref name="gcd.token"/>
+      <ref name="and.token"/>
+      <ref name="or.token"/>
+      <ref name="xor.token"/>
+      <ref name="lcm.token"/>
+    </choice>
+  </define>
+  <define name="cd.binder.class" combine="choice">
+    <choice>
+      <ref name="forall.token"/>
+      <ref name="exists.token"/>
+    </choice>
+  </define>
+  <!-- the element definitions for the token elements -->
+  <define name="quotient.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="quotient.token">
+    <element name="quotient">
+      <ref name="quotient.content"/>
+    </element>
+  </define>
+  <define name="factorial.content">
+    <ref name="Token.type"/>
+  </define>
+  <define name="factorial.token">
+    <element name="factorial">
+      <ref name="factorial.content"/>
+    </element>
+  </define>
+  <define name="divide.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="divide.token">
+    <element name="divide">
+      <ref name="divide.content"/>
+    </element>
+  </define>
+  <define name="max.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="max.token">
+    <element name="max">
+      <ref name="max.content"/>
+    </element>
+  </define>
+  <define name="min.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="min.token">
+    <element name="min">
+      <ref name="min.content"/>
+    </element>
+  </define>
+  <define name="minus.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="minus.token">
+    <element name="minus">
+      <ref name="minus.content"/>
+    </element>
+  </define>
+  <define name="unary_minus.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="unary_minus.token">
+    <element name="minus">
+      <ref name="unary_minus.content"/>
+    </element>
+  </define>
+  <!-- ednote(rnc:unary_minus) rename minus to unary_minus -->
+  <define name="plus.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="plus.token">
+    <element name="plus">
+      <ref name="plus.content"/>
+    </element>
+  </define>
+  <define name="power.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="power.token">
+    <element name="power">
+      <ref name="power.content"/>
+    </element>
+  </define>
+  <define name="rem.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="rem.token">
+    <element name="rem">
+      <ref name="rem.content"/>
+    </element>
+  </define>
+  <define name="times.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="times.token">
+    <element name="times">
+      <ref name="times.content"/>
+    </element>
+  </define>
+  <define name="root.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="root.token">
+    <element name="root">
+      <ref name="root.content"/>
+    </element>
+  </define>
+  <define name="gcd.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="gcd.token">
+    <element name="gcd">
+      <ref name="gcd.content"/>
+    </element>
+  </define>
+  <define name="and.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="and.token">
+    <element name="and">
+      <ref name="and.content"/>
+    </element>
+  </define>
+  <define name="or.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="or.token">
+    <element name="or">
+      <ref name="or.content"/>
+    </element>
+  </define>
+  <define name="xor.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="xor.token">
+    <element name="xor">
+      <ref name="xor.content"/>
+    </element>
+  </define>
+  <define name="not.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="not.token">
+    <element name="not">
+      <ref name="not.content"/>
+    </element>
+  </define>
+  <define name="implies.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="implies.token">
+    <element name="implies">
+      <ref name="implies.content"/>
+    </element>
+  </define>
+  <define name="forall.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="forall.token">
+    <element name="forall">
+      <ref name="forall.content"/>
+    </element>
+  </define>
+  <define name="exists.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="exists.token">
+    <element name="exists">
+      <ref name="exists.content"/>
+    </element>
+  </define>
+  <define name="abs.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="abs.token">
+    <element name="abs">
+      <ref name="abs.content"/>
+    </element>
+  </define>
+  <define name="conjugate.content">
+    <ref name="Token.type"/>
+  </define>
+  <define name="conjugate.token">
+    <element name="conjugate">
+      <ref name="conjugate.content"/>
+    </element>
+  </define>
+  <define name="arg.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="arg.token">
+    <element name="arg">
+      <ref name="arg.content"/>
+    </element>
+  </define>
+  <define name="real.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="real.token">
+    <element name="real">
+      <ref name="real.content"/>
+    </element>
+  </define>
+  <define name="imaginary.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="imaginary.token">
+    <element name="imaginary">
+      <ref name="imaginary.content"/>
+    </element>
+  </define>
+  <define name="lcm.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="lcm.token">
+    <element name="lcm">
+      <ref name="lcm.content"/>
+    </element>
+  </define>
+  <define name="floor.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="floor.token">
+    <element name="floor">
+      <ref name="floor.content"/>
+    </element>
+  </define>
+  <define name="ceiling.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="type">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="ceiling.token">
+    <element name="ceiling">
+      <ref name="ceiling.content"/>
+    </element>
+  </define>
+</grammar>

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/basic-content-elements.rnc
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/basic-content-elements.rnc?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/basic-content-elements.rnc (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/basic-content-elements.rnc Mon Sep 19 05:43:23 2011
@@ -0,0 +1,49 @@
+#     This is the Mathematical Markup Language (MathML) 3.0, an XML
+#     application for describing mathematical notation and capturing
+#     both its structure and content.
+#
+#     Copyright 1998-2007 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 RelaxNG schema for MathML3
+#     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 Schema for any purpose.
+#
+#     This file contains the arity checking rules for the symbols
+#     from the content dictionary 
+#     It is provided "as is" without expressed or implied warranty.
+#
+#     Revision:   $Id: basic-content-elements.rnc,v 1.1 2007/12/11 15:38:51 dcarlis Exp $
+
+cd.token.unary.class |= inverse.token | ident.token | domain.token | codomain.token | image.token | otherwise.token
+cd.token.binary.class |= interval.token | piece.token
+cd.token.nary.class |= compose.token | piecewise.token
+cd.binder.class |= lambda.token
+
+# the element definitions for the token elements
+interval.content = Token.type, attribute closure {MathMLtype}?
+interval.token = element interval {interval.content}
+inverse.content = Token.type
+inverse.token = element inverse {inverse.content}
+lambda.content = Token.type
+lambda.token = element lambda {lambda.content}
+compose.content = Token.type
+compose.token = element compose {compose.content}
+ident.content = Token.type
+ident.token = element ident {ident.content}
+domain.content = Token.type
+domain.token = element domain {domain.content}
+codomain.content = Token.type
+codomain.token = element codomain {codomain.content}
+image.content = Token.type
+image.token = element image {image.content}
+piecewise.content = Token.type,ContExp*
+piecewise.token = element piecewise {piecewise.content}
+piece.content = Token.type
+piece.token = element piece {piece.content}
+otherwise.content = Token.type
+otherwise.token = element otherwise {otherwise.content}
\ No newline at end of file

Added: incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/basic-content-elements.rng
URL: http://svn.apache.org/viewvc/incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/basic-content-elements.rng?rev=1172466&view=auto
==============================================================================
--- incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/basic-content-elements.rng (added)
+++ incubator/odf/trunk/validator/src/main/resources/schema/mathml3.0/basic-content-elements.rng Mon Sep 19 05:43:23 2011
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0">
+  <!--
+        This is the Mathematical Markup Language (MathML) 3.0, an XML
+        application for describing mathematical notation and capturing
+        both its structure and content.
+    
+        Copyright 1998-2007 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 RelaxNG schema for MathML3
+        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 Schema for any purpose.
+    
+        This file contains the arity checking rules for the symbols
+        from the content dictionary 
+        It is provided "as is" without expressed or implied warranty.
+    
+        Revision:   $Id: basic-content-elements.rng,v 1.1 2007/12/11 15:59:27 dcarlis Exp $
+  -->
+  <define name="cd.token.unary.class" combine="choice">
+    <choice>
+      <ref name="inverse.token"/>
+      <ref name="ident.token"/>
+      <ref name="domain.token"/>
+      <ref name="codomain.token"/>
+      <ref name="image.token"/>
+      <ref name="otherwise.token"/>
+    </choice>
+  </define>
+  <define name="cd.token.binary.class" combine="choice">
+    <choice>
+      <ref name="interval.token"/>
+      <ref name="piece.token"/>
+    </choice>
+  </define>
+  <define name="cd.token.nary.class" combine="choice">
+    <choice>
+      <ref name="compose.token"/>
+      <ref name="piecewise.token"/>
+    </choice>
+  </define>
+  <define name="cd.binder.class" combine="choice">
+    <ref name="lambda.token"/>
+  </define>
+  <!-- the element definitions for the token elements -->
+  <define name="interval.content">
+    <ref name="Token.type"/>
+    <optional>
+      <attribute name="closure">
+        <ref name="MathMLtype"/>
+      </attribute>
+    </optional>
+  </define>
+  <define name="interval.token">
+    <element name="interval">
+      <ref name="interval.content"/>
+    </element>
+  </define>
+  <define name="inverse.content">
+    <ref name="Token.type"/>
+  </define>
+  <define name="inverse.token">
+    <element name="inverse">
+      <ref name="inverse.content"/>
+    </element>
+  </define>
+  <define name="lambda.content">
+    <ref name="Token.type"/>
+  </define>
+  <define name="lambda.token">
+    <element name="lambda">
+      <ref name="lambda.content"/>
+    </element>
+  </define>
+  <define name="compose.content">
+    <ref name="Token.type"/>
+  </define>
+  <define name="compose.token">
+    <element name="compose">
+      <ref name="compose.content"/>
+    </element>
+  </define>
+  <define name="ident.content">
+    <ref name="Token.type"/>
+  </define>
+  <define name="ident.token">
+    <element name="ident">
+      <ref name="ident.content"/>
+    </element>
+  </define>
+  <define name="domain.content">
+    <ref name="Token.type"/>
+  </define>
+  <define name="domain.token">
+    <element name="domain">
+      <ref name="domain.content"/>
+    </element>
+  </define>
+  <define name="codomain.content">
+    <ref name="Token.type"/>
+  </define>
+  <define name="codomain.token">
+    <element name="codomain">
+      <ref name="codomain.content"/>
+    </element>
+  </define>
+  <define name="image.content">
+    <ref name="Token.type"/>
+  </define>
+  <define name="image.token">
+    <element name="image">
+      <ref name="image.content"/>
+    </element>
+  </define>
+  <define name="piecewise.content">
+    <ref name="Token.type"/>
+    <zeroOrMore>
+      <ref name="ContExp"/>
+    </zeroOrMore>
+  </define>
+  <define name="piecewise.token">
+    <element name="piecewise">
+      <ref name="piecewise.content"/>
+    </element>
+  </define>
+  <define name="piece.content">
+    <ref name="Token.type"/>
+  </define>
+  <define name="piece.token">
+    <element name="piece">
+      <ref name="piece.content"/>
+    </element>
+  </define>
+  <define name="otherwise.content">
+    <ref name="Token.type"/>
+  </define>
+  <define name="otherwise.token">
+    <element name="otherwise">
+      <ref name="otherwise.content"/>
+    </element>
+  </define>
+</grammar>



Mime
View raw message