Commit in lcdd/schemas/gdml/1.0 on MAIN
gdml.xsd+45-921.3 -> 1.4
gdml_define.xsd+151.2 -> 1.3
gdml_materials.xsd+405-3851.2 -> 1.3
gdml_solids.xsd+2-11.3 -> 1.4
+467-478
4 modified files
current gdml schemas from gdml2 project

lcdd/schemas/gdml/1.0
gdml.xsd 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- gdml.xsd	5 Jul 2007 22:27:06 -0000	1.3
+++ gdml.xsd	2 May 2013 20:46:40 -0000	1.4
@@ -15,7 +15,7 @@
   <xs:complexType name="SinglePlacementType">
     <xs:annotation>
       <xs:documentation>Represents a single unique copy a of an associated logical volume
-      in geometrical hierarchy</xs:documentation>
+        in geometrical hierarchy</xs:documentation>
     </xs:annotation>
     <xs:sequence>
       <xs:choice minOccurs="1">
@@ -30,6 +30,10 @@
 	<xs:element name="rotation" type="rotationType"/>
 	<xs:element name="rotationref" type="ReferenceType"/>
       </xs:choice>
+      <xs:choice minOccurs="0">
+	<xs:element name="scale" type="scaleType"/>
+	<xs:element name="scaleref" type="ReferenceType"/>
+      </xs:choice>
     </xs:sequence>
     <xs:attribute name="name" type="xs:ID"></xs:attribute>
   </xs:complexType>
@@ -37,7 +41,7 @@
   <xs:complexType name="DivisionPlacementType">
     <xs:annotation>
       <xs:documentation>Represents a division of the associated logical volume
-      in geometrical hierarchy</xs:documentation>
+        in geometrical hierarchy</xs:documentation>
     </xs:annotation>
     <xs:sequence>
       <xs:element name="volumeref" type="ReferenceType"/>
@@ -52,9 +56,9 @@
   <xs:complexType name="VolumeType">
     <xs:annotation>
       <xs:documentation>Represents a top of a geometrical sub-hierarchy not placed in space
-      None of its children can coincide with its boundary defined by an associated solid
-      Two different placements of the same logical volume represent two different geometrical
-      hierarchies in space</xs:documentation>
+        None of its children can coincide with its boundary defined by an associated solid
+        Two different placements of the same logical volume represent two different geometrical
+        hierarchies in space</xs:documentation>
     </xs:annotation>
     <xs:complexContent>
       <xs:extension base="IdentifiableVolumeType">
@@ -77,12 +81,12 @@
   <xs:complexType name="AssemblyVolumeType">
     <xs:annotation>
       <xs:documentation>Allows to create a group of volumes bound together without a boundary
-      All the volumes exits inside the same virtual reference system of the assmebly volume
-      they belong to
-      When assembly volume is placed all its children follow the global transformation applied
-      to their assembly volume
-      After the assembly volume is placed its children exist as standalone placements in space
-      independent of each other</xs:documentation>
+        All the volumes exits inside the same virtual reference system of the assmebly volume
+        they belong to
+        When assembly volume is placed all its children follow the global transformation applied
+        to their assembly volume
+        After the assembly volume is placed its children exist as standalone placements in space
+        independent of each other</xs:documentation>
     </xs:annotation>
     <xs:complexContent>
       <xs:extension base="IdentifiableVolumeType">
@@ -114,31 +118,31 @@
     <xs:annotation>
       <xs:documentation>Surface between two physical volumes</xs:documentation>
     </xs:annotation>
-    <xs:complexType>
+      <xs:complexType>
       <xs:complexContent>
 	<xs:extension base="LogicalSurfaceType">
-	  <xs:sequence>
-	    <xs:element name="physvolref" type="ReferenceType"/>
-	    <xs:element name="physvolref" type="ReferenceType"/>
-	  </xs:sequence>
+	 <xs:sequence>
+	  <xs:element name="physvolref" type="ReferenceType"/>
+	  <xs:element name="physvolref" type="ReferenceType"/>
+	 </xs:sequence>
 	</xs:extension>
       </xs:complexContent>
-    </xs:complexType>
+     </xs:complexType>
   </xs:element>
   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   <xs:element name="skinsurface" substitutionGroup="Surface">
     <xs:annotation>
       <xs:documentation>Surface between two physical volumes</xs:documentation>
     </xs:annotation>
-    <xs:complexType>
+     <xs:complexType>
       <xs:complexContent>
 	<xs:extension base="LogicalSurfaceType">
 	  <xs:sequence>
-	    <xs:element name="volumeref" type="ReferenceType"/>
+             <xs:element name="volumeref" type="ReferenceType"/>
 	  </xs:sequence>
 	</xs:extension>
       </xs:complexContent>
-    </xs:complexType>
+     </xs:complexType>
   </xs:element>
   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   <xs:element name="structure">
@@ -168,15 +172,15 @@
 	<xs:element maxOccurs="unbounded" name="setup">
 	  <xs:annotation>
 	    <xs:documentation>Geometry setup representing the particular geometry hierarchy by refferring to
-	    a given volume which becomes the top level volume</xs:documentation>
+              a given volume which becomes the top level volume</xs:documentation>
 	  </xs:annotation>
 	  <xs:complexType>
 	    <xs:sequence>
 	      <xs:element name="world" type="ReferenceType">
 		<xs:annotation>
 		  <xs:documentation>A reference to the previously defined volume
-		  in the structure block chosen by this setup
-		  World volumme can't be an assembly volume</xs:documentation>
+                    in the structure block chosen by this setup
+                    World volumme can't be an assembly volume</xs:documentation>
 		</xs:annotation>
 	      </xs:element>
 	    </xs:sequence>
@@ -185,79 +189,28 @@
 	  </xs:complexType>
 	</xs:element>
       </xs:sequence>
-      <xs:attribute fixed="2.9.0" name="version" type="xs:string">
+      <xs:attribute fixed="2.10.0" name="version" type="xs:string">
 	<xs:annotation>
 	  <xs:documentation>The GDML Schema version consists of 3 digits X.Y.Z
-	  where these mean:
-	  X - major number, increased when major new
-	  features or backward incompatible bug fixes
-	  are added and means the GDML Processor is
-	  allowed to refuse processing of such a
-	  document if this is using the more recent
-	  version of the GDML Schema then GDML Processor
-	  understands 
-	  Y - minor number, increased when incremental and
-	  backward compatible changes or improvements
-	  are made into the GDML Schema. GDML Processor
-	  should be able to process such a document
-	  using higher minor version number then that of
-	  the GDML Processor
-	  Z - bugfix revision number, increased when fully
-	  backward compatible changes which resolve a
-	  problem in GDML Schema are applied</xs:documentation>
+            where these mean:
+            X - major number, increased when major new
+            features or backward incompatible bug fixes
+            are added and means the GDML Processor is
+            allowed to refuse processing of such a
+            document if this is using the more recent
+            version of the GDML Schema then GDML Processor
+            understands 
+            Y - minor number, increased when incremental and
+            backward compatible changes or improvements
+            are made into the GDML Schema. GDML Processor
+            should be able to process such a document
+            using higher minor version number then that of
+            the GDML Processor
+            Z - bugfix revision number, increased when fully
+            backward compatible changes which resolve a
+            problem in GDML Schema are applied</xs:documentation>
 	</xs:annotation>
       </xs:attribute>
     </xs:complexType>
   </xs:element>
-
-  <xs:complexType name="GDMLType">
-    <xs:sequence>
-      <xs:element ref="define"/>
-      <xs:element ref="materials"/>
-      <xs:element ref="solids"/>
-      <xs:element ref="structure"/>
-      <xs:element maxOccurs="unbounded" name="setup">
-	<xs:annotation>
-	  <xs:documentation>Geometry setup representing the particular geometry hierarchy by refferring to
-	  a given volume which becomes the top level volume</xs:documentation>
-	</xs:annotation>
-	<xs:complexType>
-	  <xs:sequence>
-	    <xs:element name="world" type="ReferenceType">
-	      <xs:annotation>
-		<xs:documentation>A reference to the previously defined volume
-		in the structure block chosen by this setup
-		World volumme can't be an assembly volume</xs:documentation>
-	      </xs:annotation>
-	    </xs:element>
-	  </xs:sequence>
-	  <xs:attribute name="name" type="xs:ID" use="required"/>
-	  <xs:attribute name="version" type="xs:string" use="required"/>
-	</xs:complexType>
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute fixed="2.8.0" name="version" type="xs:string">
-      <xs:annotation>
-	<xs:documentation>The GDML Schema version consists of 3 digits X.Y.Z
-	where these mean:
-	X - major number, increased when major new
-	features or backward incompatible bug fixes
-	are added and means the GDML Processor is
-	allowed to refuse processing of such a
-	document if this is using the more recent
-	version of the GDML Schema then GDML Processor
-	understands 
-	Y - minor number, increased when incremental and
-	backward compatible changes or improvements
-	are made into the GDML Schema. GDML Processor
-	should be able to process such a document
-	using higher minor version number then that of
-	the GDML Processor
-	Z - bugfix revision number, increased when fully
-	backward compatible changes which resolve a
-	problem in GDML Schema are applied</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-  </xs:complexType>
-
 </xs:schema>

lcdd/schemas/gdml/1.0
gdml_define.xsd 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- gdml_define.xsd	5 Jul 2007 22:27:06 -0000	1.2
+++ gdml_define.xsd	2 May 2013 20:46:40 -0000	1.3
@@ -76,6 +76,13 @@
 	</xs:annotation>
       </xs:element>
       <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="scale" type="scaleType">
+	<xs:annotation>
+	  <xs:documentation>Named cartesian rotation, default unit radian</xs:documentation>
+	</xs:annotation>
+      </xs:element>
+      <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
     </xs:choice>
     <!-- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -->
   </xs:complexType>
@@ -100,4 +107,12 @@
     </xs:complexContent>
   </xs:complexType>
   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+
+  <xs:complexType name="scaleType">
+    <xs:complexContent>
+      <xs:restriction base="IdentifiableQuantityVectorType">
+      </xs:restriction>
+    </xs:complexContent>
+  </xs:complexType>
+  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
 </xs:schema>

lcdd/schemas/gdml/1.0
gdml_materials.xsd 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- gdml_materials.xsd	5 Jul 2007 22:27:06 -0000	1.2
+++ gdml_materials.xsd	2 May 2013 20:46:40 -0000	1.3
@@ -1,390 +1,410 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE xs:schema []>
 <xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" version="0.1" xmlns:gdml="http://cern.ch/2001/Schemas/GDML" xmlns:xs="http://www.w3.org/2001/XMLSchema">
-  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-  <xs:include schemaLocation="gdml_core.xsd"></xs:include>
-  <xs:include schemaLocation="gdml_define.xsd"></xs:include>
-  <xs:include schemaLocation="gdml_extensions.xsd"/>
-  <!-- Removed abstract="true" in AtomType -->
-  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-  <xs:complexType name="AtomType">
-    <xs:annotation>
-      <xs:documentation>Atomic mass, quantity type A, default unit g/mole</xs:documentation>
-    </xs:annotation>
-    <xs:complexContent>
-      <xs:restriction base="QuantityType">
-	<xs:attribute default="g/mole" type="xs:string" name="unit"></xs:attribute>
-	<xs:attribute fixed="A" type="xs:string" name="type"></xs:attribute>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-  <xs:complexType name="DensityType">
-    <xs:annotation>
-      <xs:documentation>Density</xs:documentation>
-    </xs:annotation>
-    <xs:complexContent>
-      <xs:restriction base="QuantityType">
-	<xs:attribute default="g/cm3" type="xs:string" name="unit"></xs:attribute>
-	<xs:attribute fixed="density" type="xs:string" name="type"></xs:attribute>
-      </xs:restriction>
-    </xs:complexContent>
-  </xs:complexType>
-  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-  <xs:group name="MaterialPropertiesGroup">
-    <xs:annotation>
-      <xs:documentation>General material properties</xs:documentation>
-    </xs:annotation>
-    <xs:sequence>
-	  <xs:choice minOccurs="0">
-	    <xs:element maxOccurs="unbounded" name="property">
-	      <xs:annotation>
-		<xs:documentation>General material property (const or vector)</xs:documentation>
-	      </xs:annotation>
-	      <xs:complexType>
-		<xs:complexContent>
-		  <xs:extension base="ReferenceType">
-		    <xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
-		  </xs:extension>
-		</xs:complexContent>
-	      </xs:complexType>
-	    </xs:element>
-          </xs:choice>
-      <xs:choice minOccurs="0">
-	<xs:element name="RL">
-	  <xs:annotation>
-	    <xs:documentation>Radiation length</xs:documentation>
-	  </xs:annotation>
-	  <xs:complexType>
-	    <xs:complexContent>
-	      <xs:restriction base="QuantityType">
-		<xs:attribute default="cm" type="xs:string" name="unit"></xs:attribute>
-		<xs:attribute fixed="X0" type="xs:string" name="type"></xs:attribute>
-	      </xs:restriction>
-	    </xs:complexContent>
-	  </xs:complexType>
-	</xs:element>
-	<xs:element name="RLref" type="ReferenceType">
-	  <xs:annotation>
-	    <xs:documentation>A reference to a previsouly defined named radiation length quantity value</xs:documentation>
-	  </xs:annotation>
-	</xs:element>
-      </xs:choice>
-      <xs:choice minOccurs="0">
-	<xs:element name="AL">
-	  <xs:annotation>
-	    <xs:documentation>Absorption length</xs:documentation>
-	  </xs:annotation>
-	  <xs:complexType>
-	    <xs:complexContent>
-	      <xs:restriction base="QuantityType">
-		<xs:attribute default="cm" type="xs:string" name="unit"></xs:attribute>
-		<xs:attribute fixed="lambda" type="xs:string" name="type"></xs:attribute>
-	      </xs:restriction>
-	    </xs:complexContent>
-	  </xs:complexType>
-	</xs:element>
-	<xs:element name="ALref" type="ReferenceType">
-	  <xs:annotation>
-	    <xs:documentation>A reference to a previsouly defined named absorption length quantity value</xs:documentation>
-	  </xs:annotation>
-	</xs:element>
-      </xs:choice>
-      <xs:choice minOccurs="0">
-	<xs:element name="T">
-	  <xs:annotation>
-	    <xs:documentation>Temperature</xs:documentation>
-	  </xs:annotation>
-	  <xs:complexType>
-	    <xs:complexContent>
-	      <xs:restriction base="QuantityType">
-		<xs:attribute default="K" type="xs:string" name="unit"></xs:attribute>
-		<xs:attribute fixed="temperature" type="xs:string" name="type"></xs:attribute>
-	      </xs:restriction>
-	    </xs:complexContent>
-	  </xs:complexType>
-	</xs:element>
-	<xs:element name="Tref" type="ReferenceType">
-	  <xs:annotation>
-	    <xs:documentation>A reference to previously defined named temperature quantity value</xs:documentation>
-	  </xs:annotation>
-	</xs:element>
-      </xs:choice>
-      <xs:choice minOccurs="0">
-	<xs:element name="P">
-	  <xs:annotation>
-	    <xs:documentation>Pressure</xs:documentation>
-	  </xs:annotation>
-	  <xs:complexType>
-	    <xs:complexContent>
-	      <xs:restriction base="QuantityType">
-		<xs:attribute default="pascal" type="xs:string" name="unit"></xs:attribute>
-		<xs:attribute fixed="pressure" type="xs:string" name="type"></xs:attribute>
-	      </xs:restriction>
-	    </xs:complexContent>
-	  </xs:complexType>
-	</xs:element>
-	<xs:element name="Pref" type="ReferenceType">
-	  <xs:annotation>
-	    <xs:documentation>A reference to previously defined named pressure quantity value</xs:documentation>
-	  </xs:annotation>
-	</xs:element>
-      </xs:choice>
-    </xs:sequence>
-  </xs:group>
-  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-  <xs:attributeGroup name="MaterialAttributeGroup">
-    <xs:annotation>
-      <xs:documentation>General material attributes</xs:documentation>
-    </xs:annotation>
-    <xs:attribute name="name" type="xs:ID" use="required">
-      <xs:annotation>
-	<xs:documentation>Material name</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="formula" type="xs:string" use="optional">
-      <xs:annotation>
-	<xs:documentation>Material chemical formula</xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute default="unknown" name="state">
-      <xs:annotation>
-	<xs:documentation>Material physical state</xs:documentation>
-      </xs:annotation>
-      <xs:simpleType>
-	<xs:restriction base="xs:NMTOKEN">
-	  <xs:enumeration value="gas"></xs:enumeration>
-	  <xs:enumeration value="liquid"></xs:enumeration>
-	  <xs:enumeration value="solid"></xs:enumeration>
-	  <xs:enumeration value="unknown"></xs:enumeration>
-	</xs:restriction>
-      </xs:simpleType>
-    </xs:attribute>
-  </xs:attributeGroup>
-  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-  <xs:complexType name="MaterialType">
-    <xs:annotation>
-      <xs:documentation>Base type for materials</xs:documentation>
-    </xs:annotation>
-    <xs:group ref="MaterialPropertiesGroup"></xs:group>
-    <xs:attributeGroup ref="MaterialAttributeGroup"></xs:attributeGroup>
-  </xs:complexType>
-  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-  <!--
-      <xs:complexType name="ComplexMaterialType">
-	<xs:annotation>
-	  <xs:documentation>
-            Base type for complex materials
-	  </xs:documentation>
-	</xs:annotation>
-	<xs:complexContent>
-	  <xs:extension base="MaterialType">
-	    -->
-  <!-- <xs:group ref="MaterialPropertiesGroup"/> -->
-  <!--
-      Removed from referenced attribute group
-          <xs:attribute name="N" use="prohibited"/>
-          -->
-  <!--        
-	      <xs:attribute name="Z" type="xs:double" use="optional">
-		<xs:annotation>
-		  <xs:documentation>Atomic number</xs:documentation>
-		</xs:annotation>
-      </xs:attribute>
-      </xs:extension>
-      </xs:complexContent>
-      </xs:complexType>
- -->
-  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-  <xs:element name="materials">
-    <xs:annotation>
-      <xs:documentation>Materials description</xs:documentation>
-    </xs:annotation>
-    <xs:complexType>
-      <xs:choice maxOccurs="unbounded">
-        <xs:element maxOccurs="unbounded" minOccurs="0" ref="loop"/>
-	<xs:element minOccurs="0" name="define" type="defineType">
-	  <xs:annotation>
-	    <xs:documentation>Material related definitons of constants and quantities
-              In this version of schema these become visible in global scope</xs:documentation>
-	  </xs:annotation>
-	</xs:element>
-	<xs:element maxOccurs="unbounded" minOccurs="0" name="isotope" type="MaterialIsotopeType">
-	  <xs:annotation>
-	    <xs:documentation>An isotope</xs:documentation>
-	  </xs:annotation>
-	</xs:element>
-	<xs:element maxOccurs="unbounded" minOccurs="0" name="element" type="MaterialElementType">
-	  <xs:annotation>
-	    <xs:documentation>A simple element or an element composed of isotopes</xs:documentation>
-	  </xs:annotation>
-	</xs:element>
-	<xs:element maxOccurs="unbounded" minOccurs="0" name="material" type="MaterialMixtureType">
-	  <xs:annotation>
-	    <xs:documentation>A composite or a mixture complex material</xs:documentation>
-	  </xs:annotation>
-	</xs:element>
-      </xs:choice>
+    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+    <xs:include schemaLocation="gdml_core.xsd"></xs:include>
+    <xs:include schemaLocation="gdml_define.xsd"></xs:include>
+    <xs:include schemaLocation="gdml_extensions.xsd"/>
+    <!-- Removed abstract="true" in AtomType -->
+    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+    <xs:complexType name="AtomType">
+        <xs:annotation>
+            <xs:documentation>Atomic mass, quantity type A, default unit g/mole</xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:restriction base="QuantityType">
+                <xs:attribute default="g/mole" type="xs:string" name="unit"></xs:attribute>
+                <xs:attribute fixed="A" type="xs:string" name="type"></xs:attribute>
+            </xs:restriction>
+        </xs:complexContent>
     </xs:complexType>
-  </xs:element>
-  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-  <xs:complexType name="MaterialIsotopeType">
-    <xs:annotation>
-      <xs:documentation>Exported isotope type</xs:documentation>
-    </xs:annotation>
-    <xs:complexContent>
-      <xs:extension base="MaterialType">
-	<xs:sequence>
-	  <xs:choice minOccurs="0">
-	    <xs:element name="D" type="DensityType">
-	      <xs:annotation>
-		<xs:documentation>Density quantity value</xs:documentation>
-	      </xs:annotation>
-	    </xs:element>
-	    <xs:element name="Dref" type="ReferenceType">
-	      <xs:annotation>
-		<xs:documentation>A reference to a previsouly defined named density quantity value</xs:documentation>
-	      </xs:annotation>
-	    </xs:element>
-	  </xs:choice>
-	  <xs:element name="atom" type="AtomType"></xs:element>
-	</xs:sequence>
-	<xs:attribute name="N" type="xs:positiveInteger" use="required">
-	  <xs:annotation>
-	    <xs:documentation>Number of nucleons</xs:documentation>
-	  </xs:annotation>
-	</xs:attribute>
-	<xs:attribute name="Z" type="xs:double" use="required">
-	  <xs:annotation>
-	    <xs:documentation>Atomic number</xs:documentation>
-	  </xs:annotation>
-	</xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-  <xs:complexType name="MaterialElementType">
-    <xs:annotation>
-      <xs:documentation>Exported material element type</xs:documentation>
-    </xs:annotation>
-    <xs:complexContent>
-      <xs:extension base="MaterialType">
-	<xs:sequence>
-	  <xs:choice minOccurs="0">
-	    <xs:element name="D" type="DensityType">
-	      <xs:annotation>
-		<xs:documentation>Density quantity value</xs:documentation>
-	      </xs:annotation>
-	    </xs:element>
-	    <xs:element name="Dref" type="ReferenceType">
-	      <xs:annotation>
-		<xs:documentation>A reference to a previsouly defined named density quantity value</xs:documentation>
-	      </xs:annotation>
-	    </xs:element>
-	  </xs:choice>
-	  <xs:choice>
-	    <xs:annotation>
-	      <xs:documentation>An element can be defined either as a simple element or by a set
-                of isotopes fractions</xs:documentation>
-	    </xs:annotation>
-	    <xs:element name="atom" type="AtomType"></xs:element>
-	    <xs:element maxOccurs="unbounded" name="fraction">
-	      <xs:annotation>
-		<xs:documentation>An isotope fraction of an element where n is the actual amount
-		  of the isotope in the element</xs:documentation>
-	      </xs:annotation>
-	      <xs:complexType>
-		<xs:complexContent>
-		  <xs:extension base="ReferenceType">
-		    <xs:attribute name="n" type="xs:double" use="required"></xs:attribute>
-		  </xs:extension>
-		</xs:complexContent>
-	      </xs:complexType>
-	    </xs:element>
-	  </xs:choice>
-	</xs:sequence>
-	<xs:attribute name="N" type="xs:positiveInteger" use="optional">
-	  <xs:annotation>
-	    <xs:documentation>Number of nucleons</xs:documentation>
-	  </xs:annotation>
-	</xs:attribute>
-	<xs:attribute name="Z" type="xs:double" use="optional">
-	  <xs:annotation>
-	    <xs:documentation>Atomic number</xs:documentation>
-	  </xs:annotation>
-	</xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-  <xs:complexType name="MaterialMixtureType">
-    <xs:annotation>
-      <xs:documentation>Exported material composite or mixture type</xs:documentation>
-    </xs:annotation>
-    <xs:complexContent>
-      <!-- <xs:extension base="ComplexMaterialType"> -->
-      <xs:extension base="MaterialType">
-	<xs:sequence>
-	  <xs:choice>
-	    <xs:element name="D" type="DensityType">
-	      <xs:annotation>
-		<xs:documentation>Density quantity value</xs:documentation>
-	      </xs:annotation>
-	    </xs:element>
-	    <xs:element name="Dref" type="ReferenceType">
-	      <xs:annotation>
-		<xs:documentation>A reference to a previsouly defined named density quantity value</xs:documentation>
-	      </xs:annotation>
-	    </xs:element>
-	  </xs:choice>
-	  <xs:choice>
-	    <xs:annotation>
-	      <xs:documentation>A complex material can be defined as a simple mixture when
-                its material properties are known or as a composite material
-                or a mixture. A composite material is defined by a set of elements
-                by specifying the number of atoms.
-                The second way is by a set of material fractions where the fractions
-                can be either simple elements or other complex materials.
-                The restriction is that one can't mix composition by atoms and fractions
-                at the same time.</xs:documentation>
-						</xs:annotation>
-	    <xs:element name="atom" type="AtomType"></xs:element>
-	    <xs:element maxOccurs="unbounded" name="composite">
-	      <xs:annotation>
-		<xs:documentation>Elements of this composite material specified as a set of local references
-                  to already defined simple elements where value of n in each means the number of atoms</xs:documentation>
-	      </xs:annotation>
-	      <xs:complexType>
-		<xs:complexContent>
-		  <xs:extension base="ReferenceType">
-		    <xs:attribute name="n" type="xs:positiveInteger" use="required"></xs:attribute>
-		  </xs:extension>
-		</xs:complexContent>
-	      </xs:complexType>
-	    </xs:element>
-	    <xs:element maxOccurs="unbounded" name="fraction">
-	      <xs:annotation>
-		<xs:documentation>Fractions of this mixture specified as a set of local references to already defined
-                  elements or other mixtures where value of n in each means the fraction of the whole
-                  material in the range 0.0 &lt; n &lt; 1.0</xs:documentation>
-	      </xs:annotation>
-	      <xs:complexType>
-		<xs:complexContent>
-		  <xs:extension base="ReferenceType">
-		    <xs:attribute name="n" type="xs:double" use="required"></xs:attribute>
-		  </xs:extension>
-		</xs:complexContent>
-	      </xs:complexType>
-	    </xs:element>
-	  </xs:choice>
-	</xs:sequence>
-	<xs:attribute name="Z" type="xs:double" use="optional">
-	  <xs:annotation>
-	    <xs:documentation>Atomic number</xs:documentation>
-	  </xs:annotation>
-	</xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+    <xs:complexType name="DensityType">
+        <xs:annotation>
+            <xs:documentation>Density</xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:restriction base="QuantityType">
+                <xs:attribute default="g/cm3" type="xs:string" name="unit"></xs:attribute>
+                <xs:attribute fixed="density" type="xs:string" name="type"></xs:attribute>
+            </xs:restriction>
+        </xs:complexContent>
+    </xs:complexType>
+    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+    <xs:group name="MaterialPropertiesGroup">
+        <xs:annotation>
+            <xs:documentation>General material properties</xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:choice minOccurs="0">
+                <xs:element maxOccurs="unbounded" name="property">
+                    <xs:annotation>
+                        <xs:documentation>General material property (const or vector)</xs:documentation>
+                    </xs:annotation>
+                    <xs:complexType>
+                        <xs:complexContent>
+                            <xs:extension base="ReferenceType">
+                                <xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
+                            </xs:extension>
+                        </xs:complexContent>
+                    </xs:complexType>
+                </xs:element>
+            </xs:choice>
+            <xs:choice minOccurs="0">
+                <xs:element name="RL">
+                    <xs:annotation>
+                        <xs:documentation>Radiation length</xs:documentation>
+                    </xs:annotation>
+                    <xs:complexType>
+                        <xs:complexContent>
+                            <xs:restriction base="QuantityType">
+                                <xs:attribute default="cm" type="xs:string" name="unit"></xs:attribute>
+                                <xs:attribute fixed="X0" type="xs:string" name="type"></xs:attribute>
+                            </xs:restriction>
+                        </xs:complexContent>
+                    </xs:complexType>
+                </xs:element>
+                <xs:element name="RLref" type="ReferenceType">
+                    <xs:annotation>
+                        <xs:documentation>A reference to a previsouly defined named radiation length quantity value</xs:documentation>
+                    </xs:annotation>
+                </xs:element>
+            </xs:choice>
+            <xs:choice minOccurs="0">
+                <xs:element name="NIL">
+                    <xs:annotation>
+                        <xs:documentation>Nuclear interaction length</xs:documentation>
+                    </xs:annotation>
+                    <xs:complexType>
+                        <xs:complexContent>
+                            <xs:restriction base="QuantityType">
+                                <xs:attribute default="cm" type="xs:string" name="unit"></xs:attribute>
+                                <xs:attribute fixed="lambda" type="xs:string" name="type"></xs:attribute>
+                            </xs:restriction>
+                        </xs:complexContent>
+                    </xs:complexType>
+                </xs:element>
+                <xs:element name="NILref" type="ReferenceType">
+                    <xs:annotation>
+                        <xs:documentation>A reference to a previously defined named nuclear interaction length quantity value</xs:documentation>
+                    </xs:annotation>
+                </xs:element>
+            </xs:choice>
+            <xs:choice minOccurs="0">
+                <xs:element name="AL">
+                    <xs:annotation>
+                        <xs:documentation>Absorption length</xs:documentation>
+                    </xs:annotation>
+                    <xs:complexType>
+                        <xs:complexContent>
+                            <xs:restriction base="QuantityType">
+                                <xs:attribute default="cm" type="xs:string" name="unit"></xs:attribute>
+                                <xs:attribute fixed="lambda" type="xs:string" name="type"></xs:attribute>
+                            </xs:restriction>
+                        </xs:complexContent>
+                    </xs:complexType>
+                </xs:element>
+                <xs:element name="ALref" type="ReferenceType">
+                    <xs:annotation>
+                        <xs:documentation>A reference to a previsouly defined named absorption length quantity value</xs:documentation>
+                    </xs:annotation>
+                </xs:element>
+            </xs:choice>
+            <xs:choice minOccurs="0">
+                <xs:element name="T">
+                    <xs:annotation>
+                        <xs:documentation>Temperature</xs:documentation>
+                    </xs:annotation>
+                    <xs:complexType>
+                        <xs:complexContent>
+                            <xs:restriction base="QuantityType">
+                                <xs:attribute default="K" type="xs:string" name="unit"></xs:attribute>
+                                <xs:attribute fixed="temperature" type="xs:string" name="type"></xs:attribute>
+                            </xs:restriction>
+                        </xs:complexContent>
+                    </xs:complexType>
+                </xs:element>
+                <xs:element name="Tref" type="ReferenceType">
+                    <xs:annotation>
+                        <xs:documentation>A reference to previously defined named temperature quantity value</xs:documentation>
+                    </xs:annotation>
+                </xs:element>
+            </xs:choice>
+            <xs:choice minOccurs="0">
+                <xs:element name="P">
+                    <xs:annotation>
+                        <xs:documentation>Pressure</xs:documentation>
+                    </xs:annotation>
+                    <xs:complexType>
+                        <xs:complexContent>
+                            <xs:restriction base="QuantityType">
+                                <xs:attribute default="pascal" type="xs:string" name="unit"></xs:attribute>
+                                <xs:attribute fixed="pressure" type="xs:string" name="type"></xs:attribute>
+                            </xs:restriction>
+                        </xs:complexContent>
+                    </xs:complexType>
+                </xs:element>
+                <xs:element name="Pref" type="ReferenceType">
+                    <xs:annotation>
+                        <xs:documentation>A reference to previously defined named pressure quantity value</xs:documentation>
+                    </xs:annotation>
+                </xs:element>
+            </xs:choice>
+        </xs:sequence>
+    </xs:group>
+    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+    <xs:attributeGroup name="MaterialAttributeGroup">
+        <xs:annotation>
+            <xs:documentation>General material attributes</xs:documentation>
+        </xs:annotation>
+        <xs:attribute name="name" type="xs:ID" use="required">
+            <xs:annotation>
+                <xs:documentation>Material name</xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="formula" type="xs:string" use="optional">
+            <xs:annotation>
+                <xs:documentation>Material chemical formula</xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+        <xs:attribute default="unknown" name="state">
+            <xs:annotation>
+                <xs:documentation>Material physical state</xs:documentation>
+            </xs:annotation>
+            <xs:simpleType>
+                <xs:restriction base="xs:NMTOKEN">
+                    <xs:enumeration value="gas"></xs:enumeration>
+                    <xs:enumeration value="liquid"></xs:enumeration>
+                    <xs:enumeration value="solid"></xs:enumeration>
+                    <xs:enumeration value="unknown"></xs:enumeration>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:attribute>
+    </xs:attributeGroup>
+    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+    <xs:complexType name="MaterialType">
+        <xs:annotation>
+            <xs:documentation>Base type for materials</xs:documentation>
+        </xs:annotation>
+        <xs:group ref="MaterialPropertiesGroup"></xs:group>
+        <xs:attributeGroup ref="MaterialAttributeGroup"></xs:attributeGroup>
+    </xs:complexType>
+    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+    <!--
+        <xs:complexType name="ComplexMaterialType">
+        <xs:annotation>
+        <xs:documentation>
+        Base type for complex materials
+        </xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+        <xs:extension base="MaterialType">
+    -->
+    <!-- <xs:group ref="MaterialPropertiesGroup"/> -->
+    <!--
+        Removed from referenced attribute group
+        <xs:attribute name="N" use="prohibited"/>
+    -->
+    <!--        
+         <xs:attribute name="Z" type="xs:double" use="optional">
+         <xs:annotation>
+         <xs:documentation>Atomic number</xs:documentation>
+         </xs:annotation>
+         </xs:attribute>
+         </xs:extension>
+         </xs:complexContent>
+         </xs:complexType>
+    -->
+    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+    <xs:element name="materials">
+        <xs:annotation>
+            <xs:documentation>Materials description</xs:documentation>
+        </xs:annotation>
+        <xs:complexType>
+            <xs:choice maxOccurs="unbounded">
+                <xs:element maxOccurs="unbounded" minOccurs="0" ref="loop"/>
+                <xs:element minOccurs="0" name="define" type="defineType">
+                    <xs:annotation>
+                        <xs:documentation>Material related definitons of constants and quantities
+                        In this version of schema these become visible in global scope</xs:documentation>
+                    </xs:annotation>
+                </xs:element>
+                <xs:element maxOccurs="unbounded" minOccurs="0" name="isotope" type="MaterialIsotopeType">
+                    <xs:annotation>
+                        <xs:documentation>An isotope</xs:documentation>
+                    </xs:annotation>
+                </xs:element>
+                <xs:element maxOccurs="unbounded" minOccurs="0" name="element" type="MaterialElementType">
+                    <xs:annotation>
+                        <xs:documentation>A simple element or an element composed of isotopes</xs:documentation>
+                    </xs:annotation>
+                </xs:element>
+                <xs:element maxOccurs="unbounded" minOccurs="0" name="material" type="MaterialMixtureType">
+                    <xs:annotation>
+                        <xs:documentation>A composite or a mixture complex material</xs:documentation>
+                    </xs:annotation>
+                </xs:element>
+            </xs:choice>
+        </xs:complexType>
+    </xs:element>
+    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+    <xs:complexType name="MaterialIsotopeType">
+        <xs:annotation>
+            <xs:documentation>Exported isotope type</xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="MaterialType">
+                <xs:sequence>
+                    <xs:choice minOccurs="0">
+                        <xs:element name="D" type="DensityType">
+                            <xs:annotation>
+                                <xs:documentation>Density quantity value</xs:documentation>
+                            </xs:annotation>
+                        </xs:element>
+                        <xs:element name="Dref" type="ReferenceType">
+                            <xs:annotation>
+                                <xs:documentation>A reference to a previsouly defined named density quantity value</xs:documentation>
+                            </xs:annotation>
+                        </xs:element>
+                    </xs:choice>
+                    <xs:element name="atom" type="AtomType"></xs:element>
+                </xs:sequence>
+                <xs:attribute name="N" type="xs:positiveInteger" use="required">
+                    <xs:annotation>
+                        <xs:documentation>Number of nucleons</xs:documentation>
+                    </xs:annotation>
+                </xs:attribute>
+                <xs:attribute name="Z" type="xs:double" use="required">
+                    <xs:annotation>
+                        <xs:documentation>Atomic number</xs:documentation>
+                    </xs:annotation>
+                </xs:attribute>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+    <xs:complexType name="MaterialElementType">
+        <xs:annotation>
+            <xs:documentation>Exported material element type</xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <xs:extension base="MaterialType">
+                <xs:sequence>
+                    <xs:choice minOccurs="0">
+                        <xs:element name="D" type="DensityType">
+                            <xs:annotation>
+                                <xs:documentation>Density quantity value</xs:documentation>
+                            </xs:annotation>
+                        </xs:element>
+                        <xs:element name="Dref" type="ReferenceType">
+                            <xs:annotation>
+                                <xs:documentation>A reference to a previsouly defined named density quantity value</xs:documentation>
+                            </xs:annotation>
+                        </xs:element>
+                    </xs:choice>
+                    <xs:choice>
+                        <xs:annotation>
+                            <xs:documentation>An element can be defined either as a simple element or by a set
+                            of isotopes fractions</xs:documentation>
+                        </xs:annotation>
+                        <xs:element name="atom" type="AtomType"></xs:element>
+                        <xs:element maxOccurs="unbounded" name="fraction">
+                            <xs:annotation>
+                                <xs:documentation>An isotope fraction of an element where n is the actual amount
+                                of the isotope in the element</xs:documentation>
+                            </xs:annotation>
+                            <xs:complexType>
+                                <xs:complexContent>
+                                    <xs:extension base="ReferenceType">
+                                        <xs:attribute name="n" type="xs:double" use="required"></xs:attribute>
+                                    </xs:extension>
+                                </xs:complexContent>
+                            </xs:complexType>
+                        </xs:element>
+                    </xs:choice>
+                </xs:sequence>
+                <xs:attribute name="N" type="xs:positiveInteger" use="optional">
+                    <xs:annotation>
+                        <xs:documentation>Number of nucleons</xs:documentation>
+                    </xs:annotation>
+                </xs:attribute>
+                <xs:attribute name="Z" type="xs:double" use="optional">
+                    <xs:annotation>
+                        <xs:documentation>Atomic number</xs:documentation>
+                    </xs:annotation>
+                </xs:attribute>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
+    <xs:complexType name="MaterialMixtureType">
+        <xs:annotation>
+            <xs:documentation>Exported material composite or mixture type</xs:documentation>
+        </xs:annotation>
+        <xs:complexContent>
+            <!-- <xs:extension base="ComplexMaterialType"> -->
+            <xs:extension base="MaterialType">
+                <xs:sequence>
+                    <xs:choice>
+                        <xs:element name="D" type="DensityType">
+                            <xs:annotation>
+                                <xs:documentation>Density quantity value</xs:documentation>
+                            </xs:annotation>
+                        </xs:element>
+                        <xs:element name="Dref" type="ReferenceType">
+                            <xs:annotation>
+                                <xs:documentation>A reference to a previsouly defined named density quantity value</xs:documentation>
+                            </xs:annotation>
+                        </xs:element>
+                    </xs:choice>
+                    <xs:choice>
+                        <xs:annotation>
+                            <xs:documentation>A complex material can be defined as a simple mixture when
+                            its material properties are known or as a composite material
+                            or a mixture. A composite material is defined by a set of elements
+                            by specifying the number of atoms.
+                            The second way is by a set of material fractions where the fractions
+                            can be either simple elements or other complex materials.
+                            The restriction is that one can't mix composition by atoms and fractions
+                            at the same time.</xs:documentation>
+                        </xs:annotation>
+                        <xs:element name="atom" type="AtomType"></xs:element>
+                        <xs:element maxOccurs="unbounded" name="composite">
+                            <xs:annotation>
+                                <xs:documentation>Elements of this composite material specified as a set of local references
+                                to already defined simple elements where value of n in each means the number of atoms</xs:documentation>
+                            </xs:annotation>
+                            <xs:complexType>
+                                <xs:complexContent>
+                                    <xs:extension base="ReferenceType">
+                                        <xs:attribute name="n" type="xs:positiveInteger" use="required"></xs:attribute>
+                                    </xs:extension>
+                                </xs:complexContent>
+                            </xs:complexType>
+                        </xs:element>
+                        <xs:element maxOccurs="unbounded" name="fraction">
+                            <xs:annotation>
+                                <xs:documentation>Fractions of this mixture specified as a set of local references to already defined
+                                elements or other mixtures where value of n in each means the fraction of the whole
+                                material in the range 0.0 &lt; n &lt; 1.0</xs:documentation>
+                            </xs:annotation>
+                            <xs:complexType>
+                                <xs:complexContent>
+                                    <xs:extension base="ReferenceType">
+                                        <xs:attribute name="n" type="xs:double" use="required"></xs:attribute>
+                                    </xs:extension>
+                                </xs:complexContent>
+                            </xs:complexType>
+                        </xs:element>
+                    </xs:choice>
+                </xs:sequence>
+                <xs:attribute name="Z" type="xs:double" use="optional">
+                    <xs:annotation>
+                        <xs:documentation>Atomic number</xs:documentation>
+                    </xs:annotation>
+                </xs:attribute>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
 </xs:schema>

lcdd/schemas/gdml/1.0
gdml_solids.xsd 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- gdml_solids.xsd	5 Jul 2007 22:27:06 -0000	1.3
+++ gdml_solids.xsd	2 May 2013 20:46:40 -0000	1.4
@@ -806,7 +806,8 @@
       <xs:complexContent>
 	<xs:extension base="SolidType">
 	  <xs:sequence>
-	    <xs:element name="Facet" minOccurs="1" maxOccurs="unbounded" type="FacetType"/>	
+<!--	    <xs:element name="Facet" minOccurs="1" maxOccurs="unbounded" type="FacetType"/>	-->
+            <xs:element ref="Facet" minOccurs="1" maxOccurs="unbounded" />
 	  </xs:sequence>
 	</xs:extension>
       </xs:complexContent>
CVSspam 0.2.12


Use REPLY-ALL to reply to list

To unsubscribe from the LCD-CVS list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCD-CVS&A=1