diff options
Diffstat (limited to 'schema/mathml2/presentation/layout.xsd')
-rw-r--r-- | schema/mathml2/presentation/layout.xsd | 195 |
1 files changed, 195 insertions, 0 deletions
diff --git a/schema/mathml2/presentation/layout.xsd b/schema/mathml2/presentation/layout.xsd new file mode 100644 index 000000000000..80b005efd7e9 --- /dev/null +++ b/schema/mathml2/presentation/layout.xsd @@ -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é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 û 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/. + --> |