<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified">
  <xs:element name="max">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="title" type="xs:string" />
        <xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="category" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="scope" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element ref="datasrc" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="page" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:string" use="required" />
      <xs:attribute name="version" type="xs:string" use="required" />
      <xs:attribute name="minruntimevers" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>
  <xs:element name="datasrc">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="webservice" minOccurs="0" maxOccurs="1" />
        <xs:element ref="field" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:string" use="required" />
      <xs:attribute name="external" type="xs:string" />
      <xs:attribute name="orderby" type="xs:string" />
      <xs:attribute name="orderbydesc" type="xs:string" />
    </xs:complexType>
  </xs:element>
  <xs:element name="webservice">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="ttl" type="xs:string" use="optional" />
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="field">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="type" use="required">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="primarykey" />
                <xs:enumeration value="string" />
                <xs:enumeration value="integer" />
                <xs:enumeration value="date" />
                <xs:enumeration value="decimal" />
                <xs:enumeration value="list" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="values" type="xs:string" />
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="page">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="query" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="textarea" minOccurs="0" maxOccurs="1" />
        <xs:element ref="item" minOccurs="0" maxOccurs="unbounded" />
        <xs:element ref="action" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="id" type="xs:string" use="required" />
      <xs:attribute name="style" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="list" />
            <xs:enumeration value="listsearch" />
            <xs:enumeration value="form" />
            <xs:enumeration value="editform" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="onload" type="xs:string" use="optional" />
      <xs:attribute name="onnext" type="xs:string" use="optional" />
      <xs:attribute name="onprevious" type="xs:string" use="optional" />
      <xs:attribute name="onoutbox" type="xs:string" use="optional" />
      <xs:attribute name="autorefresh" type="xs:string" use="optional" />
      <xs:attribute name="searchbox" type="xs:string" use="optional" />
      <xs:attribute name="trackingod" type="xs:string" use="optional" />
      <xs:attribute name="redirect" type="xs:string" use="optional" />
      <xs:attribute name="nextprevious" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="true" />
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="query">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="id" type="xs:string" use="required" />
          <xs:attribute name="type" use="required">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="rss" />
                <xs:enumeration value="select" />
                <xs:enumeration value="insert" />
                <xs:enumeration value="update" />
                <xs:enumeration value="delete" />
                <xs:enumeration value="sendget" />
                <xs:enumeration value="sendpost" />
                <xs:enumeration value="updatemultiple" />
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
          <xs:attribute name="groupcount" type="xs:string" />
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="item">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="href" type="xs:string" use="optional" />
          <xs:attribute name="onclick" type="xs:string" use="optional" />
          <xs:attribute name="id" type="xs:string" use="optional" />
          <xs:attribute name="selected" type="xs:string" use="optional" />
          <xs:attribute name="label" type="xs:string" use="optional" />
          <xs:attribute name="options" type="xs:string" use="optional" />
          <xs:attribute name="visible" type="xs:string" use="optional" />
          <xs:attribute name="icon" type="xs:string" use="optional" />
          <xs:attribute name="type" use="optional" type="_x0028_ItemType_x0029_" />
          <xs:attribute name="style" type="xs:string" use="optional" />
          <xs:attribute name="img" type="xs:string" use="optional" />
          <xs:attribute name="target" type="xs:string" use="optional" />
          <xs:attribute name="ondelete" type="xs:string" use="optional" />
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="action">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
          <xs:attribute name="href" type="xs:string" use="optional" />
          <xs:attribute name="onclick" type="xs:string" use="optional" />
          <xs:attribute name="id" type="xs:string" use="optional" />
          <xs:attribute name="label" type="xs:string" use="optional" />
          <xs:attribute name="options" type="xs:string" use="optional" />
          <xs:attribute name="visible" type="xs:string" use="optional" />
          <xs:attribute name="icon" type="xs:string" use="optional" />
          <xs:attribute name="style" type="xs:string" use="optional" />
          <xs:attribute name="type" use="optional" type="_x0028_ItemType_x0029_">
          </xs:attribute>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:simpleType name="_x0028_ItemType_x0029_">
    <xs:restriction base="xs:string">
      <xs:enumeration value="text" />
      <xs:enumeration value="select" />
      <xs:enumeration value="selectmulti" />
      <xs:enumeration value="checkbox" />
      <xs:enumeration value="textarea" />
      <xs:enumeration value="numeric" />
      <xs:enumeration value="decimal" />
      <xs:enumeration value="email" />
      <xs:enumeration value="phonenumber" />
      <xs:enumeration value="date" />
      <xs:enumeration value="time" />
      <xs:enumeration value="timespan" />
      <xs:enumeration value="frequency" />
      <xs:enumeration value="currency" />
      <xs:enumeration value="password" />
      <xs:enumeration value="confirm" />
      <xs:enumeration value="link" />
      <xs:enumeration value="button" />
      <xs:enumeration value="camera" />
      <xs:enumeration value="selectemail" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
