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

Last change on this file since 1346 was 1316, checked in by garnier, 15 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.