Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
FacilitiesSchema.xsd 5.12 KiB
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" attributeFormDefault="unqualified" elementFormDefault="qualified" 
           xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">
  <xs:element name="facilities">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="facility">
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="archive" minOccurs="0">
                <xs:complexType>
                  <xs:choice>
                    <xs:element name="archiveSearch" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:attribute name="plugin"/>
                      </xs:complexType>
                    </xs:element>
                  </xs:choice>
                </xs:complexType>
              </xs:element>
              <xs:element name="computeResource" minOccurs="0">
                <xs:complexType>
                  <xs:choice maxOccurs="unbounded">
                    <xs:element name="baseURL" type="xs:string" />
                    <xs:element name="JobManagerType" type="xs:string" />
                    <xs:element name="configFileURL" type="xs:string" />
                    <xs:element name="mpirunExecutable" type="xs:string" />
                    <xs:element name="pythonExecutable" type="xs:string" />
                  </xs:choice>
                  <xs:attribute name="name"/>
                  <xs:attribute name="type"/>
                </xs:complexType>
              </xs:element>
              <xs:element name="catalog">
                <xs:complexType>
                  <xs:element name="soapendpoint">
                    <xs:complexType>
                      <xs:attribute name="url" type="xs:string"/>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="externaldownload">
                    <xs:complexType>
                      <xs:attribute name="url" type="xs:string"/>
                    </xs:complexType>
                  </xs:element>
                  <xs:element name="filelocation">
                    <xs:complexType>
                      <xs:element name="prefix">
                        <xs:complexType>
                          <xs:attribute name="regex" type="xs:string"/>
                        </xs:complexType>
                      </xs:element>
                      <xs:element name="windows">
                        <xs:complexType>
                          <xs:attribute name="replacement" type="xs:string"/>
                        </xs:complexType>
                      </xs:element>
                      <xs:element name="linux">
                        <xs:complexType>
                          <xs:attribute name="replacement" type="xs:string"/>
                        </xs:complexType>
                      </xs:element>
                      <xs:element name="mac">
                        <xs:complexType>
                          <xs:attribute name="replacement" type="xs:string"/>
                        </xs:complexType>
                      </xs:element>
                    </xs:complexType>
                  </xs:element>
                  <xs:attribute name="name" type="xs:string"/>
                </xs:complexType>
              </xs:element> 
              <xs:element name="instrument" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:choice maxOccurs="unbounded">
                    <xs:element name="zeropadding">
                      <xs:complexType>
                        <xs:attribute name="size" type="xs:int" use="required"/>
                        <xs:attribute name="startRunNumber"/>
                        <xs:attribute name="prefix" type="xs:string"/>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="technique" maxOccurs="unbounded" type="xs:string"/>
                    <xs:element name="livedata">
                      <xs:complexType>
                        <xs:attribute name ="address" type="xs:string" use="required"/>
                        <xs:attribute name="listener" type="xs:string" use="optional"/>
                      </xs:complexType>
                    </xs:element>
                  </xs:choice>
                  <xs:attribute name="name" type="xs:string" use="required"/>
                  <xs:attribute name="shortname" type="xs:string" use="optional"/>
                  <xs:attribute name="beamline" type="xs:string" use="optional"/>
                </xs:complexType>
              </xs:element>
              <xs:element name="livedata" minOccurs="0">
                <xs:complexType>
                  <xs:attribute name="listener" type="xs:string" use="required"/>
                </xs:complexType>
              </xs:element>
            </xs:choice>
            <xs:attribute name="name"/>
            <xs:attribute name="zeropadding"/>
            <xs:attribute name="FileExtensions"/>
            <xs:attribute name="delimiter"/>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>
</xs:schema>