Files
geant4/examples/extended/gdml/schema/gdml_simple_define.xsd
T
2016-06-08 16:39:52 +02:00

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>