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