Vous êtes sur la page 1sur 35

Open Geospatial Consortium Inc.

Date: 2006-02-12 Reference number of this document: OGC 06-027r1 Version: 1.1.0 Category: OpenGIS IS Corrigendum

Editor: Panagiotis (Peter) A. Vretanos

Corrigendum for the OpenGIS Web Feature Service (WFS) implementation specification 04-095

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved. To obtain additional rights of use, visit http://www.opengeospatial.org/legal/.

Document type: Document subtype: Document stage: Document language:

OpenGIS IS Implementation Specification Corrigendum Proposed English

OGC 06-027r1

Contents
i. ii. iii. iv. v.

Page

Preface.................................................................................................................... iii Document terms and definitions ............................................................................ iii Document contributor contact points..................................................................... iii Revision history ..................................................................................................... iii Changes to OGC Specifications............................................................................. iv

Foreword ..............................................................................................................................v Introduction........................................................................................................................ vi 1 2 3 3.1 3.2 Scope........................................................................................................................1 Normative references ...............................................................................................1 Corrigendum Description.........................................................................................1 Changes to ANNEX A of 04-094........................................................................1 Changes to the XML Schema wfs.xsd .................................................................2

ANNEX A Annotated XML Schema wfs.xsd distributed with 04-094...............................4

ii

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1

i.

Preface
This document is a corrigendum for OGC Document 04-094. Specifically, this document corrects the files referenced in ANNEX A and found in the OGC schema repository.

ii.

Document terms and definitions

This document uses the specification terms defined in Subclause 5.3 of [OGC 05-008]. In particular, the word shall (not must) is the verb form used to indicate a requirement to be strictly followed to conform to this specification.

iii.

Document contributor contact points

All questions regarding this submission should be directed to the editor or the contributors. Editor: Panagiotis (Peter) A. Vretanos (Editor) CubeWerx Inc. pvretano {at} cubewerx.com Contributors:
Name Kammersell, Willian Lansing, Jeff Organization BBNT Solutions LLC SYS Technologies Inc.

iv.

Revision history
Date Release Primary clauses modified Panagiotis wfs.xsd (Peter) A. Vretanos Editor Description The copy of wfs.xsd currently available in the OGC schema repository does not validate and this is causing WFS requests that reference it to not validate as well. This corrigendum lists the changes required to fix wfs.xsd so that it validates.

2006-02-12 1.0.0

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

iii

OGC 06-027r1

v.

Changes to OGC Specifications


The previously approved OGC Specifications do not need changes to accommodate the technical contents of this document.

iv

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1

Foreword

This document provides the details for a corrigendum for the files referenced in ANNEX A of the Web Feature Service implementation specification version 1.1.0 and does not modify that implementation specification. Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. The OGC shall not be held responsible for identifying any or all such patent rights.

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1

Introduction
This document contains revision notes for 04-094. The OGC document 04-094 was approved by the OGC membership on 2004-12-22. As a result of the RWG process, there were a number of edits and enhancements made to this specification. This document provides the details of those edits, deficiency corrections, and enhancements. It also documents those items that have been deprecated.

vi

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OpenGIS Corrigendum

OGC 06-027

Corrigendum for the OpenGIS WFS implementation specification 04094

Scope

The Web Feature Service implementation specification (04-094) defines a set of operations that allow clients to query, insert, update and delete feature instances for webaccessible feature repositories. ANNEX A of that specification references a set of files in the OGC schema repository (http://schemas.opengis.net/wfs/1.1.0) that define the XML encoding of those operations as well as documents that describe the API using the Web Services Description Language (WSDL). Those files either contain errors that prevent them from validating or do not exist at all. This document provides the details for a corrigendum that corrects the referenced files that have errors and adds the files that are referenced in ANNEX A but do not currently exist in the OGC schema repository. 2 Normative references

The following is a list of any normative document references that have changed for this Corrigendum. A good example might be that this revision of the specification references the latest OWS Common Specification. For undated references, the latest edition of the normative document referred to applies. [1] [OGC 04-094], OpenGIS Web Feature Service Implementation Specification version 1.1 Corrigendum Description
Changes to ANNEX A of 04-094

3
3.1

ANNEX A of 04-094 should be changed to read: In order to keep this document to a reasonable length, the normative schemas are not included inline but are attached to the archive package that includes this document. Optionally, the schemas can be obtained at http://schemas.opengis.net/wfs. The files that make up the WFS schemas, WSDL documents and example are:
1.1.0/wfs.xsd 1.1.0/wsdl/wfs-http-bindings.wsdl 1.1.0/wsdl/wfs-kvp-bindings.wsdl

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1 1.1.0/wsdl/wfs-kvp-interfaces.wsdl 1.1.0/wsdl/wfs-kvp.xsd 1.1.0/wsdl/wfs-responses.wsdl 1.1.0/wsdl/wfs-util.xsd 1.1.0/wsdl/wfs-xml-interfaces.wsdl 1.1.0/wsdl/WSDL2Java.bat 1.1.0/examples/WFS_Capabilities_Sample.xml 3.2 Changes to the XML Schema wfs.xsd

ANNEX A contains a copy of the wfs.xsd XML Schema document that was distributed with 04-094. The schema in ANNEX A has been annotated with line numbers, which are used in Table 1 to indicate where the specific changes listed should be made. The columns in Table 1 contain the following information: Line #: The line number where a change has been made is show here. The line number refers to the line numbers in the annotated schema in ANNEX A. The letter contained in the column denotes the operation performed at that indicated line number; A=add, C=change, D=delete. The XML Schema fragment that currently exists in the schema in ANNEX A is shown here. If an addition is being made then this column can be empty. The XML Schema fragment that should replace the existing fragment is shown here. If a deletion is being made then this column can be empty A brief explanation about the change.

O:

Original Text:

Replacement Text:

Reason:

Validity of the resulting schema has been checked using the following validating XML parsers: XSV Web Form version 2.10-1, XML Spy version 2006 sp1 and Xerces version 2.7.1 (Java). Table 1 Changes to wfs.xsd
Line # 1795 O C Original Text
<xsd:complexType name="InsertResultType">

Replacement Text
<xsd:complexType name="InsertResultsType">

Reason The element is named "InsertResults" so the type should be renamed to match. The element is named "InsertResults" so the type should be renamed to match.

1692

Type="wfs:InsertResultType">

type="wfs:InsertResultsType">

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1

Line # 1342

O C

Original Text <xsd:choice> <xsd:element ref="gml:_FeatureCollection"/> <xsd:sequence> <xsd:element ref="gml:_Feature" maxOccurs="unbounded"/> </xsd:sequence> </xsd:choice> <xsd:extension base="ows:GetCapabilitiesType">

Replacement Test <xsd:sequence> <xsd:element ref="gml:_Feature" maxOccurs="unbounded"/> </xsd:sequence>

Reason _FeatureCollection and _Feature are already substitutable for each other so you don't need to reference them twice. Derived from wrong base type. See line 88. MIME types, such as text/xml, are not valid NMTOKEN types. MIME types, such as text/xml, are not valid NMTOKEN types. This element does not exist so you cannot substitute for it. See line 99 See line 87

1253 695 344

C A C

<xsd:extension base="wfs:GetBaseRequestType"> <xsd:element ref="XlinkPropertyName"/> <xsd:restriction base="xsd:string">

<xsd:restriction base="xsd:NMTOKEN">

334

<xsd:restriction base="xsd:NMTOKEN">

<xsd:restriction base="xsd:string">

304 164

C D

<xsd:enumeration value="Unsert"/> substitutionGroup="ows:Capabilities"

<xsd:enumeration value="Update"/>

129 99

A A

</xsd:extension> </xsd:simpleContent> <xsd:simpleContent> <xsd:extension base="xsd:string"> substitutionGroup="wfs:PropertyName">

88

87

<xsd:element name="XlinkPropertyName" type="xsd:QName">

<xsd:element name="XlinkPropertyName>

a choice group can be used to encode either PropertyName or XlinkPropertyName XlinkPropertyName can be an XPath expression so QName is not the correct type. Fix spelling error ProperyName should be PropertyName. PropertyName can be an XPath expression so it must be 'string' not Qname Add docco from spec Fixes unresolved reference to ows:ExceptionReport

86

<xsd:element name="ProperyName" type="xsd:QName"/>

<xsd:element name="PropertyName" type="xsd:string"> <xsd:annotation> <xsd:documentation> The Property element n the first place </xsd:documentation> </xsd:annotation> </xsd:element> owsAll.xsd

20

owsGetCapabilities.xsd

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1

ANNEX A Annotated XML Schema wfs.xsd distributed with 04-094

1 <?xml version="1.0"?> 2 <xsd:schema 3 targetNamespace="http://www.opengis.net/wfs" 4 xmlns:wfs="http://www.opengis.net/wfs" 5 xmlns:ogc="http://www.opengis.net/ogc" 6 xmlns:ows="http://www.opengis.net/ows" 7 xmlns:gml="http://www.opengis.net/gml" 8 xmlns:xlink="http://www.w3.org/1999/xlink" 9 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 10 elementFormDefault="qualified" version="1.1.0"> 11 12 <!-- ============================================================== 13 Includes and Imports 14 ============================================================== --> 15 <xsd:import namespace="http://www.opengis.net/gml" 16 schemaLocation="../../gml/3.1.1/base/gml.xsd"/> 17 <xsd:import namespace="http://www.opengis.net/ogc" 18 schemaLocation="../../filter/1.1.0/filter.xsd"/> 19 <xsd:import namespace="http://www.opengis.net/ows" 20 schemaLocation="../../ows/1.0.0/owsGetCapabilities.xsd"/> 21 22 <!-- ================================================================== --> 23 <!-- = BASE REQUEST TYPE = --> 24 <!-- ================================================================== --> 25 <xsd:complexType name="BaseRequestType" abstract="true"> 26 <xsd:annotation> 27 <xsd:documentation> 28 XML encoded WFS operation request base, for all operations 29 except GetCapabilities. 30 </xsd:documentation> 31 </xsd:annotation> 32 <xsd:attribute name="service" type="ows:ServiceType" 33 use="optional" default="WFS"> 34 <xsd:annotation> 35 <xsd:documentation> 36 The service attribute is included to support service 37 endpoints that implement more than one OGC service. 38 For example, a single CGI that implements WMS, WFS 39 and WCS services. 40 The endpoint can inspect the value of this attribute 41 to figure out which service should process the request. 42 The value WFS indicates that a web feature service should 43 process the request. 44 This parameter is somewhat redundant in the XML encoding 45 since the request namespace can be used to determine 46 which service should process any give request. For example, 47 wfs:GetCapabilities and easily be distinguished from 48 wcs:GetCapabilities using the namespaces. 49 </xsd:documentation> 50 </xsd:annotation> 51 </xsd:attribute> 52 <xsd:attribute name="version" type="xsd:string" 53 use="optional" default="1.1.0"> 54 <xsd:annotation> 55 <xsd:documentation> 56 The version attribute is used to indicate the version of the 57 WFS specification that a request conforms to. All requests in 58 this schema conform to V1.1 of the WFS specification. 59 For WFS implementations that support more than one version of 60 a WFS sepcification ... if the version attribute is not 61 specified then the service should assume that the request 62 conforms to greatest available specification version. 63 </xsd:documentation> 64 </xsd:annotation> 65 </xsd:attribute>

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 <xsd:attribute name="handle" type="xsd:string" use="optional"> <xsd:annotation> <xsd:documentation> The handle attribute allows a client application to assign a client-generated request identifier to a WFS request. The handle is included to facilitate error reporting. A WFS may report the handle in an exception report to identify the offending request or action. If the handle is not present, then the WFS may employ other means to localize the error (e.g. line numbers). </xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:complexType> <!-- ============================================================== --> <!-- = PROPERTY NAME ELEMENT = --> <!-- ============================================================== --> <xsd:element name="ProperyName" type="xsd:QName"/> <xsd:element name="XlinkPropertyName" type="xsd:QName" substitutionGroup="wfs:PropertyName"> <xsd:annotation> <xsd:documentation> This element may be used in place of an wfs:PropertyName element in a wfs:Query element in a wfs:GetFeature element to selectively request the traversal of nested XLinks in the returned element for the named property. This element may not be used in other requests -- GetFeatureWithLock, LockFeature, Insert, Update, Delete -- in this version of the WFS specification. </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:attribute name="traverseXlinkDepth" type="xsd:string" use="required"> <xsd:annotation> <xsd:documentation> This attribute indicates the depth to which nested property XLink linking element locator attribute (href) XLinks are traversed and resolved if possible. A value of "1" indicates that one linking element locator attribute (href) Xlink will be traversed and the referenced element returned if possible, but nested property XLink linking element locator attribute (href) XLinks in the returned element are not traversed. A value of "*" indicates that all nested property XLink linking element locator attribute (href) XLinks will be traversed and the referenced elements returned if possible. The range of valid values for this attribute consists of positive integers plus "*". </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="traverseXlinkExpiry" type="xsd:positiveInteger" use="optional"> <xsd:annotation> <xsd:documentation> The traverseXlinkExpiry attribute value is specified in minutes It indicates how long a Web Feature Service should wait to receive a response to a nested GetGmlObject request. </xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:complexType> </xsd:element> <!-- ================================================================== --> <!-- = GETCAPABILITIES Request and Response = --> <!-- ================================================================== --> <!-- REQUEST --> <xsd:element name="GetCapabilities" type="wfs:GetCapabilitiesType"/>

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 <xsd:complexType name="GetCapabilitiesType"> <xsd:annotation> <xsd:documentation> Request to a WFS to perform the GetCapabilities operation. This operation allows a client to retrieve a Capabilities XML document providing metadata for the specific WFS server. The GetCapapbilities element is used to request that a Web Feature Service generate an XML document describing the organization providing the service, the WFS operations that the service supports, a list of feature types that the service can operate on and list of filtering capabilities that the service support. Such an XML document is called a capabilities document. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="ows:GetCapabilitiesType"> <xsd:attribute name="service" type="ows:ServiceType" use="optional" default="WFS"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- RESPONSE --> <xsd:element name="WFS_Capabilities" type="wfs:WFS_CapabilitiesType" substitutionGroup="ows:Capabilities"/> <xsd:complexType name="WFS_CapabilitiesType"> <xsd:annotation> <xsd:documentation> XML encoded WFS GetCapabilities operation response. This document provides clients with service metadata about a specific service instance, including metadata about the tightly-coupled data served. If the server does not implement the updateSequence parameter, the server shall always return the complete Capabilities document, without the updateSequence parameter. When the server implements the updateSequence parameter and the GetCapabilities operation request included the updateSequence parameter with the current value, the server shall return this element with only the "version" and "updateSequence" attributes. Otherwise, all optional elements shall be included or not depending on the actual value of the Contents parameter in the GetCapabilities operation request. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="ows:CapabilitiesBaseType"> <xsd:sequence> <xsd:element ref="wfs:FeatureTypeList" minOccurs="0"/> <xsd:element ref="wfs:ServesGMLObjectTypeList" minOccurs="0"/> <xsd:element ref="wfs:SupportsGMLObjectTypeList" minOccurs="0"/> <xsd:element ref="ogc:Filter_Capabilities"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="FeatureTypeList" type="wfs:FeatureTypeListType"/> <xsd:complexType name="FeatureTypeListType"> <xsd:annotation> <xsd:documentation> A list of feature types available from this server. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="Operations" type="wfs:OperationsType" minOccurs="0"/> <xsd:element name="FeatureType" type="wfs:FeatureTypeType" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType>

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 <xsd:complexType name="FeatureTypeType"> <xsd:annotation> <xsd:documentation> An element of this type that describes a feature in an application namespace shall have an xml xmlns specifier, e.g. xmlns:bo="http://www.BlueOx.org/BlueOx" </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="Name" type="xsd:QName"> <xsd:annotation> <xsd:documentation> Name of this feature type, including any namespace prefix </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="Title" type="xsd:string"> <xsd:annotation> <xsd:documentation> Title of this feature type, normally used for display to a human. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="Abstract" type="xsd:string" minOccurs="0"> <xsd:annotation> <xsd:documentation> Brief narrative description of this feature type, normally used for display to a human. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element ref="ows:Keywords" minOccurs="0" maxOccurs="unbounded"/> <xsd:choice> <xsd:sequence> <xsd:element name="DefaultSRS" type="xsd:anyURI"> <xsd:annotation> <xsd:documentation> The DefaultSRS element indicated which spatial reference system shall be used by a WFS to express the state of a spatial feature if not otherwise explicitly identified within a query or transaction request. The SRS may be indicated using either the EPSG form (EPSG:posc code) or the URL form defined in subclause 4.3.2 of refernce[2]. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="OtherSRS" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation> The OtherSRS element is used to indicate other supported SRSs within query and transaction operations. A supported SRS means that the WFS supports the transformation of spatial properties between the OtherSRS and the internal storage SRS. The effects of such transformations must be considered when determining and declaring the guaranteed data accuracy. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:element name="NoSRS"> <xsd:complexType/> </xsd:element> </xsd:choice> <xsd:element name="Operations"

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 type="wfs:OperationsType" minOccurs="0"/> <xsd:element name="OutputFormats" type="wfs:OutputFormatListType" minOccurs="0"/> <xsd:element ref="ows:WGS84BoundingBox" minOccurs="1" maxOccurs="unbounded"/> <xsd:element name="MetadataURL" type="wfs:MetadataURLType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="OperationsType"> <xsd:sequence> <xsd:element name="Operation" type="wfs:OperationType" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:simpleType name="OperationType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="Insert"/> <xsd:enumeration value="Unsert"/> <xsd:enumeration value="Delete"/> <xsd:enumeration value="Query"/> <xsd:enumeration value="Lock"/> <xsd:enumeration value="GetGmlObject"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="OutputFormatListType"> <xsd:sequence maxOccurs="unbounded"> <xsd:element name="Format" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="MetadataURLType"> <xsd:annotation> <xsd:documentation> A Web Feature Server MAY use zero or more MetadataURL elements to offer detailed, standardized metadata about the data underneath a particular feature type. The type attribute indicates the standard to which the metadata complies; the format attribute indicates how the metadata is structured. Two types are defined at present: 'TC211' or 'ISO19115' = ISO TC211 19115; 'FGDC' = FGDC CSDGM. 'ISO19139' = ISO 19139 </xsd:documentation> </xsd:annotation> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="type" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="TC211"/> <xsd:enumeration value="FGDC"/> <xsd:enumeration value="19115"/> <xsd:enumeration value="19139"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> <xsd:attribute name="format" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:NMTOKEN"> <xsd:enumeration value="text/xml"/> <xsd:enumeration value="text/html"/> <xsd:enumeration value="text/sgml"/> <xsd:enumeration value="text/plain"/> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:extension> </xsd:simpleContent>

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 </xsd:complexType> <xsd:element name="ServesGMLObjectTypeList" type="wfs:GMLObjectTypeListType"> <xsd:annotation> <xsd:documentation> List of GML Object types available for GetGmlObject requests </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="SupportsGMLObjectTypeList" type="wfs:GMLObjectTypeListType"> <xsd:annotation> <xsd:documentation> List of GML Object types that WFS is capable of serving, either directly, or as validly derived types defined in a GML application schema. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="GMLObjectTypeListType"> <xsd:sequence> <xsd:element name="GMLObjectType" type="wfs:GMLObjectTypeType" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation> Name of this GML object type, including any namespace prefix </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="GMLObjectTypeType"> <xsd:annotation> <xsd:documentation> An element of this type that describes a GML object in an application namespace shall have an xml xmlns specifier, e.g. xmlns:bo="http://www.BlueOx.org/BlueOx" </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="Name" type="xsd:QName"> <xsd:annotation> <xsd:documentation> Name of this GML Object type, including any namespace prefix. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="Title" type="xsd:string" minOccurs="0"> <xsd:annotation> <xsd:documentation> Title of this GML Object type, normally used for display to a human. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="Abstract" type="xsd:string" minOccurs="0"> <xsd:annotation> <xsd:documentation> Brief narrative description of this GML Object type, normally used for display to a human. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element ref="ows:Keywords" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="OutputFormats" type="wfs:OutputFormatListType" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <!-- ================================================================== --> <!-- = DESCRIBEFEATURETYPE Request and Response = -->

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 <!-- ================================================================== --> <!-- REQUEST --> <xsd:element name="DescribeFeatureType" type="wfs:DescribeFeatureTypeType"> <xsd:annotation> <xsd:documentation> The DescribeFeatureType element is used to request that a Web Feature Service generate a document describing one or more feature types. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="DescribeFeatureTypeType"> <xsd:annotation> <xsd:documentation> The DescribeFeatureType operation allows a client application to request that a Web Feature Service describe one or more feature types. A Web Feature Service must be able to generate feature descriptions as valid GML3 application schemas. The schemas generated by the DescribeFeatureType operation can be used by a client application to validate the output. Feature instances within the WFS interface must be specified using GML3. The schema of feature instances specified within the WFS interface must validate against the feature schemas generated by the DescribeFeatureType request. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="wfs:BaseRequestType"> <xsd:sequence> <xsd:element name="TypeName" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation> The TypeName element is used to enumerate the feature types to be described. If no TypeName elements are specified then all features should be described. The name must be a valid type that belongs to the feature content as defined by the GML Application Schema. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="outputFormat" type="xsd:string" use="optional" default="text/xml; subtype=gml/3.1.1"> <xsd:annotation> <xsd:documentation> The outputFormat attribute is used to specify what schema description language should be used to describe features. The default value of 'text/xml; subtype=3.1.1' means that the WFS must generate a GML3 application schema that can be used to validate the GML3 output of a GetFeature request or feature instances specified in Transaction operations. For the purposes of experimentation, vendor extension, or even extensions that serve a specific community of interest, other acceptable output format values may be advertised by a WFS service in the capabilities document. The meaning of such values in not defined in the WFS specification. The only proviso is such cases is that clients may safely ignore outputFormat values that do not recognize. </xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- RESPONSE -->

10

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 <!-<!-<!-<!-<!-================================================================== For the outputFormat value of 'text/xml; subtype=3.1.1' a WFS must generate a valid XML-Schema/GML3 application schema that describes that requested feature type(s). ================================================================== --> --> --> --> -->

<!-- ================================================================== --> <!-- = GETFEATURES Request and Response = --> <!-- ================================================================== --> <xsd:element name="GetFeature" type="wfs:GetFeatureType"> <xsd:annotation> <xsd:documentation> The GetFeature element is used to request that a Web Feature Service return feature type instances of one or more feature types. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="GetFeatureType"> <xsd:annotation> <xsd:documentation> A GetFeature element contains one or more Query elements that describe a query operation on one feature type. In response to a GetFeature request, a Web Feature Service must be able to generate a GML3 response that validates using a schema generated by the DescribeFeatureType request. A Web Feature Service may support other possibly non-XML (and even binary) output formats as long as those formats are advertised in the capabilities document. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="wfs:BaseRequestType"> <xsd:sequence> <xsd:element ref="wfs:Query" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="resultType" type="wfs:ResultTypeType" use="optional" default="results"> <xsd:annotation> <xsd:documentation> The resultType attribute is used to indicate what response a WFS should return to user once a GetFeature request is processed. Possible values are: results - meaning that the full response set (i.e. all the feature instances) should be returned. hits - meaning that an empty response set should be returned (i.e. no feature instances should be returned) but the "numberOfFeatures" attribute should be set to the number of feature instances that would be returned. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="outputFormat" type="xsd:string" use="optional" default="text/xml; subtype=gml/3.1.1"> <xsd:annotation> <xsd:documentation> The outputFormat attribute is used to specify the output format that the Web Feature Service should generate in response to a GetFeature or GetFeatureWithLock element. The default value of 'text/xml; subtype=gml/3.1.1' indicates that the output is an XML document that conforms to the Geography Markup Language (GML) Implementation Specification V3.1.1. For the purposes of experimentation, vendor extension, or even extensions that serve a specific community of interest, other acceptable output format values may be

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

11

OGC 06-027r1
570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 used to specify other formats as long as those values are advertised in the capabilities document. For example, the value WKB may be used to indicate that a Well Known Binary format be used to encode the output. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="maxFeatures" type="xsd:positiveInteger" use="optional"> <xsd:annotation> <xsd:documentation> The maxFeatures attribute is used to specify the maximum number of features that a GetFeature operation should generate (regardless of the actual number of query hits). </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="traverseXlinkDepth" type="xsd:string" use="optional"> <xsd:annotation> <xsd:documentation> This attribute indicates the depth to which nested property XLink linking element locator attribute (href) XLinks are traversed and resolved if possible. A value of "1" indicates that one linking element locator attribute (href) Xlink will be traversed and the referenced element returned if possible, but nested property XLink linking element locator attribute (href) XLinks in the returned element are not traversed. A value of "*" indicates that all nested property XLink linking element locator attribute (href) XLinks will be traversed and the referenced elements returned if possible. The range of valid values for this attribute consists of positive integers plus "*". If this attribute is not specified then no xlinks shall be resolved and the value of traverseXlinkExpiry attribute (if it specified) may be ignored. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="traverseXlinkExpiry" type="xsd:positiveInteger" use="optional"> <xsd:annotation> <xsd:documentation> The traverseXlinkExpiry attribute value is specified in minutes. It indicates how long a Web Feature Service should wait to receive a response to a nested GetGmlObject request. This attribute is only relevant if a value is specified for the traverseXlinkDepth attribute. </xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:simpleType name="ResultTypeType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="results"> <xsd:annotation> <xsd:documentation> Indicates that a complete response should be generated by the WFS. That is, all response feature instances should be returned to the client. </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="hits"> <xsd:annotation> <xsd:documentation> Indicates that an empty response should be generated with the "numberOfFeatures" attribute set (i.e. no feature

12

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 instances should be returned). In this manner a client may determine the number of feature instances that a GetFeature request will return without having to actually get the entire result set back. </xsd:documentation> </xsd:annotation> </xsd:enumeration> </xsd:restriction> </xsd:simpleType> <xsd:element name="Query" type="wfs:QueryType"> <xsd:annotation> <xsd:documentation> The Query element is used to describe a single query. One or more Query elements can be specified inside a GetFeature element so that multiple queries can be executed in one request. The output from the various queries are combined in a wfs:FeatureCollection element to form the response document. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="QueryType"> <xsd:annotation> <xsd:documentation> The Query element is of type QueryType. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="wfs:PropertyName"> <xsd:annotation> <xsd:documentation> The Property element is used to specify one or more properties of a feature whose values are to be retrieved by a Web Feature Service. While a Web Feature Service should endeavour to satisfy the exact request specified, in some instance this may not be possible. Specifically, a Web Feature Service must generate a valid GML3 response to a Query operation. The schema used to generate the output may include properties that are mandatory. In order that the output validates, these mandatory properties must be specified in the request. If they are not, a Web Feature Service may add them automatically to the Query before processing it. Thus a client application should, in general, be prepared to receive more properties than it requested. Of course, using the DescribeFeatureType request, a client application can determine which properties are mandatory and request them in the first place. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element ref="ogc:Function"> <xsd:annotation> <xsd:documentation> A function may be used as a select item in a query. However, if a function is used, care must be taken to ensure that the result type matches the type in the </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> <xsd:element ref="ogc:Filter" minOccurs="0" maxOccurs="1"> <xsd:annotation> <xsd:documentation> The Filter element is used to define spatial and/or non-spatial constraints on query. Spatial constrains use GML3 to specify the constraining geometry. A full description of the Filter element can be found in the Filter Encoding Implementation

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

13

OGC 06-027r1
714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 Specification. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element ref="ogc:SortBy" minOccurs="0" maxOccurs="1"> <xsd:annotation> <xsd:documentation> The SortBy element is used specify property names whose values should be used to order (upon presentation) the set of feature instances that satisfy the query. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="handle" type="xsd:string" use="optional"> <xsd:annotation> <xsd:documentation> The handle attribute allows a client application to assign a client-generated identifier for the Query. The handle is included to facilitate error reporting. If one Query in a GetFeature request causes an exception, a WFS may report the handle to indicate which query element failed. If the a handle is not present, the WFS may use other means to localize the error (e.g. line numbers). </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="typeName" type="wfs:TypeNameListType" use="required"> <xsd:annotation> <xsd:documentation> The typeName attribute is a list of one or more feature type names that indicate which types of feature instances should be included in the reponse set. Specifying more than one typename indicates that a join operation is being performed. All the names in the typeName list must be valid types that belong to this query's feature content as defined by the GML Application Schema. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="featureVersion" type="xsd:string" use="optional"> <xsd:annotation> <xsd:documentation> For systems that implement versioning, the featureVersion attribute is used to specify which version of a particular feature instance is to be retrieved. A value of ALL means that all versions should be retrieved. An integer value 'i', means that the ith version should be retrieve if it exists or the most recent version otherwise. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="srsName" type="xsd:anyURI" use="optional"> <xsd:annotation> <xsd:documentation> This attribute is used to specify a specific WFS-supported SRS that should be used for returned feature geometries. The value may be the WFS StorageSRS value, DefaultRetrievalSRS value, or one of AdditionalSRS values. If no srsName value is supplied, then the features will be returned using either the DefaultRetrievalSRS, if specified, and StorageSRS otherwise. For feature types with no spatial properties, this attribute must not be specified or ignored if it is specified. </xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:complexType>

14

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 <xsd:simpleType name="Base_TypeNameListType"> <xsd:list itemType="xsd:QName"/> </xsd:simpleType> <xsd:simpleType name="TypeNameListType"> <xsd:restriction base="wfs:Base_TypeNameListType"> <xsd:pattern value="((\w:)?\w(=\w)?){1,}"> <xsd:annotation> <xsd:documentation> Example typeName attribute value might be: typeName="ns1:Inwatera_1m=A, ns2:CoastL_1M=B" In this example, A is an alias for ns1:Inwatera_1m and B is an alias for ns2:CoastL_1M. </xsd:documentation> </xsd:annotation> </xsd:pattern> </xsd:restriction> </xsd:simpleType> <!-- RESPONSE --> <xsd:element name="FeatureCollection" type="wfs:FeatureCollectionType" substitutionGroup="gml:_FeatureCollection"> <xsd:annotation> <xsd:documentation> This element is a container for the response to a GetFeature or GetFeatureWithLock (WFS-transaction.xsd) request. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="FeatureCollectionType"> <xsd:annotation> <xsd:documentation> This type defines a container for the response to a GetFeature or GetFeatureWithLock request. If the request is GetFeatureWithLock, the lockId attribute must be populated. The lockId attribute can otherwise be safely ignored. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="gml:AbstractFeatureCollectionType"> <xsd:attribute name="lockId" type="xsd:string" use="optional"> <xsd:annotation> <xsd:documentation> The value of the lockId attribute is an identifier that a Web Feature Service generates when responding to a GetFeatureWithLock request. A client application can use this value in subsequent operations (such as a Transaction request) to reference the set of locked features. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="timeStamp" type="xsd:dateTime" use="optional"> <xsd:annotation> <xsd:documentation> The timeStamp attribute should contain the date and time that the response was generated. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="numberOfFeatures" type="xsd:nonNegativeInteger" use="optional"> <xsd:annotation> <xsd:documentation> The numberOfFeatures attribute should contain a count of the number of features in the response. That is a count of all features elements dervied from gml:AbstractFeatureType. </xsd:documentation>

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

15

OGC 06-027r1
858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 </xsd:annotation> </xsd:attribute> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- ================================================================== --> <!-- = GETGMLOBJECT Request and Response = --> <!-- ================================================================== --> <xsd:element name="GetGmlObject" type="wfs:GetGmlObjectType"> <xsd:annotation> <xsd:documentation> The GetGmlObject element is used to request that a Web Feature Service return an element with a gml:id attribute value specified by an ogc:GmlObjectId. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="GetGmlObjectType"> <xsd:annotation> <xsd:documentation> A GetGmlObjectType element contains exactly one GmlObjectId. The value of the gml:id attribute on that GmlObjectId is used as a unique key to retrieve the complex element with a gml:id attribute with the same value. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="wfs:BaseRequestType"> <xsd:sequence> <xsd:element ref="ogc:GmlObjectId"/> </xsd:sequence> <xsd:attribute name="outputFormat" type="xsd:string" use="optional" default="GML3"/> <xsd:attribute name="traverseXlinkDepth" type="xsd:string" use="required"> <xsd:annotation> <xsd:documentation> This attribute indicates the depth to which nested property XLink linking element locator attribute (href) XLinks are traversed and resolved if possible. A value of "1" indicates that one linking element locator attribute (href) XLink will be traversed and the referenced element returned if possible, but nested property XLink linking element locator attribute (href) XLinks in the returned element are not traversed. A value of "*" indicates that all nested property XLink linking element locator attribute (href) XLinks will be traversed and the referenced elements returned if possible. The range of valid values for this attribute consists of positive integers plus "*". </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="traverseXlinkExpiry" type="xsd:positiveInteger" use="optional"> <xsd:annotation> <xsd:documentation> The traverseXlinkExpiry attribute value is specified in minutes. It indicates how long a Web Feature Service should wait to receive a response to a nested GetGmlObject request. </xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- RESPONSE --> <!-- ================================================================= --> <!-- The response to a GetGMLObject request is a GML3 fragment(s) that -->

16

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 <!-- has (have) the gml:id('s) specified in the request. --> <!-- ================================================================= --> <!-- ================================================================== --> <!-- = GETFEATUREWITHLOCK Request and Response = --> <!-- ================================================================== --> <!-- REQUEST --> <xsd:element name="GetFeatureWithLock" type="wfs:GetFeatureWithLockType"> <xsd:annotation> <xsd:documentation> This is the root element for the GetFeatureWithLock request. The GetFeatureWithLock operation performs identically to a GetFeature request except that the GetFeatureWithLock request locks all the feature instances in the result set and returns a lock identifier to a client application in the response. The lock identifier is returned to the client application using the lockId attribute define on the wfs:FeatureCollection element. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="GetFeatureWithLockType"> <xsd:annotation> <xsd:documentation> A GetFeatureWithLock request operates identically to a GetFeature request expect that it attempts to lock the feature instances in the result set and includes a lock identifier in its response to a client. A lock identifier is an identifier generated by a Web Feature Service that a client application can use, in subsequent operations, to reference the locked set of feature instances. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="wfs:BaseRequestType"> <xsd:sequence> <xsd:element ref="wfs:Query" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="expiry" type="xsd:positiveInteger" use="optional" default="5"> <xsd:annotation> <xsd:documentation> The expiry attribute is used to set the length of time (expressed in minutes) that features will remain locked as a result of a GetFeatureWithLock request. After the expiry period elapses, the locked resources must be released. If the expiry attribute is not set, then the default value of 5 minutes will be enforced. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="resultType" type="wfs:ResultTypeType" use="optional" default="results"> <xsd:annotation> <xsd:documentation> See definition of wfs:GetFeatureType. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="outputFormat" type="xsd:string" use="optional" default="text/xml; subtype=gml/3.1.1"> <xsd:annotation> <xsd:documentation> See definition of wfs:GetFeatureType. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="maxFeatures"

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

17

OGC 06-027r1
1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 type="xsd:positiveInteger" use="optional"> <xsd:annotation> <xsd:documentation> See definition of wfs:GetFeatureType. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="traverseXlinkDepth" type="xsd:string" use="optional"> <xsd:annotation> <xsd:documentation> See definition of wfs:GetFeatureType. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="traverseXlinkExpiry" type="xsd:positiveInteger" use="optional"> <xsd:annotation> <xsd:documentation> See definition of wfs:GetFeatureType. </xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- ================================================================== --> <!-- = LOCKFEATURE Request and Response = --> <!-- ================================================================== --> <!-- REQUEST --> <xsd:element name="LockFeature" type="wfs:LockFeatureType"> <xsd:annotation> <xsd:documentation> This is the root element for a LockFeature request. The LockFeature request can be used to lock one or more feature instances. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="LockFeatureType"> <xsd:annotation> <xsd:documentation> This type defines the LockFeature operation. The LockFeature element contains one or more Lock elements that define which features of a particular type should be locked. A lock identifier (lockId) is returned to the client application which can be used by subsequent operations to reference the locked features. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="wfs:BaseRequestType"> <xsd:sequence> <xsd:element name="Lock" type="wfs:LockType" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation> The lock element is used to indicate which feature instances of particular type are to be locked. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="expiry" type="xsd:positiveInteger" use="optional" default="5"> <xsd:annotation> <xsd:documentation> The expiry attribute is used to set the length of time (expressed in minutes) that features will remain locked as a result of a LockFeature

18

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 request. After the expiry period elapses, the locked resources must be released. If the expiry attribute is not set, then the default value of 5 minutes will be enforced. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="lockAction" type="wfs:AllSomeType" use="optional" default="ALL"> <xsd:annotation> <xsd:documentation> The lockAction attribute is used to indicate what a Web Feature Service should do when it encounters a feature instance that has already been locked by another client application. Valid values are ALL or SOME. ALL means that the Web Feature Service must acquire locks on all the requested feature instances. If it cannot acquire those locks then the request should fail. In this instance, all locks acquired by the operation should be released. SOME means that the Web Feature Service should lock as many of the requested features as it can. </xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:simpleType name="AllSomeType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="ALL"/> <xsd:enumeration value="SOME"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="LockType"> <xsd:annotation> <xsd:documentation> This type defines the Lock element. The Lock element defines a locking operation on feature instances of a single type. An OGC Filter is used to constrain the scope of the operation. Features to be locked can be identified individually by using their feature identifier or they can be locked by satisfying the spatial and non-spatial constraints defined in the filter. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element ref="ogc:Filter" minOccurs="0" maxOccurs="1"/> </xsd:sequence> <xsd:attribute name="handle" type="xsd:string" use="optional"> <xsd:annotation> <xsd:documentation> The handle attribute allows a client application to assign a client-generated request identifier to a Lock action. The handle is included to facilitate error reporting. If one of a set of Lock actions failed while processing a LockFeature request, a WFS may report the handle in an exception report to localize the error. If a handle is not present then a WFS may employ some other means of localizing the error (e.g. line number). </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="typeName" type="xsd:QName" use="required"> <xsd:annotation> <xsd:documentation>

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

19

OGC 06-027r1
1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 The value of the typeName attribute is the name of the feature type to be updated. The name specified must be a valid type that belongs to the feature content as defined by the GML Application Schema. </xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:complexType> <!-- RESPONSE --> <xsd:element name="LockFeatureResponse" type="wfs:LockFeatureResponseType"> <xsd:annotation> <xsd:documentation> The LockFeatureResponse element contains a report about the completion status of a LockFeature request. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="LockFeatureResponseType"> <xsd:annotation> <xsd:documentation> The LockFeatureResponseType is used to define an element to contains the response to a LockFeature operation. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element ref="wfs:LockId"> <xsd:annotation> <xsd:documentation> The LockFeatureResponse includes a LockId element that contains a lock identifier. The lock identifier can be used by a client, in subsequent operations, to operate upon the locked feature instances. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="FeaturesLocked" type="wfs:FeaturesLockedType" minOccurs="0"> <xsd:annotation> <xsd:documentation> The LockFeature or GetFeatureWithLock operations identify and attempt to lock a set of feature instances that satisfy the constraints specified in the request. In the event that the lockAction attribute (on the LockFeature or GetFeatureWithLock elements) is set to SOME, a Web Feature Service will attempt to lock as many of the feature instances from the result set as possible. The FeaturesLocked element contains list of ogc:FeatureId elements enumerating the feature instances that a WFS actually managed to lock. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="FeaturesNotLocked" type="wfs:FeaturesNotLockedType" minOccurs="0"> <xsd:annotation> <xsd:documentation> In contrast to the FeaturesLocked element, the FeaturesNotLocked element contains a list of ogc:Filter elements identifying feature instances that a WFS did not manage to lock because they were already locked by another process. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="FeaturesLockedType">

20

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 <xsd:sequence maxOccurs="unbounded"> <xsd:element ref="ogc:FeatureId"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="FeaturesNotLockedType"> <xsd:sequence maxOccurs="unbounded"> <xsd:element ref="ogc:FeatureId"/> </xsd:sequence> </xsd:complexType> <!-- ================================================================== --> <!-- = TRANSACTION Request and Response = --> <!-- ================================================================== --> <!-- REQUEST --> <xsd:element name="Transaction" type="wfs:TransactionType"> <xsd:annotation> <xsd:documentation> This is the root element for a Transaction request. A transaction request allows insert, update and delete operations to be performed to create, change or remove feature instances. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="TransactionType"> <xsd:annotation> <xsd:documentation> The TransactionType defines the Transaction operation. A Transaction element contains one or more Insert, Update Delete and Native elements that allow a client application to create, modify or remove feature instances from the feature repository that a Web Feature Service controls. </xsd:documentation> </xsd:annotation> <xsd:complexContent> <xsd:extension base="ows:GetCapabilitiesType"> <xsd:sequence> <xsd:element ref="wfs:LockId" minOccurs="0"> <xsd:annotation> <xsd:documentation> In order for a client application to operate upon locked feature instances, the Transaction request must include the LockId element. The content of this element must be the lock identifier the client application obtained from a previous GetFeatureWithLock or LockFeature operation. If the correct lock identifier is specified the Web Feature Service knows that the client application may operate upon the locked feature instances. No LockId element needs to be specified to operate upon unlocked features. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element ref="wfs:Insert"/> <xsd:element ref="wfs:Update"/> <xsd:element ref="wfs:Delete"/> <xsd:element ref="wfs:Native"/> </xsd:choice> </xsd:sequence> <xsd:attribute name="releaseAction" type="wfs:AllSomeType" use="optional"> <xsd:annotation> <xsd:documentation> The releaseAction attribute is used to control how a Web Feature service releases locks on feature instances after a Transaction request has been processed. Valid values are ALL or SOME.

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

21

OGC 06-027r1
1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361

A value of ALL means that the Web Feature Service should release the locks of all feature instances locked with the specified lockId regardless or whether or not the features were actually modified. A value of SOME means that the Web Feature Service will only release the locks held on feature instances that were actually operated upon by the transaction. The lockId that the client application obtained shall remain valid and the other, unmodified, feature instances shall remain locked. If the expiry attribute was specified in the original operation that locked the feature instances, then the expiry counter will be reset to give the client application that same amount of time to post subsequent transactions against the locked features. </xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="LockId" type="xsd:string"> <xsd:annotation> <xsd:documentation> The LockId element contains the value of the lock identifier obtained by a client application from a previous GetFeatureWithLock or LockFeature request. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="Insert" type="wfs:InsertElementType"> <xsd:annotation> <xsd:documentation> The Insert element is used to indicate that the Web Feature Service should create a new instance of a feature type. The feature instance is specified using GML3 and one or more feature instances to be created can be contained inside the Insert element. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="InsertElementType"> <xsd:annotation> <xsd:documentation> An Insert element may contain a feature collection or one or more feature instances to be inserted into the repository. </xsd:documentation> </xsd:annotation> <xsd:choice> <xsd:element ref="gml:_FeatureCollection" /> <xsd:sequence> <xsd:element ref="gml:_Feature" maxOccurs="unbounded"/> </xsd:sequence> </xsd:choice> <xsd:attribute name="idgen" type="wfs:IdentifierGenerationOptionType" use="optional" default="GenerateNew"> <xsd:annotation> <xsd:documentation> The idgen attribute control how a WFS generates identifiers from newly created feature instances using the Insert action. The default action is to have the WFS generate a new id for the features. This is also backward compatible with WFS 1.0 where the only action was for the WFS to generate an new id. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="handle" type="xsd:string" use="optional">

22

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 <xsd:annotation> <xsd:documentation> The handle attribute allows a client application to assign a client-generated request identifier to an Insert action. The handle is included to facilitate error reporting. If an Insert action in a Transaction request fails, then a WFS may include the handle in an exception report to localize the error. If no handle is included of the offending Insert element then a WFS may employee other means of localizing the error (e.g. line number). </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="inputFormat" type="xsd:string" use="optional" default="text/xml; subtype=gml/3.1.1"> <xsd:annotation> <xsd:documentation> This inputFormat attribute is used to indicate the format used to encode a feature instance in an Insert element. The default value of 'text/xml; subtype=gml/3.1.1' is used to indicate that feature encoding is GML3. Another example might be 'text/xml; subtype=gml/2.1.2' indicating that the feature us encoded in GML2. A WFS must declare in the capabilities document, using a Parameter element, which version of GML it supports. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="srsName" type="xsd:anyURI" use="optional"> <xsd:annotation> <xsd:documentation> ===== PAV 12NOV2004 ==== WHY IS THIS HERE? WOULDN'T WE KNOW THE INCOMING SRS FROM THE GML GEOMETRY ELEMENTS? I ASSUME THAT IF THE INCOMING SRS DOES NOT MATCH ONE OF THE STORAGE SRS(s) THEN THE WFS WOULD EITHER PROJECT INTO THE STORAGE SRS OR RAISE AN EXCEPTION. </xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:complexType> <xsd:simpleType name="IdentifierGenerationOptionType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="UseExisting"> <xsd:annotation> <xsd:documentation> The UseExsiting value indicates that WFS should not generate a new feature identifier for the feature being inserted into the repositry. Instead, the WFS should use the identifier encoded if the feature. If a duplicate exists then the WFS should raise an exception. </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="ReplaceDuplicate"> <xsd:annotation> <xsd:documentation> The ReplaceDuplicate value indicates that WFS should not generate a new feature identifier for the feature being inserted into the repositry. Instead, the WFS should use the identifier encoded if the feature. If a duplicate exists then the WFS should replace the existing feature instance with the one encoded in the Insert action. </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="GenerateNew"> <xsd:annotation> <xsd:documentation>

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

23

OGC 06-027r1
1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 The GenerateNew value indicates that WFS should generate a new unique feature identifier for the feature being inserted into the repositry. </xsd:documentation> </xsd:annotation> </xsd:enumeration> </xsd:restriction> </xsd:simpleType> <xsd:element name="Update" type="wfs:UpdateElementType"> <xsd:annotation> <xsd:documentation> One or more existing feature instances can be changed by using the Update element. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="UpdateElementType"> <xsd:sequence> <xsd:element ref="wfs:Property" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation> Changing or updating a feature instance means that the current value of one or more properties of the feature are replaced with new values. The Update element contains one or more Property elements. A Property element contains the name or a feature property who's value is to be changed and the replacement value for that property. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element ref="ogc:Filter" minOccurs="0" maxOccurs="1"> <xsd:annotation> <xsd:documentation> The Filter element is used to constrain the scope of the update operation to those features identified by the filter. Feature instances can be specified explicitly and individually using the identifier of each feature instance OR a set of features to be operated on can be identified by specifying spatial and non-spatial constraints in the filter. If no filter is specified then update operation applies to all feature instances. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="handle" type="xsd:string" use="optional"> <xsd:annotation> <xsd:documentation> The handle attribute allows a client application to assign a client-generated request identifier to an Insert action. The handle is included to facilitate error reporting. If an Update action in a Transaction request fails, then a WFS may include the handle in an exception report to localize the error. If no handle is included of the offending Insert element then a WFS may employee other means of localizing the error (e.g. line number). </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="typeName" type="xsd:QName" use="required"> <xsd:annotation> <xsd:documentation> The value of the typeName attribute is the name of the feature type to be updated. The name specified must be a valid type that belongs to the feature content as defined by the GML Application Schema. </xsd:documentation> </xsd:annotation>

24

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 </xsd:attribute> <xsd:attribute name="inputFormat" type="xsd:string" use="optional" default="x-application/gml:3"> <xsd:annotation> <xsd:documentation> This inputFormat attribute is used to indicate the format used to encode a feature instance in an Insert element. The default value of 'text/xml; subtype=gml/3.1.1' is used to indicate that feature encoding is GML3. Another example might be 'text/xml; subtype=gml/2.1.2' indicating that the feature us encoded in GML2. A WFS must declare in the capabilities document, using a Parameter element, which version of GML it supports. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="srsName" type="xsd:anyURI" use="optional"> <xsd:annotation> <xsd:documentation> DO WE NEED THIS HERE? </xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:complexType> <xsd:element name="Property" type="wfs:PropertyType"> <xsd:annotation> <xsd:documentation> The Property element is used to specify the new value of a feature property inside an Update element. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="PropertyType"> <xsd:sequence> <xsd:element name="Name" type="xsd:QName"> <xsd:annotation> <xsd:documentation> The Name element contains the name of a feature property to be updated. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="Value" minOccurs="0"> <xsd:annotation> <xsd:documentation> The Value element contains the replacement value for the named property. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:element name="Delete" type="wfs:DeleteElementType"> <xsd:annotation> <xsd:documentation> The Delete element is used to indicate that one or more feature instances should be removed from the feature repository. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="DeleteElementType"> <xsd:sequence> <xsd:element ref="ogc:Filter" minOccurs="1" maxOccurs="1"> <xsd:annotation> <xsd:documentation> The Filter element is used to constrain the scope of the delete operation to those features identified by the filter. Feature instances can be specified explicitly and individually using the identifier of

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

25

OGC 06-027r1
1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 each feature instance OR a set of features to be operated on can be identified by specifying spatial and non-spatial constraints in the filter. If no filter is specified then an exception should be raised since it is unlikely that a client application intends to delete all feature instances. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="handle" type="xsd:string" use="optional"> <xsd:annotation> <xsd:documentation> The handle attribute allows a client application to assign a client-generated request identifier to an Insert action. The handle is included to facilitate error reporting. If a Delete action in a Transaction request fails, then a WFS may include the handle in an exception report to localize the error. If no handle is included of the offending Insert element then a WFS may employee other means of localizing the error (e.g. line number). </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="typeName" type="xsd:QName" use="required"> <xsd:annotation> <xsd:documentation> The value of the typeName attribute is the name of the feature type to be updated. The name specified must be a valid type that belongs to the feature content as defined by the GML Application Schema. </xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:complexType> <xsd:element name="Native" type="wfs:NativeType"> <xsd:annotation> <xsd:documentation> Many times, a Web Feature Service interacts with a repository that may have special vendor specific capabilities. The native element allows vendor specific command to be passed to the repository via the Web Feature Service. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="NativeType"> <xsd:attribute name="vendorId" type="xsd:string" use="required"> <xsd:annotation> <xsd:documentation> The vendorId attribute is used to specify the name of vendor who's vendor specific command the client application wishes to execute. </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="safeToIgnore" type="xsd:boolean" use="required"> <xsd:annotation> <xsd:documentation> In the event that a Web Feature Service does not recognize the vendorId or does not recognize the vendor specific command, the safeToIgnore attribute is used to indicate whether the exception can be safely ignored. A value of TRUE means that the Web Feature Service may ignore the command. A value of FALSE means that a Web Feature Service cannot ignore the command and an exception should be raised if a problem is encountered. </xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:complexType>

26

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 <!-- REPONSE --> <xsd:element name="TransactionResponse" type="wfs:TransactionResponseType"> <xsd:annotation> <xsd:documentation> The TransactionResponse element contains a report about the completion status of a Transaction operation. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="TransactionResponseType"> <xsd:annotation> <xsd:documentation xml:lang="en"> The response for a transaction request that was successfully completed. If the transaction failed for any reason, an exception report is returned instead. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="TransactionSummary" type="wfs:TransactionSummaryType"> <xsd:annotation> <xsd:documentation xml:lang="en"> The TransactionSummary element is used to summarize the number of feature instances affected by the transaction. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="TransactionResults" type="wfs:TransactionResultsType" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="en"> For systems that do not support atomic transactions, the TransactionResults element may be used to report exception codes and messages for all actions of a transaction that failed to execute successfully. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="InsertResults" type="wfs:InsertResultType"> <xsd:annotation> <xsd:documentation xml:lang="en"> A transaction is a collection of Insert,Update and Delete actions. The Update and Delete actions modify features that already exist. The Insert action, however, creates new features. The InsertResults element is used to report the identifiers of the newly created features. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="version" type="xsd:string" use="required" fixed="1.1.0"> <xsd:annotation> <xsd:documentation> The version attribute contains the version of the request that generated this response. So a V1.1.0 transaction request generates a V1.1.0 transaction response. </xsd:documentation> </xsd:annotation> </xsd:attribute> </xsd:complexType> <xsd:complexType name="TransactionSummaryType"> <xsd:annotation> <xsd:documentation xml:lang="en"> Reports the total number of features affected by some kind of write action (i.e, insert, update, delete). </xsd:documentation> </xsd:annotation>

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

27

OGC 06-027r1
1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 <xsd:sequence> <xsd:element name="totalInserted" type="xsd:nonNegativeInteger" minOccurs="0"/> <xsd:element name="totalUpdated" type="xsd:nonNegativeInteger" minOccurs="0"/> <xsd:element name="totalDeleted" type="xsd:nonNegativeInteger" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="TransactionResultsType"> <xsd:annotation> <xsd:documentation> The TransactionResults element may be used to report exception codes and messages for all actions of a transaction that failed to complete successfully. </xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="Action" type="wfs:ActionType" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation> The Action element reports an exception code and exception message indicating why the corresponding action of a transaction request failed. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ActionType"> <xsd:sequence> <xsd:element name="Message" type="xsd:string" minOccurs="0" maxOccurs="1"> <xsd:annotation> <xsd:documentation> If an action fails, the message element may be used to supply an exception message. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="locator" type="xsd:string" use="required"> <xsd:annotation> <xsd:documentation> The locator attribute is used to locate an action within a &lt;Transaction&gt; element. The value of the locator attribute is either a string that is equal to the value of the handle attribute specified on an &lt;Insert&gt;, &lt;Update&gt; or &lt;Delete&gt; action. If a value is not specified for the handle attribute then a WFS may employ some other means of locating the action. For example, the value of the locator attribute may be an integer indicating the order of the action (i.e. 1=First action, 2=Second action, etc.). </xsd:documentation> </xsd:annotation> </xsd:attribute> <xsd:attribute name="code" type="xsd:string" use="optional"> <xsd:annotation> <xsd:documentation> The code attribute may be used to specify an exception code indicating why an action failed. </xsd:documentation> </xsd:annotation> </xsd:attribute>

28

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

OGC 06-027r1
1794 </xsd:complexType> 1795 <xsd:complexType name="InsertResultType"> 1796 <xsd:annotation> 1797 <xsd:documentation xml:lang="en"> 1798 Reports the list of identifiers of all features created 1799 by a transaction request. New features are created using 1800 the Insert action and the list of idetifiers must be 1801 presented in the same order as the Insert actions were 1802 encountered in the transaction request. Features may 1803 optionally be correlated with identifiers using the 1804 handle attribute (if it was specified on the Insert 1805 element). 1806 </xsd:documentation> 1807 </xsd:annotation> 1808 <xsd:sequence> 1809 <xsd:element name="Feature" 1810 type="wfs:InsertedFeatureType" 1811 maxOccurs="unbounded"/> 1812 </xsd:sequence> 1813 </xsd:complexType> 1814 <xsd:complexType name="InsertedFeatureType"> 1815 <xsd:sequence> 1816 <xsd:element ref="ogc:FeatureId" maxOccurs="unbounded"> 1817 <xsd:annotation> 1818 <xsd:documentation xml:lang="en"> 1819 This is the feature identifier for the newly created 1820 feature. The feature identifier may be generated by 1821 the WFS or provided by the client (depending on the 1822 value of the idgen attribute). In all cases of idgen 1823 values, the feature id must be reported here. 1824 </xsd:documentation> 1825 </xsd:annotation> 1826 </xsd:element> 1827 </xsd:sequence> 1828 <xsd:attribute name="handle" type="xsd:string" use="optional"> 1829 <xsd:annotation> 1830 <xsd:documentation xml:lang="en"> 1831 If the insert element that generated this feature 1832 had a value for the "handle" attribute then a WFS 1833 may report it using this attribute to correlate 1834 the feature created with the action that created it. 1835 </xsd:documentation> 1836 </xsd:annotation> 1837 </xsd:attribute> 1838 </xsd:complexType> 1839 </xsd:schema>

Copyright 2006 Open Geospatial Consortium, Inc. All Rights Reserved.

29

Vous aimerez peut-être aussi