Imported Upstream version 1.8.15
[platform/upstream/doxygen.git] / templates / xml / compound.xsd
1 <?xml version='1.0' encoding='utf-8' ?>
2 <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
3   <xsd:element name="doxygen" type="DoxygenType"/>
4
5   <!-- Complex types -->
6
7   <xsd:complexType name="DoxygenType">
8     <xsd:sequence maxOccurs="unbounded">
9       <xsd:element name="compounddef" type="compounddefType" minOccurs="0" />
10     </xsd:sequence>
11     <xsd:attribute name="version" type="DoxVersionNumber" use="required" />
12   </xsd:complexType>
13
14   <xsd:complexType name="compounddefType">
15     <xsd:sequence>
16       <xsd:element name="compoundname" type="xsd:string"/>
17       <xsd:element name="title" type="xsd:string" minOccurs="0" />
18       <xsd:element name="basecompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
19       <xsd:element name="derivedcompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
20       <xsd:element name="includes" type="incType" minOccurs="0" maxOccurs="unbounded" />
21       <xsd:element name="includedby" type="incType" minOccurs="0" maxOccurs="unbounded" />
22       <xsd:element name="incdepgraph" type="graphType" minOccurs="0" />
23       <xsd:element name="invincdepgraph" type="graphType" minOccurs="0" />
24       <xsd:element name="innerdir" type="refType" minOccurs="0" maxOccurs="unbounded" />
25       <xsd:element name="innerfile" type="refType" minOccurs="0" maxOccurs="unbounded" />
26       <xsd:element name="innerclass" type="refType" minOccurs="0" maxOccurs="unbounded" />
27       <xsd:element name="innernamespace" type="refType" minOccurs="0" maxOccurs="unbounded" />
28       <xsd:element name="innerpage" type="refType" minOccurs="0" maxOccurs="unbounded" />
29       <xsd:element name="innergroup" type="refType" minOccurs="0" maxOccurs="unbounded" />
30       <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
31       <xsd:element name="sectiondef" type="sectiondefType" minOccurs="0" maxOccurs="unbounded" />
32       <xsd:element name="tableofcontents" type="tableofcontentsType" minOccurs="0" maxOccurs="1" />
33       <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
34       <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
35       <xsd:element name="inheritancegraph" type="graphType" minOccurs="0" />
36       <xsd:element name="collaborationgraph" type="graphType" minOccurs="0" />
37       <xsd:element name="programlisting" type="listingType" minOccurs="0" />
38       <xsd:element name="location" type="locationType" minOccurs="0" />
39       <xsd:element name="listofallmembers" type="listofallmembersType" minOccurs="0" />
40     </xsd:sequence>
41     <xsd:attribute name="id" type="xsd:string" />
42     <xsd:attribute name="kind" type="DoxCompoundKind" />
43     <xsd:attribute name="language" type="DoxLanguage" use="optional"/>
44     <xsd:attribute name="prot" type="DoxProtectionKind" />
45     <xsd:attribute name="final" type="DoxBool" use="optional"/>
46     <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
47     <xsd:attribute name="abstract" type="DoxBool" use="optional"/>
48   </xsd:complexType>
49
50   <xsd:complexType name="listofallmembersType">
51     <xsd:sequence>
52       <xsd:element name="member" type="memberRefType" minOccurs="0" maxOccurs="unbounded" />
53     </xsd:sequence>
54   </xsd:complexType>
55
56   <xsd:complexType name="memberRefType">
57     <xsd:sequence>
58       <xsd:element name="scope" />
59       <xsd:element name="name" />
60     </xsd:sequence>
61     <xsd:attribute name="refid" type="xsd:string" />
62     <xsd:attribute name="prot" type="DoxProtectionKind" />
63     <xsd:attribute name="virt" type="DoxVirtualKind" />
64     <xsd:attribute name="ambiguityscope" type="xsd:string" />
65   </xsd:complexType>
66
67   <xsd:complexType name="compoundRefType">
68     <xsd:simpleContent>
69       <xsd:extension base="xsd:string">
70         <xsd:attribute name="refid" type="xsd:string" use="optional" />
71         <xsd:attribute name="prot" type="DoxProtectionKind" />
72         <xsd:attribute name="virt" type="DoxVirtualKind" />
73       </xsd:extension>
74     </xsd:simpleContent>
75   </xsd:complexType>
76
77   <xsd:complexType name="reimplementType">
78     <xsd:simpleContent>
79       <xsd:extension base="xsd:string">
80         <xsd:attribute name="refid" type="xsd:string" />
81       </xsd:extension>
82     </xsd:simpleContent>
83   </xsd:complexType>
84
85   <xsd:complexType name="incType">
86     <xsd:simpleContent>
87       <xsd:extension base="xsd:string">
88         <xsd:attribute name="refid" type="xsd:string" />
89         <xsd:attribute name="local" type="DoxBool" />
90       </xsd:extension>
91     </xsd:simpleContent>
92   </xsd:complexType>
93
94   <xsd:complexType name="refType">
95     <xsd:simpleContent>
96       <xsd:extension base="xsd:string">
97         <xsd:attribute name="refid" type="xsd:string" />
98         <xsd:attribute name="prot" type="DoxProtectionKind" use="optional"/>
99       </xsd:extension>
100     </xsd:simpleContent>
101   </xsd:complexType>
102
103   <xsd:complexType name="refTextType">
104     <xsd:simpleContent>
105       <xsd:extension base="xsd:string">
106        <xsd:attribute name="refid" type="xsd:string" />
107        <xsd:attribute name="kindref" type="DoxRefKind" />
108        <xsd:attribute name="external" type="xsd:string" use="optional"/>
109        <xsd:attribute name="tooltip" type="xsd:string" use="optional"/>
110       </xsd:extension>
111     </xsd:simpleContent>
112   </xsd:complexType>
113
114   <xsd:complexType name="sectiondefType">
115     <xsd:sequence>
116       <xsd:element name="header" type="xsd:string" minOccurs="0" />
117       <xsd:element name="description" type="descriptionType" minOccurs="0" />
118       <xsd:element name="memberdef" type="memberdefType" maxOccurs="unbounded" />
119     </xsd:sequence>
120     <xsd:attribute name="kind" type="DoxSectionKind" />
121   </xsd:complexType>
122
123   <xsd:complexType name="memberdefType">
124     <xsd:sequence>
125       <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
126       <xsd:element name="type" type="linkedTextType" minOccurs="0" />
127       <xsd:element name="definition" minOccurs="0" />
128       <xsd:element name="argsstring" minOccurs="0" />
129       <xsd:element name="name" />
130       <xsd:element name="read" minOccurs="0" />
131       <xsd:element name="write" minOccurs="0" />
132       <xsd:element name="bitfield" minOccurs="0" />
133       <xsd:element name="reimplements" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
134       <xsd:element name="reimplementedby" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
135       <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
136       <xsd:element name="enumvalue" type="enumvalueType" minOccurs="0" maxOccurs="unbounded" />
137       <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
138       <xsd:element name="exceptions" type="linkedTextType" minOccurs="0" />
139       <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
140       <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
141       <xsd:element name="inbodydescription" type="descriptionType" minOccurs="0" />
142       <xsd:element name="location" type="locationType" />
143       <xsd:element name="references" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
144       <xsd:element name="referencedby" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
145     </xsd:sequence>
146     <xsd:attribute name="kind" type="DoxMemberKind" />
147     <xsd:attribute name="id" type="xsd:string" />
148     <xsd:attribute name="prot" type="DoxProtectionKind" />
149     <xsd:attribute name="static" type="DoxBool" />
150     <xsd:attribute name="strong" type="DoxBool" use="optional"/>
151     <xsd:attribute name="const" type="DoxBool" use="optional"/>
152     <xsd:attribute name="explicit" type="DoxBool" use="optional"/>
153     <xsd:attribute name="inline" type="DoxBool" use="optional"/>
154     <xsd:attribute name="refqual" type="DoxRefQualifierKind" use="optional"/>
155     <xsd:attribute name="virt" type="DoxVirtualKind" use="optional"/>
156     <xsd:attribute name="volatile" type="DoxBool" use="optional"/>
157     <xsd:attribute name="mutable" type="DoxBool" use="optional"/>
158     <!-- Qt property -->
159     <xsd:attribute name="readable" type="DoxBool" use="optional"/>
160     <xsd:attribute name="writable" type="DoxBool" use="optional"/>
161     <!-- C++/CLI variable -->
162     <xsd:attribute name="initonly" type="DoxBool" use="optional"/>
163     <!-- C++/CLI and C# property -->
164     <xsd:attribute name="settable" type="DoxBool" use="optional"/>
165     <xsd:attribute name="gettable" type="DoxBool" use="optional"/>
166     <!-- C++/CLI function -->
167     <xsd:attribute name="final" type="DoxBool" use="optional"/>
168     <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
169     <xsd:attribute name="new" type="DoxBool" use="optional"/>
170     <!-- C++/CLI event -->
171     <xsd:attribute name="add" type="DoxBool" use="optional"/>
172     <xsd:attribute name="remove" type="DoxBool" use="optional"/>
173     <xsd:attribute name="raise" type="DoxBool" use="optional"/>
174     <!-- Objective-C 2.0 protocol method -->
175     <xsd:attribute name="optional" type="DoxBool" use="optional"/>
176     <xsd:attribute name="required" type="DoxBool" use="optional"/>
177     <!-- Objective-C 2.0 property accessor -->
178     <xsd:attribute name="accessor" type="DoxAccessor" use="optional"/>
179     <!-- UNO IDL -->
180     <xsd:attribute name="attribute" type="DoxBool" use="optional"/>
181     <xsd:attribute name="property" type="DoxBool" use="optional"/>
182     <xsd:attribute name="readonly" type="DoxBool" use="optional"/>
183     <xsd:attribute name="bound" type="DoxBool" use="optional"/>
184     <xsd:attribute name="removable" type="DoxBool" use="optional"/>
185     <xsd:attribute name="contrained" type="DoxBool" use="optional"/>
186     <xsd:attribute name="transient" type="DoxBool" use="optional"/>
187     <xsd:attribute name="maybevoid" type="DoxBool" use="optional"/>
188     <xsd:attribute name="maybedefault" type="DoxBool" use="optional"/>
189     <xsd:attribute name="maybeambiguous" type="DoxBool" use="optional"/>
190
191   </xsd:complexType>
192
193   <xsd:complexType name="descriptionType" mixed="true">
194     <xsd:sequence>
195       <xsd:element name="title" type="xsd:string" minOccurs="0"/>           
196       <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
197       <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
198       <xsd:element name="internal" type="docInternalType" minOccurs="0" />
199     </xsd:sequence>
200   </xsd:complexType>
201
202   <xsd:complexType name="enumvalueType" mixed="true">
203     <xsd:sequence>
204       <xsd:element name="name" />
205       <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
206       <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
207       <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
208     </xsd:sequence>
209     <xsd:attribute name="id" type="xsd:string" />
210     <xsd:attribute name="prot" type="DoxProtectionKind" />
211   </xsd:complexType>
212
213   <xsd:complexType name="templateparamlistType">
214     <xsd:sequence>
215       <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
216     </xsd:sequence>
217   </xsd:complexType>
218
219   <xsd:complexType name="paramType">
220     <xsd:sequence>
221       <xsd:element name="type" type="linkedTextType" minOccurs="0" />
222       <xsd:element name="declname" minOccurs="0" />
223       <xsd:element name="defname" minOccurs="0" />
224       <xsd:element name="array" minOccurs="0" />
225       <xsd:element name="defval" type="linkedTextType" minOccurs="0" />
226       <xsd:element name="typeconstraint" type="linkedTextType" minOccurs="0" />
227       <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
228     </xsd:sequence>
229   </xsd:complexType>
230
231   <xsd:complexType name="linkedTextType" mixed="true">
232     <xsd:sequence>
233     <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="unbounded" />
234     </xsd:sequence>
235   </xsd:complexType>
236
237   <xsd:complexType name="graphType">
238     <xsd:sequence>
239       <xsd:element name="node" type="nodeType" maxOccurs="unbounded" />
240     </xsd:sequence>
241   </xsd:complexType>
242
243   <xsd:complexType name="nodeType">
244     <xsd:sequence>
245       <xsd:element name="label" />
246       <xsd:element name="link" type="linkType" minOccurs="0" />
247       <xsd:element name="childnode" type="childnodeType" minOccurs="0" maxOccurs="unbounded" />
248     </xsd:sequence>
249     <xsd:attribute name="id" type="xsd:string" />
250   </xsd:complexType>
251
252   <xsd:complexType name="childnodeType">
253     <xsd:sequence>
254       <xsd:element name="edgelabel" minOccurs="0" maxOccurs="unbounded"/>
255     </xsd:sequence>
256     <xsd:attribute name="refid" type="xsd:string" />
257     <xsd:attribute name="relation" type="DoxGraphRelation" />
258   </xsd:complexType>
259
260   <xsd:complexType name="linkType">
261     <xsd:attribute name="refid" type="xsd:string" />
262     <xsd:attribute name="external" type="xsd:string" use="optional"/>
263   </xsd:complexType>
264
265   <xsd:complexType name="listingType">
266     <xsd:sequence>
267       <xsd:element name="codeline" type="codelineType" minOccurs="0" maxOccurs="unbounded" />
268     </xsd:sequence>
269     <xsd:attribute name="filename" type="xsd:string" use="optional"/>
270   </xsd:complexType>
271
272   <xsd:complexType name="codelineType">
273     <xsd:sequence>
274       <xsd:element name="highlight" type="highlightType" minOccurs="0" maxOccurs="unbounded" />
275     </xsd:sequence>
276     <xsd:attribute name="lineno" type="xsd:integer" />
277     <xsd:attribute name="refid" type="xsd:string" />
278     <xsd:attribute name="refkind" type="DoxRefKind" />
279     <xsd:attribute name="external" type="DoxBool" />
280   </xsd:complexType>
281
282   <xsd:complexType name="highlightType" mixed="true">
283     <xsd:choice minOccurs="0" maxOccurs="unbounded">
284       <xsd:element name="sp" type="spType" />
285       <xsd:element name="ref" type="refTextType" />
286     </xsd:choice>
287     <xsd:attribute name="class" type="DoxHighlightClass" />
288   </xsd:complexType>
289
290   <xsd:complexType name="spType" mixed="true">
291     <xsd:attribute name="value" type="xsd:integer" use="optional"/>
292   </xsd:complexType>
293
294   <xsd:complexType name="referenceType" mixed="true">
295     <xsd:attribute name="refid" type="xsd:string" />
296     <xsd:attribute name="compoundref" type="xsd:string" use="optional" />
297     <xsd:attribute name="startline" type="xsd:integer" />
298     <xsd:attribute name="endline" type="xsd:integer" />
299   </xsd:complexType>
300
301   <xsd:complexType name="locationType">
302     <xsd:attribute name="file" type="xsd:string" />
303     <xsd:attribute name="line" type="xsd:integer" />
304     <xsd:attribute name="column" type="xsd:integer" use="optional"/>
305     <xsd:attribute name="bodyfile" type="xsd:string" />
306     <xsd:attribute name="bodystart" type="xsd:integer" />
307     <xsd:attribute name="bodyend" type="xsd:integer" />
308   </xsd:complexType>
309
310   <xsd:complexType name="docSect1Type" mixed="true">
311     <xsd:sequence>
312       <xsd:element name="title" type="xsd:string" />        
313       <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
314       <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
315       <xsd:element name="internal" type="docInternalS1Type" minOccurs="0" />
316     </xsd:sequence>
317     <xsd:attribute name="id" type="xsd:string" />
318   </xsd:complexType>
319
320   <xsd:complexType name="docSect2Type" mixed="true">
321     <xsd:sequence>
322       <xsd:element name="title" type="xsd:string" />        
323       <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
324       <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
325       <xsd:element name="internal" type="docInternalS2Type" minOccurs="0" />
326     </xsd:sequence>
327     <xsd:attribute name="id" type="xsd:string" />
328   </xsd:complexType>
329
330   <xsd:complexType name="docSect3Type" mixed="true">
331     <xsd:sequence>
332       <xsd:element name="title" type="xsd:string" />        
333       <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
334       <xsd:element name="sect4" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
335       <xsd:element name="internal" type="docInternalS3Type" minOccurs="0" />
336     </xsd:sequence>
337     <xsd:attribute name="id" type="xsd:string" />
338   </xsd:complexType>
339
340   <xsd:complexType name="docSect4Type" mixed="true">
341     <xsd:sequence>
342       <xsd:element name="title" type="xsd:string" />        
343       <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
344       <xsd:element name="internal" type="docInternalS4Type" minOccurs="0" />
345     </xsd:sequence>
346     <xsd:attribute name="id" type="xsd:string" />
347   </xsd:complexType>
348
349   <xsd:complexType name="docInternalType" mixed="true">
350     <xsd:sequence>
351       <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
352       <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
353     </xsd:sequence>
354   </xsd:complexType>
355
356   <xsd:complexType name="docInternalS1Type" mixed="true">
357     <xsd:sequence>
358       <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
359       <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
360     </xsd:sequence>
361   </xsd:complexType>
362
363   <xsd:complexType name="docInternalS2Type" mixed="true">
364     <xsd:sequence>
365       <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
366       <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
367     </xsd:sequence>
368   </xsd:complexType>
369
370   <xsd:complexType name="docInternalS3Type" mixed="true">
371     <xsd:sequence>
372       <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
373       <xsd:element name="sect3" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
374     </xsd:sequence>
375   </xsd:complexType>
376
377   <xsd:complexType name="docInternalS4Type" mixed="true">
378     <xsd:sequence>
379       <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
380     </xsd:sequence>
381   </xsd:complexType>
382  
383   <xsd:group name="docTitleCmdGroup">
384     <xsd:choice>
385       <xsd:element name="ulink" type="docURLLink" />
386       <xsd:element name="bold" type="docMarkupType" />
387       <xsd:element name="strike" type="docMarkupType" />
388       <xsd:element name="underline" type="docMarkupType" />
389       <xsd:element name="emphasis" type="docMarkupType" />
390       <xsd:element name="computeroutput" type="docMarkupType" />
391       <xsd:element name="subscript" type="docMarkupType" />
392       <xsd:element name="superscript" type="docMarkupType" />
393       <xsd:element name="center" type="docMarkupType" />
394       <xsd:element name="small" type="docMarkupType" />
395       <xsd:element name="htmlonly" type="xsd:string" />
396       <xsd:element name="manonly" type="xsd:string" />
397       <xsd:element name="xmlonly" type="xsd:string" />
398       <xsd:element name="rtfonly" type="xsd:string" />
399       <xsd:element name="latexonly" type="xsd:string" />
400       <xsd:element name="dot" type="xsd:string" />
401       <xsd:element name="plantuml" type="xsd:string" />
402       <xsd:element name="anchor" type="docAnchorType" />
403       <xsd:element name="formula" type="docFormulaType" />
404       <xsd:element name="ref" type="docRefTextType" />
405       <xsd:element name="emoji" type="docEmojiType" />
406       <!-- Automatically insert here the HTML entities -->
407     </xsd:choice>
408   </xsd:group>
409
410   <xsd:complexType name="docTitleType" mixed="true">
411     <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
412   </xsd:complexType>
413
414   <xsd:group name="docCmdGroup">
415     <xsd:choice>
416       <xsd:group ref="docTitleCmdGroup"/>
417       <xsd:element name="linebreak" type="docEmptyType" />
418       <xsd:element name="hruler" type="docEmptyType" />
419       <xsd:element name="preformatted" type="docMarkupType" />
420       <xsd:element name="programlisting" type="listingType" />
421       <xsd:element name="verbatim" type="xsd:string" />
422       <xsd:element name="indexentry" type="docIndexEntryType" />
423       <xsd:element name="orderedlist" type="docListType" />
424       <xsd:element name="itemizedlist" type="docListType" />
425       <xsd:element name="simplesect" type="docSimpleSectType" />
426       <xsd:element name="title" type="docTitleType" />
427       <xsd:element name="variablelist" type="docVariableListType" />
428       <xsd:element name="table" type="docTableType" />
429       <xsd:element name="heading" type="docHeadingType" />
430       <xsd:element name="image" type="docImageType" />
431       <xsd:element name="dotfile" type="docFileType" />
432       <xsd:element name="mscfile" type="docFileType" />
433       <xsd:element name="diafile" type="docFileType" />
434       <xsd:element name="toclist" type="docTocListType" />
435       <xsd:element name="language" type="docLanguageType" />
436       <xsd:element name="parameterlist" type="docParamListType" />
437       <xsd:element name="xrefsect" type="docXRefSectType" />
438       <xsd:element name="copydoc" type="docCopyType" />
439       <xsd:element name="blockquote" type="docBlockQuoteType" />
440       <xsd:element name="parblock" type="docParBlockType" />
441     </xsd:choice>
442   </xsd:group>
443
444   <xsd:complexType name="docParaType" mixed="true">
445     <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
446   </xsd:complexType>
447
448   <xsd:complexType name="docMarkupType" mixed="true">
449     <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
450   </xsd:complexType>
451
452   <xsd:complexType name="docURLLink" mixed="true">
453     <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
454     <xsd:attribute name="url" type="xsd:string" />
455   </xsd:complexType>
456
457   <xsd:complexType name="docAnchorType" mixed="true">
458     <xsd:attribute name="id" type="xsd:string" />
459   </xsd:complexType>
460
461   <xsd:complexType name="docFormulaType" mixed="true">
462     <xsd:attribute name="id" type="xsd:string" />
463   </xsd:complexType>
464
465   <xsd:complexType name="docIndexEntryType">
466     <xsd:sequence>
467       <xsd:element name="primaryie" type="xsd:string" />
468       <xsd:element name="secondaryie" type="xsd:string" />
469     </xsd:sequence>
470   </xsd:complexType>
471
472   <xsd:complexType name="docListType">
473     <xsd:sequence>
474       <xsd:element name="listitem" type="docListItemType" maxOccurs="unbounded" />
475     </xsd:sequence>
476   </xsd:complexType>
477
478   <xsd:complexType name="docListItemType">
479     <xsd:sequence>
480       <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
481     </xsd:sequence>
482   </xsd:complexType>
483
484   <xsd:complexType name="docSimpleSectType">
485     <xsd:sequence>
486       <xsd:element name="title" type="docTitleType" minOccurs="0" />
487       <xsd:sequence minOccurs="0" maxOccurs="unbounded">
488         <xsd:element name="para" type="docParaType" minOccurs="1" maxOccurs="unbounded" />
489       </xsd:sequence>
490     </xsd:sequence>
491     <xsd:attribute name="kind" type="DoxSimpleSectKind" />
492   </xsd:complexType>
493
494   <xsd:complexType name="docVarListEntryType">
495     <xsd:sequence>
496       <xsd:element name="term" type="docTitleType" />
497     </xsd:sequence>
498   </xsd:complexType>
499
500   <xsd:group name="docVariableListGroup">
501     <xsd:sequence>
502       <xsd:element name="varlistentry" type="docVarListEntryType" />
503       <xsd:element name="listitem" type="docListItemType" />
504     </xsd:sequence>
505   </xsd:group>
506
507   <xsd:complexType name="docVariableListType">
508     <xsd:sequence>
509       <xsd:group ref="docVariableListGroup" maxOccurs="unbounded" />
510     </xsd:sequence>
511   </xsd:complexType>
512
513   <xsd:complexType name="docRefTextType" mixed="true">
514     <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
515     <xsd:attribute name="refid" type="xsd:string" />
516     <xsd:attribute name="kindref" type="DoxRefKind" />
517     <xsd:attribute name="external" type="xsd:string" />
518   </xsd:complexType>
519
520   <xsd:complexType name="docTableType">
521     <xsd:sequence>
522       <xsd:element name="row" type="docRowType" minOccurs="0" maxOccurs="unbounded" />
523       <xsd:element name="caption" type="docCaptionType" minOccurs="0" />
524     </xsd:sequence>
525     <xsd:attribute name="rows" type="xsd:integer" />
526     <xsd:attribute name="cols" type="xsd:integer" />
527   </xsd:complexType>
528
529   <xsd:complexType name="docRowType">
530     <xsd:sequence>
531       <xsd:element name="entry" type="docEntryType" minOccurs="0" maxOccurs="unbounded" />
532     </xsd:sequence>
533   </xsd:complexType>
534
535   <xsd:complexType name="docEntryType">
536     <xsd:sequence>
537       <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
538     </xsd:sequence>
539     <xsd:attribute name="thead" type="DoxBool" />
540   </xsd:complexType>
541
542   <xsd:complexType name="docCaptionType" mixed="true">
543     <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
544   </xsd:complexType>
545
546   <xsd:complexType name="docHeadingType" mixed="true">
547     <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
548     <xsd:attribute name="level" type="xsd:integer" /> <!-- todo: range 1-6 -->
549   </xsd:complexType>
550
551   <xsd:complexType name="docImageType" mixed="true">
552     <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
553     <xsd:attribute name="type" type="DoxImageKind" /> 
554     <xsd:attribute name="name" type="xsd:string" /> 
555     <xsd:attribute name="width" type="xsd:string" /> 
556     <xsd:attribute name="height" type="xsd:string" /> 
557   </xsd:complexType>
558
559   <xsd:complexType name="docFileType" mixed="true">
560     <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
561     <xsd:attribute name="name" type="xsd:string" /> 
562   </xsd:complexType>
563
564   <xsd:complexType name="docTocItemType" mixed="true">
565     <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
566     <xsd:attribute name="id" type="xsd:string" /> 
567   </xsd:complexType>
568
569   <xsd:complexType name="docTocListType">
570     <xsd:sequence>
571       <xsd:element name="tocitem" type="docTocItemType" minOccurs="0" maxOccurs="unbounded" />
572     </xsd:sequence>
573   </xsd:complexType>
574
575   <xsd:complexType name="docLanguageType">
576     <xsd:sequence>
577       <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
578     </xsd:sequence>
579     <xsd:attribute name="langid" type="xsd:string" /> 
580   </xsd:complexType>
581
582   <xsd:complexType name="docParamListType">
583     <xsd:sequence>
584       <xsd:element name="parameteritem" type="docParamListItem" minOccurs="0" maxOccurs="unbounded" />
585     </xsd:sequence>
586     <xsd:attribute name="kind" type="DoxParamListKind" /> 
587   </xsd:complexType>
588
589   <xsd:complexType name="docParamListItem">
590     <xsd:sequence>
591       <xsd:element name="parameternamelist" type="docParamNameList" minOccurs="0" maxOccurs="unbounded" />
592       <xsd:element name="parameterdescription" type="descriptionType" />
593     </xsd:sequence>
594   </xsd:complexType>
595
596   <xsd:complexType name="docParamNameList">
597     <xsd:sequence>
598       <xsd:element name="parametertype" type="docParamType" minOccurs="0" maxOccurs="unbounded" />
599       <xsd:element name="parametername" type="docParamName" minOccurs="0" maxOccurs="unbounded" />
600     </xsd:sequence>
601   </xsd:complexType>
602
603   <xsd:complexType name="docParamType" mixed="true">
604     <xsd:sequence>
605       <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
606     </xsd:sequence>
607   </xsd:complexType>
608
609   <xsd:complexType name="docParamName" mixed="true">
610     <xsd:sequence>
611       <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
612     </xsd:sequence>
613     <xsd:attribute name="direction" type="DoxParamDir" use="optional" />
614   </xsd:complexType>
615
616   <xsd:complexType name="docXRefSectType">
617     <xsd:sequence>
618       <xsd:element name="xreftitle" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
619       <xsd:element name="xrefdescription" type="descriptionType" />
620     </xsd:sequence>
621     <xsd:attribute name="id" type="xsd:string" /> 
622   </xsd:complexType>
623
624   <xsd:complexType name="docCopyType">
625     <xsd:sequence>
626       <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
627       <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
628       <xsd:element name="internal" type="docInternalType" minOccurs="0" />
629     </xsd:sequence>
630     <xsd:attribute name="link" type="xsd:string" /> 
631   </xsd:complexType>
632
633   <xsd:complexType name="docBlockQuoteType">
634     <xsd:sequence>
635       <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
636     </xsd:sequence>
637   </xsd:complexType>
638
639   <xsd:complexType name="docParBlockType">
640     <xsd:sequence>
641       <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
642     </xsd:sequence>
643   </xsd:complexType>
644
645   <xsd:complexType name="docEmptyType"/>
646
647   <xsd:complexType name="tableofcontentsType">
648     <xsd:sequence>
649       <xsd:element name="tocsect" type="tableofcontentsKindType" minOccurs="1" maxOccurs="unbounded" />
650     </xsd:sequence>
651   </xsd:complexType>
652
653   <xsd:complexType name="tableofcontentsKindType">
654     <xsd:sequence>
655       <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
656       <xsd:element name="reference" type="xsd:string" minOccurs="1" maxOccurs="1"/>
657       <xsd:element name="tableofcontents" type="tableofcontentsType" minOccurs="0" maxOccurs="unbounded" />
658     </xsd:sequence>
659   </xsd:complexType>
660
661   <xsd:complexType name="docEmojiType">
662     <xsd:attribute name="name" type="xsd:string"/>
663     <xsd:attribute name="unicode" type="xsd:string"/>
664   </xsd:complexType>
665
666   <!-- Simple types -->
667
668   <xsd:simpleType name="DoxBool">
669     <xsd:restriction base="xsd:string">
670       <xsd:enumeration value="yes" />
671       <xsd:enumeration value="no" />
672     </xsd:restriction>
673   </xsd:simpleType>
674
675   <xsd:simpleType name="DoxGraphRelation">
676     <xsd:restriction base="xsd:string">
677       <xsd:enumeration value="include" />
678       <xsd:enumeration value="usage" />
679       <xsd:enumeration value="template-instance" />
680       <xsd:enumeration value="public-inheritance" />
681       <xsd:enumeration value="protected-inheritance" />
682       <xsd:enumeration value="private-inheritance" />
683       <xsd:enumeration value="type-constraint" />
684     </xsd:restriction>
685   </xsd:simpleType>
686
687   <xsd:simpleType name="DoxRefKind">
688     <xsd:restriction base="xsd:string">
689       <xsd:enumeration value="compound" />
690       <xsd:enumeration value="member" />
691     </xsd:restriction>
692   </xsd:simpleType>
693
694   <xsd:simpleType name="DoxMemberKind">
695     <xsd:restriction base="xsd:string">
696       <xsd:enumeration value="define" />
697       <xsd:enumeration value="property" />
698       <xsd:enumeration value="event" />
699       <xsd:enumeration value="variable" />
700       <xsd:enumeration value="typedef" />
701       <xsd:enumeration value="enum" />
702       <xsd:enumeration value="function" />
703       <xsd:enumeration value="signal" />
704       <xsd:enumeration value="prototype" />
705       <xsd:enumeration value="friend" />
706       <xsd:enumeration value="dcop" />
707       <xsd:enumeration value="slot" />
708       <xsd:enumeration value="interface" />
709       <xsd:enumeration value="service" />
710     </xsd:restriction>
711   </xsd:simpleType>
712
713   <xsd:simpleType name="DoxProtectionKind">
714     <xsd:restriction base="xsd:string">
715       <xsd:enumeration value="public" />
716       <xsd:enumeration value="protected" />
717       <xsd:enumeration value="private" />
718       <xsd:enumeration value="package" />
719     </xsd:restriction>
720   </xsd:simpleType>
721
722   <xsd:simpleType name="DoxRefQualifierKind">
723     <xsd:restriction base="xsd:string">
724       <xsd:enumeration value="lvalue" />
725       <xsd:enumeration value="rvalue" />
726     </xsd:restriction>
727   </xsd:simpleType>
728
729   <xsd:simpleType name="DoxLanguage">
730     <xsd:restriction base="xsd:string">
731       <xsd:enumeration value="Unknown" />
732       <xsd:enumeration value="IDL" />
733       <xsd:enumeration value="Java" />
734       <xsd:enumeration value="C#" />
735       <xsd:enumeration value="D" />
736       <xsd:enumeration value="PHP" />
737       <xsd:enumeration value="Objective-C" />
738       <xsd:enumeration value="C++" />
739       <xsd:enumeration value="Javascript" />
740       <xsd:enumeration value="Python" />
741       <xsd:enumeration value="Fortran" />
742       <xsd:enumeration value="VHDL" />
743       <xsd:enumeration value="XML" />
744       <xsd:enumeration value="SQL" />
745       <xsd:enumeration value="Tcl" />
746       <xsd:enumeration value="Markdown" />
747     </xsd:restriction>
748   </xsd:simpleType>
749
750   <xsd:simpleType name="DoxVirtualKind">
751     <xsd:restriction base="xsd:string">
752       <xsd:enumeration value="non-virtual" />
753       <xsd:enumeration value="virtual" />
754       <xsd:enumeration value="pure-virtual" />
755     </xsd:restriction>
756   </xsd:simpleType>
757
758   <xsd:simpleType name="DoxCompoundKind">
759     <xsd:restriction base="xsd:string">
760       <xsd:enumeration value="class" />
761       <xsd:enumeration value="struct" />
762       <xsd:enumeration value="union" />
763       <xsd:enumeration value="interface" />
764       <xsd:enumeration value="protocol" />
765       <xsd:enumeration value="category" />
766       <xsd:enumeration value="exception" />
767       <xsd:enumeration value="service" />
768       <xsd:enumeration value="singleton" />
769       <xsd:enumeration value="module" />
770       <xsd:enumeration value="type" />
771       <xsd:enumeration value="file" />
772       <xsd:enumeration value="namespace" />
773       <xsd:enumeration value="group" />
774       <xsd:enumeration value="page" />
775       <xsd:enumeration value="example" />
776       <xsd:enumeration value="dir" />
777     </xsd:restriction>
778   </xsd:simpleType>
779
780   <xsd:simpleType name="DoxSectionKind">
781     <xsd:restriction base="xsd:string">
782       <xsd:enumeration value="user-defined" />
783       <xsd:enumeration value="public-type" />
784       <xsd:enumeration value="public-func" />
785       <xsd:enumeration value="public-attrib" />
786       <xsd:enumeration value="public-slot" />
787       <xsd:enumeration value="signal" />
788       <xsd:enumeration value="dcop-func" />
789       <xsd:enumeration value="property" />
790       <xsd:enumeration value="event" />
791       <xsd:enumeration value="public-static-func" />
792       <xsd:enumeration value="public-static-attrib" />
793       <xsd:enumeration value="protected-type" />
794       <xsd:enumeration value="protected-func" />
795       <xsd:enumeration value="protected-attrib" />
796       <xsd:enumeration value="protected-slot" />
797       <xsd:enumeration value="protected-static-func" />
798       <xsd:enumeration value="protected-static-attrib" />
799       <xsd:enumeration value="package-type" />
800       <xsd:enumeration value="package-func" />
801       <xsd:enumeration value="package-attrib" />
802       <xsd:enumeration value="package-static-func" />
803       <xsd:enumeration value="package-static-attrib" />
804       <xsd:enumeration value="private-type" />
805       <xsd:enumeration value="private-func" />
806       <xsd:enumeration value="private-attrib" />
807       <xsd:enumeration value="private-slot" />
808       <xsd:enumeration value="private-static-func" />
809       <xsd:enumeration value="private-static-attrib" />
810       <xsd:enumeration value="friend" />
811       <xsd:enumeration value="related" />
812       <xsd:enumeration value="define" />
813       <xsd:enumeration value="prototype" />
814       <xsd:enumeration value="typedef" />
815       <xsd:enumeration value="enum" />
816       <xsd:enumeration value="func" />
817       <xsd:enumeration value="var" />
818     </xsd:restriction>
819   </xsd:simpleType>
820
821   <xsd:simpleType name="DoxHighlightClass">
822     <xsd:restriction base="xsd:string">
823       <xsd:enumeration value="comment" />
824       <xsd:enumeration value="normal" />
825       <xsd:enumeration value="preprocessor" />
826       <xsd:enumeration value="keyword" />
827       <xsd:enumeration value="keywordtype" />
828       <xsd:enumeration value="keywordflow" />
829       <xsd:enumeration value="stringliteral" />
830       <xsd:enumeration value="charliteral" />
831     </xsd:restriction>
832   </xsd:simpleType>
833
834   <xsd:simpleType name="DoxSimpleSectKind">
835     <xsd:restriction base="xsd:string">
836       <xsd:enumeration value="see" />
837       <xsd:enumeration value="return" />
838       <xsd:enumeration value="author" />
839       <xsd:enumeration value="authors" />
840       <xsd:enumeration value="version" />
841       <xsd:enumeration value="since" />
842       <xsd:enumeration value="date" />
843       <xsd:enumeration value="note" />
844       <xsd:enumeration value="warning" />
845       <xsd:enumeration value="pre" />
846       <xsd:enumeration value="post" />
847       <xsd:enumeration value="copyright" />
848       <xsd:enumeration value="invariant" />
849       <xsd:enumeration value="remark" />
850       <xsd:enumeration value="attention" />
851       <xsd:enumeration value="par" />
852       <xsd:enumeration value="rcs" />
853     </xsd:restriction>
854   </xsd:simpleType>
855
856   <xsd:simpleType name="DoxVersionNumber">
857     <xsd:restriction base="xsd:string">
858       <xsd:pattern value="\d+\.\d+.*" />
859     </xsd:restriction>
860   </xsd:simpleType>
861
862   <xsd:simpleType name="DoxImageKind">
863     <xsd:restriction base="xsd:string">
864       <xsd:enumeration value="html" />
865       <xsd:enumeration value="latex" />
866       <xsd:enumeration value="rtf" />
867     </xsd:restriction>
868   </xsd:simpleType>
869
870   <xsd:simpleType name="DoxParamListKind">
871     <xsd:restriction base="xsd:string">
872       <xsd:enumeration value="param" />
873       <xsd:enumeration value="retval" />
874       <xsd:enumeration value="exception" />
875       <xsd:enumeration value="templateparam" />
876     </xsd:restriction>
877   </xsd:simpleType>
878
879   <xsd:simpleType name="DoxCharRange">
880     <xsd:restriction base="xsd:string">
881       <xsd:pattern value="[aeiouncAEIOUNC]" />
882     </xsd:restriction>
883   </xsd:simpleType>
884
885   <xsd:simpleType name="DoxParamDir">
886     <xsd:restriction base="xsd:string">
887       <xsd:enumeration value="in"/>
888       <xsd:enumeration value="out"/>
889       <xsd:enumeration value="inout"/>
890     </xsd:restriction>
891   </xsd:simpleType>
892
893   <xsd:simpleType name="DoxAccessor">
894     <xsd:restriction base="xsd:string">
895       <xsd:enumeration value="retain"/>
896       <xsd:enumeration value="copy"/>
897       <xsd:enumeration value="assign"/>
898       <xsd:enumeration value="weak"/>
899       <xsd:enumeration value="strong"/>
900       <xsd:enumeration value="unretained"/>
901     </xsd:restriction>
902   </xsd:simpleType>
903
904 </xsd:schema>
905