Commit in lcdd/schemas/gdml/1.0 on MAIN | |||
gdml.xsd | +45 | -92 | 1.3 -> 1.4 |
gdml_define.xsd | +15 | 1.2 -> 1.3 | |
gdml_materials.xsd | +405 | -385 | 1.2 -> 1.3 |
gdml_solids.xsd | +2 | -1 | 1.3 -> 1.4 |
+467 | -478 |
current gdml schemas from gdml2 project
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>
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>
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 < n < 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 < n < 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>
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>
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