Reserve service

<?xml version="1.0"?>
<xs:schema
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns="http://schemas.sirsidynix.com/symws/reserve"
  xmlns:common="http://schemas.sirsidynix.com/symws/common"
  attributeFormDefault="qualified" elementFormDefault="qualified"
  targetNamespace="http://schemas.sirsidynix.com/symws/reserve">

  <xs:import namespace="http://schemas.sirsidynix.com/symws/common" schemaLocation="common.xsd"/>

  <!-- messages -->

  <xs:element name="LookupReserveRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:choice minOccurs="1">
          <xs:element name="userPrimaryKey" type="xs:long" minOccurs="0" maxOccurs="1" />
          <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1" />
        </xs:choice>
        <xs:element name="courseID" type="xs:string" minOccurs="1" maxOccurs="1" />
        <xs:element name="hitsToDisplay" type="xs:int" minOccurs="0" maxOccurs="1" />
        <xs:element name="reserveDesk" type="xs:string" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LookupReservePagingRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="hitsToDisplay" type="xs:int" minOccurs="0" maxOccurs="1" />
        <xs:element name="browseDirection" type="BrowseDirection" minOccurs="1" maxOccurs="1" />
        <xs:choice minOccurs="1">
          <xs:element name="firstEntryLineNum" type="xs:int" minOccurs="0" maxOccurs="1" />
          <xs:element name="lastEntryLineNum" type="xs:int" minOccurs="0" maxOccurs="1" />
        </xs:choice>
        <xs:element name="reserveDesk" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:choice minOccurs="1">
          <xs:element name="userPrimaryKey" type="xs:long" minOccurs="0" maxOccurs="1" />
          <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1" />
        </xs:choice>
        <xs:element name="courseID" type="xs:string" minOccurs="1" maxOccurs="1" />
        <xs:element name="listID" type="xs:int" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LookupReservePagingResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="reserveDesk" type="xs:string" minOccurs="1" maxOccurs="1" />
        <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="lookupReservePaging" type="xs:long" minOccurs="0" maxOccurs="1" />
        <xs:element name="userDisplayName" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="userDepartment" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="courseID" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="reserveInfo" type="ReserveInfo" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="totalHits" type="xs:int" minOccurs="0" maxOccurs="1" />
        <xs:element name="firstEntryLineNum" type="xs:int" minOccurs="1" maxOccurs="1" />
        <xs:element name="lastEntryLineNum" type="xs:int" minOccurs="1" maxOccurs="1" />
        <xs:element name="forwardAvailable" type="xs:boolean" minOccurs="1" maxOccurs="1" />
        <xs:element name="backwardAvailable" type="xs:boolean" minOccurs="1" maxOccurs="1" />
        <xs:element name="listID" type="xs:int" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="BrowseReserveRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="browseType" type="BrowseType" minOccurs="1" maxOccurs="1" />
        <xs:element name="browseValue" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="hitsToDisplay" type="xs:int" minOccurs="0" maxOccurs="1" />
        <xs:element name="reserveDesk" type="xs:string" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="BrowseReservePagingRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="browseDirection" type="BrowseDirection" minOccurs="1" maxOccurs="1" />
        <xs:element name="browseType" type="BrowseType" minOccurs="1" maxOccurs="1" />
        <xs:choice minOccurs="1">
          <xs:element name="firstEntryID" type="xs:long" minOccurs="0" maxOccurs="1" />
          <xs:element name="lastEntryID" type="xs:long" minOccurs="0" maxOccurs="1" />
        </xs:choice>
        <xs:choice minOccurs="1">
          <xs:element name="firstEntryValue" type="xs:string" minOccurs="0" maxOccurs="1" />
          <xs:element name="lastEntryValue" type="xs:string" minOccurs="0" maxOccurs="1" />
        </xs:choice>
        <xs:element name="hitsToDisplay" type="xs:int" minOccurs="0" maxOccurs="1" />
        <xs:element name="reserveDesk" type="xs:string" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="BrowseReservePagingResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="browseType" type="BrowseType" minOccurs="1" maxOccurs="1" />
        <xs:element name="reserveDesk" type="xs:string" minOccurs="1" maxOccurs="1" />
        <xs:element name="exactMatchFound" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="reserveInfo" type="ReserveInfo" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="closestMatch" type="xs:int" minOccurs="0" maxOccurs="1" />
        <xs:element name="firstEntryID" type="xs:long" minOccurs="1" maxOccurs="1" />
        <xs:element name="lastEntryID" type="xs:long" minOccurs="1" maxOccurs="1" />
        <xs:element name="firstEntryValue" type="xs:string" minOccurs="1" maxOccurs="1" />
        <xs:element name="lastEntryValue" type="xs:string" minOccurs="1" maxOccurs="1" />
        <xs:element name="forwardAvailable" type="xs:boolean" minOccurs="1" maxOccurs="1" />
        <xs:element name="backwardAvailable" type="xs:boolean" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="ListReserveRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="hitsToDisplay" type="xs:int" minOccurs="0" maxOccurs="1" />
        <xs:element name="reserveDesk" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="browseType" type="BrowseType" minOccurs="1" maxOccurs="1" />
        <xs:choice minOccurs="1">
          <xs:element name="userPrimaryKey" type="xs:long" minOccurs="0" maxOccurs="1" />
          <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1" />
          <xs:element name="courseID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="ListReservePagingRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="hitsToDisplay" type="xs:int" minOccurs="0" maxOccurs="1" />
        <xs:element name="reserveDesk" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="browseType" type="BrowseType" minOccurs="1" maxOccurs="1" />
        <xs:element name="browseDirection" type="BrowseDirection" minOccurs="1" maxOccurs="1" />
        <xs:choice minOccurs="1">
          <xs:element name="firstLineNumber" type="xs:int" minOccurs="0" maxOccurs="1" />
          <xs:element name="lastLineNumber" type="xs:int" minOccurs="0" maxOccurs="1" />
        </xs:choice>
        <xs:choice minOccurs="1">
          <xs:element name="courseID" type="xs:string" minOccurs="0" maxOccurs="1"/>
          <xs:element name="userPrimaryKey" type="xs:long" minOccurs="0" maxOccurs="1" />
          <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1" />
        </xs:choice>
        <xs:element name="listID" type="xs:int" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="ListReservePagingResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="browseType" type="BrowseType" minOccurs="1" maxOccurs="1" />
        <xs:element name="reserveDesk" type="xs:string" minOccurs="1" maxOccurs="1" />
        <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="listReservePaging" type="xs:long" minOccurs="0" maxOccurs="1" />
        <xs:element name="userName" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="userDepartment" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="courseID" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="courseName" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="reserveInfo" type="ReserveInfo" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="totalHits" type="xs:int" minOccurs="1" maxOccurs="1" />
        <xs:element name="firstLineNumber" type="xs:int" minOccurs="1" maxOccurs="1" />
        <xs:element name="lastLineNumber" type="xs:int" minOccurs="1" maxOccurs="1" />
        <xs:element name="forwardAvailable" type="xs:boolean" minOccurs="1" maxOccurs="1" />
        <xs:element name="backwardAvailable" type="xs:boolean" minOccurs="1" maxOccurs="1" />
        <xs:element name="listID" type="xs:int" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <!-- objects -->

  <xs:complexType name="ReserveInfo">
    <xs:sequence>
      <xs:element name="entryNum" type="xs:long" minOccurs="1" maxOccurs="1" />
      <xs:element name="uniqueID" type="xs:string" minOccurs="1" maxOccurs="1" />
      <xs:element name="reserveControlUniqueKey" type="xs:int" minOccurs="0" maxOccurs="1" />
      <xs:element name="reserveNumber" type="xs:int" minOccurs="0" maxOccurs="1" />
      <xs:element name="reserveCopies" type="xs:int" minOccurs="0" maxOccurs="1" />
      <xs:element name="numberOfHolds" type="xs:int" minOccurs="0" maxOccurs="1" />
      <xs:element name="circulationRuleID" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="reserveBookingPolicyID" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="catalogKey" type="xs:long" minOccurs="0" maxOccurs="1" />
      <xs:element name="itemID" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="callNumber" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="displayableCallNumber" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="author" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="dueDate" type="xs:date" minOccurs="0" maxOccurs="1" />
      <xs:element name="numReservesForCourse" type="xs:int" minOccurs="0" maxOccurs="1" />
      <xs:element name="courseID" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="courseName" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="courseTermID" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="ReserveInfo" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="userPrimaryKey" type="xs:long" minOccurs="0" maxOccurs="1" />
      <xs:element name="userDisplayName" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="ReserveInfo" type="xs:string" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="BrowseType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="COURSE_NAME" />
      <xs:enumeration value="COURSE_ID" />
      <xs:enumeration value="USER_NAME" />
    </xs:restriction>
  </xs:simpleType>

  <!-- Browse direction enumeration -->
  <xs:simpleType name="BrowseDirection">
    <xs:restriction base="xs:string">
      <xs:enumeration value="START" />
      <xs:enumeration value="FORWARD" />
      <xs:enumeration value="BACKWARD" />
    </xs:restriction>
  </xs:simpleType>

</xs:schema>

 


© 2009-2012 SirsiDynix