source: trunk/source/persistency/gdml/schema/gdml_define.xsd @ 1348

Last change on this file since 1348 was 1316, checked in by garnier, 14 years ago

update geant4-09-04-beta-cand-01 interfaces-V09-03-09 vis-V09-03-08

  • Property svn:executable set to *
File size: 5.0 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE xs:schema>
3<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" version="1.0" xmlns:gdml="http://cern.ch/2001/Schemas/GDML" xmlns:xs="http://www.w3.org/2001/XMLSchema">
4  <xs:include schemaLocation="gdml_core.xsd"/>
5  <xs:include schemaLocation="gdml_extensions.xsd"/>
6  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
7 
8  <xs:element name="define" type="defineType">
9    <xs:annotation>
10      <xs:documentation>Definition block of global named constants, quantitties, expressions,
11        positions and rotations which may be used by name or
12        by a reference in scope of the current document</xs:documentation>
13    </xs:annotation>
14  </xs:element>
15  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
16
17  <xs:complexType name="defineType">
18    <xs:annotation>
19      <xs:documentation>The global complex type is defined in order to reuse this defintion
20        in derived schemas</xs:documentation>
21    </xs:annotation>
22    <!-- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -->
23   
24    <xs:choice maxOccurs="unbounded">
25      <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
26     
27      <xs:element maxOccurs="unbounded" minOccurs="0" ref="loop"/>
28      <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
29     
30      <xs:element maxOccurs="unbounded" minOccurs="0" name="constant" type="IdentifiableConstantType">
31        <xs:annotation>
32          <xs:documentation>Named constant</xs:documentation>
33        </xs:annotation>
34      </xs:element>
35      <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
36     
37      <xs:element maxOccurs="unbounded" minOccurs="0" name="variable" type="IdentifiableVariableType">
38        <xs:annotation>
39          <xs:documentation>Named variable</xs:documentation>
40        </xs:annotation>
41      </xs:element>
42      <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
43     
44      <xs:element maxOccurs="unbounded" minOccurs="0" name="matrix" type="MatrixType">
45        <xs:annotation>
46          <xs:documentation>Named matrix</xs:documentation>
47        </xs:annotation>
48      </xs:element>
49      <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
50     
51      <xs:element maxOccurs="unbounded" minOccurs="0" name="quantity" type="IdentifiableQuantityType">
52        <xs:annotation>
53          <xs:documentation>Named quantity</xs:documentation>
54        </xs:annotation>
55      </xs:element>
56      <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
57     
58      <xs:element maxOccurs="unbounded" minOccurs="0" name="expression" type="IdentifiableExpressionType">
59        <xs:annotation>
60          <xs:documentation>Named expression, may contain other named constants,
61            quantities and expressions</xs:documentation>
62        </xs:annotation>
63      </xs:element>
64      <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
65     
66      <xs:element maxOccurs="unbounded" minOccurs="0" name="position" type="positionType">
67        <xs:annotation>
68          <xs:documentation>Named cartesian position, default unit mm</xs:documentation>
69        </xs:annotation>
70      </xs:element>
71      <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
72         
73      <xs:element maxOccurs="unbounded" minOccurs="0" name="rotation" type="rotationType">
74        <xs:annotation>
75          <xs:documentation>Named cartesian rotation, default unit radian</xs:documentation>
76        </xs:annotation>
77      </xs:element>
78      <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
79
80      <xs:element maxOccurs="unbounded" minOccurs="0" name="scale" type="scaleType">
81        <xs:annotation>
82          <xs:documentation>Named cartesian rotation, default unit radian</xs:documentation>
83        </xs:annotation>
84      </xs:element>
85      <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
86    </xs:choice>
87    <!-- |||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -->
88  </xs:complexType>
89  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
90 
91  <xs:complexType name="positionType">
92    <xs:complexContent>
93      <xs:restriction base="IdentifiableQuantityVectorType">
94        <xs:attribute default="mm" type="xs:string" name="unit"/>
95        <xs:attribute default="cartesian" type="xs:string" name="type"/>
96      </xs:restriction>
97    </xs:complexContent>
98  </xs:complexType>
99  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
100 
101  <xs:complexType name="rotationType">
102    <xs:complexContent>
103      <xs:restriction base="IdentifiableQuantityVectorType">
104        <xs:attribute default="radian" type="xs:string" name="unit"/>
105        <xs:attribute default="cartesian" type="xs:string" name="type"/>
106      </xs:restriction>
107    </xs:complexContent>
108  </xs:complexType>
109  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
110
111  <xs:complexType name="scaleType">
112    <xs:complexContent>
113      <xs:restriction base="IdentifiableQuantityVectorType">
114      </xs:restriction>
115    </xs:complexContent>
116  </xs:complexType>
117  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
118</xs:schema>
Note: See TracBrowser for help on using the repository browser.