Bump version to 24.04.3.4
[LibreOffice.git] / schema / mathml2 / content / constructs.xsd
blob4cfc21af8a3d2703b3e54b3e0a139def30b58525
1 <?xml version="1.0" encoding="UTF-8"?>
3 <xs:schema
4 xmlns:xs="http://www.w3.org/2001/XMLSchema"
5 xmlns="http://www.w3.org/1998/Math/MathML"
6 targetNamespace="http://www.w3.org/1998/Math/MathML"
7 elementFormDefault="qualified"
11 <xs:annotation>
12 <xs:documentation>
13 This is an XML Schema module for the basic constructs of content MathML.
14 Author: St&#233;phane Dalmas, INRIA.
15 </xs:documentation>
16 </xs:annotation>
18 <!-- "apply" -->
20 <xs:attributeGroup name="apply.attlist">
21 <xs:attributeGroup ref="Common.attrib"/>
22 </xs:attributeGroup>
24 <xs:group name="apply.content">
25 <xs:sequence>
26 <xs:group ref="Content-expr.class"/>
27 </xs:sequence>
28 </xs:group>
30 <xs:complexType name="apply.type">
31 <xs:group ref="apply.content" minOccurs="0" maxOccurs="unbounded"/>
32 <xs:attributeGroup ref="apply.attlist"/>
33 </xs:complexType>
35 <xs:element name="apply" type="apply.type"/>
37 <!-- "interval" -->
39 <xs:attributeGroup name="interval.attlist">
40 <xs:attribute name="closure" default="closed">
41 <xs:simpleType>
42 <xs:restriction base="xs:string">
43 <xs:enumeration value="closed"/>
44 <xs:enumeration value="open"/>
45 <xs:enumeration value="open-closed"/>
46 <xs:enumeration value="closed-open"/>
47 </xs:restriction>
48 </xs:simpleType>
49 </xs:attribute>
50 <xs:attributeGroup ref="Common.attrib"/>
51 </xs:attributeGroup>
53 <!--
54 <xs:group name="interval.content">
55 <xs:choice>
56 <xs:group ref="Content-expr.class" minOccurs="2" maxOccurs="2"/>
57 <xs:element ref="condition"/>
58 </xs:choice>
59 </xs:group>
60 -->
62 <xs:complexType name="interval.type">
63 <!-- <xs:group ref="interval.content"/> -->
64 <xs:group ref="Content-expr.class" maxOccurs="2"/>
65 <xs:attributeGroup ref="interval.attlist"/>
66 </xs:complexType>
68 <xs:element name="interval" type="interval.type"/>
70 <!-- "inverse" -->
72 <xs:attributeGroup name="inverse.attlist">
73 <xs:attributeGroup ref="Definition.attrib"/>
74 <xs:attributeGroup ref="Common.attrib"/>
75 </xs:attributeGroup>
77 <xs:complexType name="inverse.type">
78 <xs:attributeGroup ref="inverse.attlist"/>
79 </xs:complexType>
81 <xs:element name="inverse" type="inverse.type"/>
83 <!-- "condition" -->
85 <xs:attributeGroup name="condition.attlist">
86 <xs:attributeGroup ref="Definition.attrib"/>
87 </xs:attributeGroup>
89 <xs:group name="condition.content">
90 <xs:sequence>
91 <xs:group ref="Content-expr.class"/>
92 </xs:sequence>
93 </xs:group>
95 <xs:complexType name="condition.type">
96 <xs:group ref="condition.content" minOccurs="1" maxOccurs="unbounded"/>
97 <xs:attributeGroup ref="condition.attlist"/>
98 </xs:complexType>
100 <xs:element name="condition" type="condition.type"/>
102 <!-- "declare" -->
104 <xs:attributeGroup name="declare.attlist">
105 <xs:attribute name="type" type="xs:string"/>
106 <xs:attribute name="scope" type="xs:string"/>
107 <xs:attribute name="nargs" type="xs:nonNegativeInteger"/>
108 <xs:attribute name="occurrence">
109 <xs:simpleType>
110 <xs:restriction base="xs:string">
111 <xs:enumeration value="prefix"/>
112 <xs:enumeration value="infix"/>
113 <xs:enumeration value="function-model"/>
114 </xs:restriction>
115 </xs:simpleType>
116 </xs:attribute>
117 <xs:attributeGroup ref="Definition.attrib"/>
118 </xs:attributeGroup>
120 <xs:group name="declare.content">
121 <xs:sequence>
122 <xs:group ref="Content-expr.class"/>
123 </xs:sequence>
124 </xs:group>
126 <xs:complexType name="declare.type">
127 <xs:group ref="declare.content" minOccurs="1" maxOccurs="unbounded"/>
128 <xs:attributeGroup ref="declare.attlist"/>
129 </xs:complexType>
131 <xs:element name="declare" type="declare.type"/>
133 <!-- "lambda" -->
135 <xs:attributeGroup name="lambda.attlist">
136 <xs:attributeGroup ref="Common.attrib"/>
137 </xs:attributeGroup>
139 <xs:group name="lambda.content">
140 <xs:sequence>
141 <xs:group ref="Content-expr.class"/>
142 </xs:sequence>
143 </xs:group>
145 <xs:complexType name="lambda.type">
146 <xs:group ref="lambda.content" minOccurs="1" maxOccurs="unbounded"/>
147 <xs:attributeGroup ref="lambda.attlist"/>
148 </xs:complexType>
150 <xs:element name="lambda" type="lambda.type"/>
152 <!-- "piecewise" and its inner elements -->
154 <xs:group name="otherwise.content">
155 <xs:sequence>
156 <xs:group ref="Content-expr.class"/>
157 </xs:sequence>
158 </xs:group>
160 <xs:complexType name="otherwise.type">
161 <xs:group ref="otherwise.content"/>
162 <xs:attributeGroup ref="Common.attrib"/>
163 </xs:complexType>
165 <xs:element name="otherwise" type="otherwise.type"/>
167 <xs:group name="piece.content">
168 <xs:sequence>
169 <xs:group ref="Content-expr.class"/>
170 </xs:sequence>
171 </xs:group>
173 <xs:complexType name="piece.type">
174 <xs:group ref="piece.content" minOccurs="1" maxOccurs="unbounded"/>
175 </xs:complexType>
177 <xs:element name="piece" type="piece.type"/>
179 <xs:attributeGroup name="piecewise.attlist">
180 <xs:attributeGroup ref="Common.attrib"/>
181 </xs:attributeGroup>
183 <xs:group name="piecewise.content">
184 <xs:sequence>
185 <xs:element ref="piece" minOccurs="0" maxOccurs="unbounded"/>
186 <xs:sequence minOccurs="0">
187 <xs:element ref="otherwise"/>
188 <xs:element ref="piece" minOccurs="0" maxOccurs="unbounded"/>
189 </xs:sequence>
190 </xs:sequence>
191 </xs:group>
193 <xs:complexType name="piecewise.type">
194 <xs:group ref="piecewise.content"/>
195 <xs:attributeGroup ref="piecewise.attlist"/>
196 </xs:complexType>
198 <xs:element name="piecewise" type="piecewise.type"/>
200 <!-- "bvar" -->
202 <xs:attributeGroup name="bvar.attlist">
203 <xs:attributeGroup ref="Common.attrib"/>
204 </xs:attributeGroup>
206 <xs:group name="bvar.content">
207 <xs:sequence>
208 <xs:group ref="Content-expr.class"/>
209 </xs:sequence>
210 </xs:group>
212 <xs:complexType name="bvar.type">
213 <xs:group ref="bvar.content" minOccurs="1" maxOccurs="unbounded"/>
214 <xs:attributeGroup ref="bvar.attlist"/>
215 </xs:complexType>
217 <xs:element name="bvar" type="bvar.type"/>
219 <!-- "degree" -->
221 <xs:attributeGroup name="degree.attlist">
222 <xs:attributeGroup ref="Common.attrib"/>
223 </xs:attributeGroup>
225 <xs:group name="degree.content">
226 <xs:sequence>
227 <xs:group ref="Content-expr.class"/>
228 </xs:sequence>
229 </xs:group>
231 <xs:complexType name="degree.type">
232 <xs:group ref="degree.content" minOccurs="1" maxOccurs="unbounded"/>
233 <xs:attributeGroup ref="degree.attlist"/>
234 </xs:complexType>
236 <xs:element name="degree" type="degree.type"/>
238 <!-- And the group of everything -->
240 <xs:group name="Content-constructs.class">
241 <xs:choice>
242 <xs:element ref="apply"/>
243 <xs:element ref="interval"/>
244 <xs:element ref="inverse"/>
245 <xs:element ref="condition"/>
246 <xs:element ref="declare"/>
247 <xs:element ref="lambda"/>
248 <xs:element ref="piecewise"/>
249 <xs:element ref="bvar"/>
250 <xs:element ref="degree"/>
251 </xs:choice>
252 </xs:group>
254 </xs:schema>
255 <!--
256 Copyright &#251; 2002 World Wide Web Consortium, (Massachusetts Institute
257 of Technology, Institut National de Recherche en Informatique et en
258 Automatique, Keio University). All Rights Reserved. See
259 http://www.w3.org/Consortium/Legal/.