<?xml version="1.0"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
           targetNamespace="http://namespaces.yrrid.com/csms/screen"
           xmlns:csmss="http://namespaces.yrrid.com/csms/screen">

  <xs:complexType name="fields">
    <xs:sequence>
      <xs:element name="field" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="records">
    <xs:sequence>
      <xs:element name="record" type="csmss:record" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="record">
    <xs:sequence>
      <xs:element name="xxname" type="xs:string" />
      <xs:element name="xxtype" type="csmss:recordType" />
      <xs:element name="recordsPerPage" type="xs:integer" minOccurs="0" />
      <xs:element name="fields" type="csmss:fields" />
    </xs:sequence>
  </xs:complexType>
  
  <xs:simpleType name="screenType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="singular" />
      <xs:enumeration value="list" />
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="recordType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="singular" />
      <xs:enumeration value="list" />
    </xs:restriction>
  </xs:simpleType>

  <xs:element name="screen">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="name" type="xs:string" />
        <xs:element name="type" type="csmss:screenType" />
        <xs:element name="fields" type="csmss:fields" minOccurs="0" />
        <xs:element name="records" type="csmss:records" minOccurs="0" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
