jag_search_v1.0
<?xml version='1.0' encoding='UTF-8'?> <xs:schema xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.exlibrisgroup.com/xsd/jaguar/search" xmlns:pnx="http://www.exlibrisgroup.com/xsd/primo/primo_nm_bib" xsi:schemaLocation="http://www.exlibrisgroup.com/xsd/jaguar/search http://www.exlibrisgroup.com/xsd/jaguar/jag_search_v1.0.xsd" targetNamespace="http://www.exlibrisgroup.com/xsd/jaguar/search" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:import namespace="http://www.exlibrisgroup.com/xsd/primo/primo_nm_bib" schemaLocation="../xsd/primo_nm_bib.xsd"/> <xs:element name="BADDOC"> <xs:complexType/> </xs:element> <xs:element name="FACETLIST"> <xs:complexType> <xs:sequence> <xs:element ref="FACET" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="FACET_COUNT" use="required" type="xs:string"/> <xs:attribute name="ACCURATE_COUNTERS" default="true" type="xs:boolean"/> </xs:complexType> </xs:element> <xs:element name="FACET"> <xs:complexType> <xs:sequence> <!-- The UI will present facets only having at least 2 FACET_VALUES elements --> <xs:element ref="FACET_VALUES" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="NAME" use="required" type="xs:string"/> <!-- The UI will NOT present facets in the following cases: 1. COUNT is less than 2 2. COUNT=total number of documents retrieved (in this case- the facet wouldn't filter any documents) --> <xs:attribute name="COUNT" use="required" type="xs:int"/> </xs:complexType> </xs:element> <xs:element name="CLUSTER"> <xs:complexType> <xs:sequence> <xs:element ref="NODE" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="TYPE" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="CLUSTERS"> <xs:complexType> <xs:sequence> <xs:element ref="CLUSTER" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="EMPTYRESULTSET"> <xs:complexType> </xs:complexType> </xs:element> <xs:element name="ERROR"> <xs:complexType mixed="true"> <xs:sequence> </xs:sequence> <xs:attribute name="CODE" use="required" type="xs:string"/> <xs:attribute name="MESSAGE" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="FIELD"> <xs:complexType> <xs:sequence> <xs:element ref="VALUES" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="NAME" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="GETIT"> <xs:complexType> <xs:attribute name="deliveryCategory" use="optional" type="xs:string"/> <xs:attribute name="GetIt1" use="required" type="xs:string"/> <xs:attribute name="GetIt2" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="LIBRARIES"> <xs:complexType> <xs:sequence> <xs:element ref="LIBRARY" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="LIBRARY"> <xs:complexType> <xs:sequence> <xs:element name="institution" type="xs:string" maxOccurs="1" minOccurs="0"/> <xs:element name="library" type="xs:string" maxOccurs="1" minOccurs="0"/> <xs:element name="status" type="xs:string" maxOccurs="1" minOccurs="0"/> <xs:element name="collection" type="xs:string" maxOccurs="1" minOccurs="0"/> <xs:element name="callNumber" type="xs:string" maxOccurs="1" minOccurs="0"/> <xs:element name="url" type="xs:string" maxOccurs="1" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="LINKS"> <xs:complexType> <xs:sequence> <xs:element name="openurl" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="backlink" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="linktorsrc" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="thumbnail" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="linktotoc" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="linktoabstract" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="openurlfulltext" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="openurlservice" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="linktoholdings" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="linktorequest" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="linktoreview" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="linktoprice" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="addlink" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="linktouc" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="linktofa" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln01" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln02" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln03" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln04" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln05" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln06" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln07" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln08" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln09" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln10" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln11" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln12" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln13" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln14" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln15" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln16" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln17" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln18" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln19" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln20" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln21" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln22" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln23" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln24" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln25" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln26" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln27" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln28" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln29" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln30" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln31" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln32" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln33" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln34" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln35" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln36" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln37" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln38" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln39" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln40" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln41" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln42" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln43" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln44" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln45" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln46" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln47" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln48" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln49" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> <xs:element name="lln50" type="xs:string" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="FOLDER"> <xs:complexType> <xs:attribute name="folderId" use="required" type="xs:string"/> <xs:attribute name="folderName" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="DOC"> <xs:complexType> <xs:sequence> <xs:element ref="FIELD" minOccurs="1" maxOccurs="unbounded"/> <xs:element ref="pnx:PrimoNMBib" minOccurs="1" maxOccurs="1"/> <xs:element ref="GETIT" minOccurs="1" maxOccurs="unbounded"/> <xs:element ref="LIBRARIES" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="LINKS" minOccurs="0" maxOccurs="1"/> <xs:element ref="FOLDER" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="MOREHITS" use="required" type="xs:string"/> <xs:attribute name="NO" use="required" type="xs:string"/> <xs:attribute name="RANK" use="required" type="xs:float"/> <xs:attribute name="SITEID" use="required" type="xs:string"/> <xs:attribute name="ID" use="required" type="xs:int"/> <xs:attribute name="LOCAL" type="xs:boolean" default="true"/> <xs:attribute name="SEARCH_ENGINE" type="xs:string"/> <xs:attribute name="SEARCH_ENGINE_TYPE" type="xs:string"/> <xs:attribute name="EXPLANATION" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="LABEL"> <xs:complexType mixed="true"> <xs:sequence> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="LABELS"> <xs:complexType> <xs:sequence> <xs:element ref="LABEL" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="COUNT" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="MEMBER"> <xs:complexType> <xs:attribute name="OFFSET" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="MEMBERS"> <xs:complexType> <xs:sequence> <xs:element ref="MEMBER" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="COUNT" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="NAVIGATION"> <xs:complexType> <xs:sequence> <xs:element ref="NAVIGATIONENTRY" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="ENTRIES" use="required" type="xs:string"/> <xs:attribute name="DOCS" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="NAVIGATIONELEMENT"> <xs:complexType> <xs:attribute name="COUNT" use="required" type="xs:string"/> <xs:attribute name="MODIFIER" use="required" type="xs:string"/> <xs:attribute name="NAME" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="NAVIGATIONELEMENTS"> <xs:complexType> <xs:sequence> <xs:element ref="NAVIGATIONELEMENT" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="COUNT" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="NAVIGATIONENTRY"> <xs:complexType> <xs:sequence> <xs:element ref="NAVIGATIONELEMENTS"/> </xs:sequence> <xs:attribute name="DISPLAYNAME" use="required" type="xs:string"/> <xs:attribute name="ENTROPY" use="required" type="xs:string"/> <xs:attribute name="HITCOUNT" use="required" type="xs:string"/> <xs:attribute name="MAX" use="required" type="xs:string"/> <xs:attribute name="MEAN" use="required" type="xs:string"/> <xs:attribute name="MIN" use="required" type="xs:string"/> <xs:attribute name="MODIFIER" use="required" type="xs:string"/> <xs:attribute name="NAME" use="required" type="xs:string"/> <xs:attribute name="RATIO" use="required" type="xs:string"/> <xs:attribute name="SAMPLECOUNT" use="required" type="xs:string"/> <xs:attribute name="SCORE" use="required" type="xs:string"/> <xs:attribute name="TYPE" use="required" type="xs:string"/> <xs:attribute name="UNIT" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="NEXTPAGE"> <xs:complexType> <xs:attribute name="FIRSTHIT" use="required" type="xs:string"/> <xs:attribute name="LASTHIT" use="required" type="xs:string"/> <xs:attribute name="URL" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="NODE"> <xs:complexType> <xs:sequence> <xs:element ref="LABELS" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="MEMBERS" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="EXTHITCNT" type="xs:string"/> <xs:attribute name="ID" use="required" type="xs:string"/> <xs:attribute name="SUBMEMCNT" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="PAGENAVIGATION"> <xs:complexType> <xs:sequence> <xs:element ref="PREVPAGE" minOccurs="0" maxOccurs="1"/> <xs:element ref="NEXTPAGE" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="PREVPAGE"> <xs:complexType> <xs:attribute name="FIRSTHIT" use="required" type="xs:string"/> <xs:attribute name="LASTHIT" use="required" type="xs:string"/> <xs:attribute name="URL" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="QUERYTRANSFORM"> <xs:complexType> <xs:attribute name="ACTION" use="required" type="xs:string"/> <xs:attribute name="CUSTOM" use="required" type="xs:string"/> <xs:attribute name="MESSAGE" use="required" type="xs:string"/> <xs:attribute name="MESSAGEID" use="required" type="xs:string"/> <xs:attribute name="NAME" use="required" type="xs:string"/> <xs:attribute name="QUERY" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="QUERYTRANSFORMS"> <xs:complexType> <xs:sequence> <xs:element ref="QUERYTRANSFORM" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="RESULT"> <xs:complexType> <xs:choice> <xs:sequence> <xs:element ref="QUERYTRANSFORMS"/> <xs:element ref="FACETLIST" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="NAVIGATION" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="CLUSTERS"/> <xs:choice> <xs:sequence> <xs:element ref="DOCSET"/> <xs:element ref="PAGENAVIGATION"/> </xs:sequence> <xs:element ref="EMPTYRESULTSET"/> </xs:choice> </xs:sequence> <xs:element ref="ERROR"/> </xs:choice> </xs:complexType> </xs:element> <xs:element name="DOCSET"> <xs:complexType> <xs:choice minOccurs="1" maxOccurs="unbounded"> <xs:element ref="DOC"/> <xs:element ref="BADDOC"/> </xs:choice> <xs:attribute name="FIRSTHIT" use="required" type="xs:string"/> <xs:attribute name="HITS" use="required" type="xs:string"/> <xs:attribute name="LASTHIT" use="required" type="xs:string"/> <xs:attribute name="MAXRANK" use="required" type="xs:string"/> <xs:attribute name="HIT_TIME" use="required" type="xs:long"/> <xs:attribute name="TOTAL_TIME" use="required" type="xs:long"/> <xs:attribute name="TOTALHITS" use="required" type="xs:int"/> <xs:attribute name="SEARCHKEY" type="xs:string"/> <xs:attribute name="IS_LOCAL" type="xs:boolean"/> <xs:attribute name="MAX_TOTALHITS" type="xs:int"/> </xs:complexType> </xs:element> <xs:element name="JAGROOT"> <xs:complexType> <xs:sequence> <xs:element ref="RESULT"/> <xs:element name="searchToken" type="xs:string" /> <xs:element name="hostname" type="xs:string" minOccurs="0"/> </xs:sequence> <xs:attribute name="NAME" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="SEGMENTS"> <xs:complexType> <xs:sequence> <xs:element ref="JAGROOT" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="VALUES"> <xs:complexType> <xs:sequence> <xs:element ref="VALUE" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="FACET_VALUES"> <xs:complexType> <xs:attribute name="KEY" use="required" type="xs:string"/> <xs:attribute name="VALUE" use="required" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="VALUE"> <xs:complexType> <xs:sequence> <xs:element name="CONTENT" type="xs:string" /> </xs:sequence> <xs:attribute name="NAME" type="xs:string"/> </xs:complexType> </xs:element> </xs:schema>