<?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>