94 lines
3.7 KiB
XML
94 lines
3.7 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
|
xmlns:gdml="http://cern.ch/2001/Schemas/GDML"
|
|
elementFormDefault="unqualified"
|
|
attributeFormDefault="unqualified"
|
|
version="1.0">
|
|
<xs:include schemaLocation="gdml_simple_core.xsd"/>
|
|
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
|
<xs:element name="define" type="defineType">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
Definition block of global named constants, quantitties, expressions,
|
|
positions and rotations which may be used by name or
|
|
by a reference in scope of the current document
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
|
<xs:complexType name="defineType">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
The global complex type is defined in order to reuse this defintion
|
|
in derived schemas
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
<!-- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -->
|
|
<xs:choice maxOccurs="unbounded">
|
|
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
|
<xs:element name="constant" type="IdentifiableConstantType"
|
|
minOccurs="0" maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation>Named constant</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
|
<xs:element name="quantity" type="IdentifiableQuantityType"
|
|
minOccurs="0" maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation>Named quantity</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
|
<xs:element name="expression" type="IdentifiableExpressionType"
|
|
minOccurs="0" maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
Named expression, may contain other named constants,
|
|
quantities and expressions
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
|
<xs:element name="position" type="positionType"
|
|
minOccurs="0" maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
Named cartesian position, default unit mm
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
|
<xs:element name="rotation" type="rotationType"
|
|
minOccurs="0" maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation>
|
|
Named cartesian rotation, default unit radian
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:element>
|
|
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
|
</xs:choice>
|
|
<!-- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -->
|
|
</xs:complexType>
|
|
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
|
<xs:complexType name="positionType">
|
|
<xs:complexContent>
|
|
<xs:restriction base="IdentifiableQuantityVectorType">
|
|
<xs:attribute name="unit" default="mm"/>
|
|
<xs:attribute name="type" default="cartesian"/>
|
|
</xs:restriction>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
|
<xs:complexType name="rotationType">
|
|
<xs:complexContent>
|
|
<xs:restriction base="IdentifiableQuantityVectorType">
|
|
<xs:attribute name="unit" default="radian"/>
|
|
<xs:attribute name="type" default="cartesian"/>
|
|
</xs:restriction>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
|
|
</xs:schema>
|