Geant4 Cross Reference |
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE xs:schema []> << 2 <!DOCTYPE xs:schema> 3 <xs:schema attributeFormDefault="unqualified" << 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 <xs:include schemaLocation="gdml_core.xsd"/> 4 <xs:include schemaLocation="gdml_core.xsd"/> 5 <xs:include schemaLocation="gdml_extensions. 5 <xs:include schemaLocation="gdml_extensions.xsd"/> 6 <!-- +++++++++++++++++++++++++++++++++++++++ 6 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 7 7 8 <xs:element name="define" type="defineType"> 8 <xs:element name="define" type="defineType"> 9 <xs:annotation> 9 <xs:annotation> 10 <xs:documentation>Definition block of gl 10 <xs:documentation>Definition block of global named constants, quantitties, expressions, 11 positions and rotations which may be u 11 positions and rotations which may be used by name or 12 by a reference in scope of the current 12 by a reference in scope of the current document</xs:documentation> 13 </xs:annotation> 13 </xs:annotation> 14 </xs:element> 14 </xs:element> 15 <!-- +++++++++++++++++++++++++++++++++++++++ 15 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 16 16 17 <xs:complexType name="defineType"> 17 <xs:complexType name="defineType"> 18 <xs:annotation> 18 <xs:annotation> 19 <xs:documentation>The global complex typ 19 <xs:documentation>The global complex type is defined in order to reuse this defintion 20 in derived schemas</xs:documentation> 20 in derived schemas</xs:documentation> 21 </xs:annotation> 21 </xs:annotation> 22 <!-- ||||||||||||||||||||||||||||||||||||| 22 <!-- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| --> 23 23 24 <xs:choice maxOccurs="unbounded"> 24 <xs:choice maxOccurs="unbounded"> 25 <!-- +++++++++++++++++++++++++++++++++++ 25 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 26 26 27 <xs:element maxOccurs="unbounded" minOcc 27 <xs:element maxOccurs="unbounded" minOccurs="0" ref="loop"/> 28 <!-- +++++++++++++++++++++++++++++++++++ 28 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 29 29 30 <xs:element maxOccurs="unbounded" minOcc 30 <xs:element maxOccurs="unbounded" minOccurs="0" name="constant" type="IdentifiableConstantType"> 31 <xs:annotation> 31 <xs:annotation> 32 <xs:documentation>Named constant</xs:docum 32 <xs:documentation>Named constant</xs:documentation> 33 </xs:annotation> 33 </xs:annotation> 34 </xs:element> 34 </xs:element> 35 <!-- +++++++++++++++++++++++++++++++++++ 35 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 36 36 37 <xs:element maxOccurs="unbounded" minOcc 37 <xs:element maxOccurs="unbounded" minOccurs="0" name="variable" type="IdentifiableVariableType"> 38 <xs:annotation> 38 <xs:annotation> 39 <xs:documentation>Named variable</xs:docum 39 <xs:documentation>Named variable</xs:documentation> 40 </xs:annotation> 40 </xs:annotation> 41 </xs:element> 41 </xs:element> 42 <!-- +++++++++++++++++++++++++++++++++++ 42 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 43 43 44 <xs:element maxOccurs="unbounded" minOcc 44 <xs:element maxOccurs="unbounded" minOccurs="0" name="matrix" type="MatrixType"> 45 <xs:annotation> 45 <xs:annotation> 46 <xs:documentation>Named matrix</xs:documen 46 <xs:documentation>Named matrix</xs:documentation> 47 </xs:annotation> 47 </xs:annotation> 48 </xs:element> 48 </xs:element> 49 <!-- +++++++++++++++++++++++++++++++++++ 49 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 50 50 51 <xs:element maxOccurs="unbounded" minOcc 51 <xs:element maxOccurs="unbounded" minOccurs="0" name="quantity" type="IdentifiableQuantityType"> 52 <xs:annotation> 52 <xs:annotation> 53 <xs:documentation>Named quantity</xs:docum 53 <xs:documentation>Named quantity</xs:documentation> 54 </xs:annotation> 54 </xs:annotation> 55 </xs:element> 55 </xs:element> 56 <!-- +++++++++++++++++++++++++++++++++++ 56 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 57 57 58 <xs:element maxOccurs="unbounded" minOcc 58 <xs:element maxOccurs="unbounded" minOccurs="0" name="expression" type="IdentifiableExpressionType"> 59 <xs:annotation> 59 <xs:annotation> 60 <xs:documentation>Named expression, may co 60 <xs:documentation>Named expression, may contain other named constants, 61 quantities and expressions</xs:doc 61 quantities and expressions</xs:documentation> 62 </xs:annotation> 62 </xs:annotation> 63 </xs:element> 63 </xs:element> 64 <!-- +++++++++++++++++++++++++++++++++++ 64 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 65 65 66 <xs:element maxOccurs="unbounded" minOcc 66 <xs:element maxOccurs="unbounded" minOccurs="0" name="position" type="positionType"> 67 <xs:annotation> 67 <xs:annotation> 68 <xs:documentation>Named cartesian position 68 <xs:documentation>Named cartesian position, default unit mm</xs:documentation> 69 </xs:annotation> 69 </xs:annotation> 70 </xs:element> 70 </xs:element> 71 <!-- +++++++++++++++++++++++++++++++++++ 71 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 72 72 73 <xs:element maxOccurs="unbounded" minOcc 73 <xs:element maxOccurs="unbounded" minOccurs="0" name="rotation" type="rotationType"> 74 <xs:annotation> 74 <xs:annotation> 75 <xs:documentation>Named cartesian rotation 75 <xs:documentation>Named cartesian rotation, default unit radian</xs:documentation> 76 </xs:annotation> 76 </xs:annotation> 77 </xs:element> 77 </xs:element> 78 <!-- +++++++++++++++++++++++++++++++++++ 78 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 79 79 80 <xs:element maxOccurs="unbounded" minOcc 80 <xs:element maxOccurs="unbounded" minOccurs="0" name="scale" type="scaleType"> 81 <xs:annotation> 81 <xs:annotation> 82 <xs:documentation>Named cartesian rotation 82 <xs:documentation>Named cartesian rotation, default unit radian</xs:documentation> 83 </xs:annotation> 83 </xs:annotation> 84 </xs:element> 84 </xs:element> 85 <!-- +++++++++++++++++++++++++++++++++++ 85 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 86 </xs:choice> 86 </xs:choice> 87 <!-- ||||||||||||||||||||||||||||||||||||| 87 <!-- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| --> 88 </xs:complexType> 88 </xs:complexType> 89 <!-- +++++++++++++++++++++++++++++++++++++++ 89 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 90 90 91 <xs:complexType name="positionType"> 91 <xs:complexType name="positionType"> 92 <xs:complexContent> 92 <xs:complexContent> 93 <xs:restriction base="IdentifiableQuanti 93 <xs:restriction base="IdentifiableQuantityVectorType"> 94 <xs:attribute default="mm" type="xs:string" 94 <xs:attribute default="mm" type="xs:string" name="unit"/> 95 <xs:attribute default="cartesian" type="xs:s 95 <xs:attribute default="cartesian" type="xs:string" name="type"/> 96 </xs:restriction> 96 </xs:restriction> 97 </xs:complexContent> 97 </xs:complexContent> 98 </xs:complexType> 98 </xs:complexType> 99 <!-- +++++++++++++++++++++++++++++++++++++++ 99 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 100 100 101 <xs:complexType name="rotationType"> 101 <xs:complexType name="rotationType"> 102 <xs:complexContent> 102 <xs:complexContent> 103 <xs:restriction base="IdentifiableQuanti 103 <xs:restriction base="IdentifiableQuantityVectorType"> 104 <xs:attribute default="radian" type="xs:stri 104 <xs:attribute default="radian" type="xs:string" name="unit"/> 105 <xs:attribute default="cartesian" type="xs:s 105 <xs:attribute default="cartesian" type="xs:string" name="type"/> 106 </xs:restriction> 106 </xs:restriction> 107 </xs:complexContent> 107 </xs:complexContent> 108 </xs:complexType> 108 </xs:complexType> 109 <!-- +++++++++++++++++++++++++++++++++++++++ 109 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 110 110 111 <xs:complexType name="scaleType"> 111 <xs:complexType name="scaleType"> 112 <xs:complexContent> 112 <xs:complexContent> 113 <xs:restriction base="IdentifiableQuanti 113 <xs:restriction base="IdentifiableQuantityVectorType"> 114 </xs:restriction> 114 </xs:restriction> 115 </xs:complexContent> 115 </xs:complexContent> 116 </xs:complexType> 116 </xs:complexType> 117 <!-- +++++++++++++++++++++++++++++++++++++++ 117 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> 118 </xs:schema> 118 </xs:schema>