source: trunk/source/persistency/gdml/schema/gdml_core.xsd @ 1348

Last change on this file since 1348 was 1316, checked in by garnier, 14 years ago

update geant4-09-04-beta-cand-01 interfaces-V09-03-09 vis-V09-03-08

  • Property svn:executable set to *
File size: 8.8 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE xs:schema []>
3<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" version="1.0" xmlns:gdml="http://cern.ch/2001/Schemas/GDML" xmlns:xs="http://www.w3.org/2001/XMLSchema">
4  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
5  <xs:simpleType name="InlineExpressionType">
6    <xs:restriction base="xs:string"></xs:restriction>
7  </xs:simpleType>
8  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
9  <xs:simpleType name="ExpressionOrIDREFType">
10    <xs:union memberTypes="xs:IDREF InlineExpressionType xs:double "></xs:union>
11  </xs:simpleType>
12  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
13  <xs:complexType name="IdentifiableExpressionType">
14    <xs:simpleContent>
15      <xs:extension base="InlineExpressionType">
16        <xs:attribute name="name" type="xs:ID" use="required"></xs:attribute>
17      </xs:extension>
18    </xs:simpleContent>
19  </xs:complexType>
20  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
21  <!--
22      <xs:complexType name="ExpressionType" mixed="true">
23        <xs:annotation>
24          <xs:documentation>
25            A base type for expressions
26          </xs:documentation>
27        </xs:annotation>
28      </xs:complexType>
29      -->
30  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
31  <!--
32        <xs:complexType name="IdentifiableExpressionType" mixed="true">
33          <xs:annotation>
34            <xs:documentation>
35              Named (referenced), global scope,
36              expression (may contain named constants and quantities)
37            </xs:documentation>
38          </xs:annotation>
39          <xs:complexContent>
40            <xs:extension base="ExpressionType">
41              <xs:attribute name="name" type="xs:ID" use="required"/>
42            </xs:extension>
43          </xs:complexContent>
44        </xs:complexType>
45        -->
46  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
47  <xs:complexType name="ConstantType">
48    <xs:annotation>
49      <xs:documentation>An anonymous, local scope, value</xs:documentation>
50    </xs:annotation>
51    <xs:attribute name="value" type="ExpressionOrIDREFType" use="required"></xs:attribute>
52  </xs:complexType>
53  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
54  <xs:complexType name="VariableType">
55    <xs:annotation>
56      <xs:documentation>An anonymous, local scope, value</xs:documentation>
57    </xs:annotation>
58    <xs:attribute name="value" type="ExpressionOrIDREFType" use="required"></xs:attribute>
59  </xs:complexType>
60  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
61  <xs:complexType name="IdentifiableConstantType">
62    <xs:annotation>
63      <xs:documentation>Named (referenced), global scope, constant value</xs:documentation>
64    </xs:annotation>
65    <xs:complexContent>
66      <xs:extension base="ConstantType">
67        <xs:attribute name="name" type="xs:ID" use="required"></xs:attribute>
68      </xs:extension>
69    </xs:complexContent>
70  </xs:complexType>
71  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
72  <xs:complexType name="IdentifiableVariableType">
73    <xs:annotation>
74      <xs:documentation>Named (referenced), local scope, variable value</xs:documentation>
75    </xs:annotation>
76    <xs:complexContent>
77      <xs:extension base="VariableType">
78        <xs:attribute name="name" type="xs:ID" use="required"></xs:attribute>
79      </xs:extension>
80    </xs:complexContent>
81  </xs:complexType>
82  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
83  <xs:complexType name="QuantityType">
84    <xs:annotation>
85      <xs:documentation>An anonymous quantity, local scope, with a unit,
86        (possibly of a given type) quantity</xs:documentation>
87    </xs:annotation>
88    <xs:complexContent>
89      <xs:extension base="ConstantType">
90        <!-- The unit attribute was originally required,
91             but set to optional and is recommended to provide
92             a default value in its derived type
93          -->
94        <xs:attribute name="unit" type="xs:string" use="optional"></xs:attribute>
95        <xs:attribute name="type" type="xs:string" use="optional"></xs:attribute>
96      </xs:extension>
97    </xs:complexContent>
98  </xs:complexType>
99  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
100  <xs:complexType name="IdentifiableQuantityType">
101    <xs:annotation>
102      <xs:documentation>Named (referenced), global scope,(possibly of a given type) quantity</xs:documentation>
103    </xs:annotation>
104    <xs:complexContent>
105      <xs:extension base="QuantityType">
106        <xs:attribute name="name" type="xs:ID" use="required"></xs:attribute>
107      </xs:extension>
108    </xs:complexContent>
109  </xs:complexType>
110  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
111  <xs:complexType name="ThreeVectorType">
112    <xs:annotation>
113      <xs:documentation>An anonymous, 3 dimensional, local scope, vector of doubles</xs:documentation>
114    </xs:annotation>
115    <xs:attribute default="0.0" name="x" type="ExpressionOrIDREFType"></xs:attribute>
116    <xs:attribute default="0.0" name="y" type="ExpressionOrIDREFType"></xs:attribute>
117    <xs:attribute default="0.0" name="z" type="ExpressionOrIDREFType"></xs:attribute>
118  </xs:complexType>
119  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
120  <xs:complexType name="MatrixType">
121    <xs:annotation>
122      <xs:documentation>A bi-dimensional matrix of doubles</xs:documentation>
123    </xs:annotation>
124    <xs:attribute name="name" type="xs:ID"></xs:attribute>
125    <xs:attribute name="coldim" type="xs:nonNegativeInteger"></xs:attribute>
126    <xs:attribute name="values" type="xs:string"></xs:attribute>
127  </xs:complexType>
128  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
129  <xs:complexType name="IdentifiableThreeVectorType">
130    <xs:annotation>
131      <xs:documentation>Named (referenced), 3 dimensional, global scope, vector of doubles</xs:documentation>
132    </xs:annotation>
133    <xs:complexContent>
134      <xs:extension base="ThreeVectorType">
135        <xs:attribute name="name" type="xs:ID" use="required"></xs:attribute>
136      </xs:extension>
137    </xs:complexContent>
138  </xs:complexType>
139  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
140  <xs:complexType name="QuantityVectorType">
141    <xs:annotation>
142      <xs:documentation>An anonymous, 3 dimensional, local scope, with a unit,
143        (possibly of a given type) quantity vector</xs:documentation>
144    </xs:annotation>
145    <xs:complexContent>
146      <xs:extension base="ThreeVectorType">
147        <!-- The unit attribute was originally required,
148             but set to optional and is recommended to provide
149             a default value in its derived type
150          -->
151        <xs:attribute name="unit" type="xs:string" use="optional"></xs:attribute>
152        <xs:attribute name="type" type="xs:string" use="optional"></xs:attribute>
153      </xs:extension>
154    </xs:complexContent>
155  </xs:complexType>
156  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
157  <xs:complexType name="IdentifiableQuantityVectorType">
158    <xs:annotation>
159      <xs:documentation>Named (referenced), 3 dimensional, global scope, with a unit,
160        (possibly of a given type) quantity vector</xs:documentation>
161    </xs:annotation>
162    <xs:complexContent>
163      <xs:extension base="QuantityVectorType">
164        <xs:attribute name="name" type="xs:ID" use="required"></xs:attribute>
165      </xs:extension>
166    </xs:complexContent>
167  </xs:complexType>
168  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
169  <xs:complexType name="ReferenceType">
170    <xs:annotation>
171      <xs:documentation>Local reference to an element of a named type</xs:documentation>
172    </xs:annotation>
173    <xs:attribute name="ref" type="xs:IDREF" use="required"></xs:attribute>
174  </xs:complexType>
175  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
176  <xs:complexType name="FileReferenceType">
177    <xs:annotation>
178      <xs:documentation>Reference to an external file containing sub-volume information</xs:documentation>
179    </xs:annotation>
180    <xs:attribute name="name" type="xs:anyURI" use="required"></xs:attribute>
181    <xs:attribute name="volname" type="xs:string" use="optional"></xs:attribute>
182  </xs:complexType>
183  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
184  <xs:complexType name="ReferenceListType">
185    <xs:annotation>
186      <xs:documentation>List of local references to a set of element of a named type</xs:documentation>
187    </xs:annotation>
188    <xs:attribute name="refs" type="xs:IDREFS" use="required"></xs:attribute>
189  </xs:complexType>
190  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
191  <xs:complexType name="AuxiliaryType">
192    <xs:annotation>
193      <xs:documentation>Auxiliary information like sensitive detector declaration, etc.</xs:documentation>
194    </xs:annotation>
195    <xs:attribute name="auxtype" type="xs:string" use="required"></xs:attribute>
196    <xs:attribute name="auxvalue" type="xs:string" use="required"></xs:attribute>
197  </xs:complexType>
198  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
199</xs:schema>
Note: See TracBrowser for help on using the repository browser.