<?xml version="1.0" encoding="UTF-8"?>
<!-- DILVE API: getRecordStatusX response schema -->
<!-- (c)2009 DILVE - www.dilve.es -              -->
<!-- Revision history                            -->
<!--  1.0 - 2009/10/01: Initial version          -->

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.dilve.es/dilve/api/xsd/getRecordStatusXResponse" xmlns:g="http://www.dilve.es/dilve/api/xsd/getRecordStatusXResponse" version="1.0">

   <xsd:element name="getRecordStatusXResponse">
      <xsd:complexType>
         <xsd:sequence>
            <xsd:element minOccurs="0" ref="g:header"/>
            <xsd:element minOccurs="0" ref="g:existingRecords"/>
            <xsd:element minOccurs="0" ref="g:newRecords"/>
            <xsd:element minOccurs="0" ref="g:changedRecords"/>
            <xsd:element minOccurs="0" ref="g:deletedRecords"/>
            <xsd:element minOccurs="0" ref="g:error"/>
         </xsd:sequence>
         <xsd:attribute name="version" use="required" type="xsd:string" fixed="1.0"/>
      </xsd:complexType>
   </xsd:element>

   <xsd:element name="header">
      <xsd:complexType>
         <xsd:sequence>
            <xsd:element ref="g:fromDate"/>
            <xsd:element ref="g:toDate"/>
         </xsd:sequence>
      </xsd:complexType>
   </xsd:element>

   <xsd:element name="existingRecords">
      <xsd:complexType>
         <xsd:attribute name="count" use="required" type="xsd:integer"/>
      </xsd:complexType>
   </xsd:element>

   <xsd:element name="newRecords" type="g:recordsType"/>
   <xsd:element name="changedRecords" type="g:recordsType"/>
   <xsd:element name="deletedRecords" type="g:recordsType"/>

   <xsd:complexType name="recordsType">
      <xsd:sequence>
         <xsd:element minOccurs="0" maxOccurs="unbounded" ref="g:record"/>
      </xsd:sequence>
      <xsd:attribute name="count" use="required" type="xsd:integer"/>
   </xsd:complexType>

   <xsd:element name="record">
      <xsd:complexType>
         <xsd:sequence>
            <xsd:element ref="g:id"/>
            <xsd:element minOccurs="0" ref="g:touchDate"/>
         </xsd:sequence>
      </xsd:complexType>
   </xsd:element>

   <xsd:element name="id">
      <xsd:complexType>
         <xsd:simpleContent>
            <xsd:extension base="xsd:string">
               <xsd:attribute name="type" use="required" type="xsd:string"/>
            </xsd:extension>
         </xsd:simpleContent>
      </xsd:complexType>
   </xsd:element>

   <xsd:element name="error">
      <xsd:complexType>
         <xsd:sequence>
            <xsd:element ref="g:code"/>
            <xsd:element ref="g:text"/>
         </xsd:sequence>
      </xsd:complexType>
   </xsd:element>

   <xsd:element name="code" type="xsd:string"/>
   <xsd:element name="text" type="xsd:string"/>

   <xsd:element name="touchDate" type="xsd:string"/>
   <xsd:element name="fromDate" type="xsd:string"/>
   <xsd:element name="toDate" type="xsd:string"/>

</xsd:schema>