Geographic information - Filter encoding (ISO 19143:2010)

ISO 19143:2010 describes an XML and KVP encoding of a system neutral syntax for expressing projections, selection and sorting clauses collectively called a query expression.
These components are modular and intended to be used together or individually by other International Standards which reference ISO 19143:2010.
ISO 19143:2010 defines an abstract component, named AbstractQueryExpression, from which other specifications can subclass concrete query elements to implement query operations.
It also defines an additional abstract query component, named AbstractAdhocQueryExpresison, which is derived from AbstractQueryExpression and from which other specifications can subclass concrete query elements which follow the following query pattern:
An abstract query element from which service specifications can subclass a concrete query element that implements a query operation that allows a client to specify a list of resource types, an optional projection clause, an optional selection clause, and an optional sorting clause to query a subset of resources that satisfy the selection clause.
This pattern is referred to as an ad hoc query pattern since the server in not aware of the query until it is submitted for processing. This is in contrast to a stored query expression, which is stored and can be invoked by name or identifier.
ISO 19143:2010 also describes an XML and KVP encoding of a system-neutral representation of a select clause. The XML representation is easily validated, parsed and transformed into a server-specific language required to retrieve or modify object instances stored in some persistent object store.
ISO 19143:2010 defines the XML encoding for the following predicates.
- A standard set of logical predicates: and, or and not.
- A standard set of comparison predicates: equal to, not equal to, less than, less than or equal to, greater than, greater than or equal to, like, is null and between.
- A standard set of spatial predicates: equal, disjoint, touches, within, overlaps, crosses, intersects, contains, within a specified distance, beyond a specified distance and BBOX.
- A standard set of temporal predicates: after, before, begins, begun by, contains, during, ends, equals, meets, met by, overlaps and overlapped by.
- A predicate to test whether the identifier of an object matches the specified value.
ISO 19143:2010 defines the XML encoding of metadata that allows a service to declare which conformance classes, predicates, operators, operands and functions it supports. This metadata is referred to as Filter Capabilities.

Geoinformation - Filter Encoding (ISO 19143:2010)

Information géographique - Codage de filtres (ISO 19143:2010)

L'ISO 19143:2010 décrit un encodage en XML et KVP d'une syntaxe neutre de système destiné à exprimer des clauses de projection, de sélection et de tri collectivement appelées expression d'interrogation.
Ces composants sont modulaires et destinés à être utilisés ensemble ou individuellement par d'autres normes que celles qui référencent l'ISO 19143:2010.
L'ISO 19143:2010 définit un composant abstrait, nommé AbstractQueryExpression, à partir duquel d'autres spécifications peuvent sous-classer des éléments d'interrogation concrets pour mettre en ?uvre des opérations d'interrogation.
L'ISO 19143:2010 définit également un composant d'interrogation abstrait supplémentaire, nommé AbstractAdhocQueryExpression, qui est dérivé du composant AbstractQueryExpression et à partir duquel d'autres spécifications peuvent sous-classer des éléments d'interrogation concrets qui suivent le modèle d'interrogation suivant:
Un élément d'interrogation abstrait à partir duquel des spécifications de service peuvent sous-classer un élément d'interrogation concret mettant en oeuvre une opération d'interrogation permettant à un client de spécifier une liste de types de ressources, une clause de projection optionnelle, une clause de sélection optionnelle et une clause de tri optionnelle afin d'interroger un sous-ensemble de ressources qui satisfont à la clause de sélection.
Ce modèle est désigné comme étant un modèle d'interrogation ad hoc du fait que le serveur n'est pas informé de l'interrogation jusqu'à ce qu'elle lui soit soumise pour traitement. Cela s'oppose à une expression d'interrogation mémorisée, qui est mémorisée et peut être appelée par un nom ou un identifiant.
L'ISO 19143:2010 décrit également un encodage en XML et en KVP d'une représentation neutre de système d'une clause de sélection. La représentation XML est facilement validée, analysée et transformée en un langage spécifique au serveur requis pour récupérer ou modifier des instances d'objets mémorisées dans certains stockages d'objets permanents.
L'ISO 19143:2010 définit l'encodage en XML pour les prédicats suivants: un ensemble standard de prédicats logiques: and, or and not (et, ou et non); un ensemble standard de prédicats de comparaison: equal to, not equal to, less than, less than or equal to, greater than, greater than or equal to, like, is null and between (égal à, pas égal à, inférieur à, inférieur ou égal à, supérieur à, supérieur ou égal à, comme, est nul et entre); un ensemble standard de prédicats spatiaux: equal, disjoint, touches, within, overlaps, crosses, intersects, contains, within a specified distance, beyond a specified distance and BBOX (égal, disjoint, touche, dans, chevauche, croise, intersecte, contient, à une distance spécifiée, au-delà d'une distance spécifiée et boîte englobante); un ensemble standard de prédicats temporels: after, before, begins, begun by, contains, during, ends, equals, meets, met by, overlaps and overlapped by (après, avant, commence, commencé par, contient, pendant, se termine, égal à, satisfait, satisfait par, chevauche et chevauché par); et un prédicat pour vérifier si l'identifiant d'un objet correspond à la valeur spécifiée.
L'ISO 19143:2010 définit l'encodage en XML des métadonnées qui permettent à un service de déclarer les classes de conformité,  les prédicats, les opérateurs, les opérandes et les fonctions qu'il prend en charge. Ces métadonnées sont désignées par le terme Capacités de filtre.

Geografske informacije - Kodiranje s filtrom (ISO 19143:2010)

Ta mednarodni standard opisuje kodiranje XML in KVP sistemsko nevtralne sintakse za izražanje napovedi, izbire in razvrščanja stavkov s skupnim imenom poizvedba. Te komponente so modularne in namenjene skupni ali posamezni uporabi v drugih standardih, ki se sklicujejo na ta mednarodni standard. Ta mednarodni standard opredeljuje abstraktno komponento, imenovano AbstractQueryExpression (abstraktna poizvedba), iz katere lahko druge specifikacije konkretne poizvedbene elemente razdelijo v podrazrede za izvajanje poizvedb. Ta mednarodni standard prav tako opredeljuje dodatno poizvedbeno komponento, imenovano AbstractAdhocQueryExpresison (abstraktna ad hoc poizvedba), ki je izpeljana iz abstraktne poizvedbe ter iz katere lahko druge specifikacije konkretne poizvedbene elemente razdelijo v podrazrede, ki upoštevajo naslednji poizvedbeni vzorec: abstraktni poizvedbeni element, iz katerega lahko specifikacije storitev v podrazrede razdelijo konkretne poizvedbene elemente, ki izvajajo poizvedbo, ki stranki omogoča, da določi seznam vrst virov, izbirni napovedni stavek, izbirni stavek za izbor in izbirni stavek za razvrščanje v poizvedbi podsklopa virov, ki ustrezajo stavku izbire. Ta vzorec se navaja kot ad hoc poizvedbeni vzorec, ker strežnik ni seznanjen s poizvedbo, dokler ni predložena v obravnavo. To je v nasprotju s shranjeno poizvedbo, ki je shranjena in se jo lahko uveljavi z imenom ali oznako. Ta mednarodni standard prav tako opisuje kodiranje XML in KVP sistemsko nevtralne predstavitve izbranega stavka. Predstavitev XML se zlahka potrdi, razčleni in pretvori v strežniško specifičen jezik, ki je potreben za iskanje ali spreminjanje primerkov predmeta, shranjenih v nekem obstojnem pomnilniku predmetov.

General Information

Status
Published
Publication Date
03-Apr-2012
Withdrawal Date
30-Oct-2012
Current Stage
6060 - Definitive text made available (DAV) - Publishing
Start Date
04-Apr-2012
Due Date
15-May-2013
Completion Date
04-Apr-2012
Standard
EN ISO 19143:2012
English language
90 pages
sale 10% off
Preview
sale 10% off
Preview
e-Library read for
1 day

Standards Content (Sample)


SLOVENSKI STANDARD
01-junij-2012
Geografske informacije - Kodiranje s filtrom (ISO 19143:2010)
Geographic information - Filter encoding (ISO 19143:2010)
Geoinformation - Filter Encoding (ISO 19143:2010)
Information géographique - Codage de filtres (ISO 19143:2010)
Ta slovenski standard je istoveten z: EN ISO 19143:2012
ICS:
07.040 Astronomija. Geodezija. Astronomy. Geodesy.
Geografija Geography
35.240.70 Uporabniške rešitve IT v IT applications in science
znanosti
2003-01.Slovenski inštitut za standardizacijo. Razmnoževanje celote ali delov tega standarda ni dovoljeno.

EUROPEAN STANDARD
EN ISO 19143
NORME EUROPÉENNE
EUROPÄISCHE NORM
April 2012
ICS 35.240.70
English Version
Geographic information - Filter encoding (ISO 19143:2010)
Information géographique - Codage de filtres (ISO Geoinformation - Filter Encoding (ISO 19143:2010)
19143:2010)
This European Standard was approved by CEN on 9 March 2012.

CEN members are bound to comply with the CEN/CENELEC Internal Regulations which stipulate the conditions for giving this European
Standard the status of a national standard without any alteration. Up-to-date lists and bibliographical references concerning such national
standards may be obtained on application to the CEN-CENELEC Management Centre or to any CEN member.

This European Standard exists in three official versions (English, French, German). A version in any other language made by translation
under the responsibility of a CEN member into its own language and notified to the CEN-CENELEC Management Centre has the same
status as the official versions.

CEN members are the national standards bodies of Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech Republic, Denmark, Estonia,
Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland,
Portugal, Romania, Slovakia, Slovenia, Spain, Sweden, Switzerland, Turkey and United Kingdom.

EUROPEAN COMMITTEE FOR STANDARDIZATION
COMITÉ EUROPÉEN DE NORMALISATION

EUROPÄISCHES KOMITEE FÜR NORMUNG

Management Centre: Avenue Marnix 17, B-1000 Brussels
© 2012 CEN All rights of exploitation in any form and by any means reserved Ref. No. EN ISO 19143:2012: E
worldwide for CEN national Members.

Contents Page
Foreword .3

Foreword
The text of ISO 19143:2010 has been prepared by Technical Committee ISO/TC 211 “Geographic
information/Geomatics” of the International Organization for Standardization (ISO) and has been taken over
as EN ISO 19143:2012 by Technical Committee CEN/TC 287 “Geographic Information” the secretariat of
which is held by BSI.
This European Standard shall be given the status of a national standard, either by publication of an identical
text or by endorsement, at the latest by October 2012, and conflicting national standards shall be withdrawn at
the latest by October 2012.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. CEN [and/or CENELEC] shall not be held responsible for identifying any or all such patent rights.
According to the CEN/CENELEC Internal Regulations, the national standards organizations of the following
countries are bound to implement this European Standard: Austria, Belgium, Bulgaria, Croatia, Cyprus, Czech
Republic, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Iceland, Ireland, Italy, Latvia,
Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, Romania, Slovakia, Slovenia, Spain,
Sweden, Switzerland, Turkey and the United Kingdom.
Endorsement notice
The text of ISO 19143:2010 has been approved by CEN as a EN ISO 19143:2012 without any modification.

INTERNATIONAL ISO
STANDARD 19143
First edition
2010-10-15
Geographic information — Filter
encoding
Information géographique — Codage de filtres

Reference number
ISO 19143:2010(E)
©
ISO 2010
ISO 19143:2010(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.

©  ISO 2010
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO 2010 – All rights reserved

ISO 19143:2010(E)
Contents Page
Foreword .iv
Introduction.v
1 Scope.1
2 Conformance .2
3 Normative references.3
4 Terms and definitions .3
5 Conventions.6
5.1 Abbreviated terms .6
5.2 UML notation.7
5.3 Use of examples .8
5.4 Namespaces.8
5.5 KVP-encoded parameter lists .8
5.6 XML Schema fragments.9
6 Query expressions .9
6.1 General .9
6.2 Abstract query expressions .9
6.3 Ad hoc query expression.10
7 Filter.13
7.1 General considerations.13
7.2 Encoding .14
7.3 Expressions .14
7.4 Value references.15
7.5 Literals.17
7.6 Functions.18
7.7 Comparison operators.19
7.8 Spatial operators .22
7.9 Temporal operators.26
7.10 Logical operators .28
7.11 Object identifiers .30
7.12 Extensions .31
7.13 Filter capabilities .33
7.14 Encoding .35
8 Sorting .42
8.1 General considerations.42
8.2 Encoding .42
8.3 Exceptions .43
Annex A (normative) Conformance testing.44
Annex B (informative) Filter schema definitions .48
Annex C (informative) Examples .60
Annex D (informative) EBNF for XPath subset .80
Annex E (informative) Abstract model.81
Bibliography.82

ISO 19143:2010(E)
Foreword
ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies
(ISO member bodies). The work of preparing International Standards is normally carried out through ISO
technical committees. Each member body interested in a subject for which a technical committee has been
established has the right to be represented on that committee. International organizations, governmental and
non-governmental, in liaison with ISO, also take part in the work. ISO collaborates closely with the
International Electrotechnical Commission (IEC) on all matters of electrotechnical standardization.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of technical committees is to prepare International Standards. Draft International Standards
adopted by the technical committees are circulated to the member bodies for voting. Publication as an
International Standard requires approval by at least 75 % of the member bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO shall not be held responsible for identifying any or all such patent rights.
ISO 19143 was prepared by Technical Committee ISO/TC 211, Geographic information/Geomatics, in
collaboration with the Open Geospatial Consortium Inc. (OGC).

iv © ISO 2010 – All rights reserved

ISO 19143:2010(E)
Introduction
Filter encoding was originated within the OGC.
A fundamental operation performed on a set of data or resources is that of querying in order to obtain a subset
of the data which contains certain desired information that satisfies some query criteria and which is also,
perhaps, sorted in some specified manner.
The term “projection clause” is used to describe an encoding for specifying which subset of resource
properties are presented in the response to a query.
The term “filter or selection clause” is used to describe an encoding of predicates which are typically used in
query operations to specify how data instances in a source dataset should be filtered to produce a result set.
Each data instance in the source set is evaluated using the filter expression. The overall filter expression
always evaluates to true or false. If the expression evaluates to true, the data instance satisfies the expression
and is marked as being in the result set. If the overall filter expression evaluates to false, the data instance is
not in the result set. Thus, the net effect of evaluating a filter expression is a set of data or resource identifiers
which satisfy the predicates in the expression.
The term “sorting clause” is used to describe an encoding for specifying how the data in a response is ordered
prior to being presented.
Such encodings are considered system neutral because using the numerous XML tools available today, XML
encoded projection, selection and sorting clauses can be easily validated, parsed and then transformed into
whatever target query language is required to retrieve or modify resources stored in some persistent object
store. For example an XML encoded query composed of a projection, selection and sorting clauses can be
transformed into a SQL “SELECT … FROM … WHERE … ORDER BY …” statement to fetch data stored in a
SQL-based relational database. Similarly, the same XML encoded query expression can just as easily be
transformed into an XQuery expression in order to retrieve data from XML document.
The XML and KVP encodings of projection, selection and sorting clauses described in this International
Standard are common components which can be used together or as individually by a number of web
services. Any service that requires the ability to query objects from a web-accessible repository can make use
of the XML and KVP encodings of a query expression described in this International Standard. For example
the GetFeature operation, defined in ISO 19142, uses the elements derived from definitions in this
International Standard to encode query expressions.

INTERNATIONAL STANDARD ISO 19143:2010(E)

Geographic information — Filter encoding
1 Scope
This International Standard describes an XML and KVP encoding of a system neutral syntax for expressing
projections, selection and sorting clauses collectively called a query expression.
These components are modular and intended to be used together or individually by other standards which
reference this International Standard.
EXAMPLE 1 ISO 19142 makes use of some or all of these components.
This International Standard defines an abstract component, named AbstractQueryExpression, from which
other specifications can subclass concrete query elements to implement query operations.
This International Standard also defines an additional abstract query component, named
AbstractAdhocQueryExpresison, which is derived from AbstractQueryExpression and from which other
specifications can subclass concrete query elements which follow the following query pattern:
An abstract query element from which service specifications can subclass a concrete query element that
implements a query operation that allows a client to specify a list of resource types, an optional projection
clause, an optional selection clause, and an optional sorting clause to query a subset of resources that
satisfy the selection clause.
This pattern is referred to as an ad hoc query pattern since the server is not aware of the query until it is
submitted for processing. This is in contrast to a stored query expression, which is stored and can be invoked
by name or identifier.
This International Standard also describes an XML and KVP encoding of a system-neutral representation of a
select clause. The XML representation is easily validated, parsed and transformed into a server-specific
language required to retrieve or modify object instances stored in some persistent object store.
EXAMPLE 2 An XML encoded filter can be transformed into a WHERE clause for a SQL SELECT statement to fetch
data stored in a SQL-based relational database. Similarly, and XML encoded filter expression can be transformed into an
XPath or XPointer expression for fetching data from XML documents.
This International Standard defines the XML encoding for the following predicates.
a) A standard set of logical predicates: and, or and not.
b) A standard set of comparison predicates: equal to, not equal to, less than, less than or equal to, greater
than, greater than or equal to, like, is null and between.
c) A standard set of spatial predicates: equal, disjoint, touches, within, overlaps, crosses, intersects,
contains, within a specified distance, beyond a specified distance and BBOX.
d) A standard set of temporal predicates: after, before, begins, begun by, contains, during, ends, equals,
meets, met by, overlaps and overlapped by.
e) A predicate to test whether the identifier of an object matches the specified value.
ISO 19143:2010(E)
This International Standard defines the XML encoding of metadata that allows a service to declare which
conformance classes, predicates, operators, operands and functions it supports. This metadata is referred to
as Filter Capabilities.
2 Conformance
Few usage scenarios require the full implementation of this International Standard to work. Therefore, service
providers may want to specify requirements for only the subset needed to fulfil their service. Or system
developers may want to document which subset of this International Standard it is that that they have
implemented and conform to. These named conformance classes help in specifying such subsets.
This International Standard defines conformance classes based on the operations and behaviour that a filter
encoding service claims to implement. Table 1 indicates which behaviour shall be implemented for each of the
conformance classes. The described behaviour shall be implemented for the corresponding conformance
class, and the name of the paragraph of the actual detailed abstract test suite in Annex A.
Table 1 — FE conformance classes
Subclause of
Conformance class name Operation or behaviour the abstract test
suite
Query A.1
Service that references this International Standard materializes a concrete query
element that is substitutable for fes:AbstractQueryElement.
Ad hoc Query Service that references this International Standard materializes a concrete query A.2
element that is substitutable for fes:AbstractAdhocQueryElement and
materializes a concrete selection clause element that is substitutable for
fes:AbstractSelectionClause and materializes a concrete projection clause
element that is substitutable for fes:AbstractProjectionClause and materializes a
concrete sorting clause element that is substitutable for
fes:AbstractSortingClause.
Functions Implements functions that are in addition to the operators defined in this A.3
International Standard.
Resource Identification Implements the ResourceId operator with the rid parameter to allow predicates to A.4
be written that allow a specific resource to be queried.
Minimum Standard Filter A.5
Implements the comparison operators: PropertyIsEqualTo,
PropertyIsNotEqualTo, PropertyIsLessThan, PropertyIsGreaterThan,
PropertyIsLessThanOrEqualTo, PropertyIsGreaterThanOrEqualTo. Implements
the logical operators. Does not implement any additional functions.
Standard Filter A.6
Implements all the comparison and logical operators and may implement one or
more additional functions.
Minimum Spatial Filter Implements only the BBOX spatial operator. A.7
Spatial Filter Implements the BBOX spatial operator and one or more of the other spatial A.8
operators.
Minimum Temporal Filter Implements only the During temporal operator. A.9
Temporal Filter Implements the During temporal operator and one or more of the other temporal A.10
operators.
Version navigation A.11
Implements ResourceId operator with the parameters that allow versions of
resources to be queried (version, startTime, endTime).
Sorting Implements sorting of the resources in a response. A.12
Extended Operators Implements additional operators not defined in this International Standard. A.13
Minimum XPath Implements the minimum required set of XPath capabilities. A.14
Schema Element Function Implements the schema-element() XPath function. A.15
Other standards that include this International Standard shall declare what constitutes a “minimum” filter by
declaring the minimum set of conformance classes from Table 1 that shall be implemented.
2 © ISO 2010 – All rights reserved

ISO 19143:2010(E)
3 Normative references
The following referenced documents are indispensable for the application of this document. For dated
references, only the edition cited applies. For undated references, the latest edition of the referenced
document (including any amendments) applies.
ISO 19108:2002, Geographic information — Temporal schema
ISO 19125-1:2004, Geographic information — Simple feature access — Part 1: Common architecture
ISO 19136:2007, Geographic information — Geography Markup Language (GML)
IETF RFC 2396, Uniform Resource Identifiers (URN): Generic Syntax (August 1998)
OGC 06-121r3, OGC Web Services Common Specification, OGC® Implementation Specification
(9 February 2009)
W3C XML, Extensible Markup Language (XML) 1.0 (Third edition), W3C Recommendation (4 February 2004)
W3C XML, Namespaces, Namespaces in XML, W3C Recommendation (14 January 1999)
W3C XML, Path Language, XML Path Language (XPath) 2.0, W3C Recommendation (23 January 2007)
W3C XML, Schema Part 1, XML Schema Part 1: Structures, W3C Recommendation (2 May 2001)
W3C XML, Schema Part 2, XML Schema Part 2: Datatypes, W3C Recommendation (2 May 2001)
4 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
4.1
attribute
〈XML〉 name-value pair contained in an element
[ISO 19136:2007, definition 4.1.3]
NOTE In this International Standard, an attribute is an XML attribute unless otherwise specified.
4.2
client
software component that can invoke an operation from a server
[ISO 19128:2005, definition 4.1]
4.3
coordinate
one of a sequence of n numbers designating the position of a point in n-dimensional space
[ISO 19111:2007, definition 4.5]
4.4
coordinate reference system
coordinate system that is related to an object by a datum
[ISO 19111:2007, definition 4.8]
ISO 19143:2010(E)
4.5
coordinate system
set of mathematical rules for specifying how coordinates are to be assigned to points
[ISO 19111:2007, definition 4.10]
4.6
element
〈XML〉 basic information item of an XML document containing child elements, attributes and character data
[ISO 19136:2007, definition 4.1.23]
4.7
feature
abstraction of real world phenomena
[ISO 19101:2002, definition 4.11]
NOTE A feature can occur as a type or an instance. It is intended that the term “feature type” or “feature instance” be
used when only one is meant.
4.8
feature identifier
identifier that uniquely designates a feature instance
[ISO 19142:2010, definition 4.8]
4.9
feature reference
Uniform Resource Identifier that identifies a feature
4.10
filter capabilities XML
metadata, encoded in XML, that describes which predicates defined in this International Standard a system
implements
4.11
filter expression
predicate expression encoded using XML
4.12
filter expression processor
component of a system that processes a filter expression
4.13
function
rule that associates each element from a domain (source, or domain of the function) to a unique element in
another domain (target, co-domain, or range)
[ISO 19107:2003, definition 4.41]
4.14
interface
named set of operations that characterize the behaviour of an entity
[ISO 19119:2005, definition 4.2]
4 © ISO 2010 – All rights reserved

ISO 19143:2010(E)
4.15
literal value
constant, explicitly specified value
NOTE This contrasts with a value that is determined by resolving a chain of substitution (e.g. a variable).
4.16
join predicate
filter expression that includes one or more clauses that constrain properties from two different entity types
NOTE In this International Standard, the entity types are resource types.
4.17
namespace
〈XML〉 collection of names, identified by a URI reference which are used in XML documents as element
names and attribute names
[W3C XML Namespaces]
4.18
operation
specification of a transformation or query that an object may be called to execute
[ISO 19119:2005, definition 4.3]
4.19
predicate
set of computational operations applied to a data instance which evaluate to true or false
4.20
predicate expression
formal syntax for describing a predicate
4.21
property
facet or attribute of an object referenced by a name
4.22
request
invocation of an operation by a client
[ISO 19128:2005, definition 4.10]
4.23
resource
asset or means that fulfils a requirement
[ISO 19115:2003, definition 4.10]
NOTE In this International Standard, a resource is assumed to have identity.
4.24
response
result of an operation returned from a server to a client
[ISO 19128:2005, definition 4.11]
ISO 19143:2010(E)
4.25
service
distinct part of the functionality that is provided by an entity through interfaces
[ISO 19119:2005, definition 4.1]
4.26
server
particular instance of a service
[ISO 19128:2005, definition 4.12]
4.27
tuple
ordered list of values
[ISO 19136:2007, definition 4.1.63]
NOTE In this International Standard, the ordered list is generally a finite sequence of resources.
4.28
Uniform Resource Identifier
URI
unique identifier for a resource, structured in conformance with IETF RFC 2396
[ISO 19136:2007, definition 4.1.65]
NOTE The general syntax is ::. The hierarchical syntax with a namespace is
://?.
5 Conventions
5.1 Abbreviated terms
BBOX Bounding Box
CRS Coordinate Reference System
EBNF Extended Backus-Naur Form
EPSG European Petroleum Survey Group
GML Geography Markup Language
HTTP Hypertext Transfer Protocol
HTTPS Secure Hypertext Transfer Protocol
IETF Internet Engineering Task Force
KVP Keyword-value Pair
OGC Open Geospatial Consortium
SRS Spatial Reference System
URI Uniform Resource Identifier
URL Uniform Resource Locator
6 © ISO 2010 – All rights reserved

ISO 19143:2010(E)
URN Uniform Resource Name
UTC Coordinated Universal Time
W3C World Wide Web Consortium
WFS Web Feature Service
XML Extensible Markup Language
5.2 UML notation
5.2.1 Figure 1 describes the Unified Modelling Language (UML) notations used in this International
Standard for UML class diagrams.
Association between classes
Association Name
Class #1 Class #2
role-1 role-2
Association Cardinality
Class Class
1.*
Only one One or more
Class Class
0.* n
Zero or more Specific number
Class
0.1
Optional (zero or one)
Aggregation between classes Class Inheritance (subtyping of classes)
Aggregate Class Superclass
Component Class
Subclass #1 Subclass #2 Subclass #n
...............
Figure 1 — UML notation in class diagrams
5.2.2 In these class diagrams, the following stereotypes of UML classes are used:
a) <> is a descriptor of a set of values that lack identity (independent existence and the
possibility of side effects). A DataType is a class with no operations, whose primary purpose is to hold the
information.
b) <> is a data type whose instances form a list of alternative literal values. Enumeration
means a short list of well-understood potential values within a class.
c) <> is a flexible enumeration for expressing a long list of potential alternative values. If the list
alternatives are completely known, an enumeration shall be used; if the only likely alternatives are known,
a code list shall be used.
d) <> is a definition of a set of operations that is supported by objects having this interface. An
Interface class cannot contain any attributes.
ISO 19143:2010(E)
e) <> is a stereotyped class used for specification of a domain of instances (objects), together with
the operations applicable to the objects. A Type class may have attributes and associations.
f) <> is a list of alternate attributes where only one of those attributes may be present at any time.
See also ISO/TS 19103:2005, 6.8.2 and D.8.3.
5.2.3 In this International Standard, the following standard data types are used:
a) CharacterString is a sequence of characters;
b) LocalisedCharacterString is a CharacterString associated with a locale;
c) Boolean is a value specifying TRUE or FALSE;
d) URI is an identifier of a resource that provides more information;
e) Integer is an integer number.
5.3 Use of examples
This International Standard makes use of XML examples. They are meant to illustrate the various aspects of
filters discussed in this International Standard. While every effort has been made to ensure that the examples
are well formed and valid, this goal may be sacrificed for the sake of clarity. For instance, many examples are
formatted in a specific way to highlight a particular aspect that would render the example invalid from the
perspective of an XML validation tool. Furthermore, most examples reference fictitious servers and data.
Thus, this International Standard does not assert that any XML encoded example, copied from this
International Standard, would necessarily execute correctly or validate using a particular XML validation tool.
5.4 Namespaces
Namespaces (a specified in W3C XML Namespaces) are used to discriminate XML vocabularies from one
another. The following namespaces are normatively used in this International Standard:
a) (http://www.opengis.net/fes/2.0): for the Filter vocabulary;
b) (http://www.opengis.net/gml/3.2): for the GML vocabulary.
5.5 KVP-encoded parameter lists
This International Standard defines both XML and KVP encodings for query and filter expressions. Several of
the parameters in the KVP-encoding consist of lists of values (see Table 2) and possibly lists of lists of values.
This subclause defines how to encode lists of values as the value of a parameter.
Parameters consisting of lists shall use the comma (“,”) as the delimiter between items in the list. In addition,
multiple lists may be specified as the value of a parameter by enclosing each list in parentheses; “(“, ”)”.
EXAMPLE 1 This example shows a list of items.
PARAMETER=item1,item2,item3,item4a%2Citem4b
This list consists of four values: item1, item2, item3 and the value “item4a,item4b”.
NOTE In this example, the embedded comma in the last item has been encoded as per IETF RFC 2396 in order to
distinguish it from the commas used in the list of delimit list entries.
EXAMPLE 2 This example shows multiple lists of items assigned to a single parameter.
PARAMETER=(item11,item12,item13)(item21,item22,item23)
8 © ISO 2010 – All rights reserved

ISO 19143:2010(E)
5.6 XML Schema fragments
This International Standard makes use of XML Schema (as given in W3C XML Schema Part 1 and W3C XML
Schema Part 2) fragments to define the XML encoding of the components of a filter expression. These XML
Schema fragments are collected into a set of consolidated schema files in Annex B.
6 Query expressions
6.1 General
A query expression (see Figure 2) is an action that performs a search over some set of resources and returns
a subset of those resources. Other standards that reference this International Standard shall assert what a
resource is.
EXAMPLE A WFS would assert that a resource is a feature.
QueryExpression
+ handle [0.1] : CharacterString
AdhocQueryExpression
+ types [1.*] : Type {ordered}
+ projection [0.1] : Any
+ selection [0.1] : Any
+ sorting [0.1] : Any
<>
Type
TypeName
+ name : TypeName
+ ofType : ScopedName
+ alias [0.1] : LocalName
+ ofKind : ScopedName
Figure 2 — Query expressions
6.2 Abstract query expressions
This International Standard defines the abstract element fes:AbstractQueryExpression as the head of a
substitution group of query expressions. The element fes:AbstractQueryExpression is defined by the following
XML Schema fragment:
type="fes:AbstractQueryExpressionType" abstract="true"/>



The fes:AbstractQueryExpression element defines the handle attribute which can be used to assign user-
defined identifier to the query expression for the purpose of error handling or correlating the response to a
query, from within a series of queries, with the source query expression.
International Standards that reference this International Standard shall declare the types(s) of resources that
can be queried and shall derive query expressions from fes:AbstractQueryExpression.
ISO 19143:2010(E)
6.3 Ad hoc query expression
6.3.1 General considerations
A fundamental type of query expression is the ad hoc query expression. It is ad hoc in the sense that the
query is not known before the time it is being executed as, for example, a stored query would be.
An ad hoc query expression is a query expression that contains the names of one or more resource types to
query, an optional projection clause enumerating the properties of the resource to present in the response, an
option selection clause that constraints the properties of those resources types in order to define a result set
and an optional sorting clause specifying the order in which the result set is presented.
This subclause defines the head of an substitution group called fes:AbstractAdhocQueryExpression from
which standards that reference this International Standard can derive concrete ad hoc query expressions.
6.3.2 XML encoding
The following XML Schema fragment define the abstract element fes:AbstractAdhocQueryExpression
type="fes:AbstractAdhocQueryExpressionType"
substitutionGroup="fes:AbstractQueryExpression"
abstract="true"/>




minOccurs="0" maxOccurs="unbounded"/>



type="fes:TypeNamesListType" use="required"/>
type="fes:AliasesType"/>























6.3.3 KVP-encoding
Table 2 defines the KVP-encoding for an ad hoc query expression.
10 © ISO 2010 – All rights reserved

ISO 19143:2010(E)
Table 2 — KVP-encoding for ad hoc query expression
a
URL Component Description
O/M
b
TYPENAMES A comma-separated list of resource types to query. Specifying more that one
M
name indicates that a join is being performed.
ALIASES O A comma-separated list of aliases for the resource types listed as the value of
the TYPENAMES parameter.
Projection clause
PROPERTYNAME O If more that one feature type name is specified as the value of the TYPENAMES
keyword, a list of parameter lists shall be specified (see 5.5.). Each sublist shall
correspond 1:1 with each feature type name listed as the value of the
TYPENAMES parameter.
Selection clause
FILTER O The value of the parameter shall be a filter expression encoded using the
(Mutually exclusive with language specified by the FILTER_LANGUAGE parameter.
RESOURCEID and BBOX)
FILTER_LANGUAGE O Indicates the predicate language used to encode the filter expression that is the
value of the FILTER parameter.
The default value urn:ogc:def:query Language:OGC-FES:Filter shall be used to
indicate that the value of FILTER parameter is a string encoding the filter using
an XML fragment as defined in this International Standard.
RESOURCEID O A comma-separated list of resource identifiers to retrieve from some data store.
(Mutually exclusive with FILTER and
BBOX)
BBOX O A bounding rectangle, encoded as specified in OGC 06-131r3, indicating that all
(Mutually exclusive with FILTER and resources which intersect that BBOX shall be retrieved from some data store.
RESOURCEID)
Sorting clause
SORTBY O The SORTBY parameter is used to specify a list of value references that should
be used to order (upon presentation) the set of resource instances that satisfy
the query. The value of the SORTBY parameter shall have the form
“PropertyName [ASC|DESC][,PropertyName [ASC|DESC],…]” where the letters
ASC are used to indicate an ascending sort and the letters DESC are used to
indicate a descending sort. If neither ASC nor DESC are specified, the default
sort order shall be ascending. An example value might be: “SORTBY=Field1
DESC,Field2 DESC,Field3”. In this case the results are sorted by Field 1
descending, Field2 descending and Field3 ascending.
a
O = Optional, M = Mandatory.
b
Standards that reference this International Standard may change the requirement for the TYPENAME parameter. In such cases,
the referencing standard shall document whether the TYPENAME parameter is mandatory, optional or mandatory in some cases and
optional in others.
6.3.3.1 Parameter discussion
6.3.3.1.1 typeNames parameter
The mandatory typeNames parameter shall be used within an ad hoc query expression to encode the names
of one or more correlated resource types to be queried. Individual resource type names shall be encoded as
QName (as given in W3C XML Schema Part 2).
NOTE For the KVP-encoding of the typeNames parameter, see 5.5 for encoding lists of values.
International Standards that derive query expressions from fes:AbstractQueryExpression shall declare the
resource type(s) that can be queried.
ISO 19143:2010(E)
6.3.3.1.2 aliases parameter
The optional aliases parameter may be used within an ad hoc query expression to specify alternate names for
the resource type names specified as the value of the typeNames parameter. A resource type alias may be
used anywhere; the resource type name may be used within the context of the query expression.
The number of list elements in the value of the aliases parameter shall match the number of corresponding
resource type names in the value of the typeNames parameter and shall be correlated 1:1.
EXAMPLE 1 < … typeNames=“ns1:ResourceType1, ns2:ResourceType2” aliases=“A B” …>
This example encodes an ad hoc query expression fragment that queries the resource types ns1:ResourceType1 and
ns2:ResourceType2 which are aliased to A and B. Thus, the tokens A or B can be used within the filter expression of the
query expression as alternate names for the resource types ns1:ResourceType1 and ns2:ResourceType2.
Each alias specified in the value of aliases attribute shall be unique within the context of a single query
expression.
If the aliases attribute is used, an alias shall be specified for each reso
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...