Print

Print


Commit in GeomConverter/resources/org/lcsim/schemas/compact/1.0 on MAIN
compact.xsd+264-2611.4 -> 1.5
add comment elements to detector section so we don't have to use the built-in XML commenting mechanism (gets in the way of debugging)

GeomConverter/resources/org/lcsim/schemas/compact/1.0
compact.xsd 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- compact.xsd	16 Mar 2009 23:10:27 -0000	1.4
+++ compact.xsd	17 Apr 2009 22:19:02 -0000	1.5
@@ -6,204 +6,195 @@
            xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
            xmlns:xs="http://www.w3.org/2001/XMLSchema">
 
-  <xs:element name="info">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="comment" type="xs:string" minOccurs="0" maxOccurs="1"/>
-      </xs:sequence>
-      <xs:attribute name="name" type="xs:string" use="required" />
-      <xs:attribute name="title" type="xs:string" use="optional" />
-      <xs:attribute name="author" type="xs:string" use="optional" />
-      <xs:attribute name="url" type="xs:anyURI" use="optional"/>
-      <xs:attribute name="version" type="xs:string" use="optional" />
-      <xs:attribute name="status" default="development">
-        <xs:simpleType>
-          <xs:restriction base="xs:string">
-            <xs:enumeration value="deprecated" />
-            <xs:enumeration value="production" />
-            <xs:enumeration value="development" />
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:attribute>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="define">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="constant" minOccurs="0" maxOccurs="unbounded">
-          <xs:complexType>
-            <xs:attribute name="name" type="xs:string" use="required"/>
-            <xs:attribute name="value" type="xs:string" use="required"/>
-          </xs:complexType>
-        </xs:element>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="limits">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="limitset" minOccurs="0" maxOccurs="unbounded">
-          <xs:complexType>
-            <xs:sequence>
-              <xs:element name="limit" minOccurs="1" maxOccurs="unbounded">
-                <xs:complexType>
-                  <xs:attribute name="name" use="required">
-                    <xs:simpleType>
-                      <xs:restriction base="xs:string">
-                        <xs:enumeration value="step_length_max" />
-                        <xs:enumeration value="track_length_max" />
-                        <xs:enumeration value="time_max" />
-                        <xs:enumeration value="ekin_min" />
-                        <xs:enumeration value="range_min" />
-                      </xs:restriction>
-                    </xs:simpleType>
-                  </xs:attribute>
-                  <xs:attribute name="particles" type="xs:string"/>
-                  <xs:attribute name="value" type="xs:double"/>
-                  <xs:attribute name="unit" type="xs:string"/>
-                </xs:complexType>
-              </xs:element>
+    <xs:element name="info">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="comment" type="xs:string" minOccurs="0" maxOccurs="1"/>
             </xs:sequence>
-            <xs:attribute name="name" type="xs:string" use="required"/>
-          </xs:complexType>
-        </xs:element>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="regions">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="region" minOccurs="0" maxOccurs="unbounded">
-          <xs:complexType>
-            <xs:attribute name="name" type="xs:string" use="required"/>
-            <xs:attribute name="store_secondaries" type="xs:boolean" default="false"/>
-            <xs:attribute name="cut" type="xs:double" default="1.0" />
-            <xs:attribute name="lunit" type="xs:string" default="mm"/>
-            <xs:attribute name="threshold" type="xs:double" default="0.0"/>
-            <xs:attribute name="eunit" type="xs:string" default="MeV"/>
-          </xs:complexType>
-        </xs:element>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="materials">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="material" minOccurs="0" maxOccurs="unbounded">
-          <xs:complexType>
-            <xs:sequence>
-              <xs:element name="D" minOccurs="1" maxOccurs="1">
-                <xs:complexType>
-                  <xs:attribute name="type" type="xs:string" default="density"/>
-                  <xs:attribute name="unit" type="xs:string" default="g/cm3" />
-                  <xs:attribute name="value" type="xs:double" use="required"/>
-                </xs:complexType>
-              </xs:element>
-              <xs:choice>
-                <xs:element name="fraction" minOccurs="1" maxOccurs="unbounded">
-                  <xs:complexType>
-                    <xs:attribute name="n" type="xs:double" use="required"/>
-                    <xs:attribute name="ref" type="xs:string" use="required"/>
-                  </xs:complexType>
-                </xs:element>
-                <xs:element name="composite" minOccurs="1" maxOccurs="unbounded">
-                  <xs:complexType>
-                    <xs:attribute name="n" type="xs:integer" use="required"/>
-                    <xs:attribute name="ref" type="xs:string" use="required"/>
-                  </xs:complexType>
+            <xs:attribute name="name" type="xs:string" use="required" />
+            <xs:attribute name="title" type="xs:string" use="optional" />
+            <xs:attribute name="author" type="xs:string" use="optional" />
+            <xs:attribute name="url" type="xs:anyURI" use="optional"/>
+            <xs:attribute name="version" type="xs:string" use="optional" />
+            <xs:attribute name="status" default="development">
+                <xs:simpleType>
+                    <xs:restriction base="xs:string">
+                        <xs:enumeration value="deprecated" />
+                        <xs:enumeration value="production" />
+                        <xs:enumeration value="development" />
+                    </xs:restriction>
+                </xs:simpleType>
+            </xs:attribute>
+        </xs:complexType>
+    </xs:element>
+
+    <xs:element name="define">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="constant" minOccurs="0" maxOccurs="unbounded">
+                    <xs:complexType>
+                        <xs:attribute name="name" type="xs:string" use="required"/>
+                        <xs:attribute name="value" type="xs:string" use="required"/>
+                    </xs:complexType>
                 </xs:element>
-              </xs:choice>
             </xs:sequence>
-            <xs:attribute name="name" type="xs:string" use="required"/>
-          </xs:complexType>
-        </xs:element>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="display">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="vis" minOccurs="0" maxOccurs="unbounded">
-          <xs:complexType>
+        </xs:complexType>
+    </xs:element>
 
-            <xs:attribute name="name" type="xs:string" use="required" />
+    <xs:element name="limits">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="limitset" minOccurs="0" maxOccurs="unbounded">
+                    <xs:complexType>
+                        <xs:sequence>
+                            <xs:element name="limit" minOccurs="1" maxOccurs="unbounded">
+                                <xs:complexType>
+                                    <xs:attribute name="name" use="required">
+                                        <xs:simpleType>
+                                            <xs:restriction base="xs:string">
+                                                <xs:enumeration value="step_length_max" />
+                                                <xs:enumeration value="track_length_max" />
+                                                <xs:enumeration value="time_max" />
+                                                <xs:enumeration value="ekin_min" />
+                                                <xs:enumeration value="range_min" />
+                                            </xs:restriction>
+                                        </xs:simpleType>
+                                    </xs:attribute>
+                                    <xs:attribute name="particles" type="xs:string"/>
+                                    <xs:attribute name="value" type="xs:double"/>
+                                    <xs:attribute name="unit" type="xs:string"/>
+                                </xs:complexType>
+                            </xs:element>
+                        </xs:sequence>
+                        <xs:attribute name="name" type="xs:string" use="required"/>
+                    </xs:complexType>
+                </xs:element>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-            <xs:attribute name="r" type=" xs:double " default="1.0" />
-            <xs:attribute name="g" type=" xs:double " default="1.0" />
-            <xs:attribute name="b" type=" xs:double " default="1.0" />
-            <xs:attribute name="alpha" type=" xs:double " default="1.0" />
-
-            <xs:attribute name="visible" type="xs:boolean" default="true"/>
-
-            <xs:attribute name="showDaughters" type="xs:boolean" default="true"/>
-
-            <xs:attribute name="lineStyle" default="unbroken">
-              <xs:simpleType>
-                <xs:restriction base="xs:string">
-                  <xs:enumeration value="unbroken"/>
-                  <xs:enumeration value="dashed"/>
-                  <xs:enumeration value="dotted"/>
-                </xs:restriction>
-              </xs:simpleType>
-            </xs:attribute>
+    <xs:element name="regions">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="region" minOccurs="0" maxOccurs="unbounded">
+                    <xs:complexType>
+                        <xs:attribute name="name" type="xs:string" use="required"/>
+                        <xs:attribute name="store_secondaries" type="xs:boolean" default="false"/>
+                        <xs:attribute name="cut" type="xs:double" default="1.0" />
+                        <xs:attribute name="lunit" type="xs:string" default="mm"/>
+                        <xs:attribute name="threshold" type="xs:double" default="0.0"/>
+                        <xs:attribute name="eunit" type="xs:string" default="MeV"/>
+                    </xs:complexType>
+                </xs:element>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-            <xs:attribute name="drawingStyle" default="wireframe">
-              <xs:simpleType>
-                <xs:restriction base="xs:string">
-                  <xs:enumeration value="wireframe"/>
-                  <xs:enumeration value="solid"/>
-                </xs:restriction>
-              </xs:simpleType>
-            </xs:attribute>
+    <xs:element name="materials">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="material" minOccurs="0" maxOccurs="unbounded">
+                    <xs:complexType>
+                        <xs:sequence>
+                            <xs:element name="D" minOccurs="1" maxOccurs="1">
+                                <xs:complexType>
+                                    <xs:attribute name="type" type="xs:string" default="density"/>
+                                    <xs:attribute name="unit" type="xs:string" default="g/cm3" />
+                                    <xs:attribute name="value" type="xs:double" use="required"/>
+                                </xs:complexType>
+                            </xs:element>
+                            <xs:choice>
+                                <xs:element name="fraction" minOccurs="1" maxOccurs="unbounded">
+                                    <xs:complexType>
+                                        <xs:attribute name="n" type="xs:double" use="required"/>
+                                        <xs:attribute name="ref" type="xs:string" use="required"/>
+                                    </xs:complexType>
+                                </xs:element>
+                                <xs:element name="composite" minOccurs="1" maxOccurs="unbounded">
+                                    <xs:complexType>
+                                        <xs:attribute name="n" type="xs:integer" use="required"/>
+                                        <xs:attribute name="ref" type="xs:string" use="required"/>
+                                    </xs:complexType>
+                                </xs:element>
+                            </xs:choice>
+                        </xs:sequence>
+                        <xs:attribute name="name" type="xs:string" use="required"/>
+                    </xs:complexType>
+                </xs:element>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
 
-          </xs:complexType>
-        </xs:element>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="detectors">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="detector" minOccurs="0" maxOccurs="unbounded">
-          <xs:complexType>
-            <xs:sequence>
-              <xs:element name="dimensions" minOccurs="0" maxOccurs="1">
-                <xs:complexType>
-                  <xs:anyAttribute processContents="lax" />
-                </xs:complexType>
-              </xs:element>
-              <xs:element name="layer" minOccurs="0" maxOccurs="unbounded">
-                <xs:complexType>
-                  <xs:sequence>
-                    <xs:element name="slice" minOccurs="0" maxOccurs="unbounded">
-                      <xs:complexType>
-                        <xs:attribute name="material" type="xs:string" use="required"/>
-                        <xs:attribute name="thickness" type="xs:string" use="required"/>
-                        <xs:attribute name="sensitive" default="no">
-                          <xs:simpleType>
-                            <xs:restriction base="xs:string">
-                              <xs:enumeration value="yes" />
-                              <xs:enumeration value="no" />
-                            </xs:restriction>
-                          </xs:simpleType>
+    <xs:element name="display">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="vis" minOccurs="0" maxOccurs="unbounded">
+                    <xs:complexType>
+                        <xs:attribute name="name" type="xs:string" use="required" />
+                        <xs:attribute name="r" type=" xs:double " default="1.0" />
+                        <xs:attribute name="g" type=" xs:double " default="1.0" />
+                        <xs:attribute name="b" type=" xs:double " default="1.0" />
+                        <xs:attribute name="alpha" type=" xs:double " default="1.0" />
+                        <xs:attribute name="visible" type="xs:boolean" default="true"/>
+                        <xs:attribute name="showDaughters" type="xs:boolean" default="true"/>
+                        <xs:attribute name="lineStyle" default="unbroken">
+                            <xs:simpleType>
+                                <xs:restriction base="xs:string">
+                                    <xs:enumeration value="unbroken"/>
+                                    <xs:enumeration value="dashed"/>
+                                    <xs:enumeration value="dotted"/>
+                                </xs:restriction>
+                            </xs:simpleType>
+                        </xs:attribute>
+                        <xs:attribute name="drawingStyle" default="wireframe">
+                            <xs:simpleType>
+                                <xs:restriction base="xs:string">
+                                    <xs:enumeration value="wireframe"/>
+                                    <xs:enumeration value="solid"/>
+                                </xs:restriction>
+                            </xs:simpleType>
                         </xs:attribute>
-                        <xs:attribute name="region" type="xs:string" use="optional"/>
-                        <xs:attribute name="limits" type="xs:string" use="optional"/>
-                        <xs:attribute name="vis" type="xs:string" use="optional"/>
-                      </xs:complexType>
-                    </xs:element>
-                    <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
-                  </xs:sequence>
-                  <xs:anyAttribute processContents="lax"/> <!-- layer -->
-                </xs:complexType>
-              </xs:element>
-              <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" />
+                    </xs:complexType>
+                </xs:element>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+
+    <xs:element name="detector">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="comment" minOccurs="0" maxOccurs="1" type="xs:string"/>
+                <xs:element name="dimensions" minOccurs="0" maxOccurs="1">
+                    <xs:complexType>
+                        <xs:anyAttribute processContents="lax" />
+                    </xs:complexType>
+                </xs:element>
+                <xs:element name="layer" minOccurs="0" maxOccurs="unbounded">
+                    <xs:complexType>
+                        <xs:sequence>
+                            <xs:element name="slice" minOccurs="0" maxOccurs="unbounded">
+                                <xs:complexType>
+                                    <xs:attribute name="material" type="xs:string" use="required"/>
+                                    <xs:attribute name="thickness" type="xs:string" use="required"/>
+                                    <xs:attribute name="sensitive" default="no">
+                                        <xs:simpleType>
+                                            <xs:restriction base="xs:string">
+                                                <xs:enumeration value="yes" />
+                                                <xs:enumeration value="no" />
+                                            </xs:restriction>
+                                        </xs:simpleType>
+                                    </xs:attribute>
+                                    <xs:attribute name="region" type="xs:string" use="optional"/>
+                                    <xs:attribute name="limits" type="xs:string" use="optional"/>
+                                    <xs:attribute name="vis" type="xs:string" use="optional"/>
+                                </xs:complexType>
+                            </xs:element>
+                            <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
+                        </xs:sequence>
+                        <xs:anyAttribute processContents="lax"/> <!-- layer -->
+                    </xs:complexType>
+                </xs:element>
+                <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" />
             </xs:sequence>
             <xs:attribute name="name" type="xs:string" use="required"/>
             <xs:attribute name="type" type="xs:string" use="required"/>
@@ -213,78 +204,90 @@
             <xs:attribute name="reflect" type="xs:boolean" use="optional"/>
             <xs:attribute name="combineHits" type="xs:boolean" use="optional"/>
             <xs:anyAttribute processContents="lax"/>
-          </xs:complexType>
-        </xs:element>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="readouts">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="readout" minOccurs="0" maxOccurs="unbounded">
-          <xs:complexType>
-            <xs:sequence>
-              <xs:element name="segmentation" minOccurs="0" maxOccurs="1">
-                <xs:complexType>
-                  <xs:attribute name="name" type="xs:string"/>
-                  <xs:anyAttribute processContents="lax" />
-                </xs:complexType>
-              </xs:element>
-              <xs:element name="id" type="xs:string" minOccurs="1" maxOccurs="1" />
-            </xs:sequence>
-            <xs:attribute name="name" type="xs:string"/>
-          </xs:complexType>
-        </xs:element>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="fields">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="field" minOccurs="0" maxOccurs="unbounded">
-          <xs:complexType>
+        </xs:complexType>
+    </xs:element>                
+
+    <xs:group name="detGroup">
+        <xs:sequence>
+            <xs:element name="comment" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
+            <xs:element ref="detector" minOccurs="0" maxOccurs="1"/>
+        </xs:sequence>
+    </xs:group>
+    
+    <xs:element name="detectors">
+        <xs:complexType>
             <xs:sequence>
-              <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" />
+                <xs:group ref="detGroup" minOccurs="0" maxOccurs="unbounded"/>
             </xs:sequence>
-            <xs:attribute name="name" type="xs:string" use="required"/>
-            <xs:attribute name="type" type="xs:string" use="required"/>
-            <xs:anyAttribute processContents="lax"/>
-          </xs:complexType>
-        </xs:element>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="includes">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element name="gdmlFile" minOccurs="0" maxOccurs="unbounded">
-            <xs:complexType>   
-                <xs:attribute name="ref" type="xs:anyURI" use="required"/>
-            </xs:complexType>
-        </xs:element>
-      </xs:sequence>
-    </xs:complexType>
-  </xs:element>
-
-  <xs:element name="lccdd">
-    <xs:complexType>
-      <xs:sequence>
-        <xs:element ref="info" minOccurs="1" maxOccurs="1"/>
-        <xs:element ref="define" minOccurs="1" maxOccurs="1"/>
-        <xs:element ref="materials" minOccurs="1" maxOccurs="1"/>
-        <xs:element ref="limits" minOccurs="0" maxOccurs="1"/>
-        <xs:element ref="regions" minOccurs="0" maxOccurs="1"/>
-        <xs:element ref="display" minOccurs="0" maxOccurs="1"/>
-        <xs:element ref="detectors" minOccurs="1" maxOccurs="1"/>
-        <xs:element ref="readouts" minOccurs="1" maxOccurs="1"/>
-        <xs:element ref="fields" minOccurs="0" maxOccurs="1"/>
-        <xs:element ref="includes" minOccurs="0" maxOccurs="1"/>
-      </xs:sequence>
-      <xs:attribute fixed="1.0.0" name="version" type="xs:string"/>
-    </xs:complexType>
-  </xs:element>
+        </xs:complexType>
+    </xs:element>
+    
+    <xs:element name="readouts">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="readout" minOccurs="0" maxOccurs="unbounded">
+                    <xs:complexType>
+                        <xs:sequence>
+                            <xs:element name="segmentation" minOccurs="0" maxOccurs="1">
+                                <xs:complexType>
+                                    <xs:attribute name="name" type="xs:string"/>
+                                    <xs:anyAttribute processContents="lax" />
+                                </xs:complexType>
+                            </xs:element>
+                            <xs:element name="id" type="xs:string" minOccurs="1" maxOccurs="1" />
+                        </xs:sequence>
+                        <xs:attribute name="name" type="xs:string"/>
+                    </xs:complexType>
+                </xs:element>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+
+    <xs:element name="fields">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="field" minOccurs="0" maxOccurs="unbounded">
+                    <xs:complexType>
+                        <xs:sequence>
+                            <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax" />
+                        </xs:sequence>
+                        <xs:attribute name="name" type="xs:string" use="required"/>
+                        <xs:attribute name="type" type="xs:string" use="required"/>
+                        <xs:anyAttribute processContents="lax"/>
+                    </xs:complexType>
+                </xs:element>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+
+    <xs:element name="includes">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="gdmlFile" minOccurs="0" maxOccurs="unbounded">
+                    <xs:complexType>   
+                        <xs:attribute name="ref" type="xs:anyURI" use="required"/>
+                    </xs:complexType>
+                </xs:element>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+
+    <xs:element name="lccdd">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element ref="info" minOccurs="1" maxOccurs="1"/>
+                <xs:element ref="define" minOccurs="1" maxOccurs="1"/>
+                <xs:element ref="materials" minOccurs="1" maxOccurs="1"/>
+                <xs:element ref="limits" minOccurs="0" maxOccurs="1"/>
+                <xs:element ref="regions" minOccurs="0" maxOccurs="1"/>
+                <xs:element ref="display" minOccurs="0" maxOccurs="1"/>
+                <xs:element ref="detectors" minOccurs="1" maxOccurs="1"/>
+                <xs:element ref="readouts" minOccurs="1" maxOccurs="1"/>
+                <xs:element ref="fields" minOccurs="0" maxOccurs="1"/>
+                <xs:element ref="includes" minOccurs="0" maxOccurs="1"/>
+            </xs:sequence>
+            <xs:attribute fixed="1.0.0" name="version" type="xs:string"/>
+        </xs:complexType>
+    </xs:element>
 
 </xs:schema>
CVSspam 0.2.8