Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/persistency/gdml/schema/gdml.xsd

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /persistency/gdml/schema/gdml.xsd (Version 11.3.0) and /persistency/gdml/schema/gdml.xsd (Version 9.3.p1)


  1 <?xml version="1.0" encoding="UTF-8"?>              1 <?xml version="1.0" encoding="UTF-8"?>
  2 <xs:schema attributeFormDefault="unqualified"  <<   2 <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">
  3   <xs:include schemaLocation="gdml_core.xsd"/>      3   <xs:include schemaLocation="gdml_core.xsd"/>
  4   <xs:include schemaLocation="gdml_define.xsd"      4   <xs:include schemaLocation="gdml_define.xsd"/>
  5   <xs:include schemaLocation="gdml_materials.x      5   <xs:include schemaLocation="gdml_materials.xsd"/>
  6   <xs:include schemaLocation="gdml_solids.xsd"      6   <xs:include schemaLocation="gdml_solids.xsd"/>
  7   <xs:include schemaLocation="gdml_replicas.xs      7   <xs:include schemaLocation="gdml_replicas.xsd"/>
  8   <xs:include schemaLocation="gdml_parameteris      8   <xs:include schemaLocation="gdml_parameterised.xsd"/>
  9   <xs:include schemaLocation="gdml_extensions.      9   <xs:include schemaLocation="gdml_extensions.xsd"/>
 10   <!-- +++++++++++++++++++++++++++++++++++++++     10   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
 11   <xs:complexType abstract="true" name="Identi     11   <xs:complexType abstract="true" name="IdentifiableVolumeType">
 12     <xs:attribute name="name" type="xs:ID" use     12     <xs:attribute name="name" type="xs:ID" use="required"/>
 13   </xs:complexType>                                13   </xs:complexType>
 14   <!-- +++++++++++++++++++++++++++++++++++++++     14   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
 15   <xs:complexType name="SinglePlacementType">      15   <xs:complexType name="SinglePlacementType">
 16     <xs:annotation>                                16     <xs:annotation>
 17       <xs:documentation>Represents a single un     17       <xs:documentation>Represents a single unique copy a of an associated logical volume
 18         in geometrical hierarchy</xs:documenta     18         in geometrical hierarchy</xs:documentation>
 19     </xs:annotation>                               19     </xs:annotation>
 20     <xs:sequence>                                  20     <xs:sequence>
 21       <xs:choice minOccurs="1">                    21       <xs:choice minOccurs="1">
 22   <xs:element name="file" type="FileReferenceT     22   <xs:element name="file" type="FileReferenceType"/>
 23   <xs:element name="volumeref" type="Reference     23   <xs:element name="volumeref" type="ReferenceType"/>
 24       </xs:choice>                                 24       </xs:choice>      
 25       <xs:choice minOccurs="0">                    25       <xs:choice minOccurs="0">
 26   <xs:element name="position" type="positionTy     26   <xs:element name="position" type="positionType"/>
 27   <xs:element name="positionref" type="Referen     27   <xs:element name="positionref" type="ReferenceType"/>
 28       </xs:choice>                                 28       </xs:choice>
 29       <xs:choice minOccurs="0">                    29       <xs:choice minOccurs="0">
 30   <xs:element name="rotation" type="rotationTy     30   <xs:element name="rotation" type="rotationType"/>
 31   <xs:element name="rotationref" type="Referen     31   <xs:element name="rotationref" type="ReferenceType"/>
 32       </xs:choice>                                 32       </xs:choice>
 33       <xs:choice minOccurs="0">                    33       <xs:choice minOccurs="0">
 34   <xs:element name="scale" type="scaleType"/>      34   <xs:element name="scale" type="scaleType"/>
 35   <xs:element name="scaleref" type="ReferenceT     35   <xs:element name="scaleref" type="ReferenceType"/>
 36       </xs:choice>                                 36       </xs:choice>
 37     </xs:sequence>                                 37     </xs:sequence>
 38     <xs:attribute name="name" type="xs:ID"></x     38     <xs:attribute name="name" type="xs:ID"></xs:attribute>
 39     <xs:attribute name="copynumber" type="xs:i << 
 40   </xs:complexType>                                39   </xs:complexType>
 41   <!-- +++++++++++++++++++++++++++++++++++++++     40   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
 42   <xs:complexType name="DivisionPlacementType"     41   <xs:complexType name="DivisionPlacementType">
 43     <xs:annotation>                                42     <xs:annotation>
 44       <xs:documentation>Represents a division      43       <xs:documentation>Represents a division of the associated logical volume
 45         in geometrical hierarchy</xs:documenta     44         in geometrical hierarchy</xs:documentation>
 46     </xs:annotation>                               45     </xs:annotation>
 47     <xs:sequence>                                  46     <xs:sequence>
 48       <xs:element name="volumeref" type="Refer     47       <xs:element name="volumeref" type="ReferenceType"/>
 49     </xs:sequence>                                 48     </xs:sequence>
 50     <xs:attribute name="axis" type="xs:string"     49     <xs:attribute name="axis" type="xs:string" use="required"></xs:attribute>
 51     <xs:attribute name="number" type="Expressi     50     <xs:attribute name="number" type="ExpressionOrIDREFType" use="required"></xs:attribute>
 52     <xs:attribute name="width" type="Expressio     51     <xs:attribute name="width" type="ExpressionOrIDREFType" use="required"></xs:attribute>
 53     <xs:attribute name="offset" type="Expressi     52     <xs:attribute name="offset" type="ExpressionOrIDREFType" use="required"></xs:attribute>
 54     <xs:attribute default="mm" name="unit" typ     53     <xs:attribute default="mm" name="unit" type="xs:string"></xs:attribute>
 55   </xs:complexType>                                54   </xs:complexType>
 56   <!-- +++++++++++++++++++++++++++++++++++++++     55   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
 57   <xs:complexType name="VolumeType">               56   <xs:complexType name="VolumeType">
 58     <xs:annotation>                                57     <xs:annotation>
 59       <xs:documentation>Represents a top of a      58       <xs:documentation>Represents a top of a geometrical sub-hierarchy not placed in space
 60         None of its children can coincide with     59         None of its children can coincide with its boundary defined by an associated solid
 61         Two different placements of the same l     60         Two different placements of the same logical volume represent two different geometrical
 62         hierarchies in space</xs:documentation     61         hierarchies in space</xs:documentation>
 63     </xs:annotation>                               62     </xs:annotation>
 64     <xs:complexContent>                            63     <xs:complexContent>
 65       <xs:extension base="IdentifiableVolumeTy     64       <xs:extension base="IdentifiableVolumeType">
 66   <xs:sequence>                                    65   <xs:sequence>
 67     <xs:element name="materialref" type="Refer     66     <xs:element name="materialref" type="ReferenceType"/>
 68     <xs:element name="solidref" type="Referenc     67     <xs:element name="solidref" type="ReferenceType"/>    
 69     <xs:choice minOccurs="0">                      68     <xs:choice minOccurs="0">     
 70       <xs:element maxOccurs="unbounded" name="     69       <xs:element maxOccurs="unbounded" name="physvol" type="SinglePlacementType"/>
 71       <xs:element maxOccurs="1" minOccurs="1"      70       <xs:element maxOccurs="1" minOccurs="1" name="divisionvol" type="DivisionPlacementType"/>
 72       <xs:element maxOccurs="1" minOccurs="1"      71       <xs:element maxOccurs="1" minOccurs="1" ref="replicavol"/>
 73       <xs:element maxOccurs="1" minOccurs="1"      72       <xs:element maxOccurs="1" minOccurs="1" name="paramvol" type="ParameterisedPlacementType"/>
 74     </xs:choice>                                   73     </xs:choice>
 75     <xs:element maxOccurs="unbounded" minOccur     74     <xs:element maxOccurs="unbounded" minOccurs="0" ref="loop"/>
 76     <xs:element name="auxiliary" maxOccurs="un     75     <xs:element name="auxiliary" maxOccurs="unbounded" minOccurs="0" type="AuxiliaryType"/>
 77   </xs:sequence>                                   76   </xs:sequence>
 78       </xs:extension>                              77       </xs:extension>
 79     </xs:complexContent>                           78     </xs:complexContent>
 80   </xs:complexType>                                79   </xs:complexType>
 81   <!-- +++++++++++++++++++++++++++++++++++++++     80   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
 82   <xs:complexType name="AssemblyVolumeType">       81   <xs:complexType name="AssemblyVolumeType">
 83     <xs:annotation>                                82     <xs:annotation>
 84       <xs:documentation>Allows to create a gro     83       <xs:documentation>Allows to create a group of volumes bound together without a boundary
 85         All the volumes exits inside the same      84         All the volumes exits inside the same virtual reference system of the assmebly volume
 86         they belong to                             85         they belong to
 87         When assembly volume is placed all its     86         When assembly volume is placed all its children follow the global transformation applied
 88         to their assembly volume                   87         to their assembly volume
 89         After the assembly volume is placed it     88         After the assembly volume is placed its children exist as standalone placements in space
 90         independent of each other</xs:document     89         independent of each other</xs:documentation>
 91     </xs:annotation>                               90     </xs:annotation>
 92     <xs:complexContent>                            91     <xs:complexContent>
 93       <xs:extension base="IdentifiableVolumeTy     92       <xs:extension base="IdentifiableVolumeType">
 94   <xs:choice>                                      93   <xs:choice>
 95     <xs:element maxOccurs="unbounded" name="ph     94     <xs:element maxOccurs="unbounded" name="physvol" type="SinglePlacementType"/>
 96     <xs:element maxOccurs="1" minOccurs="1" re     95     <xs:element maxOccurs="1" minOccurs="1" ref="replicavol"/>
 97     <xs:element maxOccurs="1" minOccurs="1" na     96     <xs:element maxOccurs="1" minOccurs="1" name="paramvol" type="ParameterisedPlacementType"/>
 98   </xs:choice>                                     97   </xs:choice>
 99       </xs:extension>                              98       </xs:extension>
100     </xs:complexContent>                           99     </xs:complexContent>
101   </xs:complexType>                               100   </xs:complexType>
102   <!-- +++++++++++++++++++++++++++++++++++++++    101   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
103   <xs:complexType name="LogicalSurfaceType">      102   <xs:complexType name="LogicalSurfaceType">
104     <xs:annotation>                               103     <xs:annotation>
105       <xs:documentation>Base type for logical     104       <xs:documentation>Base type for logical surfaces (for the moment only optical)
106       </xs:documentation>                         105       </xs:documentation>
107     </xs:annotation>                              106     </xs:annotation>
108     <xs:attribute name="name" type="xs:ID" use    107     <xs:attribute name="name" type="xs:ID" use="required"></xs:attribute>
109     <xs:attribute name="surfaceproperty" type=    108     <xs:attribute name="surfaceproperty" type="ExpressionOrIDREFType" use="required"></xs:attribute>
110   </xs:complexType>                               109   </xs:complexType>
111   <!-- +++++++++++++++++++++++++++++++++++++++    110   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
112   <xs:element abstract="true" name="Surface" t    111   <xs:element abstract="true" name="Surface" type="LogicalSurfaceType">
113     <xs:annotation>                               112     <xs:annotation>
114       <xs:documentation>Abstract element for a    113       <xs:documentation>Abstract element for all solids substitution group</xs:documentation>
115     </xs:annotation>                              114     </xs:annotation>
116   </xs:element>                                   115   </xs:element>
117   <!-- +++++++++++++++++++++++++++++++++++++++    116   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
118   <xs:element name="bordersurface" substitutio    117   <xs:element name="bordersurface" substitutionGroup="Surface">
119     <xs:annotation>                               118     <xs:annotation>
120       <xs:documentation>Surface between two ph    119       <xs:documentation>Surface between two physical volumes</xs:documentation>
121     </xs:annotation>                              120     </xs:annotation>
122       <xs:complexType>                            121       <xs:complexType>
123       <xs:complexContent>                         122       <xs:complexContent>
124   <xs:extension base="LogicalSurfaceType">        123   <xs:extension base="LogicalSurfaceType">
125    <xs:sequence>                                  124    <xs:sequence>
126     <xs:element name="physvolref" type="Refere    125     <xs:element name="physvolref" type="ReferenceType"/>
127     <xs:element name="physvolref" type="Refere    126     <xs:element name="physvolref" type="ReferenceType"/>
128    </xs:sequence>                                 127    </xs:sequence>
129   </xs:extension>                                 128   </xs:extension>
130       </xs:complexContent>                        129       </xs:complexContent>
131      </xs:complexType>                            130      </xs:complexType>
132   </xs:element>                                   131   </xs:element>
133   <!-- +++++++++++++++++++++++++++++++++++++++    132   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
134   <xs:element name="skinsurface" substitutionG    133   <xs:element name="skinsurface" substitutionGroup="Surface">
135     <xs:annotation>                               134     <xs:annotation>
136       <xs:documentation>Surface between two ph    135       <xs:documentation>Surface between two physical volumes</xs:documentation>
137     </xs:annotation>                              136     </xs:annotation>
138      <xs:complexType>                             137      <xs:complexType>
139       <xs:complexContent>                         138       <xs:complexContent>
140   <xs:extension base="LogicalSurfaceType">        139   <xs:extension base="LogicalSurfaceType">
141     <xs:sequence>                                 140     <xs:sequence>
142              <xs:element name="volumeref" type    141              <xs:element name="volumeref" type="ReferenceType"/>
143     </xs:sequence>                                142     </xs:sequence>
144   </xs:extension>                                 143   </xs:extension>
145       </xs:complexContent>                        144       </xs:complexContent>
146      </xs:complexType>                            145      </xs:complexType>
147   </xs:element>                                   146   </xs:element>
148   <!-- +++++++++++++++++++++++++++++++++++++++    147   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
149   <xs:element name="structure">                   148   <xs:element name="structure">
150     <xs:annotation>                               149     <xs:annotation>
151       <xs:documentation>Definitions of a geome    150       <xs:documentation>Definitions of a geometrical hierarchy of a set of volumes</xs:documentation>
152     </xs:annotation>                              151     </xs:annotation>
153     <xs:complexType>                              152     <xs:complexType>
154       <xs:sequence>                               153       <xs:sequence>
155   <xs:choice maxOccurs="unbounded">               154   <xs:choice maxOccurs="unbounded">
156     <xs:element name="volume" type="VolumeType    155     <xs:element name="volume" type="VolumeType"/>
157     <xs:element name="assembly" type="Assembly    156     <xs:element name="assembly" type="AssemblyVolumeType"/>
158     <xs:element maxOccurs="unbounded" minOccur    157     <xs:element maxOccurs="unbounded" minOccurs="0" ref="loop"/>
159     <xs:element ref="ParameterisationAlgorithm    158     <xs:element ref="ParameterisationAlgorithm"/>
160   </xs:choice>                                    159   </xs:choice>
161   <xs:element minOccurs="0" maxOccurs="unbound    160   <xs:element minOccurs="0" maxOccurs="unbounded" ref="Surface"/>
162       </xs:sequence>                              161       </xs:sequence>
163     </xs:complexType>                             162     </xs:complexType>
164   </xs:element>                                   163   </xs:element>
165   <!-- +++++++++++++++++++++++++++++++++++++++    164   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
166   <xs:element name="gdml">                        165   <xs:element name="gdml">
167     <xs:complexType>                              166     <xs:complexType>
168       <xs:sequence>                               167       <xs:sequence>
169   <xs:element ref="define"/>                      168   <xs:element ref="define"/>
170   <xs:element ref="materials"/>                   169   <xs:element ref="materials"/>
171   <xs:element ref="solids"/>                      170   <xs:element ref="solids"/>
172   <xs:element ref="structure"/>                   171   <xs:element ref="structure"/>
173   <xs:element minOccurs="0" maxOccurs="1" name << 
174     <xs:complexType>                           << 
175       <xs:sequence>                            << 
176         <xs:element maxOccurs="unbounded" minO << 
177       </xs:sequence>                           << 
178     </xs:complexType>                          << 
179   </xs:element>                                << 
180                                                << 
181   <xs:element maxOccurs="unbounded" name="setu    172   <xs:element maxOccurs="unbounded" name="setup">
182     <xs:annotation>                               173     <xs:annotation>
183       <xs:documentation>Geometry setup represe    174       <xs:documentation>Geometry setup representing the particular geometry hierarchy by refferring to
184               a given volume which becomes the    175               a given volume which becomes the top level volume</xs:documentation>
185     </xs:annotation>                              176     </xs:annotation>
186     <xs:complexType>                              177     <xs:complexType>
187       <xs:sequence>                               178       <xs:sequence>
188         <xs:element name="world" type="Referen    179         <xs:element name="world" type="ReferenceType">
189     <xs:annotation>                               180     <xs:annotation>
190       <xs:documentation>A reference to the pre    181       <xs:documentation>A reference to the previously defined volume
191                     in the structure block cho    182                     in the structure block chosen by this setup
192                     World volumme can't be an     183                     World volumme can't be an assembly volume</xs:documentation>
193     </xs:annotation>                              184     </xs:annotation>
194         </xs:element>                             185         </xs:element>
195       </xs:sequence>                              186       </xs:sequence>
196       <xs:attribute name="name" type="xs:ID" u    187       <xs:attribute name="name" type="xs:ID" use="required"/>
197       <xs:attribute name="version" type="xs:st    188       <xs:attribute name="version" type="xs:string" use="required"/>
198     </xs:complexType>                             189     </xs:complexType>
199   </xs:element>                                   190   </xs:element>
200       </xs:sequence>                              191       </xs:sequence>
201       <xs:attribute fixed="3.1.7" name="versio << 192       <xs:attribute fixed="2.10.0" name="version" type="xs:string">
202   <xs:annotation>                                 193   <xs:annotation>
203     <xs:documentation>The GDML Schema version     194     <xs:documentation>The GDML Schema version consists of 3 digits X.Y.Z
204             where these mean:                     195             where these mean:
205             X - major number, increased when m    196             X - major number, increased when major new
206             features or backward incompatible     197             features or backward incompatible bug fixes
207             are added and means the GDML Proce    198             are added and means the GDML Processor is
208             allowed to refuse processing of su    199             allowed to refuse processing of such a
209             document if this is using the more    200             document if this is using the more recent
210             version of the GDML Schema then GD    201             version of the GDML Schema then GDML Processor
211             understands                           202             understands 
212             Y - minor number, increased when i    203             Y - minor number, increased when incremental and
213             backward compatible changes or imp    204             backward compatible changes or improvements
214             are made into the GDML Schema. GDM    205             are made into the GDML Schema. GDML Processor
215             should be able to process such a d    206             should be able to process such a document
216             using higher minor version number     207             using higher minor version number then that of
217             the GDML Processor                    208             the GDML Processor
218             Z - bugfix revision number, increa    209             Z - bugfix revision number, increased when fully
219             backward compatible changes which     210             backward compatible changes which resolve a
220             problem in GDML Schema are applied    211             problem in GDML Schema are applied</xs:documentation>
221   </xs:annotation>                                212   </xs:annotation>
222       </xs:attribute>                             213       </xs:attribute>
223     </xs:complexType>                             214     </xs:complexType>
224   </xs:element>                                   215   </xs:element>
225 </xs:schema>                                      216 </xs:schema>