Service Schemas > Standard service

Standard service

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

  <!-- messages -->
  <xs:element name="LookupTitleInfoRequest">
    <xs:complexType>
      <xs:sequence>
        <!-- Library ID or Search Library Group ID -->
        <xs:element name="libraryFilter" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:choice>
          <xs:element name="titleID" type="xs:long" minOccurs="1" maxOccurs="unbounded"/>
          <xs:element name="itemID" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
        </xs:choice>
        <!-- The next seven parameters are treated as false if not present. -->
        <xs:element name="includeAvailabilityInfo" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
        <xs:element name="includeItemInfo" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
        <xs:element name="includeCatalogingInfo" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
        <xs:element name="includeOrderInfo" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
        <xs:element name="includeOPACInfo" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
        <xs:element name="includeBoundTogether" type="xs:boolean" minOccurs="0" maxOccurs="1">
        <xs:element name="includeMarcHoldings" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
        <!-- If no choice is made here, marcEntryFilter=NONE is assumed. -->
        <xs:choice minOccurs="0" maxOccurs="1">
          <xs:element name="marcEntryFilter">
            <xs:simpleType>
              <xs:restriction base="xs:string">
                <xs:enumeration value="ALL"/>
                <xs:enumeration value="BRIEF"/>
                <xs:enumeration value="FULL"/>
                <xs:enumeration value="NONE"/>
                <xs:enumeration value="TEMPLATE"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
          <xs:element name="marcEntryID" type="xs:string" maxOccurs="unbounded"/>
          <!-- includeRelatedSearchInfo is treated as false if not present. If true,
                related search information is included in the display of bibliographic
                entries. Ignored if no marc entries are displayed. -->
        </xs:choice>
        <xs:element name="includeRelatedSearchInfo" type="xs:boolean" minOccurs="0"maxOccurs="1"/>
        <xs:element name="includeCallNumberSummary" type="xs:boolean" minOccurs="0"maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

 <xs:element name="LookupTitleInfoResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="TitleInfo" minOccurs="1" maxOccurs="unbounded">
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="SearchCatalogRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="query" minOccurs="1" maxOccurs="8">
          <xs:complexType>
            <xs:sequence>
              <!-- The server supports a maximum term length of 1,024 characters. -->
              <xs:element name="term" minOccurs="1" maxOccurs="1">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:maxLength value="1024"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <!-- The search index will default to GENERAL if not specified. -->
              <xs:element name="searchType" type="xs:string" minOccurs="0" maxOccurs="1"/>
              <!-- The search operator will default to AND if not specified. -->
              <xs:element name="operator" minOccurs="0" maxOccurs="1">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="AND"/>
                    <xs:enumeration value="OR"/>
                    <xs:enumeration value="NOT"/>
                    <xs:enumeration value="XOR"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <!-- Will default to false if not specified. -->
        <xs:element name="exactMatch" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
        <!-- Will default to 20 if not specified. -->
        <xs:element name="hitsToDisplay" type="xs:nonNegativeInteger" minOccurs="0"
          maxOccurs="1"/>
        <xs:element name="filters" type="SearchCatalogFilters" minOccurs="0" maxOccurs="1"/>
        <!-- includeAvailabilityInfo will be treated as false if not present. If true, causes
                TitleAvailabilityInfo to be included for each hitlist title. -->
        <xs:element name="includeAvailabilityInfo" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="SearchCatalogResponse" type="SearchCatalogResult"/>

  <xs:element name="SearchCatalogPagingRequest" type="SearchCatalogPaging"/>

  <xs:element name="SearchCatalogPagingResponse" type="SearchCatalogResult"/>

  <xs:element name="LookupMostPopularRequest">
    <xs:complexType>
      <xs:sequence>
        <!-- Required type of Most Popular list -->
        <xs:element name="listType" minOccurs="1" maxOccurs="1">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:enumeration value="AUTHOR"/>
              <xs:enumeration value="SUBJECT"/>
              <xs:enumeration value="TITLE"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <!-- Optional Library ID or Library Group ID -->
        <xs:element name="libraryFilter" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <!-- Optional alternate file name for source file -->
        <xs:element name="sourceFile" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <!-- Optional maximum authors, subjects, or titles to display -->
        <xs:element name="linesToDisplay" type="xs:nonNegativeInteger" minOccurs="0"
          maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LookupMostPopularResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="linesDisplayed" type="xs:int" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="MostPopularInfo" minOccurs="0" maxOccurs="unbounded">
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="SearchInfoDeskRequest">
    <xs:complexType>
      <xs:sequence>
        <!-- BLST policy name that the library uses to tag predefined searches -->
        <xs:choice minOccurs="1" maxOccurs="1">
          <xs:element name="infoDesk" type="InfoDesk"/>
          <xs:element name="customInfoDesk" type="xs:string"/>
        </xs:choice>
        <!-- Will default to 20 if not specified. -->
        <xs:element name="hitsToDisplay" type="xs:nonNegativeInteger" minOccurs="0"
          maxOccurs="1"/>
        <xs:element name="filters" type="SearchCatalogFilters" minOccurs="0" maxOccurs="1"/>
        <!-- includeAvailabilityInfo will be treated as false if not present. If true, causes
              TitleAvailabilityInfo to be included for each hitlist title. -->
        <xs:element name="includeAvailabilityInfo" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="SearchInfoDeskResponse" type="SearchCatalogResult"/>

  <xs:element name="SearchInfoDeskPagingRequest" type="SearchCatalogPaging"/>

  <xs:element name="SearchInfoDeskPagingResponse" type="SearchCatalogResult"/>

  <xs:element name="LookupBestSellersDisplayListRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="bestSellerID" type="xs:string" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LookupBestSellersDisplayListResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="bestSellerDisplayInfo" type="BestSellerDisplayInfo" minOccurs="0"
          maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LookupRecommendedReadingDisplayListRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="recommendedReadingID" type="xs:string" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LookupRecommendedReadingDisplayListResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="recommendedReadingDisplayInfo" type="RecommendedReadingDisplayInfo"
          minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="BestSellerDisplayInfo">
    <xs:sequence>
      <xs:element name="bestSellerDisplayID" type="xs:string" minOccurs="1" maxOccurs="1"/>
      <xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1"/>
      <xs:element name="copyright" type="xs:string" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RecommendedReadingDisplayInfo">
    <xs:sequence>
      <xs:element name="recommendedReadingDisplayID" type="xs:string" minOccurs="1" maxOccurs="1"/>
      <xs:element name="description" type="xs:string" minOccurs="1" maxOccurs="1"/>
      <xs:element name="note" type="xs:string" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="LookupBestSellerTitlesRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="bestSellerID" type="xs:string" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LookupBestSellerTitlesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="bestSellerTitleInfo" type="BestSellerTitleInfo" minOccurs="0"
          maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LookupRecommendedReadingTitlesRequest">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="recommendedReadingID" type="xs:string" minOccurs="1" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LookupRecommendedReadingTitlesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="recommendedReadingTitleInfo" type="RecommendedReadingTitleInfo"
          minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="BestSellerTitleInfo">
    <xs:sequence>
      <xs:element name="ISBN" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="author" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="searchString" type="xs:string" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RecommendedReadingTitleInfo">
    <xs:sequence>
      <xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="author" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="searchString" type="xs:string" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="LookupHotSitesRequest" />

  <xs:element name="LookupHotSitesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="hotSitesInfo" type="HotSitesInfo" minOccurs = "0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="VersionRequest"/>
  <xs:element name="VersionResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="version" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="product" type="xs:string"/>
              <xs:element name="version" type="xs:string"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="LicenseRequest"/>
  <xs:element name="LicenseResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="attribute " maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="key" type="xs:string"/>
              <xs:element name="value" type="xs:string"/>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <!-- objects -->
  <xs:element name="TitleInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="titleID" type="xs:long" minOccurs="1" maxOccurs="1"/>
        <!-- TitleAvailabilityInfo is included only if includeAvailabilityInfo is true -->
        <xs:element ref="TitleInfo" minOccurs="0" maxOccurs="1"/>
        <!-- The next four elements will be present if includeCatalogingInfo is true -->
        <xs:element name="titleControlNumber" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="catalogFormatID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="catalogFormatType" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="materialType" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <!-- The next fifteen elements will be present if includeOPACInfo is true -->
        <xs:element name="baseCallNumber" 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="ISBN" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="SICI" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="UPC" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="OCLCControlNumber" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="sisacID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="publisherName" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="datePublished" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="yearOfPublication" type="xs:int" minOccurs="0" maxOccurs="1"/>
        <xs:element name="extent" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="netLibraryID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="numberOfCallNumbers" type="xs:int" minOccurs="0" maxOccurs="1"/>
        <xs:element name="numberOfTitleHolds" type="xs:int" minOccurs="0" maxOccurs="1"/>
        <!-- The next three elements are present if includeOrderInfo is true -->
        <xs:element name="copiesOnOrder" type="xs:int" minOccurs="0" maxOccurs="1"/>
        <xs:element name="outstandingCopiesOnOrder" type="xs:int" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="TitleOrderInfo" minOccurs="0" maxOccurs="unbounded"/>
        <!-- present if includeItemInfo is true -->
        <xs:element ref="CallInfo" minOccurs="0" maxOccurs="unbounded"/>
        <!-- present if marcEntryFilter parameter is not NONE or marcEntryID parameter
            is present -->
        <xs:element ref="BibliographicInfo" minOccurs="0" maxOccurs="1"/>
        <!-- present if includeMarcHoldings is true. -->
        <xs:element ref="MarcHoldingsInfo" minOccurs="0" maxOccurs="unbounded"/>
        <!-- Boundwith links count and list are included only if includeBoundTogether is true.
            -->
        <xs:element name="numberOfBoundwithLinks" type="xs:int" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="BoundwithLinkInfo" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="callSummary" type="CallSummary" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="CallInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="libraryID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="classificationID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="callNumber" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="numberOfCopies" type="xs:int" minOccurs="1" maxOccurs="1"/>
        <!-- Bound parent information is returned only if includeBoundTogether is true. -->
        <xs:element name="boundParentAuthor" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="boundParentTitle" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element ref="ItemInfo" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="ItemInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="itemID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="itemTypeID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="currentLocationID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="homeLocationID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <!-- Present only if the item is currently checked out. -->
        <xs:element name="dueDate" type="xs:dateTime" minOccurs="0" maxOccurs="1"/>
        <!-- Present only if the item is currently checked out and has been recalled. -->
        <xs:element name="recallDueDate" type="xs:dateTime" minOccurs="0" maxOccurs="1"/>
        <!-- reshelving location information is returned only for copies which are
              considered to be in the process of being reshelved. -->
        <xs:element name="reshelvingLocationID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <!-- transit information is returned only for copies which are in transit from one
              library to another. -->
        <xs:element name="transitSourceLibraryID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="transitDestinationLibraryID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="transitReason" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="transitDate" type="xs:dateTime" minOccurs="0" maxOccurs="1"/>
        <xs:element name="chargeable" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
        <xs:element name="numberOfHolds" type="xs:int" minOccurs="0" maxOccurs="1"/>
        <!-- Reserve information is sent only for items on academic reserve -->
        <xs:element name="reserveCollectionID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="reserveCirculationRule" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <!-- Booking information is sent only for items available for booking -->
        <xs:element name="mediaDeskID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="fixedTimeBooking" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
        <xs:element name="publicNote" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="staffNote" type="xs:string" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="BoundwithLinkInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="linkedAsParent" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
        <xs:element name="callNumber" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="libraryID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <!-- If the linked title has more than one copy, this is the itemID of the
              first copy of the linked callnum. -->
        <xs:element name="itemID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="linkedTitle" type="BriefTitleInfo" minOccurs="1" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="CallSummary">
    <xs:sequence>
      <xs:element name="itemID" type="xs:string" minOccurs="1" maxOccurs="1" />
      <xs:element name="callNumber" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="analyticZ" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="heldAtLibrariesDisplay" type="xs:string" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <!-- This element contains the entries for the bibliographic record. -->
  <xs:element name="BibliographicInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="MarcEntryInfo" minOccurs="1" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <!-- This element contains the entries for the MARC holdings record. -->
  <xs:element name="MarcHoldingsInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="holdingLibraryID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element ref="MarcEntryInfo" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="MarcEntryInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="label" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <!-- alternateLabel is for entries linked to an 'alternate graphic representation' -->
        <xs:element name="alternateLabel" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="entryID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="indicators" minOccurs="1" maxOccurs="1">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:whiteSpace value="preserve"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="text" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="unformattedText" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="entryTypeCodes" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="url" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <!-- The elements below are for hypertext lookup. They are returned only if
              includeRelatedSearchInfo is true in the request. -->
        <xs:element name="relatedLookupText" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="relatedLookupIndexID" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="relatedLookupHeadingTypeID" type="xs:string" minOccurs="0"
          maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="TitleOrderInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="orderLibraryID" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <xs:element name="copiesOrdered" type="xs:int" minOccurs="1" maxOccurs="1"/>
        <xs:element name="volumesOrdered" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="orderNote" type="xs:string" minOccurs="0" maxOccurs="1"/>
        <xs:element name="orderDateReceived" type="xs:date" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="SearchCatalogFilters">
    <xs:sequence>
      <xs:element name="libraryFilter" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="languageFilter" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="formatFilter" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <!-- server supports comparisons and ranges, so string is used instead of gYear -->
      <xs:element name="pubyearFilter" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="homelocationFilter" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="itemtypeFilter" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="itemcat1Filter" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="itemcat2Filter" type="xs:string" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SearchCatalogResult">
    <xs:sequence>
      <xs:element name="queryID" type="xs:string" minOccurs="1" maxOccurs="1"/>
      <xs:element name="totalHits" type="xs:long" minOccurs="1" maxOccurs="1"/>
      <xs:element name="firstHitDisplayed" type="xs:long" minOccurs="1" maxOccurs="1"/>
      <xs:element name="lastHitDisplayed" type="xs:long" minOccurs="1" maxOccurs="1"/>
      <xs:element ref="HitlistTitleInfo" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SearchCatalogPaging">
    <xs:sequence>
      <xs:element name="queryID" type="xs:string" minOccurs="1" maxOccurs="1"/>
      <xs:element name="firstHitToDisplay" type="xs:long" minOccurs="1" maxOccurs="1"/>
      <xs:element name="lastHitToDisplay" type="xs:long" minOccurs="1" maxOccurs="1"/>
      <!-- includeAvailabilityInfo will be treated as false if not present. If true, causes
          TitleAvailabilityInfo to be included for each hitlist title. -->
      <xs:element name="includeAvailabilityInfoHitlistTitleInfo" type="xs"boolean" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="HitlistTitleInfo">
    <xs:complexType>
      <xs:complexContent>
        <xs:extension base="BriefTitleInfo">
          <xs:sequence>
            <xs:element name="documentNumber" type="xs:long" minOccurs="1" maxOccurs="1"/>
            <xs:element name="callNumber" type="xs:string" minOccurs="1" maxOccurs="1"/>
          </xs:sequence>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
  </xs:element>

  <xs:element name="MostPopularInfo">
    <xs:complexType>
      <xs:sequence>
        <!-- The author, subject, or title in a normalized form suitable for use as a
              search term -->
        <xs:element name="searchableHeading" type="xs:string" minOccurs="1" maxOccurs="1"/>
        <!-- The author, subject, or title formatted for public display -->
        <xs:element name="displayableHeading" type="xs:string" minOccurs="1" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="TitleAvailabilityInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="totalCopiesAvailable" type="xs:int" minOccurs="1" maxOccurs="1"/>
        <xs:element name="libraryWithAvailableCopies" type="xs:string" minOccurs="0"
          maxOccurs="unbounded"/>
        <xs:element name="totalResvCopiesAvailable" type="xs:int" minOccurs="1" maxOccurs="1"/>
        <xs:element name="libraryWithAvailableResvCopies" type="xs:string" minOccurs="0"
          maxOccurs="unbounded"/>
        <xs:element name="locationOfFirstAvailableItem" type="xs:string" minOccurs="0"
          maxOccurs="1"/>
        <!-- True if there exists at least one copy on which patrons may place holds -->
        <xs:element name="holdable" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
        <!-- True if there exists at least one copy which is available for booking -->
        <xs:element name="bookable" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <!-- An enumeration of the set of predefined search tags delivered with the Symphony
        installation. -->
  <xs:simpleType name="InfoDesk">
    <xs:restriction base="xs:string">
      <xs:enumeration value="ANNOUNCE"/>
       <xs:enumeration value="HOURS"/>
       <xs:enumeration value="NEW"/>
     </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="BriefTitleInfo">
    <xs:sequence>
      <!-- Should only be null if the information from the ILS is incomplete -->
      <xs:element name="titleID" type="xs:long" minOccurs="0" maxOccurs="1"/>
      <!-- TitleAvailabilityInfo is included only if includeAvailabilityInfo is true -->
      <xs:element ref="TitleAvailabilityInfo" minOccurs="0" maxOccurs="1"/>
      <xs:element name="materialType" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="title" type="xs:string" minOccurs="1" maxOccurs="1"/>
      <xs:element name="author" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="line3" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="line4" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="yearOfPublication" type="xs:int" minOccurs="0" maxOccurs="1"/>
      <xs:element name="edition" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="copiesOnOrder" type="xs:int" minOccurs="0" maxOccurs="1"/>
      <xs:element name="ISBN" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="SICI" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="UPC" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="OCLCControlNumber" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <!-- Link to electronic content -->
      <xs:element name="url" type="xs:string" minOccurs="0" maxOccurs="1"/>
      <xs:element name="message" type="xs:string" minOccurs="0" maxOccurs="1"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="BestSellerInfo">
    <xs:sequence>
      <xs:element name="ISBN" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="author" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="searchTerm" type="xs:string" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RecommendedReadInfo">
    <xs:sequence>
      <xs:element name="title" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="author" type="xs:string" minOccurs="0" maxOccurs="1" />
      <xs:element name="searchTerm" type="xs:string" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HotSitesInfo">
    <xs:sequence>
      <xs:element name="title" type="xs:string" />
      <xs:element name="url" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

</xs:schema>

 


© 2009-2012 SirsiDynix