UIComponents
<?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="http://www.exlibris.com/primo/xsd/primoview/uicomponents" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.exlibris.com/primo/xsd/primoview/uicomponents" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:annotation> <xs:documentation> This file specify the schema for configuration files that maps components name and their relevant options and facets </xs:documentation> </xs:annotation> <xs:element name="UIOption"> <xs:complexType> <xs:annotation> <xs:documentation> Single component option that includes it value and the mapping to search engine index filed when relevant. </xs:documentation> </xs:annotation> <xs:attribute name="displayValue" type="xs:string" use="required" /> <xs:attribute name="isDefaultOption" type="xs:boolean" use="required" /> <xs:attribute name="indexField" type="xs:string" use="optional" /> <xs:attribute name="precisionOperator" type="xs:string" use="optional" /> <xs:attribute name="value" type="xs:string" use="required" /> <xs:attribute name="valid" type="xs:boolean" default="true" use="optional"/> </xs:complexType> </xs:element> <xs:element name="UIComponent"> <xs:annotation /> <xs:complexType> <xs:sequence> <xs:annotation> <xs:documentation> Single UI component may be a combo-box ,list-box , multi checkbox </xs:documentation> </xs:annotation> <xs:element ref="UIComponentType" minOccurs="1" maxOccurs="1" /> <xs:element ref="UIOption" minOccurs="1" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="id" type="xs:string"/> </xs:complexType> </xs:element> <xs:element name="UIComponents"> <xs:complexType> <xs:annotation> <xs:documentation>Root element</xs:documentation> </xs:annotation> <xs:sequence> <xs:element ref="UIComponent" minOccurs="1" maxOccurs="unbounded" /> <xs:element ref="Scopes" minOccurs="1" maxOccurs="unbounded" /> <xs:element ref="Location" minOccurs="1" maxOccurs="unbounded" /> <xs:element ref="ShowFindInDB" minOccurs="0" maxOccurs="1" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="UIComponentType"> <xs:simpleType> <xs:annotation> <xs:documentation> List of eums that represent all available components identifies. In order to add a component you should add a unique id here and the add it to the UIComponent.xml </xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="freeText" /> <xs:enumeration value="mediaType" /> <xs:enumeration value="precisionOperator" /> <xs:enumeration value="scope" /> <xs:enumeration value="publicationDate" /> <xs:enumeration value="language" /> <xs:enumeration value="sortby" /> <xs:enumeration value="drStartDay" /> <xs:enumeration value="drEndDay" /> <xs:enumeration value="drStartMonth" /> <xs:enumeration value="drEndMonth" /> <xs:enumeration value="drStartYear" /> <xs:enumeration value="drEndYear" /> <!-- User defined ui component --> <xs:enumeration value="ud" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Location"> <xs:complexType> <xs:attribute name="type" use="required"> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="local" /> <xs:enumeration value="remote" /> <xs:enumeration value="adaptor" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="value" use="required" type="xs:string"> </xs:attribute> <xs:attribute name="category"> <xs:simpleType> <xs:restriction base="xs:NMTOKEN"> <xs:enumeration value="qs" /> <xs:enumeration value="database" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="Scope"> <xs:complexType> <xs:attribute name="id" use="required" type="xs:string" > </xs:attribute> <xs:attribute name="locationrefs" use="required" type="xs:string" /> <xs:attribute name="personalSetScope" use="required" type="xs:boolean" /> <xs:attribute name="selectedPersonalSetScope" use="required" type="xs:boolean" /> </xs:complexType> </xs:element> <xs:element name="Scopes"> <xs:complexType> <xs:sequence> <xs:element ref="Scope" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="id" use="required" type="xs:string" /> </xs:complexType> </xs:element> <xs:element name="LocationRef"> <xs:complexType> <xs:attribute name="id" use="required" type="xs:string"> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="ShowFindInDB"> <xs:complexType> <xs:attribute name="value" use="required" type="xs:boolean"></xs:attribute> </xs:complexType> </xs:element> </xs:schema>