<?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é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 û 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/. -->