Service and operation constraints

52 Copyright © 2010 Open Geospatial Consortium A server may optionally specify one or more of the constraints defined in Table 14 in its capabilities document see 8.3.3. Copyright © 2010 Open Geospatial Consortium 53 Table 14 — Operation Constraints Constraint Name Possible Values andor Value Types Default Value WFS Operation Description AutomaticDataLocking Boolean value; either TRUE or FALSE FALSE Transaction Indicates that the transaction operation automatically locks data in order to maintain consistency thus alleviating the client from having to use the LockFeature or GetFeatureWithLock operations to lock the features to be modified. PreservesSiblingOrder Boolean value; either TRUE or FALSE. FALSE Transaction Specifies whether the server preserves sibling order for properties with cardinality greater than 1. If the value is true, the server shall preserve sibling order. Otherwise sibling order is not guaranteed to be preserved. PagingIsTransactionSafe Boolean value; either TRUE or FALSE FALSE GetFeature GetFeatureWithLock GetPropertyValue Specifies whether the server maintains transactional consistency between paging iterations. CountDefault Integer value greater than or equal to zero. GetFeature GetFeatureWithLock GetPropertyValue Specifies the default value for the count parameter. If the constraint is not specified, and Response Paging is neither supported nor triggered by the request, the entire result shall be returned in one response. Servers are strongly encouraged to advertise a value for CountDefault as a means of self- defence, so that a request may not clog a server ResolveTimeoutDefault Integer greater than zero. GetFeature GetFeatureWithLock GetPropertyValue Defines the maximum number of seconds a server shall wait before receiving a response while resolving resource references. If the constraint is not specified the server shall wait indefinitely in order to resolves a remote reference. SortLevelLimit Integer value greater than zero. GetFeature GetFeatureWithLock The SortLevelLimit constraint defines the maximum number of properties that may be simultaneously sorted. In the event that a request contains too many fes:SortProperty elements for a particular service i.e. exceeds the SortLevelLimit constraint, the service shall respond with an exception as specified in 7.5. If the constraint is not specified then there is no limit to the number of sort properties that may be specified. ResolveLocalScope Integer greater than zero OR the character . GetFeature GetFeatureWithLock GetPropertyValue Defines the minimum and maximum number of levels, when resolving references to resources that are part of the servers local data store. The value means to as many as all levels. If the constraint is not specified the default value of shall be assumed. ResolveRemoteScope Integer greater than zero OR the character GetFeature GetFeatureWithLock GetPropertyValue Defines the minimum and maximum number of levels, when resolving remote references. The value means to as many as all levels. If the constrain is not specified the default value of shall be assumed. ResponseCacheTimeout Integer greater than zero. GetFeature GetFeatureWithLock GetPropertyValue Define the length of time in seconds that responses shall be cached to support paging see 7.7.4.4. If the constraint is not specified then the response cache never times out. QueryExpressions QName; one of wfs:Query of wfs:StoredQuery GetFeature GetFeatureWithLock GetPropertyValue LockFeature The names of the supported query expression elements. 54 Copyright © 2010 Open Geospatial Consortium NOTE The constraints may be specified on the indicated operation. If more that one operation is listed, the constraint may be specified on each operation individually perhaps with different values for each operation or at the service level indicating that the constraint applies for all listed operations.

8.4 Extension points

Extension points allow servers to advertise additional values for existing parameters, dynamically add elements to the metadata describing feature types, or execute operations not described in this International Standard. This International Standard contains the following extensions points: ⎯ DescribeFeatureTypeoutputFormat see 9.2.4.2 ⎯ GetFeatureoutputFormat see 11.2.4.1 ⎯ fes:AbstractQueryExpression see 10.2.4.4, 11.2.4.3, 12.2.4.1 ⎯ GetFeatureWithLockoutputFormat see 13.1 ⎯ TransactionInsertinputFormat see 15.2.4.2 ⎯ TransactionUpdateinputFormat see 15.2.5.2.4 ⎯ TransactionReplaceinputFormat see 15.2.6.2.2 ⎯ wfs:ExtendedDescription element see Table 11 ⎯ ows:ExtendedCapabilities see OGC 06-121r3:2009, 7.4.6 ⎯ wfs:Native see 15.2.8 ⎯ wfs:AbstractTransactionAction see 15.2.2 This International Standard assigns no meaning or behaviour to any value advertised for these extension points in the servers capabilities document except as described herein. However, if additional values or behaviours are advertised in a servers capabilities document they shall be accompanied by additional metadata describing their meaning. Metadata may be associated with each wfs:Element element contained within the wfs:ExtendedDescription element using the ows:Metadata element see OGC 06-121r3:2009, Table 32. The OGC Web Services Common Specification see OGC 06-121r3:2009, 7.4.6 contains a complete description of how to associate metadata with parameter values or operations contained within a capabilities document. The following examples illustrate the usage. EXAMPLE 1 The following XML fragment illustrates how to reference metadata about additional GetFeature output format values. Operation name=GetFeature DCP HTTP Get xlink:href=http:www.someserver.comwfs.cgi? HTTP DCP Parameter name=outputFormat AllowedValues Valueapplicationgml+xml; version=3.2Value Valueapplicationgml+xml; version=3.1Value Valueapplicationgml+xml; version=2.1Value AllowedValues Parameter Metadata about=applicationgml+xml; version=3.1 xlink:href=http:portal.opengeospatial.orgfiles?artifact_id=4700 Copyright © 2010 Open Geospatial Consortium 55 Metadata about=applicationgml+xml; version=2.1 xlink:href=http:portal.opengeospatial.orgfiles?artifact_id=11339 Operation EXAMPLE 2 The following XML fragment illustrates how to reference metadata about vendor specific operations executed using the wfs:Native element. Operation name=Transaction DCP HTTP Get xlink:href=http:www.someotherserver.comtransform? HTTP DCP Parameter name=Native AllowedValues ValueALTER SESSION ENABLE PARALLEL DMLValue ValueMySecretActionValue AllowedValues Parameter Metadata about=ALTER SESSION ENABLE PARALLEL DML xlink:href=http:download- uk.oracle.comdocscdA97630_01server.920a96540statements_22a.htm2053493 Metadata about=”MySecretAction” xlink:href=http:www.yas.comMySecretActionDescription.html Operation EXAMPLE 3 The following XML fragment illustrates how a vendor specific operation can be advertised in a servers capabilities document using ows:ExtendedCapabilities element. ExtendedCapabilities Operation name=MySecretOperation DCP HTTP Get xlink:href=http:www.someserver.comwfs.cgi? HTTP DCP Metadata about=MySecretOperation xlink:href=http:www.myserver.comOperationsMySecretOperation.html Operation ExtendedCapabilities

8.5 Exceptions

In the event that a web feature service encounters an error parsing a GetCapabilities request, it shall raise an OperationParsingFailed exception as described in 7.5. In the event that a web feature service encounters an error processing a GetCapabilities request, it shall raise an OperationProcessingFailed exception as described in 7.5. 9 DescribeFeatureType operation

9.1 Introduction

The DescribeFeatureType operation returns a schema description of feature types offered by a WFS instance. The schema descriptions define how a WFS expects feature instances to be encoded on input via Insert, Update and Replace actions and how feature instances shall be encoded on output in response to a GetPropertyValue, GetFeature or GetFeatureWithLock operation.