<?xml version="1.0" encoding="UTF-8"?>
<!-- XML Schema for Angel RM client request messages -->
<!-- Version 0.02 -->
<!-- edited by Simon McLeish (s.mcleish@lse.ac.uk) 24/06/03 -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns="http://www.angel.ac.uk/rm_client_request"
	elementFormDefault="qualified"
	attributeFormDefault="unqualified"
	targetNamespace="http://www.angel.ac.uk/rm_client_request"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.angel.ac.uk/rm_client_request http://www.angel.ac.uk/schemas/rm_client_request.xsd">
  <xs:annotation>
    <xs:documentation>
XML Schema for Angel RM client request messages
Version 0.02
Edited by Simon McLeish (s.mcleish@lse.ac.uk) 2003-06-24
    </xs:documentation>
  </xs:annotation>
  <xs:element name="searchRequest">
    <xs:complexType>
      <xs:sequence minOccurs="1" maxOccurs="unbounded">
        <xs:choice>
          <xs:element ref="requesterIP" />
	  <xs:element ref="remoteSearch" />
	  <xs:element ref="parameter" minOccurs="0" maxOccurs="unbounded" />
          <xs:any />
	</xs:choice>
      </xs:sequence>
      <xs:anyAttribute />
    </xs:complexType>
  </xs:element>
  <xs:element name="remoteSearch">
    <xs:complexType>
      <xs:sequence minOccurs="1" maxOccurs="unbounded">
        <xs:choice>
          <xs:element name="remoteURL" type="xs:string" minOccurs="1" />
	  <xs:element name="protocol" type="xs:string" />
	  <xs:element name="timeout" type="xs:integer" minOccurs="0" />
	</xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="parameter">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
	  <xs:attribute name="name" type="xs:string" use="required" />
	</xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="requesterIP">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string">
	  <xs:attribute name="filter" type="ynType" default="N" />
	</xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <!-- set up y/n type for attributes -->
  <xs:simpleType name="ynType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Y" />
      <xs:enumeration value="N" />
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="ynAttrType">
    <xs:attribute name="with_matches" type="ynType" default="N" />
  </xs:complexType>
  <xs:complexType name="editingType">
    <xs:choice>
      <xs:element ref="requesterIP" />
      <xs:any />
    </xs:choice>
    <xs:anyAttribute />
  </xs:complexType>
</xs:schema>

