PrimoSearchRequest
<?xml version="1.0" encoding="UTF-8"?> <!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by haim (Mercado Software Ltd) --> <xs:schema targetNamespace="http://www.exlibris.com/primo/xsd/search/request" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:uic="http://www.exlibris.com/primo/xsd/primoview/uicomponents" xmlns="http://www.exlibris.com/primo/xsd/search/request" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:import namespace="http://www.exlibris.com/primo/xsd/primoview/uicomponents" schemaLocation="../primoview/UIComponents.xsd"/> <xs:annotation> <xs:documentation> This Schema describes XML schema for primo search reqest parameters </xs:documentation> </xs:annotation> <xs:element name="QueryTerm"> <xs:annotation> <xs:documentation> Basic search term that includes index filed id, operation and the value string </xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="IndexField" type="xs:string"> <xs:annotation> <xs:documentation> Field name in PNX search section </xs:documentation> </xs:annotation> </xs:element> <xs:element ref="PrecisionOperator" minOccurs="1" maxOccurs="1"/> <xs:element name="Value" type="xs:string"> <xs:annotation> <xs:documentation> String based value to as query string </xs:documentation> </xs:annotation> </xs:element> <xs:element name="includeValue" type="xs:string" minOccurs="0" maxOccurs="unbounded" /> <xs:element name="excludeValue" type="xs:string" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="BoolOpeator" default="AND"> <xs:annotation> <xs:documentation> Supported boolean operators within nested QueryTerm elements </xs:documentation> </xs:annotation> <xs:simpleType > <xs:restriction base="xs:string"> <xs:enumeration value="AND" /> <xs:enumeration value="OR" /> <xs:enumeration value="NOT" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="PrecisionOperator" default="contains"> <xs:annotation> <xs:documentation> One of the predefined operators contains, exact, begins_with </xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="contains" /> <xs:enumeration value="exact" /> <xs:enumeration value="begins_with" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SortByList"> <xs:annotation> <xs:documentation>List of Sort Criteria</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="SortField" type="xs:string" maxOccurs="unbounded" minOccurs="0"> <xs:annotation> <xs:documentation> Sort Criteria </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="FacetList"> <xs:annotation> <xs:documentation>List of Facets to be returned to the display</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="FacetField" type="xs:string" maxOccurs="unbounded" minOccurs="0"> <xs:annotation> <xs:documentation> Facet Field to use </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Languages"> <xs:annotation> <xs:documentation>Restricts the search to documents within one or more languages.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Language" type="xs:string" maxOccurs="unbounded"> <xs:annotation> <xs:documentation> Code for the representation of name of language conform to ISO-639 </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="RequestParam"> <xs:complexType> <xs:annotation> <xs:documentation>Used to send a parameter to be used by the engine or an adaptor at later time..</xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="key" type="xs:string" use="required" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="RequestParams"> <xs:complexType> <xs:annotation> <xs:documentation>Used to group all parameter to be used by the engine or an adaptor at later time..</xs:documentation> </xs:annotation> <xs:sequence> <xs:element ref="RequestParam" minOccurs="1" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="PrimoSearchRequest"> <xs:complexType> <xs:sequence> <xs:element ref="RequestParams" minOccurs="0" maxOccurs="1"/> <xs:element ref="QueryTerms" /> <xs:element name="StartIndex" type="xs:int" default="0"> <xs:annotation> <xs:documentation> Zero-based index of the first desired result </xs:documentation> </xs:annotation> </xs:element> <xs:element name="BulkSize" type="xs:int" default="10"> <xs:annotation> <xs:documentation> Number of results desired per query </xs:documentation> </xs:annotation> </xs:element> <xs:element name="DidUMeanEnabled" type="xs:boolean" default="false"> <xs:annotation> <xs:documentation> When true ask for "did you mean expiration", if exist, as part of the result </xs:documentation> </xs:annotation> </xs:element> <xs:element name="HighlightingEnabled" type="xs:boolean" default="false" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation> Highlights the search terms in the results </xs:documentation> </xs:annotation> </xs:element> <xs:element name="GetMore" type="xs:int" default="0" minOccurs="0" maxOccurs="1"> </xs:element> <xs:element name="nextAfterMore" type="xs:int" default="0" minOccurs="0" maxOccurs="1"> </xs:element> <xs:element ref="Languages" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation> Restricts the search to documents within one or more languages. </xs:documentation> </xs:annotation> </xs:element> <xs:element ref="SortByList" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation> Apply rules for sorting, this option is not mandetory when ommited sorting will be done by primo ranking </xs:documentation> </xs:annotation> </xs:element> <xs:element ref="FacetList" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation> Name the facet results to return with the result response, this option is not mandetory. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="DisplayFields" type="xs:string" maxOccurs="unbounded" minOccurs="0"> <xs:annotation> <xs:documentation> List of display field for highlighting. </xs:documentation> </xs:annotation> </xs:element> <xs:element ref="Locations" minOccurs="0" maxOccurs="1"> <xs:annotation> <xs:documentation> List of locations (locales/remote) to perform the search on </xs:documentation> </xs:annotation> </xs:element> <xs:element name="InstBoost" type="xs:boolean" maxOccurs="1" minOccurs="0"> <xs:annotation> <xs:documentation> set boost to records from My institution </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="QueryTerms"> <xs:complexType> <xs:sequence> <xs:element ref="BoolOpeator" maxOccurs="1" minOccurs="1"/> <xs:element ref="QueryTerm" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Locations"> <xs:complexType> <xs:sequence> <xs:element ref="uic:Location" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>