<?xml version="1.0"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.sirsidynix.com/symws/request"
xmlns:admin="http://schemas.sirsidynix.com/symws/admin"
attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="http://schemas.sirsidynix.com/symws/request">
<xs:import namespace="http://schemas.sirsidynix.com/symws/admin" schemaLocation="admin.xsd"/>
<!-- messages -->
<xs:element name="LookupRequestTemplateRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="requestTypeID" type="xs:string" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LookupRequestTemplateResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="userIDRequired" type="admin:RequiredType" minOccurs="1" maxOccurs="1"/>
<!-- catalogKeyRequired means either itemID, catalog key, or call number is required -->
<xs:element name="catalogKeyRequired" type="admin:RequiredType" minOccurs="1" maxOccurs="1"/>
<xs:element name="defaultStatusID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="defaultStatusDescription" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="specialUse" type="admin:SpecialUseType" minOccurs="1" maxOccurs="1"/>
<xs:element name="requestEntryInfo" type="RequestEntryTemplateInfo" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="createRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="requestTypeID" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<!-- if accession is not configured on Symphony, then itemID cannot be used -->
<!-- if catalogKeyRequired for the request type template is Mandatory, then catalogKey
cannot be used -->
<xs:choice>
<xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="catalogKey" type="xs:long" minOccurs="0" maxOccurs="1"/>
<xs:element name="callNumber" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:choice>
<xs:element name="serviceLibraryID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="statusID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<!-- use the corresponding absolute entry number retrieved from
LookupRequestTemplateResponse -->
<xs:element name="requestEntry" type="RequestEntry" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CreateRequestResponse" type="xs:string"/> <!-- Request key -->
<xs:element name="LookupRequestsRequest">
<xs:complexType>
<xs:sequence>
<xs:choice>
<xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="userAltID" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:choice>
<xs:element name="requestStatusID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="serviceLibraryID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<!-- can only be used injunction with userID or userAltID -->
<xs:element name="repliedToRequests" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LookupRequestsResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="RequestBriefInfo" type="RequestBriefInfo" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LookupRequestRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="requestKey" type="xs:string" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LookupRequestResponse" type="RequestInfo" />
<xs:element name="CancelRequestRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="requestKey" type="xs:string" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CancelRequestResponse" type="xs:boolean" />
<!-- objects -->
<xs:complexType name="RequestEntryTemplateInfo">
<xs:sequence>
<xs:element name="absoluteEntryNumber" type="xs:int" minOccurs="1" maxOccurs="1"/>
<xs:element name="entryFormat" type="RequestEntryType" minOccurs="0" maxOccurs="1"/>
<xs:element name="entryID" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="entryDescription" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="internalEntryNumber" type="xs:int" minOccurs="1"/>
<xs:element name="entryName" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="allowedEditCreate" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
<xs:element name="required" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
<xs:element name="dataType" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="minimumSize" type="xs:int" minOccurs="0" maxOccurs="1"/>
<xs:element name="maximumSize" type="xs:int" minOccurs="0" maxOccurs="1"/>
<xs:element name="defaultValue" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="entryClass" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="displayValue" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RequestInfo">
<xs:complexContent>
<xs:extension base="RequestBriefInfo">
<xs:sequence>
<xs:element name="requestEntry" type="RequestEntryInfo" minOccurs="0"
maxOccurs="unbounded"/>
<xs:element name="replyEntry" type="RequestEntryInfo" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="RequestBriefInfo">
<xs:sequence>
<xs:element name="requestKey" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="requestTypeID" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="requestTypeDescription" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="userID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="itemID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="statusID" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="statusDescription" type="xs:string" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="RequestEntryType">
<xs:restriction base="xs:string">
<xs:enumeration value="COMMENT"/> <!-- c -->
<xs:enumeration value="EMAIL"/> <!-- m -->
<xs:enumeration value="PHONE"/> <!-- h -->
<xs:enumeration value="STAFFONLY"/> <!-- n -->
<xs:enumeration value="USERREPLY"/> <!-- r -->
<xs:enumeration value="Z3950"/> <!-- d -->
<xs:enumeration value="ZIPCODE"/> <!-- z -->
</xs:restriction>
</xs:simpleType>
<xs:complexType name="RequestEntry">
<xs:sequence>
<xs:element name="absoluteEntryNumber" type="xs:int" minOccurs="1" maxOccurs="1"/>
<xs:element name="entryID" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="entryData" type="xs:string" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="RequestEntryInfo">
<xs:sequence>
<xs:element name="entryDescription" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="entryData" type="xs:string" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
© 2009-2012 SirsiDynix