Help check: validate the help files on compilation against a derivated docbook schema
[scilab.git] / scilab / modules / helptools / schema / mathml3-common.rng
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!--\r
3       This is the Mathematical Markup Language (MathML) 3.0, an XML\r
4       application for describing mathematical notation and capturing\r
5       both its structure and content.\r
6   \r
7       Copyright 1998-2010 W3C (MIT, ERCIM, Keio)\r
8   \r
9       Use and distribution of this code are permitted under the terms\r
10       W3C Software Notice and License\r
11       http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231\r
12 -->\r
13 <grammar ns="http://www.w3.org/1998/Math/MathML" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">\r
14   <start>\r
15     <ref name="math"/>\r
16   </start>\r
17   <define name="math">\r
18     <element name="math">\r
19       <ref name="math.attributes"/>\r
20       <zeroOrMore>\r
21         <ref name="MathExpression"/>\r
22       </zeroOrMore>\r
23     </element>\r
24   </define>\r
25   <define name="MathExpression">\r
26     <ref name="semantics"/>\r
27   </define>\r
28   <define name="NonMathMLAtt">\r
29     <attribute>\r
30       <anyName>\r
31         <except>\r
32           <nsName ns=""/>\r
33           <nsName/>\r
34         </except>\r
35       </anyName>\r
36       <data type="string"/>\r
37     </attribute>\r
38   </define>\r
39   <define name="CommonDeprecatedAtt">\r
40     <optional>\r
41       <attribute name="other"/>\r
42     </optional>\r
43   </define>\r
44   <define name="CommonAtt">\r
45     <optional>\r
46       <attribute name="id">\r
47         <data type="ID"/>\r
48       </attribute>\r
49     </optional>\r
50     <optional>\r
51       <attribute name="xref"/>\r
52     </optional>\r
53     <optional>\r
54       <attribute name="class">\r
55         <data type="NMTOKENS"/>\r
56       </attribute>\r
57     </optional>\r
58     <optional>\r
59       <attribute name="style">\r
60         <data type="string"/>\r
61       </attribute>\r
62     </optional>\r
63     <optional>\r
64       <attribute name="href">\r
65         <data type="anyURI"/>\r
66       </attribute>\r
67     </optional>\r
68     <ref name="CommonDeprecatedAtt"/>\r
69     <zeroOrMore>\r
70       <ref name="NonMathMLAtt"/>\r
71     </zeroOrMore>\r
72   </define>\r
73   <define name="math.attributes">\r
74     <ref name="CommonAtt"/>\r
75     <optional>\r
76       <attribute name="display">\r
77         <choice>\r
78           <value>block</value>\r
79           <value>inline</value>\r
80         </choice>\r
81       </attribute>\r
82     </optional>\r
83     <optional>\r
84       <attribute name="maxwidth">\r
85         <ref name="length"/>\r
86       </attribute>\r
87     </optional>\r
88     <optional>\r
89       <attribute name="overflow">\r
90         <choice>\r
91           <value>linebreak</value>\r
92           <value>scroll</value>\r
93           <value>elide</value>\r
94           <value>truncate</value>\r
95           <value>scale</value>\r
96         </choice>\r
97       </attribute>\r
98     </optional>\r
99     <optional>\r
100       <attribute name="altimg">\r
101         <data type="anyURI"/>\r
102       </attribute>\r
103     </optional>\r
104     <optional>\r
105       <attribute name="altimg-width">\r
106         <ref name="length"/>\r
107       </attribute>\r
108     </optional>\r
109     <optional>\r
110       <attribute name="altimg-height">\r
111         <ref name="length"/>\r
112       </attribute>\r
113     </optional>\r
114     <optional>\r
115       <attribute name="altimg-valign">\r
116         <choice>\r
117           <ref name="length"/>\r
118           <value>top</value>\r
119           <value>middle</value>\r
120           <value>bottom</value>\r
121         </choice>\r
122       </attribute>\r
123     </optional>\r
124     <optional>\r
125       <attribute name="alttext"/>\r
126     </optional>\r
127     <optional>\r
128       <attribute name="cdgroup">\r
129         <data type="anyURI"/>\r
130       </attribute>\r
131     </optional>\r
132     <ref name="math.deprecatedattributes"/>\r
133   </define>\r
134   <!--\r
135     the mathml3-presentation schema  adds additional attributes\r
136     to the math element, all those valid on mstyle\r
137   -->\r
138   <define name="math.deprecatedattributes">\r
139     <optional>\r
140       <attribute name="mode">\r
141         <data type="string"/>\r
142       </attribute>\r
143     </optional>\r
144     <optional>\r
145       <attribute name="macros">\r
146         <data type="string"/>\r
147       </attribute>\r
148     </optional>\r
149   </define>\r
150   <define name="name">\r
151     <attribute name="name">\r
152       <data type="NCName"/>\r
153     </attribute>\r
154   </define>\r
155   <define name="cd">\r
156     <attribute name="cd">\r
157       <data type="NCName"/>\r
158     </attribute>\r
159   </define>\r
160   <define name="src">\r
161     <optional>\r
162       <attribute name="src">\r
163         <data type="anyURI"/>\r
164       </attribute>\r
165     </optional>\r
166   </define>\r
167   <define name="annotation">\r
168     <element name="annotation">\r
169       <ref name="annotation.attributes"/>\r
170       <text/>\r
171     </element>\r
172   </define>\r
173   <define name="annotation-xml.model">\r
174     <zeroOrMore>\r
175       <choice>\r
176         <ref name="MathExpression"/>\r
177         <ref name="anyElement"/>\r
178       </choice>\r
179     </zeroOrMore>\r
180   </define>\r
181   <define name="anyElement">\r
182     <element>\r
183       <anyName>\r
184         <except>\r
185           <nsName/>\r
186         </except>\r
187       </anyName>\r
188       <zeroOrMore>\r
189         <choice>\r
190           <attribute>\r
191             <anyName/>\r
192           </attribute>\r
193           <text/>\r
194           <ref name="anyElement"/>\r
195         </choice>\r
196       </zeroOrMore>\r
197     </element>\r
198   </define>\r
199   <define name="annotation-xml">\r
200     <element name="annotation-xml">\r
201       <ref name="annotation.attributes"/>\r
202       <ref name="annotation-xml.model"/>\r
203     </element>\r
204   </define>\r
205   <define name="annotation.attributes">\r
206     <ref name="CommonAtt"/>\r
207     <optional>\r
208       <ref name="cd"/>\r
209     </optional>\r
210     <optional>\r
211       <ref name="name"/>\r
212     </optional>\r
213     <ref name="DefEncAtt"/>\r
214     <optional>\r
215       <ref name="src"/>\r
216     </optional>\r
217   </define>\r
218   <define name="DefEncAtt">\r
219     <optional>\r
220       <attribute name="encoding">\r
221         <data type="string"/>\r
222       </attribute>\r
223     </optional>\r
224     <optional>\r
225       <attribute name="definitionURL">\r
226         <data type="anyURI"/>\r
227       </attribute>\r
228     </optional>\r
229   </define>\r
230   <define name="semantics">\r
231     <element name="semantics">\r
232       <ref name="semantics.attributes"/>\r
233       <ref name="MathExpression"/>\r
234       <zeroOrMore>\r
235         <choice>\r
236           <ref name="annotation"/>\r
237           <ref name="annotation-xml"/>\r
238         </choice>\r
239       </zeroOrMore>\r
240     </element>\r
241   </define>\r
242   <define name="semantics.attributes">\r
243     <ref name="CommonAtt"/>\r
244     <ref name="DefEncAtt"/>\r
245     <optional>\r
246       <ref name="cd"/>\r
247     </optional>\r
248     <optional>\r
249       <ref name="name"/>\r
250     </optional>\r
251   </define>\r
252   <define name="length">\r
253     <data type="string">\r
254       <param name="pattern">\s*((-?[0-9]*(\.[0-9]*)?(e[mx]|in|cm|mm|p[xtc]|%)?)|(negative)?((very){0,2}thi(n|ck)|medium)mathspace)\s*</param>\r
255     </data>\r
256   </define>\r
257 </grammar>\r