[tdwg-tapir] Schema modification: r390 - trunk/protocol
Author: renato Date: 2006-01-05 17:50:35 +0100 (Thu, 05 Jan 2006) New Revision: 390
Modified: trunk/protocol/tapir.xsd Log: Changed filter capabilities so that implementations either accept all filter functionality or none:
* Renamed element /response/capabilities/operators to "filter" and included an optional subelement called "encoding".
* Renamed "boolean" to "booleanOperators", and made all logical and comparative operators mandatory.
Now parsers can always rely on the existence of a <filter> element in the capabilities response and then pass it to a specific handler (such handler can just detect if there's an element "encoding" or not, which means "I understand the basic filtering mechanism" or "I don't know how to parse any filters").
Modified: trunk/protocol/tapir.xsd =================================================================== --- trunk/protocol/tapir.xsd 2006-01-05 14:51:36 UTC (rev 389) +++ trunk/protocol/tapir.xsd 2006-01-05 16:50:35 UTC (rev 390) @@ -2,7 +2,7 @@ <!-- $Id$ --> <!-- unified and extended protocol based on DiGIR and BioCASE --> <!-- http://ww3.bgbm.org/protocol --> -<xsd:schema xmlns="http://www.tdwg.org/schemas/tapir/datasource/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.tdwg.org/schemas/tapir/datasource/1.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" xml:lang="EN"> +<xsd:schema targetNamespace="http://www.tdwg.org/schemas/tapir/datasource/1.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0" xml:lang="EN" xmlns="http://www.tdwg.org/schemas/tapir/datasource/1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema%22%3E <!-- ============================================= --> <!-- SIMPLE TYPE DEFINITIONS--> <!-- ============================================= --> @@ -926,7 +926,7 @@ </xsd:sequence> </xsd:complexType> </xsd:element> - <xsd:element name="operators" type="filterCapabilities"> + <xsd:element name="filter" type="filterCapabilities"> xsd:annotation xsd:documentationInformation about the supported filter operators of this service.</xsd:documentation> @@ -1336,115 +1336,121 @@ service.</xsd:documentation> </xsd:annotation> xsd:sequence - <xsd:element name="expression"> + <xsd:element name="encoding" minOccurs="0"> xsd:complexType xsd:sequence - <xsd:element name="concept"> - xsd:complexType/ - </xsd:element> - <xsd:element name="literal"> - xsd:complexType/ - </xsd:element> - <xsd:element name="parameter"> - xsd:complexType/ - </xsd:element> - <xsd:element name="variable"> - xsd:complexType/ - </xsd:element> - <xsd:element name="arithmetic"> - xsd:annotation - xsd:documentationSupport +-*/ in filter - expressions.</xsd:documentation> - </xsd:annotation> + <xsd:element name="expression"> xsd:complexType xsd:sequence - <xsd:element name="add" minOccurs="0"> + <xsd:element name="concept"> xsd:complexType/ </xsd:element> - <xsd:element name="sub" minOccurs="0"> + <xsd:element name="literal"> xsd:complexType/ </xsd:element> - <xsd:element name="div" minOccurs="0"> + <xsd:element name="parameter"> xsd:complexType/ </xsd:element> - <xsd:element name="mul" minOccurs="0"> + <xsd:element name="variable"> xsd:complexType/ </xsd:element> - <xsd:element ref="custom" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element ref="custom" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="boolean"> - xsd:complexType - xsd:sequence - <xsd:element name="logical"> - xsd:annotation - xsd:documentationThis includes all 3 operators. AND, OR, - NOT</xsd:documentation> - </xsd:annotation> - xsd:complexType - xsd:sequence - <xsd:element name="not" minOccurs="0"> - xsd:complexType/ + <xsd:element name="arithmetic"> + xsd:annotation + xsd:documentationSupport +-*/ in filter + expressions.</xsd:documentation> + </xsd:annotation> + xsd:complexType + xsd:sequence + <xsd:element name="add" minOccurs="0"> + xsd:complexType/ + </xsd:element> + <xsd:element name="sub" minOccurs="0"> + xsd:complexType/ + </xsd:element> + <xsd:element name="div" minOccurs="0"> + xsd:complexType/ + </xsd:element> + <xsd:element name="mul" minOccurs="0"> + xsd:complexType/ + </xsd:element> + <xsd:element ref="custom" minOccurs="0"/> + </xsd:sequence> + </xsd:complexType> </xsd:element> - <xsd:element name="and" minOccurs="0"> - xsd:complexType/ - </xsd:element> - <xsd:element name="or" minOccurs="0"> - xsd:complexType/ - </xsd:element> <xsd:element ref="custom" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element> - <xsd:element name="comparative"> + <xsd:element name="booleanOperators"> xsd:complexType xsd:sequence - <xsd:element name="equals" minOccurs="0"> + <xsd:element name="logical"> xsd:annotation - xsd:documentationRecommended to be case - sensitive.</xsd:documentation> + xsd:documentationThis includes all 3 operators. AND, OR, + NOT</xsd:documentation> </xsd:annotation> xsd:complexType - <xsd:attribute name="caseSensitive" type="xsd:boolean" use="optional" default="true"/> + xsd:sequence + <xsd:element name="not"> + xsd:complexType/ + </xsd:element> + <xsd:element name="and"> + xsd:complexType/ + </xsd:element> + <xsd:element name="or"> + xsd:complexType/ + </xsd:element> + <xsd:element ref="custom" minOccurs="0"/> + </xsd:sequence> </xsd:complexType> </xsd:element> - <xsd:element name="greaterThan" minOccurs="0"> - xsd:complexType/ - </xsd:element> - <xsd:element name="greaterThanOrEquals" minOccurs="0"> - xsd:complexType/ - </xsd:element> - <xsd:element name="lessThan" minOccurs="0"> - xsd:complexType/ - </xsd:element> - <xsd:element name="lessThanOrEquals" minOccurs="0"> - xsd:complexType/ - </xsd:element> - <xsd:element name="in" minOccurs="0"> - xsd:complexType/ - </xsd:element> - <xsd:element name="isNull" minOccurs="0"> - xsd:complexType/ - </xsd:element> - <xsd:element name="like" minOccurs="0"> - xsd:annotation - xsd:documentationRecommended to be case insensitive. + <xsd:element name="comparative"> + xsd:complexType + xsd:sequence + <xsd:element name="equals"> + xsd:annotation + xsd:documentationRecommended to be case + sensitive.</xsd:documentation> + </xsd:annotation> + xsd:complexType + <xsd:attribute name="caseSensitive" type="xsd:boolean" use="optional" default="true"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="greaterThan"> + xsd:complexType/ + </xsd:element> + <xsd:element name="greaterThanOrEquals"> + xsd:complexType/ + </xsd:element> + <xsd:element name="lessThan"> + xsd:complexType/ + </xsd:element> + <xsd:element name="lessThanOrEquals"> + xsd:complexType/ + </xsd:element> + <xsd:element name="in"> + xsd:complexType/ + </xsd:element> + <xsd:element name="isNull"> + xsd:complexType/ + </xsd:element> + <xsd:element name="like"> + xsd:annotation + xsd:documentationRecommended to be case insensitive. Wildcard is always asterisk *.</xsd:documentation> - </xsd:annotation> - xsd:complexType - <xsd:attribute name="caseSensitive" type="xsd:boolean" use="optional" default="false"/> + </xsd:annotation> + xsd:complexType + <xsd:attribute name="caseSensitive" type="xsd:boolean" use="optional" default="false"/> + </xsd:complexType> + </xsd:element> + <xsd:element ref="custom" minOccurs="0"/> + </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element ref="custom" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element> - <xsd:element ref="custom" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element>
participants (1)
-
tdwg-tapir@lists.tdwg.org