Altair® Monarch® Server

 

XSD for Standard Processes

Manifest XML for Standard Processes can be prepared using XSD schema, as shown below.

<?xml version="1.0" encoding="utf-8" ?>

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="manifest">

    <xs:complexType>

      <xs:sequence>

        <xs:element name="inputs" minOccurs="0">

          <xs:complexType>

            <xs:sequence>

              <xs:element name="item" minOccurs="0" maxOccurs="unbounded">

                <xs:complexType>

                  <xs:sequence>

                    <xs:element name="uri" type="xs:string" minOccurs="0" />

                    <xs:element name="location" minOccurs="0">

                      <xs:complexType>

                        <xs:simpleContent>

                          <xs:extension base="xs:string">

                            <xs:attribute name="temporary" type="xs:boolean" />

                          </xs:extension>

                        </xs:simpleContent>

                      </xs:complexType>

                    </xs:element>

                    <xs:element name="db_import" minOccurs="0">

                      <xs:complexType>

                        <xs:sequence>

                          <xs:element name="data_source" type="xs:string" minOccurs="0" />

                          <xs:element name="table_name" type="xs:string" minOccurs="0" />

                          <xs:element name="apply_filter" type="xs:string" minOccurs="0" />

                          <xs:element name="password" type="xs:string" minOccurs="0" />

                        </xs:sequence>

                        <xs:attribute name="excel_column_names_row" type="xs:boolean" />

                        <xs:attribute name="replace_nulls" type="xs:boolean" />

                      </xs:complexType>

                    </xs:element>

                  </xs:sequence>

                  <xs:attribute name="name" type="xs:string" use="optional" />

                </xs:complexType>

              </xs:element>

            </xs:sequence>

          </xs:complexType>

        </xs:element>

        <xs:element name="outputs" minOccurs="0">

          <xs:complexType>

            <xs:sequence>

              <xs:element name="item" minOccurs="0" maxOccurs="unbounded">

                <xs:complexType>

                  <xs:sequence>

                    <xs:element name="data_source" type="xs:string" minOccurs="0" />

                    <xs:element name="table_name" type="xs:string" minOccurs="0" />

                    <xs:element name="password" type="xs:string" minOccurs="0" />

                  </xs:sequence>

                  <xs:attribute name="name" type="xs:string" use="required" />

                  <xs:attribute name="project" type="xs:string" use="required" />

                </xs:complexType>

              </xs:element>

            </xs:sequence>

          </xs:complexType>

        </xs:element>

        <xs:element name="projects" minOccurs="0">

          <xs:complexType>

            <xs:sequence>

              <xs:element name="add" minOccurs="0">

                <xs:complexType>

                  <xs:sequence>

                    <xs:element name="project" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>

                  </xs:sequence>

                </xs:complexType>

              </xs:element>

              <xs:element name="remove" minOccurs="0">

                <xs:complexType>

                  <xs:sequence>

                    <xs:element name="project" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>

                  </xs:sequence>

                </xs:complexType>

              </xs:element>

              <xs:element name="order" minOccurs="0">

                <xs:complexType>

                  <xs:sequence>

                    <xs:element name="project" minOccurs="0" maxOccurs="unbounded">

                      <xs:complexType>

                        <xs:simpleContent>

                          <xs:extension base="xs:string">

                            <xs:attribute name="order" type="xs:int" use="required" />

                          </xs:extension>

                        </xs:simpleContent>

                      </xs:complexType>

                    </xs:element>

                  </xs:sequence>

                </xs:complexType>

              </xs:element>

            </xs:sequence>

          </xs:complexType>

        </xs:element>

        <xs:element name="runtime_fields" minOccurs="0">

          <xs:complexType>

            <xs:sequence>

              <xs:element name="runtime_field" minOccurs="0" maxOccurs="unbounded">

                <xs:complexType>

                  <xs:simpleContent>

                    <xs:extension base="xs:string">

                      <xs:attribute name="name" type="xs:string" use="optional" />

                    </xs:extension>

                  </xs:simpleContent>

                </xs:complexType>

              </xs:element>

            </xs:sequence>

          </xs:complexType>

        </xs:element>

      </xs:sequence>

      <xs:attribute name="process" type="xs:string" use="optional" />

      <xs:attribute name="sourceLocation" type="xs:string" use="optional" />

    </xs:complexType>

  </xs:element>

</xs:schema>