Compare with Previous | Blame | View Log
<?xml version="1.0" encoding="UTF-8"?>
<!-- ZiNG SRU/SRW WSDL Specification -->
<!-- Version 1.1 -->
<!-- 2 March 2006 -->
<xsd:schema targetNamespace="http://www.loc.gov/zing/cql/xcql/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.loc.gov/zing/cql/xcql/" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:complexType name="operandType">
<xsd:sequence>
<xsd:choice>
<xsd:element ref="triple"/>
<xsd:element ref="searchClause"/>
</xsd:choice>
<xsd:extraOperandData ref="extraOperandDataType" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="extraOperandData" type="extraOperandDataType"/>
<xsd:complexType name="extraOperandDataType">
<xsd:sequence>
<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="clauseType">
<xsd:sequence>
<xsd:element ref="prefixes" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="prefixes" type="prefixesType" nillable="false"/>
<xsd:complexType name="prefixesType">
<xsd:sequence>
<xsd:element ref="prefix" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="prefix" type="prefixType" nillable="false"/>
<xsd:complexType name="prefixType">
<xsd:sequence>
<xsd:element ref="name"/>
<xsd:element ref="identifier"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="triple" type="tripleType" nillable="false"/>
<xsd:complexType name="tripleType">
<xsd:complexContent>
<xsd:extension base="clauseType">
<xsd:sequence>
<xsd:element ref="boolean"/>
<xsd:element ref="leftOperand"/>
<xsd:element ref="rightOperand"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="boolean" type="booleanType" nillable="false"/>
<xsd:complexType name="booleanType">
<xsd:complexContent>
<xsd:extension base="clauseType">
<xsd:sequence>
<xsd:element ref="value"/>
<xsd:element ref="modifiers" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="name" type="xsd:string" nillable="false"/>
<xsd:element name="identifier" type="xsd:string" nillable="false"/>
<xsd:element name="leftOperand" type="operandType" nillable="false"/>
<xsd:element name="rightOperand" type="operandType" nillable="false"/>
<xsd:element name="value" type="xsd:string" nillable="false"/>
<xsd:element name="modifiers" type="modifiersType" nillable="false"/>
<xsd:complexType name="modifiersType">
<xsd:sequence>
<xsd:element ref="modifier" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="modifier" type="modifierType" nillable="false"/>
<xsd:complexType name="modifierType">
<xsd:sequence>
<xsd:element ref="type"/>
<xsd:sequence minOccurs="0">
<xsd:element ref="comparison"/>
<xsd:element ref="value"/>
</xsd:sequence>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="type" type="xsd:string" nillable="false"/>
<xsd:element name="comparison" type="xsd:string" nillable="false"/>
<xsd:element name="searchClause" type="searchClauseType" nillable="false"/>
<xsd:complexType name="searchClauseType">
<xsd:sequence>
<xsd:element ref="prefixes" minOccurs="0"/>
<xsd:element ref="index"/>
<xsd:element ref="relation"/>
<xsd:element ref="term"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="index" type="xsd:string" nillable="false"/>
<xsd:element name="relation" type="relationType" nillable="false"/>
<xsd:complexType name="relationType">
<xsd:sequence>
<xsd:element ref="value"/>
<xsd:element ref="modifiers" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="term" type="xsd:string" nillable="false"/>
</xsd:schema>