Show Observable Metadata Schema (XSD)

ILDG Home

MDC index

Observable index
Observable list

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="observables">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="schema" type="schemaType">
        </xs:element>
        <xs:element minOccurs="0" type="xs:string" name="obsId">
        </xs:element>
        <xs:element name="origin" type="originType">
        </xs:element>
        <xs:choice>
          <xs:element maxOccurs="unbounded" name="dobs" type="dobsType">
          </xs:element>
          <xs:element type="cobsType" maxOccurs="unbounded" name="cobs">
          </xs:element>
          <xs:element name="pobs" maxOccurs="unbounded" type="pobsType">
          </xs:element>
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="schemaType">
    <xs:sequence>
      <xs:element name="name" type="xs:string">
      </xs:element>
      <xs:element name="version" type="xs:string">
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="originType">
    <xs:sequence>
      <xs:element name="who" type="xs:string">
      </xs:element>
      <xs:element name="date" type="xs:string">
      </xs:element>
      <xs:element name="host" type="xs:string">
      </xs:element>
      <xs:element name="tool">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="name" type="xs:string">
            </xs:element>
            <xs:element name="version" type="xs:string">
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType mixed="true" name="freeTree">
    <xs:sequence>
      <xs:any maxOccurs="unbounded" processContents="lax" minOccurs="0">
      </xs:any>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType mixed="true" name="arrayType">
    <xs:sequence>
      <xs:element type="xs:string" name="id">
      </xs:element>
      <xs:element name="symbol" type="xs:string" minOccurs="0">
      </xs:element>
      <xs:element name="layout" type="xs:string">
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:group name="edataGroup">
    <xs:sequence>
      <xs:element type="xs:string" name="enstag">
      </xs:element>
      <xs:element type="xs:int" name="nr">
      </xs:element>
      <xs:sequence maxOccurs="unbounded">
        <xs:element minOccurs="0" name="origin" type="freeTree">
        </xs:element>
        <xs:element type="arrayType" name="array">
        </xs:element>
      </xs:sequence>
    </xs:sequence>
  </xs:group>
  <xs:complexType name="pobsType">
    <xs:sequence>
      <xs:element minOccurs="0" name="spec" type="freeTree">
      </xs:element>
      <xs:element minOccurs="0" name="origin" type="freeTree">
      </xs:element>
      <xs:element name="name" type="xs:string">
      </xs:element>
      <xs:group ref="edataGroup">
      </xs:group>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="dobsType">
    <xs:sequence>
      <xs:element type="freeTree" name="spec">
      </xs:element>
      <xs:element type="freeTree" name="origin" minOccurs="0">
      </xs:element>
      <xs:element name="name" type="xs:string">
      </xs:element>
      <xs:element name="array" type="arrayType">
      </xs:element>
      <xs:element type="xs:int" name="ne">
      </xs:element>
      <xs:element type="xs:int" name="nc">
      </xs:element>
      <xs:element maxOccurs="unbounded" name="edata">
        <xs:complexType>
          <xs:group ref="edataGroup">
          </xs:group>
        </xs:complexType>
      </xs:element>
      <xs:element minOccurs="0" name="cdata" maxOccurs="unbounded" type="cobsType">
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="cobsType">
    <xs:sequence>
      <xs:element name="id" type="xs:string">
      </xs:element>
      <xs:element name="array" type="arrayType">
      </xs:element>
      <xs:element type="arrayType" name="array">
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="OBSERVABLES">
    <xs:complexType>
      <xs:sequence>
        <xs:element type="SCHEMATYPE" name="SCHEMA">
        </xs:element>
        <xs:element type="originType" name="origin">
        </xs:element>
        <xs:choice>
          <xs:element name="dobs" maxOccurs="unbounded" type="dobsType">
          </xs:element>
          <xs:element maxOccurs="unbounded" name="cobs" type="cobsType">
          </xs:element>
          <xs:element name="pobs" maxOccurs="unbounded" type="pobsType">
          </xs:element>
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="SCHEMATYPE">
    <xs:sequence>
      <xs:element name="NAME" type="xs:string">
      </xs:element>
      <xs:element type="xs:string" name="VERSION">
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>