Attribute descriptions Request .1 Schema

OpenGIS © Specification OGC 04-094 Copyright © Open Geospatial Consortium, Inc 2005 65 default action if no value is specified for the releaseAction attribute. A value of SOME indicates that only the locks on feature instances modified by the transaction should be released. The other, unmodified, feature instances should remain locked using the same LockId so that subsequent transactions can operate on those feature instances. In the event that the releaseAction is set to SOME, and an expiry period was specified on the LockFeature or GetFeatureWithLock elements using the expiry attribute, the expiry counter must be reset to zero after each transaction unless all feature instances in the locked set have been operated upon. For example, if a client application locks 20 feature instances and then submits a transaction request that only operates on 10 of those locked feature instances, a releaseAction of SOME would mean that the 10 remaining unaltered feature instances should remain locked when the transaction terminates. Subsequent transaction operations can then be submitted by the client application, using the same lock identifier to modify the remaining 10 feature instances.

12.2.3 Transaction element

A Transaction element may contain zero or more Insert, Update, or Delete elements that describe operations to create, modify or destroy feature instances. A web feature service must process Insert, Update and Delete elements in the order in which they are presented in the transaction request. Subsequent update and delete actions, in a transaction request, may operate on feature instances created by previous insert actions in the same transaction request 2 . An empty Transaction element is valid but not very useful. The optional LockId element is used to specify that the transaction will be applied to previously locked set of feature instances. Clause 11 presents a full description of a feature locking mechanism. If the WFS does not support feature locking, then the LockId element can be ignored. If a WFS does support locking and an invalid lock identifier is specified in the transaction, then the transaction shall fail and the web feature service shall report the error as described in clause 7.7. At the end of a transaction, the web feature service shall apply transaction semantics appropriate to the particular system used to persistently store features. For example, if the datastore is a SQL based RDBMS, then a commit will be executed at the end of the transaction or a rollback should the transaction fail. Any locks maintained by the web feature service for the duration of the transaction shall be released according to the value of the releaseAction attribute described above. The Native element is defined in clause 7.5. 2 NOTE: It is not be possible to identify feature instances created in the same transaction request, to be updated or deleted, with a predicate that uses the GmlObjectId or FeatureId element if those feature instances where create with the value of the idgen attribute set to GenerateNew. With the idgen attribute set to GenerateNew, the feature identifiers assigned to those feature instances will not be known until the transaction response is generated. OpenGIS © Specification OGC 04-094 Copyright © Open Geospatial Consortium, Inc 2005 66 12.2.4 Insert element The Insert element is used to create new feature instances. By default, the initial state of a feature to be created is expressed using GML3 and must validate relative to a GML3 application schema generated by the DescribeFeatureType operation [sec. 8]. However, the defined inputFormat attribute may be used to support older versions of GML. Table 2c defines the possible values for the inputFormat attribute: Table 2c – Possible values for the inputFormat attribute inputFormat Value Description textxml; subtype=gml2.1.2 This value is specified for backward compatability and indicates that the input features is a GML2 feature instance that validates against a GML2 application schema. textxml; subtype=gml3.1.1 This value indicates that the input feauture instance is a GML3 feature that validates against a GML3 application schema. This is the default value for the inputFormat attribute if it is not specified on the Insert or Update element. Multiple Insert elements can be enclosed in a single Transaction request and multiple feature instances can be created using a single Insert element.