@stefanaki/wfs-ts 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/README.md +129 -0
  2. package/dist/index.cjs +2357 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +337 -0
  5. package/dist/index.d.ts +337 -0
  6. package/dist/index.js +2314 -0
  7. package/dist/index.js.map +1 -0
  8. package/namespaces/wfs11/schemas.opengis.net/filter/1.1.0/expr.xsd +67 -0
  9. package/namespaces/wfs11/schemas.opengis.net/filter/1.1.0/filter.xsd +265 -0
  10. package/namespaces/wfs11/schemas.opengis.net/filter/1.1.0/filterAll.xsd +26 -0
  11. package/namespaces/wfs11/schemas.opengis.net/filter/1.1.0/filterCapabilities.xsd +171 -0
  12. package/namespaces/wfs11/schemas.opengis.net/filter/1.1.0/sort.xsd +47 -0
  13. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/basicTypes.xsd +279 -0
  14. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/coordinateOperations.xsd +790 -0
  15. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/coordinateReferenceSystems.xsd +430 -0
  16. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/coordinateSystems.xsd +409 -0
  17. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/coverage.xsd +452 -0
  18. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/dataQuality.xsd +130 -0
  19. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/datums.xsd +485 -0
  20. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/defaultStyle.xsd +455 -0
  21. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/dictionary.xsd +138 -0
  22. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/direction.xsd +73 -0
  23. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/dynamicFeature.xsd +116 -0
  24. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/feature.xsd +200 -0
  25. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/geometryAggregates.xsd +431 -0
  26. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/geometryBasic0d1d.xsd +603 -0
  27. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/geometryBasic2d.xsd +214 -0
  28. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/geometryComplexes.xsd +142 -0
  29. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/geometryPrimitives.xsd +1610 -0
  30. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/gml.xsd +22 -0
  31. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/gmlBase.xsd +295 -0
  32. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/grids.xsd +77 -0
  33. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/measures.xsd +201 -0
  34. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/observation.xsd +97 -0
  35. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/referenceSystems.xsd +212 -0
  36. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/temporal.xsd +333 -0
  37. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/temporalReferenceSystems.xsd +252 -0
  38. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/temporalTopology.xsd +187 -0
  39. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/topology.xsd +460 -0
  40. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/units.xsd +171 -0
  41. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/base/valueObjects.xsd +362 -0
  42. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/smil/smil20-language.xsd +117 -0
  43. package/namespaces/wfs11/schemas.opengis.net/gml/3.1.1/smil/smil20.xsd +234 -0
  44. package/namespaces/wfs11/schemas.opengis.net/ows/1.0.0/ows19115subset.xsd +223 -0
  45. package/namespaces/wfs11/schemas.opengis.net/ows/1.0.0/owsAll.xsd +20 -0
  46. package/namespaces/wfs11/schemas.opengis.net/ows/1.0.0/owsCommon.xsd +156 -0
  47. package/namespaces/wfs11/schemas.opengis.net/ows/1.0.0/owsDataIdentification.xsd +113 -0
  48. package/namespaces/wfs11/schemas.opengis.net/ows/1.0.0/owsExceptionReport.xsd +68 -0
  49. package/namespaces/wfs11/schemas.opengis.net/ows/1.0.0/owsGetCapabilities.xsd +109 -0
  50. package/namespaces/wfs11/schemas.opengis.net/ows/1.0.0/owsOperationsMetadata.xsd +162 -0
  51. package/namespaces/wfs11/schemas.opengis.net/ows/1.0.0/owsServiceIdentification.xsd +56 -0
  52. package/namespaces/wfs11/schemas.opengis.net/ows/1.0.0/owsServiceProvider.xsd +47 -0
  53. package/namespaces/wfs11/schemas.opengis.net/wfs/1.1.0/wfs.xsd +1867 -0
  54. package/namespaces/wfs11/www.w3.org/1999/xlink.xsd +270 -0
  55. package/namespaces/wfs11/www.w3.org/2001/xml.xsd +287 -0
  56. package/namespaces/wfs11/www.w3.org/2009/01/xml.xsd +286 -0
  57. package/namespaces/wfs20/schemas.opengis.net/filter/2.0/expr.xsd +44 -0
  58. package/namespaces/wfs20/schemas.opengis.net/filter/2.0/filter.xsd +396 -0
  59. package/namespaces/wfs20/schemas.opengis.net/filter/2.0/filterAll.xsd +23 -0
  60. package/namespaces/wfs20/schemas.opengis.net/filter/2.0/filterCapabilities.xsd +286 -0
  61. package/namespaces/wfs20/schemas.opengis.net/filter/2.0/query.xsd +70 -0
  62. package/namespaces/wfs20/schemas.opengis.net/filter/2.0/sort.xsd +49 -0
  63. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/basicTypes.xsd +268 -0
  64. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/coordinateOperations.xsd +525 -0
  65. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/coordinateReferenceSystems.xsd +373 -0
  66. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/coordinateSystems.xsd +297 -0
  67. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/coverage.xsd +292 -0
  68. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/datums.xsd +287 -0
  69. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/deprecatedTypes.xsd +1133 -0
  70. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/dictionary.xsd +90 -0
  71. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/direction.xsd +84 -0
  72. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/dynamicFeature.xsd +109 -0
  73. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/feature.xsd +94 -0
  74. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/geometryAggregates.xsd +197 -0
  75. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/geometryBasic0d1d.xsd +277 -0
  76. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/geometryBasic2d.xsd +128 -0
  77. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/geometryComplexes.xsd +95 -0
  78. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/geometryPrimitives.xsd +850 -0
  79. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/gml.xsd +20 -0
  80. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/gmlBase.xsd +185 -0
  81. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/grids.xsd +64 -0
  82. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/measures.xsd +68 -0
  83. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/observation.xsd +95 -0
  84. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/referenceSystems.xsd +70 -0
  85. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/temporal.xsd +269 -0
  86. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/temporalReferenceSystems.xsd +189 -0
  87. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/temporalTopology.xsd +119 -0
  88. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/topology.xsd +386 -0
  89. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/units.xsd +162 -0
  90. package/namespaces/wfs20/schemas.opengis.net/gml/3.2.1/valueObjects.xsd +205 -0
  91. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gco/basicTypes.xsd +431 -0
  92. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gco/gco.xsd +12 -0
  93. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gco/gcoBase.xsd +63 -0
  94. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/applicationSchema.xsd +43 -0
  95. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/citation.xsd +276 -0
  96. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/constraints.xsd +107 -0
  97. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/content.xsd +190 -0
  98. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/dataQuality.xsd +556 -0
  99. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/distribution.xsd +203 -0
  100. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/extent.xsd +206 -0
  101. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/freeText.xsd +123 -0
  102. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/gmd.xsd +12 -0
  103. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/identification.xsd +349 -0
  104. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/maintenance.xsd +87 -0
  105. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/metadataApplication.xsd +176 -0
  106. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/metadataEntity.xsd +71 -0
  107. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/metadataExtension.xsd +100 -0
  108. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/portrayalCatalogue.xsd +37 -0
  109. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/referenceSystem.xsd +101 -0
  110. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gmd/spatialRepresentation.xsd +238 -0
  111. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gsr/gsr.xsd +12 -0
  112. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gsr/spatialReferencing.xsd +25 -0
  113. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gss/geometry.xsd +36 -0
  114. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gss/gss.xsd +12 -0
  115. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gts/gts.xsd +12 -0
  116. package/namespaces/wfs20/schemas.opengis.net/iso/19139/20070417/gts/temporalObjects.xsd +35 -0
  117. package/namespaces/wfs20/schemas.opengis.net/ows/1.1.0/ows19115subset.xsd +236 -0
  118. package/namespaces/wfs20/schemas.opengis.net/ows/1.1.0/owsAll.xsd +23 -0
  119. package/namespaces/wfs20/schemas.opengis.net/ows/1.1.0/owsCommon.xsd +158 -0
  120. package/namespaces/wfs20/schemas.opengis.net/ows/1.1.0/owsContents.xsd +87 -0
  121. package/namespaces/wfs20/schemas.opengis.net/ows/1.1.0/owsDataIdentification.xsd +128 -0
  122. package/namespaces/wfs20/schemas.opengis.net/ows/1.1.0/owsDomainType.xsd +280 -0
  123. package/namespaces/wfs20/schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd +77 -0
  124. package/namespaces/wfs20/schemas.opengis.net/ows/1.1.0/owsGetCapabilities.xsd +113 -0
  125. package/namespaces/wfs20/schemas.opengis.net/ows/1.1.0/owsGetResourceByID.xsd +52 -0
  126. package/namespaces/wfs20/schemas.opengis.net/ows/1.1.0/owsInputOutputData.xsd +60 -0
  127. package/namespaces/wfs20/schemas.opengis.net/ows/1.1.0/owsManifest.xsd +125 -0
  128. package/namespaces/wfs20/schemas.opengis.net/ows/1.1.0/owsOperationsMetadata.xsd +141 -0
  129. package/namespaces/wfs20/schemas.opengis.net/ows/1.1.0/owsServiceIdentification.xsd +61 -0
  130. package/namespaces/wfs20/schemas.opengis.net/ows/1.1.0/owsServiceProvider.xsd +48 -0
  131. package/namespaces/wfs20/schemas.opengis.net/wfs/2.0/wfs.xsd +786 -0
  132. package/namespaces/wfs20/www.w3.org/1999/xlink.xsd +270 -0
  133. package/namespaces/wfs20/www.w3.org/2001/xml.xsd +287 -0
  134. package/namespaces/wfs20/www.w3.org/2009/01/xml.xsd +286 -0
  135. package/package.json +52 -0
@@ -0,0 +1,1867 @@
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.2.0">
11
+
12
+ <!--
13
+ WFS is an OGC Standard.
14
+ Copyright (c) 2002,2010 Open Geospatial Consortium.
15
+ To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
16
+ -->
17
+
18
+ <!-- ==============================================================
19
+ Includes and Imports
20
+ ============================================================== -->
21
+ <xsd:import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"/>
22
+ <xsd:import namespace="http://www.opengis.net/ogc" schemaLocation="http://schemas.opengis.net/filter/1.1.0/filter.xsd"/>
23
+ <xsd:import namespace="http://www.opengis.net/ows" schemaLocation="http://schemas.opengis.net/ows/1.0.0/owsAll.xsd"/>
24
+
25
+ <!-- ================================================================== -->
26
+ <!-- = BASE REQUEST TYPE = -->
27
+ <!-- ================================================================== -->
28
+ <xsd:complexType name="BaseRequestType" abstract="true">
29
+ <xsd:annotation>
30
+ <xsd:documentation>
31
+ XML encoded WFS operation request base, for all operations
32
+ except GetCapabilities.
33
+ </xsd:documentation>
34
+ </xsd:annotation>
35
+ <xsd:attribute name="service" type="ows:ServiceType"
36
+ use="optional" default="WFS">
37
+ <xsd:annotation>
38
+ <xsd:documentation>
39
+ The service attribute is included to support service
40
+ endpoints that implement more than one OGC service.
41
+ For example, a single CGI that implements WMS, WFS
42
+ and WCS services.
43
+ The endpoint can inspect the value of this attribute
44
+ to figure out which service should process the request.
45
+ The value WFS indicates that a web feature service should
46
+ process the request.
47
+ This parameter is somewhat redundant in the XML encoding
48
+ since the request namespace can be used to determine
49
+ which service should process any give request. For example,
50
+ wfs:GetCapabilities and easily be distinguished from
51
+ wcs:GetCapabilities using the namespaces.
52
+ </xsd:documentation>
53
+ </xsd:annotation>
54
+ </xsd:attribute>
55
+ <xsd:attribute name="version" type="xsd:string"
56
+ use="optional" default="1.1.0">
57
+ <xsd:annotation>
58
+ <xsd:documentation>
59
+ The version attribute is used to indicate the version of the
60
+ WFS specification that a request conforms to. All requests in
61
+ this schema conform to V1.1 of the WFS specification.
62
+ For WFS implementations that support more than one version of
63
+ a WFS sepcification ... if the version attribute is not
64
+ specified then the service should assume that the request
65
+ conforms to greatest available specification version.
66
+ </xsd:documentation>
67
+ </xsd:annotation>
68
+ </xsd:attribute>
69
+ <xsd:attribute name="handle"
70
+ type="xsd:string" use="optional">
71
+ <xsd:annotation>
72
+ <xsd:documentation>
73
+ The handle attribute allows a client application
74
+ to assign a client-generated request identifier
75
+ to a WFS request. The handle is included to
76
+ facilitate error reporting. A WFS may report the
77
+ handle in an exception report to identify the
78
+ offending request or action. If the handle is not
79
+ present, then the WFS may employ other means to
80
+ localize the error (e.g. line numbers).
81
+ </xsd:documentation>
82
+ </xsd:annotation>
83
+ </xsd:attribute>
84
+ </xsd:complexType>
85
+
86
+ <!-- ============================================================== -->
87
+ <!-- = PROPERTY NAME ELEMENT = -->
88
+ <!-- ============================================================== -->
89
+ <xsd:element name="PropertyName" type="xsd:string">
90
+ <xsd:annotation>
91
+ <xsd:documentation>
92
+ The Property element is used to specify one or more
93
+ properties of a feature whose values are to be retrieved
94
+ by a Web Feature Service.
95
+
96
+ While a Web Feature Service should endeavour to satisfy
97
+ the exact request specified, in some instance this may
98
+ not be possible. Specifically, a Web Feature Service
99
+ must generate a valid GML3 response to a Query operation.
100
+ The schema used to generate the output may include
101
+ properties that are mandatory. In order that the output
102
+ validates, these mandatory properties must be specified
103
+ in the request. If they are not, a Web Feature Service
104
+ may add them automatically to the Query before processing
105
+ it. Thus a client application should, in general, be
106
+ prepared to receive more properties than it requested.
107
+
108
+ Of course, using the DescribeFeatureType request, a client
109
+ application can determine which properties are mandatory
110
+ and request them in the first place.
111
+ </xsd:documentation>
112
+ </xsd:annotation>
113
+ </xsd:element>
114
+ <xsd:element name="XlinkPropertyName">
115
+ <xsd:annotation>
116
+ <xsd:documentation>
117
+ This element may be used in place of an wfs:PropertyName element
118
+ in a wfs:Query element in a wfs:GetFeature element to selectively
119
+ request the traversal of nested XLinks in the returned element for
120
+ the named property. This element may not be used in other requests
121
+ -- GetFeatureWithLock, LockFeature, Insert, Update, Delete -- in
122
+ this version of the WFS specification.
123
+ </xsd:documentation>
124
+ </xsd:annotation>
125
+ <xsd:complexType>
126
+ <xsd:simpleContent>
127
+ <xsd:extension base="xsd:string">
128
+ <xsd:attribute name="traverseXlinkDepth"
129
+ type="xsd:string" use="required">
130
+ <xsd:annotation>
131
+ <xsd:documentation>
132
+ This attribute indicates the depth to which nested property
133
+ XLink linking element locator attribute (href) XLinks are
134
+ traversed and resolved if possible. A value of "1" indicates
135
+ that one linking element locator attribute (href) Xlink
136
+ will be traversed and the referenced element returned if
137
+ possible, but nested property XLink linking element locator
138
+ attribute (href) XLinks in the returned element are not
139
+ traversed. A value of "*" indicates that all nested property
140
+ XLink linking element locator attribute (href) XLinks will be
141
+ traversed and the referenced elements returned if possible.
142
+ The range of valid values for this attribute consists of
143
+ positive integers plus "*".
144
+ </xsd:documentation>
145
+ </xsd:annotation>
146
+ </xsd:attribute>
147
+ <xsd:attribute name="traverseXlinkExpiry"
148
+ type="xsd:positiveInteger"
149
+ use="optional">
150
+ <xsd:annotation>
151
+ <xsd:documentation>
152
+ The traverseXlinkExpiry attribute value is specified in
153
+ minutes It indicates how long a Web Feature Service should
154
+ wait to receive a response to a nested GetGmlObject request.
155
+ </xsd:documentation>
156
+ </xsd:annotation>
157
+ </xsd:attribute>
158
+ </xsd:extension>
159
+ </xsd:simpleContent>
160
+ </xsd:complexType>
161
+ </xsd:element>
162
+
163
+ <!-- ================================================================== -->
164
+ <!-- = GETCAPABILITIES Request and Response = -->
165
+ <!-- ================================================================== -->
166
+ <!-- REQUEST -->
167
+ <xsd:element name="GetCapabilities" type="wfs:GetCapabilitiesType"/>
168
+ <xsd:complexType name="GetCapabilitiesType">
169
+ <xsd:annotation>
170
+ <xsd:documentation>
171
+ Request to a WFS to perform the GetCapabilities operation.
172
+ This operation allows a client to retrieve a Capabilities
173
+ XML document providing metadata for the specific WFS server.
174
+
175
+ The GetCapapbilities element is used to request that a Web Feature
176
+ Service generate an XML document describing the organization
177
+ providing the service, the WFS operations that the service
178
+ supports, a list of feature types that the service can operate
179
+ on and list of filtering capabilities that the service support.
180
+ Such an XML document is called a capabilities document.
181
+ </xsd:documentation>
182
+ </xsd:annotation>
183
+ <xsd:complexContent>
184
+ <xsd:extension base="ows:GetCapabilitiesType">
185
+ <xsd:attribute name="service" type="ows:ServiceType"
186
+ use="optional" default="WFS"/>
187
+
188
+ </xsd:extension>
189
+ </xsd:complexContent>
190
+ </xsd:complexType>
191
+ <!-- RESPONSE -->
192
+ <xsd:element name="WFS_Capabilities"
193
+ type="wfs:WFS_CapabilitiesType"/>
194
+ <xsd:complexType name="WFS_CapabilitiesType">
195
+ <xsd:annotation>
196
+ <xsd:documentation>
197
+ XML encoded WFS GetCapabilities operation response. This
198
+ document provides clients with service metadata about a
199
+ specific service instance, including metadata about the
200
+ tightly-coupled data served. If the server does not implement
201
+ the updateSequence parameter, the server shall always return
202
+ the complete Capabilities document, without the updateSequence
203
+ parameter. When the server implements the updateSequence
204
+ parameter and the GetCapabilities operation request included
205
+ the updateSequence parameter with the current value, the server
206
+ shall return this element with only the "version" and
207
+ "updateSequence" attributes. Otherwise, all optional elements
208
+ shall be included or not depending on the actual value of the
209
+ Contents parameter in the GetCapabilities operation request.
210
+ </xsd:documentation>
211
+ </xsd:annotation>
212
+ <xsd:complexContent>
213
+ <xsd:extension base="ows:CapabilitiesBaseType">
214
+ <xsd:sequence>
215
+ <xsd:element ref="wfs:FeatureTypeList" minOccurs="0"/>
216
+ <xsd:element ref="wfs:ServesGMLObjectTypeList" minOccurs="0"/>
217
+ <xsd:element ref="wfs:SupportsGMLObjectTypeList" minOccurs="0"/>
218
+ <xsd:element ref="ogc:Filter_Capabilities"/>
219
+ </xsd:sequence>
220
+ </xsd:extension>
221
+ </xsd:complexContent>
222
+ </xsd:complexType>
223
+ <xsd:element name="FeatureTypeList" type="wfs:FeatureTypeListType"/>
224
+ <xsd:complexType name="FeatureTypeListType">
225
+ <xsd:annotation>
226
+ <xsd:documentation>
227
+ A list of feature types available from this server.
228
+ </xsd:documentation>
229
+ </xsd:annotation>
230
+ <xsd:sequence>
231
+ <xsd:element name="Operations"
232
+ type="wfs:OperationsType"
233
+ minOccurs="0"/>
234
+ <xsd:element name="FeatureType"
235
+ type="wfs:FeatureTypeType"
236
+ maxOccurs="unbounded"/>
237
+ </xsd:sequence>
238
+ </xsd:complexType>
239
+ <xsd:complexType name="FeatureTypeType">
240
+ <xsd:annotation>
241
+ <xsd:documentation>
242
+ An element of this type that describes a feature in an application
243
+ namespace shall have an xml xmlns specifier, e.g.
244
+ xmlns:bo="http://www.BlueOx.org/BlueOx"
245
+ </xsd:documentation>
246
+ </xsd:annotation>
247
+ <xsd:sequence>
248
+ <xsd:element name="Name" type="xsd:QName">
249
+ <xsd:annotation>
250
+ <xsd:documentation>
251
+ Name of this feature type, including any namespace prefix
252
+ </xsd:documentation>
253
+ </xsd:annotation>
254
+ </xsd:element>
255
+ <xsd:element name="Title" type="xsd:string">
256
+ <xsd:annotation>
257
+ <xsd:documentation>
258
+ Title of this feature type, normally used for display
259
+ to a human.
260
+ </xsd:documentation>
261
+ </xsd:annotation>
262
+ </xsd:element>
263
+ <xsd:element name="Abstract" type="xsd:string" minOccurs="0">
264
+ <xsd:annotation>
265
+ <xsd:documentation>
266
+ Brief narrative description of this feature type, normally
267
+ used for display to a human.
268
+ </xsd:documentation>
269
+ </xsd:annotation>
270
+ </xsd:element>
271
+ <xsd:element ref="ows:Keywords" minOccurs="0" maxOccurs="unbounded"/>
272
+ <xsd:choice>
273
+ <xsd:sequence>
274
+ <xsd:element name="DefaultSRS"
275
+ type="xsd:anyURI">
276
+ <xsd:annotation>
277
+ <xsd:documentation>
278
+ The DefaultSRS element indicated which spatial
279
+ reference system shall be used by a WFS to
280
+ express the state of a spatial feature if not
281
+ otherwise explicitly identified within a query
282
+ or transaction request. The SRS may be indicated
283
+ using either the EPSG form (EPSG:posc code) or
284
+ the URL form defined in subclause 4.3.2 of
285
+ refernce[2].
286
+ </xsd:documentation>
287
+ </xsd:annotation>
288
+ </xsd:element>
289
+ <xsd:element name="OtherSRS"
290
+ type="xsd:anyURI"
291
+ minOccurs="0" maxOccurs="unbounded">
292
+ <xsd:annotation>
293
+ <xsd:documentation>
294
+ The OtherSRS element is used to indicate other
295
+ supported SRSs within query and transaction
296
+ operations. A supported SRS means that the
297
+ WFS supports the transformation of spatial
298
+ properties between the OtherSRS and the internal
299
+ storage SRS. The effects of such transformations
300
+ must be considered when determining and declaring
301
+ the guaranteed data accuracy.
302
+ </xsd:documentation>
303
+ </xsd:annotation>
304
+ </xsd:element>
305
+ </xsd:sequence>
306
+ <xsd:element name="NoSRS">
307
+ <xsd:complexType/>
308
+ </xsd:element>
309
+ </xsd:choice>
310
+ <xsd:element name="Operations"
311
+ type="wfs:OperationsType"
312
+ minOccurs="0"/>
313
+ <xsd:element name="OutputFormats"
314
+ type="wfs:OutputFormatListType"
315
+ minOccurs="0"/>
316
+ <xsd:element ref="ows:WGS84BoundingBox"
317
+ minOccurs="0" maxOccurs="unbounded"/>
318
+ <xsd:element name="MetadataURL"
319
+ type="wfs:MetadataURLType"
320
+ minOccurs="0" maxOccurs="unbounded"/>
321
+ </xsd:sequence>
322
+ </xsd:complexType>
323
+ <xsd:complexType name="OperationsType">
324
+ <xsd:sequence>
325
+ <xsd:element name="Operation"
326
+ type="wfs:OperationType"
327
+ maxOccurs="unbounded"/>
328
+ </xsd:sequence>
329
+ </xsd:complexType>
330
+ <xsd:simpleType name="OperationType">
331
+ <xsd:restriction base="xsd:string">
332
+ <xsd:enumeration value="Insert"/>
333
+ <xsd:enumeration value="Update"/>
334
+ <xsd:enumeration value="Delete"/>
335
+ <xsd:enumeration value="Query"/>
336
+ <xsd:enumeration value="Lock"/>
337
+ <xsd:enumeration value="GetGmlObject"/>
338
+ </xsd:restriction>
339
+ </xsd:simpleType>
340
+ <xsd:complexType name="OutputFormatListType">
341
+ <xsd:sequence maxOccurs="unbounded">
342
+ <xsd:element name="Format" type="xsd:string"/>
343
+ </xsd:sequence>
344
+ </xsd:complexType>
345
+ <xsd:complexType name="MetadataURLType">
346
+ <xsd:annotation>
347
+ <xsd:documentation>
348
+ A Web Feature Server MAY use zero or more MetadataURL
349
+ elements to offer detailed, standardized metadata about
350
+ the data underneath a particular feature type. The type
351
+ attribute indicates the standard to which the metadata
352
+ complies; the format attribute indicates how the metadata is
353
+ structured. Two types are defined at present:
354
+ 'TC211' or 'ISO19115' = ISO TC211 19115;
355
+ 'FGDC' = FGDC CSDGM.
356
+ 'ISO19139' = ISO 19139
357
+ </xsd:documentation>
358
+ </xsd:annotation>
359
+ <xsd:simpleContent>
360
+ <xsd:extension base="xsd:string">
361
+ <xsd:attribute name="type" use="required">
362
+ <xsd:simpleType>
363
+ <xsd:restriction base="xsd:string">
364
+ <xsd:enumeration value="TC211"/>
365
+ <xsd:enumeration value="FGDC"/>
366
+ <xsd:enumeration value="19115"/>
367
+ <xsd:enumeration value="19139"/>
368
+ </xsd:restriction>
369
+ </xsd:simpleType>
370
+ </xsd:attribute>
371
+ <xsd:attribute name="format" use="required">
372
+ <xsd:simpleType>
373
+ <xsd:restriction base="xsd:string">
374
+ <xsd:enumeration value="text/xml"/>
375
+ <xsd:enumeration value="text/html"/>
376
+ <xsd:enumeration value="text/sgml"/>
377
+ <xsd:enumeration value="text/plain"/>
378
+ </xsd:restriction>
379
+ </xsd:simpleType>
380
+ </xsd:attribute>
381
+ </xsd:extension>
382
+ </xsd:simpleContent>
383
+ </xsd:complexType>
384
+ <xsd:element name="ServesGMLObjectTypeList"
385
+ type="wfs:GMLObjectTypeListType">
386
+ <xsd:annotation>
387
+ <xsd:documentation>
388
+ List of GML Object types available for GetGmlObject requests
389
+ </xsd:documentation>
390
+ </xsd:annotation>
391
+ </xsd:element>
392
+ <xsd:element name="SupportsGMLObjectTypeList"
393
+ type="wfs:GMLObjectTypeListType">
394
+ <xsd:annotation>
395
+ <xsd:documentation>
396
+ List of GML Object types that WFS is capable of serving, either
397
+ directly, or as validly derived types defined in a GML application
398
+ schema.
399
+ </xsd:documentation>
400
+ </xsd:annotation>
401
+ </xsd:element>
402
+ <xsd:complexType name="GMLObjectTypeListType">
403
+ <xsd:sequence>
404
+ <xsd:element name="GMLObjectType" type="wfs:GMLObjectTypeType"
405
+ maxOccurs="unbounded">
406
+ <xsd:annotation>
407
+ <xsd:documentation>
408
+ Name of this GML object type, including any namespace prefix
409
+ </xsd:documentation>
410
+ </xsd:annotation>
411
+ </xsd:element>
412
+ </xsd:sequence>
413
+ </xsd:complexType>
414
+ <xsd:complexType name="GMLObjectTypeType">
415
+ <xsd:annotation>
416
+ <xsd:documentation>
417
+ An element of this type that describes a GML object in an
418
+ application namespace shall have an xml xmlns specifier,
419
+ e.g. xmlns:bo="http://www.BlueOx.org/BlueOx"
420
+ </xsd:documentation>
421
+ </xsd:annotation>
422
+ <xsd:sequence>
423
+ <xsd:element name="Name" type="xsd:QName">
424
+ <xsd:annotation>
425
+ <xsd:documentation>
426
+ Name of this GML Object type, including any namespace prefix.
427
+ </xsd:documentation>
428
+ </xsd:annotation>
429
+ </xsd:element>
430
+ <xsd:element name="Title" type="xsd:string" minOccurs="0">
431
+ <xsd:annotation>
432
+ <xsd:documentation>
433
+ Title of this GML Object type, normally used for display
434
+ to a human.
435
+ </xsd:documentation>
436
+ </xsd:annotation>
437
+ </xsd:element>
438
+ <xsd:element name="Abstract" type="xsd:string" minOccurs="0">
439
+ <xsd:annotation>
440
+ <xsd:documentation>
441
+ Brief narrative description of this GML Object type, normally
442
+ used for display to a human.
443
+ </xsd:documentation>
444
+ </xsd:annotation>
445
+ </xsd:element>
446
+ <xsd:element ref="ows:Keywords"
447
+ minOccurs="0" maxOccurs="unbounded"/>
448
+ <xsd:element name="OutputFormats"
449
+ type="wfs:OutputFormatListType" minOccurs="0"/>
450
+ </xsd:sequence>
451
+ </xsd:complexType>
452
+
453
+ <!-- ================================================================== -->
454
+ <!-- = DESCRIBEFEATURETYPE Request and Response = -->
455
+ <!-- ================================================================== -->
456
+ <!-- REQUEST -->
457
+ <xsd:element name="DescribeFeatureType" type="wfs:DescribeFeatureTypeType">
458
+ <xsd:annotation>
459
+ <xsd:documentation>
460
+ The DescribeFeatureType element is used to request that a Web
461
+ Feature Service generate a document describing one or more
462
+ feature types.
463
+ </xsd:documentation>
464
+ </xsd:annotation>
465
+ </xsd:element>
466
+ <xsd:complexType name="DescribeFeatureTypeType">
467
+ <xsd:annotation>
468
+ <xsd:documentation>
469
+ The DescribeFeatureType operation allows a client application
470
+ to request that a Web Feature Service describe one or more
471
+ feature types. A Web Feature Service must be able to generate
472
+ feature descriptions as valid GML3 application schemas.
473
+
474
+ The schemas generated by the DescribeFeatureType operation can
475
+ be used by a client application to validate the output.
476
+
477
+ Feature instances within the WFS interface must be specified
478
+ using GML3. The schema of feature instances specified within
479
+ the WFS interface must validate against the feature schemas
480
+ generated by the DescribeFeatureType request.
481
+ </xsd:documentation>
482
+ </xsd:annotation>
483
+ <xsd:complexContent>
484
+ <xsd:extension base="wfs:BaseRequestType">
485
+ <xsd:sequence>
486
+ <xsd:element name="TypeName" type="xsd:QName"
487
+ minOccurs="0" maxOccurs="unbounded">
488
+ <xsd:annotation>
489
+ <xsd:documentation>
490
+ The TypeName element is used to enumerate the
491
+ feature types to be described. If no TypeName
492
+ elements are specified then all features should
493
+ be described. The name must be a valid type
494
+ that belongs to the feature content as defined
495
+ by the GML Application Schema.
496
+ </xsd:documentation>
497
+ </xsd:annotation>
498
+ </xsd:element>
499
+ </xsd:sequence>
500
+ <xsd:attribute name="outputFormat"
501
+ type="xsd:string" use="optional"
502
+ default="text/xml; subtype=gml/3.1.1">
503
+ <xsd:annotation>
504
+ <xsd:documentation>
505
+ The outputFormat attribute is used to specify what schema
506
+ description language should be used to describe features.
507
+ The default value of 'text/xml; subtype=3.1.1' means that
508
+ the WFS must generate a GML3 application schema that can
509
+ be used to validate the GML3 output of a GetFeature
510
+ request or feature instances specified in Transaction
511
+ operations.
512
+ For the purposes of experimentation, vendor extension,
513
+ or even extensions that serve a specific community of
514
+ interest, other acceptable output format values may be
515
+ advertised by a WFS service in the capabilities document.
516
+ The meaning of such values in not defined in the WFS
517
+ specification. The only proviso is such cases is that
518
+ clients may safely ignore outputFormat values that do
519
+ not recognize.
520
+ </xsd:documentation>
521
+ </xsd:annotation>
522
+ </xsd:attribute>
523
+ </xsd:extension>
524
+ </xsd:complexContent>
525
+ </xsd:complexType>
526
+ <!-- RESPONSE -->
527
+ <!-- ================================================================== -->
528
+ <!-- For the outputFormat value of 'text/xml; subtype=3.1.1' a WFS -->
529
+ <!-- must generate a valid XML-Schema/GML3 application schema that -->
530
+ <!-- describes that requested feature type(s). -->
531
+ <!-- ================================================================== -->
532
+
533
+ <!-- ================================================================== -->
534
+ <!-- = GETFEATURES Request and Response = -->
535
+ <!-- ================================================================== -->
536
+ <xsd:element name="GetFeature" type="wfs:GetFeatureType">
537
+ <xsd:annotation>
538
+ <xsd:documentation>
539
+ The GetFeature element is used to request that a Web Feature
540
+ Service return feature type instances of one or more feature
541
+ types.
542
+ </xsd:documentation>
543
+ </xsd:annotation>
544
+ </xsd:element>
545
+ <xsd:complexType name="GetFeatureType">
546
+ <xsd:annotation>
547
+ <xsd:documentation>
548
+ A GetFeature element contains one or more Query elements
549
+ that describe a query operation on one feature type. In
550
+ response to a GetFeature request, a Web Feature Service
551
+ must be able to generate a GML3 response that validates
552
+ using a schema generated by the DescribeFeatureType request.
553
+ A Web Feature Service may support other possibly non-XML
554
+ (and even binary) output formats as long as those formats
555
+ are advertised in the capabilities document.
556
+ </xsd:documentation>
557
+ </xsd:annotation>
558
+ <xsd:complexContent>
559
+ <xsd:extension base="wfs:BaseRequestType">
560
+ <xsd:sequence>
561
+ <xsd:element ref="wfs:Query" maxOccurs="unbounded"/>
562
+ </xsd:sequence>
563
+ <xsd:attribute name="resultType"
564
+ type="wfs:ResultTypeType" use="optional"
565
+ default="results">
566
+ <xsd:annotation>
567
+ <xsd:documentation>
568
+ The resultType attribute is used to indicate
569
+ what response a WFS should return to user once
570
+ a GetFeature request is processed.
571
+ Possible values are:
572
+ results - meaning that the full response set
573
+ (i.e. all the feature instances)
574
+ should be returned.
575
+ hits - meaning that an empty response set
576
+ should be returned (i.e. no feature
577
+ instances should be returned) but
578
+ the "numberOfFeatures" attribute
579
+ should be set to the number of feature
580
+ instances that would be returned.
581
+ </xsd:documentation>
582
+ </xsd:annotation>
583
+ </xsd:attribute>
584
+ <xsd:attribute name="outputFormat"
585
+ type="xsd:string" use="optional"
586
+ default="text/xml; subtype=gml/3.1.1">
587
+ <xsd:annotation>
588
+ <xsd:documentation>
589
+ The outputFormat attribute is used to specify the output
590
+ format that the Web Feature Service should generate in
591
+ response to a GetFeature or GetFeatureWithLock element.
592
+ The default value of 'text/xml; subtype=gml/3.1.1'
593
+ indicates that the output is an XML document that
594
+ conforms to the Geography Markup Language (GML)
595
+ Implementation Specification V3.1.1.
596
+ For the purposes of experimentation, vendor extension,
597
+ or even extensions that serve a specific community of
598
+ interest, other acceptable output format values may be
599
+ used to specify other formats as long as those values
600
+ are advertised in the capabilities document.
601
+ For example, the value WKB may be used to indicate that a
602
+ Well Known Binary format be used to encode the output.
603
+ </xsd:documentation>
604
+ </xsd:annotation>
605
+ </xsd:attribute>
606
+ <xsd:attribute name="maxFeatures"
607
+ type="xsd:positiveInteger" use="optional">
608
+ <xsd:annotation>
609
+ <xsd:documentation>
610
+ The maxFeatures attribute is used to specify the maximum
611
+ number of features that a GetFeature operation should
612
+ generate (regardless of the actual number of query hits).
613
+ </xsd:documentation>
614
+ </xsd:annotation>
615
+ </xsd:attribute>
616
+ <xsd:attribute name="traverseXlinkDepth"
617
+ type="xsd:string" use="optional">
618
+ <xsd:annotation>
619
+ <xsd:documentation>
620
+ This attribute indicates the depth to which nested property
621
+ XLink linking element locator attribute (href) XLinks are
622
+ traversed and resolved if possible. A value of "1"
623
+ indicates that one linking element locator attribute
624
+ (href) Xlink will be traversed and the referenced element
625
+ returned if possible, but nested property XLink linking
626
+ element locator attribute (href) XLinks in the returned
627
+ element are not traversed. A value of "*" indicates that
628
+ all nested property XLink linking element locator attribute
629
+ (href) XLinks will be traversed and the referenced elements
630
+ returned if possible. The range of valid values for this
631
+ attribute consists of positive integers plus "*".
632
+ If this attribute is not specified then no xlinks shall be
633
+ resolved and the value of traverseXlinkExpiry attribute (if
634
+ it specified) may be ignored.
635
+ </xsd:documentation>
636
+ </xsd:annotation>
637
+ </xsd:attribute>
638
+ <xsd:attribute name="traverseXlinkExpiry"
639
+ type="xsd:positiveInteger"
640
+ use="optional">
641
+ <xsd:annotation>
642
+ <xsd:documentation>
643
+ The traverseXlinkExpiry attribute value is specified in
644
+ minutes. It indicates how long a Web Feature Service
645
+ should wait to receive a response to a nested GetGmlObject
646
+ request.
647
+ This attribute is only relevant if a value is specified
648
+ for the traverseXlinkDepth attribute.
649
+ </xsd:documentation>
650
+ </xsd:annotation>
651
+ </xsd:attribute>
652
+ </xsd:extension>
653
+ </xsd:complexContent>
654
+ </xsd:complexType>
655
+ <xsd:simpleType name="ResultTypeType">
656
+ <xsd:restriction base="xsd:string">
657
+ <xsd:enumeration value="results">
658
+ <xsd:annotation>
659
+ <xsd:documentation>
660
+ Indicates that a complete response should be generated
661
+ by the WFS. That is, all response feature instances
662
+ should be returned to the client.
663
+ </xsd:documentation>
664
+ </xsd:annotation>
665
+ </xsd:enumeration>
666
+ <xsd:enumeration value="hits">
667
+ <xsd:annotation>
668
+ <xsd:documentation>
669
+ Indicates that an empty response should be generated with
670
+ the "numberOfFeatures" attribute set (i.e. no feature
671
+ instances should be returned). In this manner a client may
672
+ determine the number of feature instances that a GetFeature
673
+ request will return without having to actually get the
674
+ entire result set back.
675
+ </xsd:documentation>
676
+ </xsd:annotation>
677
+ </xsd:enumeration>
678
+ </xsd:restriction>
679
+ </xsd:simpleType>
680
+ <xsd:element name="Query" type="wfs:QueryType">
681
+ <xsd:annotation>
682
+ <xsd:documentation>
683
+ The Query element is used to describe a single query.
684
+ One or more Query elements can be specified inside a
685
+ GetFeature element so that multiple queries can be
686
+ executed in one request. The output from the various
687
+ queries are combined in a wfs:FeatureCollection element
688
+ to form the response document.
689
+ </xsd:documentation>
690
+ </xsd:annotation>
691
+ </xsd:element>
692
+ <xsd:complexType name="QueryType">
693
+ <xsd:annotation>
694
+ <xsd:documentation>
695
+ The Query element is of type QueryType.
696
+ </xsd:documentation>
697
+ </xsd:annotation>
698
+ <xsd:sequence>
699
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
700
+ <xsd:element ref="wfs:PropertyName">
701
+ <xsd:annotation>
702
+ <xsd:documentation>
703
+ The Property element is used to specify one or more
704
+ properties of a feature whose values are to be retrieved
705
+ by a Web Feature Service.
706
+
707
+ While a Web Feature Service should endeavour to satisfy
708
+ the exact request specified, in some instance this may
709
+ not be possible. Specifically, a Web Feature Service
710
+ must generate a valid GML3 response to a Query operation.
711
+ The schema used to generate the output may include
712
+ properties that are mandatory. In order that the output
713
+ validates, these mandatory properties must be specified
714
+ in the request. If they are not, a Web Feature Service
715
+ may add them automatically to the Query before processing
716
+ it. Thus a client application should, in general, be
717
+ prepared to receive more properties than it requested.
718
+
719
+ Of course, using the DescribeFeatureType request, a client
720
+ application can determine which properties are mandatory
721
+ and request them in the first place.
722
+ </xsd:documentation>
723
+ </xsd:annotation>
724
+ </xsd:element>
725
+ <xsd:element ref="wfs:XlinkPropertyName"/>
726
+ <xsd:element ref="ogc:Function">
727
+ <xsd:annotation>
728
+ <xsd:documentation>
729
+ A function may be used as a select item in a query.
730
+ However, if a function is used, care must be taken
731
+ to ensure that the result type matches the type in the
732
+
733
+ </xsd:documentation>
734
+ </xsd:annotation>
735
+ </xsd:element>
736
+ </xsd:choice>
737
+ <xsd:element ref="ogc:Filter" minOccurs="0" maxOccurs="1">
738
+ <xsd:annotation>
739
+ <xsd:documentation>
740
+ The Filter element is used to define spatial and/or non-spatial
741
+ constraints on query. Spatial constrains use GML3 to specify
742
+ the constraining geometry. A full description of the Filter
743
+ element can be found in the Filter Encoding Implementation
744
+ Specification.
745
+ </xsd:documentation>
746
+ </xsd:annotation>
747
+ </xsd:element>
748
+ <xsd:element ref="ogc:SortBy" minOccurs="0" maxOccurs="1">
749
+ <xsd:annotation>
750
+ <xsd:documentation>
751
+ The SortBy element is used specify property names whose
752
+ values should be used to order (upon presentation) the
753
+ set of feature instances that satisfy the query.
754
+ </xsd:documentation>
755
+ </xsd:annotation>
756
+ </xsd:element>
757
+ </xsd:sequence>
758
+ <xsd:attribute name="handle"
759
+ type="xsd:string" use="optional">
760
+ <xsd:annotation>
761
+ <xsd:documentation>
762
+ The handle attribute allows a client application
763
+ to assign a client-generated identifier for the
764
+ Query. The handle is included to facilitate error
765
+ reporting. If one Query in a GetFeature request
766
+ causes an exception, a WFS may report the handle
767
+ to indicate which query element failed. If the a
768
+ handle is not present, the WFS may use other means
769
+ to localize the error (e.g. line numbers).
770
+ </xsd:documentation>
771
+ </xsd:annotation>
772
+ </xsd:attribute>
773
+ <xsd:attribute name="typeName"
774
+ type="wfs:TypeNameListType" use="required">
775
+ <xsd:annotation>
776
+ <xsd:documentation>
777
+ The typeName attribute is a list of one or more
778
+ feature type names that indicate which types
779
+ of feature instances should be included in the
780
+ reponse set. Specifying more than one typename
781
+ indicates that a join operation is being performed.
782
+ All the names in the typeName list must be valid
783
+ types that belong to this query's feature content
784
+ as defined by the GML Application Schema.
785
+ </xsd:documentation>
786
+ </xsd:annotation>
787
+ </xsd:attribute>
788
+ <xsd:attribute name="featureVersion"
789
+ type="xsd:string" use="optional">
790
+ <xsd:annotation>
791
+ <xsd:documentation>
792
+ For systems that implement versioning, the featureVersion
793
+ attribute is used to specify which version of a particular
794
+ feature instance is to be retrieved. A value of ALL means
795
+ that all versions should be retrieved. An integer value
796
+ 'i', means that the ith version should be retrieve if it
797
+ exists or the most recent version otherwise.
798
+ </xsd:documentation>
799
+ </xsd:annotation>
800
+ </xsd:attribute>
801
+ <xsd:attribute name="srsName" type="xsd:anyURI" use="optional">
802
+ <xsd:annotation>
803
+ <xsd:documentation>
804
+ This attribute is used to specify a specific WFS-supported SRS
805
+ that should be used for returned feature geometries. The value
806
+ may be the WFS StorageSRS value, DefaultRetrievalSRS value, or
807
+ one of AdditionalSRS values. If no srsName value is supplied,
808
+ then the features will be returned using either the
809
+ DefaultRetrievalSRS, if specified, and StorageSRS otherwise.
810
+ For feature types with no spatial properties, this attribute
811
+ must not be specified or ignored if it is specified.
812
+ </xsd:documentation>
813
+ </xsd:annotation>
814
+ </xsd:attribute>
815
+ </xsd:complexType>
816
+ <xsd:simpleType name="Base_TypeNameListType">
817
+ <xsd:list itemType="xsd:QName"/>
818
+ </xsd:simpleType>
819
+ <xsd:simpleType name="TypeNameListType">
820
+ <xsd:restriction base="wfs:Base_TypeNameListType">
821
+ <xsd:pattern value="((\w:)?\w(=\w)?){1,}">
822
+ <xsd:annotation>
823
+ <xsd:documentation>
824
+ Example typeName attribute value might be:
825
+
826
+ typeName="ns1:Inwatera_1m=A, ns2:CoastL_1M=B"
827
+
828
+ In this example, A is an alias for ns1:Inwatera_1m
829
+ and B is an alias for ns2:CoastL_1M.
830
+ </xsd:documentation>
831
+ </xsd:annotation>
832
+ </xsd:pattern>
833
+ </xsd:restriction>
834
+ </xsd:simpleType>
835
+ <!-- RESPONSE -->
836
+ <xsd:element name="FeatureCollection"
837
+ type="wfs:FeatureCollectionType"
838
+ substitutionGroup="gml:_FeatureCollection">
839
+ <xsd:annotation>
840
+ <xsd:documentation>
841
+ This element is a container for the response to a GetFeature
842
+ or GetFeatureWithLock (WFS-transaction.xsd) request.
843
+ </xsd:documentation>
844
+ </xsd:annotation>
845
+ </xsd:element>
846
+ <xsd:complexType name="FeatureCollectionType">
847
+ <xsd:annotation>
848
+ <xsd:documentation>
849
+ This type defines a container for the response to a
850
+ GetFeature or GetFeatureWithLock request. If the
851
+ request is GetFeatureWithLock, the lockId attribute
852
+ must be populated. The lockId attribute can otherwise
853
+ be safely ignored.
854
+ </xsd:documentation>
855
+ </xsd:annotation>
856
+ <xsd:complexContent>
857
+ <xsd:extension base="gml:AbstractFeatureCollectionType">
858
+ <xsd:attribute name="lockId" type="xsd:string" use="optional">
859
+ <xsd:annotation>
860
+ <xsd:documentation>
861
+ The value of the lockId attribute is an identifier
862
+ that a Web Feature Service generates when responding
863
+ to a GetFeatureWithLock request. A client application
864
+ can use this value in subsequent operations (such as a
865
+ Transaction request) to reference the set of locked
866
+ features.
867
+ </xsd:documentation>
868
+ </xsd:annotation>
869
+ </xsd:attribute>
870
+ <xsd:attribute name="timeStamp" type="xsd:dateTime" use="optional">
871
+ <xsd:annotation>
872
+ <xsd:documentation>
873
+ The timeStamp attribute should contain the date and time
874
+ that the response was generated.
875
+ </xsd:documentation>
876
+ </xsd:annotation>
877
+ </xsd:attribute>
878
+ <xsd:attribute name="numberOfFeatures"
879
+ type="xsd:nonNegativeInteger"
880
+ use="optional">
881
+ <xsd:annotation>
882
+ <xsd:documentation>
883
+ The numberOfFeatures attribute should contain a
884
+ count of the number of features in the response.
885
+ That is a count of all features elements dervied
886
+ from gml:AbstractFeatureType.
887
+ </xsd:documentation>
888
+ </xsd:annotation>
889
+ </xsd:attribute>
890
+ </xsd:extension>
891
+ </xsd:complexContent>
892
+ </xsd:complexType>
893
+
894
+ <!-- ================================================================== -->
895
+ <!-- = GETGMLOBJECT Request and Response = -->
896
+ <!-- ================================================================== -->
897
+ <xsd:element name="GetGmlObject" type="wfs:GetGmlObjectType">
898
+ <xsd:annotation>
899
+ <xsd:documentation>
900
+ The GetGmlObject element is used to request that a Web Feature
901
+ Service return an element with a gml:id attribute value specified
902
+ by an ogc:GmlObjectId.
903
+ </xsd:documentation>
904
+ </xsd:annotation>
905
+ </xsd:element>
906
+ <xsd:complexType name="GetGmlObjectType">
907
+ <xsd:annotation>
908
+ <xsd:documentation>
909
+ A GetGmlObjectType element contains exactly one GmlObjectId.
910
+ The value of the gml:id attribute on that GmlObjectId is used
911
+ as a unique key to retrieve the complex element with a
912
+ gml:id attribute with the same value.
913
+ </xsd:documentation>
914
+ </xsd:annotation>
915
+ <xsd:complexContent>
916
+ <xsd:extension base="wfs:BaseRequestType">
917
+ <xsd:sequence>
918
+ <xsd:element ref="ogc:GmlObjectId"/>
919
+ </xsd:sequence>
920
+ <xsd:attribute name="outputFormat"
921
+ type="xsd:string" use="optional" default="GML3"/>
922
+ <xsd:attribute name="traverseXlinkDepth"
923
+ type="xsd:string" use="required">
924
+ <xsd:annotation>
925
+ <xsd:documentation>
926
+ This attribute indicates the depth to which nested
927
+ property XLink linking element locator attribute
928
+ (href) XLinks are traversed and resolved if possible.
929
+ A value of "1" indicates that one linking element
930
+ locator attribute (href) XLink will be traversed
931
+ and the referenced element returned if possible, but
932
+ nested property XLink linking element locator attribute
933
+ (href) XLinks in the returned element are not traversed.
934
+ A value of "*" indicates that all nested property XLink
935
+ linking element locator attribute (href) XLinks will be
936
+ traversed and the referenced elements returned if
937
+ possible. The range of valid values for this attribute
938
+ consists of positive integers plus "*".
939
+ </xsd:documentation>
940
+ </xsd:annotation>
941
+ </xsd:attribute>
942
+ <xsd:attribute name="traverseXlinkExpiry"
943
+ type="xsd:positiveInteger"
944
+ use="optional">
945
+ <xsd:annotation>
946
+ <xsd:documentation>
947
+ The traverseXlinkExpiry attribute value is specified
948
+ in minutes. It indicates how long a Web Feature Service
949
+ should wait to receive a response to a nested GetGmlObject
950
+ request.
951
+ </xsd:documentation>
952
+ </xsd:annotation>
953
+ </xsd:attribute>
954
+ </xsd:extension>
955
+ </xsd:complexContent>
956
+ </xsd:complexType>
957
+ <!-- RESPONSE -->
958
+ <!-- ================================================================= -->
959
+ <!-- The response to a GetGMLObject request is a GML3 fragment(s) that -->
960
+ <!-- has (have) the gml:id('s) specified in the request. -->
961
+ <!-- ================================================================= -->
962
+
963
+ <!-- ================================================================== -->
964
+ <!-- = GETFEATUREWITHLOCK Request and Response = -->
965
+ <!-- ================================================================== -->
966
+ <!-- REQUEST -->
967
+ <xsd:element name="GetFeatureWithLock" type="wfs:GetFeatureWithLockType">
968
+ <xsd:annotation>
969
+ <xsd:documentation>
970
+ This is the root element for the GetFeatureWithLock request.
971
+ The GetFeatureWithLock operation performs identically to a
972
+ GetFeature request except that the GetFeatureWithLock request
973
+ locks all the feature instances in the result set and returns
974
+ a lock identifier to a client application in the response.
975
+ The lock identifier is returned to the client application
976
+ using the lockId attribute define on the wfs:FeatureCollection
977
+ element.
978
+ </xsd:documentation>
979
+ </xsd:annotation>
980
+ </xsd:element>
981
+ <xsd:complexType name="GetFeatureWithLockType">
982
+ <xsd:annotation>
983
+ <xsd:documentation>
984
+ A GetFeatureWithLock request operates identically to a
985
+ GetFeature request expect that it attempts to lock the
986
+ feature instances in the result set and includes a lock
987
+ identifier in its response to a client. A lock identifier
988
+ is an identifier generated by a Web Feature Service that
989
+ a client application can use, in subsequent operations,
990
+ to reference the locked set of feature instances.
991
+ </xsd:documentation>
992
+ </xsd:annotation>
993
+ <xsd:complexContent>
994
+ <xsd:extension base="wfs:BaseRequestType">
995
+ <xsd:sequence>
996
+ <xsd:element ref="wfs:Query" maxOccurs="unbounded"/>
997
+ </xsd:sequence>
998
+ <xsd:attribute name="expiry"
999
+ type="xsd:positiveInteger"
1000
+ use="optional" default="5">
1001
+ <xsd:annotation>
1002
+ <xsd:documentation>
1003
+ The expiry attribute is used to set the length
1004
+ of time (expressed in minutes) that features will
1005
+ remain locked as a result of a GetFeatureWithLock
1006
+ request. After the expiry period elapses, the
1007
+ locked resources must be released. If the
1008
+ expiry attribute is not set, then the default
1009
+ value of 5 minutes will be enforced.
1010
+ </xsd:documentation>
1011
+ </xsd:annotation>
1012
+ </xsd:attribute>
1013
+ <xsd:attribute name="resultType"
1014
+ type="wfs:ResultTypeType" use="optional"
1015
+ default="results">
1016
+ <xsd:annotation>
1017
+ <xsd:documentation>
1018
+ See definition of wfs:GetFeatureType.
1019
+ </xsd:documentation>
1020
+ </xsd:annotation>
1021
+ </xsd:attribute>
1022
+ <xsd:attribute name="outputFormat"
1023
+ type="xsd:string" use="optional"
1024
+ default="text/xml; subtype=gml/3.1.1">
1025
+ <xsd:annotation>
1026
+ <xsd:documentation>
1027
+ See definition of wfs:GetFeatureType.
1028
+ </xsd:documentation>
1029
+ </xsd:annotation>
1030
+ </xsd:attribute>
1031
+ <xsd:attribute name="maxFeatures"
1032
+ type="xsd:positiveInteger" use="optional">
1033
+ <xsd:annotation>
1034
+ <xsd:documentation>
1035
+ See definition of wfs:GetFeatureType.
1036
+ </xsd:documentation>
1037
+ </xsd:annotation>
1038
+ </xsd:attribute>
1039
+ <xsd:attribute name="traverseXlinkDepth"
1040
+ type="xsd:string" use="optional">
1041
+ <xsd:annotation>
1042
+ <xsd:documentation>
1043
+ See definition of wfs:GetFeatureType.
1044
+ </xsd:documentation>
1045
+ </xsd:annotation>
1046
+ </xsd:attribute>
1047
+ <xsd:attribute name="traverseXlinkExpiry"
1048
+ type="xsd:positiveInteger" use="optional">
1049
+ <xsd:annotation>
1050
+ <xsd:documentation>
1051
+ See definition of wfs:GetFeatureType.
1052
+ </xsd:documentation>
1053
+ </xsd:annotation>
1054
+ </xsd:attribute>
1055
+ </xsd:extension>
1056
+ </xsd:complexContent>
1057
+ </xsd:complexType>
1058
+
1059
+ <!-- ================================================================== -->
1060
+ <!-- = LOCKFEATURE Request and Response = -->
1061
+ <!-- ================================================================== -->
1062
+ <!-- REQUEST -->
1063
+ <xsd:element name="LockFeature" type="wfs:LockFeatureType">
1064
+ <xsd:annotation>
1065
+ <xsd:documentation>
1066
+ This is the root element for a LockFeature request.
1067
+ The LockFeature request can be used to lock one or
1068
+ more feature instances.
1069
+ </xsd:documentation>
1070
+ </xsd:annotation>
1071
+ </xsd:element>
1072
+ <xsd:complexType name="LockFeatureType">
1073
+ <xsd:annotation>
1074
+ <xsd:documentation>
1075
+ This type defines the LockFeature operation. The LockFeature
1076
+ element contains one or more Lock elements that define which
1077
+ features of a particular type should be locked. A lock
1078
+ identifier (lockId) is returned to the client application which
1079
+ can be used by subsequent operations to reference the locked
1080
+ features.
1081
+ </xsd:documentation>
1082
+ </xsd:annotation>
1083
+ <xsd:complexContent>
1084
+ <xsd:extension base="wfs:BaseRequestType">
1085
+ <xsd:sequence>
1086
+ <xsd:element name="Lock" type="wfs:LockType"
1087
+ maxOccurs="unbounded">
1088
+ <xsd:annotation>
1089
+ <xsd:documentation>
1090
+ The lock element is used to indicate which feature
1091
+ instances of particular type are to be locked.
1092
+ </xsd:documentation>
1093
+ </xsd:annotation>
1094
+ </xsd:element>
1095
+ </xsd:sequence>
1096
+ <xsd:attribute name="expiry"
1097
+ type="xsd:positiveInteger"
1098
+ use="optional" default="5">
1099
+ <xsd:annotation>
1100
+ <xsd:documentation>
1101
+ The expiry attribute is used to set the length
1102
+ of time (expressed in minutes) that features will
1103
+ remain locked as a result of a LockFeature
1104
+ request. After the expiry period elapses, the
1105
+ locked resources must be released. If the
1106
+ expiry attribute is not set, then the default
1107
+ value of 5 minutes will be enforced.
1108
+ </xsd:documentation>
1109
+ </xsd:annotation>
1110
+ </xsd:attribute>
1111
+ <xsd:attribute name="lockAction"
1112
+ type="wfs:AllSomeType"
1113
+ use="optional" default="ALL">
1114
+ <xsd:annotation>
1115
+ <xsd:documentation>
1116
+ The lockAction attribute is used to indicate what
1117
+ a Web Feature Service should do when it encounters
1118
+ a feature instance that has already been locked by
1119
+ another client application.
1120
+
1121
+ Valid values are ALL or SOME.
1122
+
1123
+ ALL means that the Web Feature Service must acquire
1124
+ locks on all the requested feature instances. If it
1125
+ cannot acquire those locks then the request should
1126
+ fail. In this instance, all locks acquired by the
1127
+ operation should be released.
1128
+
1129
+ SOME means that the Web Feature Service should lock
1130
+ as many of the requested features as it can.
1131
+ </xsd:documentation>
1132
+ </xsd:annotation>
1133
+ </xsd:attribute>
1134
+ </xsd:extension>
1135
+ </xsd:complexContent>
1136
+ </xsd:complexType>
1137
+ <xsd:simpleType name="AllSomeType">
1138
+ <xsd:restriction base="xsd:string">
1139
+ <xsd:enumeration value="ALL"/>
1140
+ <xsd:enumeration value="SOME"/>
1141
+ </xsd:restriction>
1142
+ </xsd:simpleType>
1143
+ <xsd:complexType name="LockType">
1144
+ <xsd:annotation>
1145
+ <xsd:documentation>
1146
+ This type defines the Lock element. The Lock element
1147
+ defines a locking operation on feature instances of
1148
+ a single type. An OGC Filter is used to constrain the
1149
+ scope of the operation. Features to be locked can be
1150
+ identified individually by using their feature identifier
1151
+ or they can be locked by satisfying the spatial and
1152
+ non-spatial constraints defined in the filter.
1153
+ </xsd:documentation>
1154
+ </xsd:annotation>
1155
+ <xsd:sequence>
1156
+ <xsd:element ref="ogc:Filter" minOccurs="0" maxOccurs="1"/>
1157
+ </xsd:sequence>
1158
+ <xsd:attribute name="handle" type="xsd:string" use="optional">
1159
+ <xsd:annotation>
1160
+ <xsd:documentation>
1161
+ The handle attribute allows a client application
1162
+ to assign a client-generated request identifier
1163
+ to a Lock action. The handle is included to
1164
+ facilitate error reporting. If one of a set of
1165
+ Lock actions failed while processing a LockFeature
1166
+ request, a WFS may report the handle in an exception
1167
+ report to localize the error. If a handle is not
1168
+ present then a WFS may employ some other means of
1169
+ localizing the error (e.g. line number).
1170
+ </xsd:documentation>
1171
+ </xsd:annotation>
1172
+ </xsd:attribute>
1173
+ <xsd:attribute name="typeName" type="xsd:QName" use="required">
1174
+ <xsd:annotation>
1175
+ <xsd:documentation>
1176
+ The value of the typeName attribute is the name
1177
+ of the feature type to be updated. The name
1178
+ specified must be a valid type that belongs to
1179
+ the feature content as defined by the GML
1180
+ Application Schema.
1181
+ </xsd:documentation>
1182
+ </xsd:annotation>
1183
+ </xsd:attribute>
1184
+ </xsd:complexType>
1185
+ <!-- RESPONSE -->
1186
+ <xsd:element name="LockFeatureResponse"
1187
+ type="wfs:LockFeatureResponseType">
1188
+ <xsd:annotation>
1189
+ <xsd:documentation>
1190
+ The LockFeatureResponse element contains a report
1191
+ about the completion status of a LockFeature request.
1192
+ </xsd:documentation>
1193
+ </xsd:annotation>
1194
+ </xsd:element>
1195
+ <xsd:complexType name="LockFeatureResponseType">
1196
+ <xsd:annotation>
1197
+ <xsd:documentation>
1198
+ The LockFeatureResponseType is used to define an
1199
+ element to contains the response to a LockFeature
1200
+ operation.
1201
+ </xsd:documentation>
1202
+ </xsd:annotation>
1203
+ <xsd:sequence>
1204
+ <xsd:element ref="wfs:LockId">
1205
+ <xsd:annotation>
1206
+ <xsd:documentation>
1207
+ The LockFeatureResponse includes a LockId element
1208
+ that contains a lock identifier. The lock identifier
1209
+ can be used by a client, in subsequent operations, to
1210
+ operate upon the locked feature instances.
1211
+ </xsd:documentation>
1212
+ </xsd:annotation>
1213
+ </xsd:element>
1214
+ <xsd:element name="FeaturesLocked"
1215
+ type="wfs:FeaturesLockedType" minOccurs="0">
1216
+ <xsd:annotation>
1217
+ <xsd:documentation>
1218
+ The LockFeature or GetFeatureWithLock operations
1219
+ identify and attempt to lock a set of feature
1220
+ instances that satisfy the constraints specified
1221
+ in the request. In the event that the lockAction
1222
+ attribute (on the LockFeature or GetFeatureWithLock
1223
+ elements) is set to SOME, a Web Feature Service will
1224
+ attempt to lock as many of the feature instances from
1225
+ the result set as possible.
1226
+
1227
+ The FeaturesLocked element contains list of ogc:FeatureId
1228
+ elements enumerating the feature instances that a WFS
1229
+ actually managed to lock.
1230
+ </xsd:documentation>
1231
+ </xsd:annotation>
1232
+ </xsd:element>
1233
+ <xsd:element name="FeaturesNotLocked"
1234
+ type="wfs:FeaturesNotLockedType" minOccurs="0">
1235
+ <xsd:annotation>
1236
+ <xsd:documentation>
1237
+ In contrast to the FeaturesLocked element, the
1238
+ FeaturesNotLocked element contains a list of
1239
+ ogc:Filter elements identifying feature instances
1240
+ that a WFS did not manage to lock because they were
1241
+ already locked by another process.
1242
+ </xsd:documentation>
1243
+ </xsd:annotation>
1244
+ </xsd:element>
1245
+ </xsd:sequence>
1246
+ </xsd:complexType>
1247
+ <xsd:complexType name="FeaturesLockedType">
1248
+ <xsd:sequence maxOccurs="unbounded">
1249
+ <xsd:element ref="ogc:FeatureId"/>
1250
+ </xsd:sequence>
1251
+ </xsd:complexType>
1252
+ <xsd:complexType name="FeaturesNotLockedType">
1253
+ <xsd:sequence maxOccurs="unbounded">
1254
+ <xsd:element ref="ogc:FeatureId"/>
1255
+ </xsd:sequence>
1256
+ </xsd:complexType>
1257
+
1258
+ <!-- ================================================================== -->
1259
+ <!-- = TRANSACTION Request and Response = -->
1260
+ <!-- ================================================================== -->
1261
+ <!-- REQUEST -->
1262
+ <xsd:element name="Transaction" type="wfs:TransactionType">
1263
+ <xsd:annotation>
1264
+ <xsd:documentation>
1265
+ This is the root element for a Transaction request.
1266
+ A transaction request allows insert, update and
1267
+ delete operations to be performed to create, change
1268
+ or remove feature instances.
1269
+ </xsd:documentation>
1270
+ </xsd:annotation>
1271
+ </xsd:element>
1272
+ <xsd:complexType name="TransactionType">
1273
+ <xsd:annotation>
1274
+ <xsd:documentation>
1275
+ The TransactionType defines the Transaction operation. A
1276
+ Transaction element contains one or more Insert, Update
1277
+ Delete and Native elements that allow a client application
1278
+ to create, modify or remove feature instances from the
1279
+ feature repository that a Web Feature Service controls.
1280
+ </xsd:documentation>
1281
+ </xsd:annotation>
1282
+ <xsd:complexContent>
1283
+ <xsd:extension base="wfs:BaseRequestType">
1284
+ <xsd:sequence>
1285
+ <xsd:element ref="wfs:LockId" minOccurs="0">
1286
+ <xsd:annotation>
1287
+ <xsd:documentation>
1288
+ In order for a client application to operate upon
1289
+ locked feature instances, the Transaction request
1290
+ must include the LockId element. The content of
1291
+ this element must be the lock identifier the client
1292
+ application obtained from a previous
1293
+ GetFeatureWithLock or LockFeature operation.
1294
+
1295
+ If the correct lock identifier is specified the Web
1296
+ Feature Service knows that the client application may
1297
+ operate upon the locked feature instances.
1298
+
1299
+ No LockId element needs to be specified to operate upon
1300
+ unlocked features.
1301
+ </xsd:documentation>
1302
+ </xsd:annotation>
1303
+ </xsd:element>
1304
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
1305
+ <xsd:element ref="wfs:Insert"/>
1306
+ <xsd:element ref="wfs:Update"/>
1307
+ <xsd:element ref="wfs:Delete"/>
1308
+ <xsd:element ref="wfs:Native"/>
1309
+ </xsd:choice>
1310
+ </xsd:sequence>
1311
+ <xsd:attribute name="releaseAction"
1312
+ type="wfs:AllSomeType" use="optional">
1313
+ <xsd:annotation>
1314
+ <xsd:documentation>
1315
+ The releaseAction attribute is used to control how a Web
1316
+ Feature service releases locks on feature instances after
1317
+ a Transaction request has been processed.
1318
+
1319
+ Valid values are ALL or SOME.
1320
+
1321
+ A value of ALL means that the Web Feature Service should
1322
+ release the locks of all feature instances locked with the
1323
+ specified lockId regardless or whether or not the features
1324
+ were actually modified.
1325
+
1326
+ A value of SOME means that the Web Feature Service will
1327
+ only release the locks held on feature instances that
1328
+ were actually operated upon by the transaction. The
1329
+ lockId that the client application obtained shall remain
1330
+ valid and the other, unmodified, feature instances shall
1331
+ remain locked.
1332
+
1333
+ If the expiry attribute was specified in the original
1334
+ operation that locked the feature instances, then the
1335
+ expiry counter will be reset to give the client
1336
+ application that same amount of time to post subsequent
1337
+ transactions against the locked features.
1338
+ </xsd:documentation>
1339
+ </xsd:annotation>
1340
+ </xsd:attribute>
1341
+ </xsd:extension>
1342
+ </xsd:complexContent>
1343
+ </xsd:complexType>
1344
+ <xsd:element name="LockId" type="xsd:string">
1345
+ <xsd:annotation>
1346
+ <xsd:documentation>
1347
+ The LockId element contains the value of the lock identifier
1348
+ obtained by a client application from a previous GetFeatureWithLock
1349
+ or LockFeature request.
1350
+ </xsd:documentation>
1351
+ </xsd:annotation>
1352
+ </xsd:element>
1353
+ <xsd:element name="Insert" type="wfs:InsertElementType">
1354
+ <xsd:annotation>
1355
+ <xsd:documentation>
1356
+ The Insert element is used to indicate that the Web Feature
1357
+ Service should create a new instance of a feature type. The
1358
+ feature instance is specified using GML3 and one or more
1359
+ feature instances to be created can be contained inside the
1360
+ Insert element.
1361
+ </xsd:documentation>
1362
+ </xsd:annotation>
1363
+ </xsd:element>
1364
+ <xsd:complexType name="InsertElementType">
1365
+ <xsd:annotation>
1366
+ <xsd:documentation>
1367
+ An Insert element may contain a feature collection or one
1368
+ or more feature instances to be inserted into the
1369
+ repository.
1370
+ </xsd:documentation>
1371
+ </xsd:annotation>
1372
+ <xsd:sequence>
1373
+ <xsd:element ref="gml:_Feature" maxOccurs="unbounded"/>
1374
+ </xsd:sequence>
1375
+ <xsd:attribute name="idgen"
1376
+ type="wfs:IdentifierGenerationOptionType"
1377
+ use="optional" default="GenerateNew">
1378
+ <xsd:annotation>
1379
+ <xsd:documentation>
1380
+ The idgen attribute control how a WFS generates identifiers
1381
+ from newly created feature instances using the Insert action.
1382
+ The default action is to have the WFS generate a new id for
1383
+ the features. This is also backward compatible with WFS 1.0
1384
+ where the only action was for the WFS to generate an new id.
1385
+ </xsd:documentation>
1386
+ </xsd:annotation>
1387
+ </xsd:attribute>
1388
+ <xsd:attribute name="handle" type="xsd:string" use="optional">
1389
+ <xsd:annotation>
1390
+ <xsd:documentation>
1391
+ The handle attribute allows a client application
1392
+ to assign a client-generated request identifier
1393
+ to an Insert action. The handle is included to
1394
+ facilitate error reporting. If an Insert action
1395
+ in a Transaction request fails, then a WFS may
1396
+ include the handle in an exception report to localize
1397
+ the error. If no handle is included of the offending
1398
+ Insert element then a WFS may employee other means of
1399
+ localizing the error (e.g. line number).
1400
+ </xsd:documentation>
1401
+ </xsd:annotation>
1402
+ </xsd:attribute>
1403
+ <xsd:attribute name="inputFormat" type="xsd:string"
1404
+ use="optional" default="text/xml; subtype=gml/3.1.1">
1405
+ <xsd:annotation>
1406
+ <xsd:documentation>
1407
+ This inputFormat attribute is used to indicate
1408
+ the format used to encode a feature instance in
1409
+ an Insert element. The default value of
1410
+ 'text/xml; subtype=gml/3.1.1' is used to indicate
1411
+ that feature encoding is GML3. Another example
1412
+ might be 'text/xml; subtype=gml/2.1.2' indicating
1413
+ that the feature us encoded in GML2. A WFS must
1414
+ declare in the capabilities document, using a
1415
+ Parameter element, which version of GML it supports.
1416
+ </xsd:documentation>
1417
+ </xsd:annotation>
1418
+ </xsd:attribute>
1419
+ <xsd:attribute name="srsName" type="xsd:anyURI" use="optional">
1420
+ <xsd:annotation>
1421
+ <xsd:documentation>
1422
+ ===== PAV 12NOV2004 ====
1423
+ WHY IS THIS HERE? WOULDN'T WE KNOW THE INCOMING SRS FROM THE
1424
+ GML GEOMETRY ELEMENTS? I ASSUME THAT IF THE INCOMING SRS
1425
+ DOES NOT MATCH ONE OF THE STORAGE SRS(s) THEN THE WFS WOULD
1426
+ EITHER PROJECT INTO THE STORAGE SRS OR RAISE AN EXCEPTION.
1427
+ </xsd:documentation>
1428
+ </xsd:annotation>
1429
+ </xsd:attribute>
1430
+ </xsd:complexType>
1431
+ <xsd:simpleType name="IdentifierGenerationOptionType">
1432
+ <xsd:restriction base="xsd:string">
1433
+ <xsd:enumeration value="UseExisting">
1434
+ <xsd:annotation>
1435
+ <xsd:documentation>
1436
+ The UseExsiting value indicates that WFS should not
1437
+ generate a new feature identifier for the feature
1438
+ being inserted into the repositry. Instead, the WFS
1439
+ should use the identifier encoded if the feature.
1440
+ If a duplicate exists then the WFS should raise an
1441
+ exception.
1442
+ </xsd:documentation>
1443
+ </xsd:annotation>
1444
+ </xsd:enumeration>
1445
+ <xsd:enumeration value="ReplaceDuplicate">
1446
+ <xsd:annotation>
1447
+ <xsd:documentation>
1448
+ The ReplaceDuplicate value indicates that WFS should
1449
+ not generate a new feature identifier for the feature
1450
+ being inserted into the repositry. Instead, the WFS
1451
+ should use the identifier encoded if the feature.
1452
+ If a duplicate exists then the WFS should replace the
1453
+ existing feature instance with the one encoded in the
1454
+ Insert action.
1455
+ </xsd:documentation>
1456
+ </xsd:annotation>
1457
+ </xsd:enumeration>
1458
+ <xsd:enumeration value="GenerateNew">
1459
+ <xsd:annotation>
1460
+ <xsd:documentation>
1461
+ The GenerateNew value indicates that WFS should
1462
+ generate a new unique feature identifier for the
1463
+ feature being inserted into the repositry.
1464
+ </xsd:documentation>
1465
+ </xsd:annotation>
1466
+ </xsd:enumeration>
1467
+ </xsd:restriction>
1468
+ </xsd:simpleType>
1469
+ <xsd:element name="Update" type="wfs:UpdateElementType">
1470
+ <xsd:annotation>
1471
+ <xsd:documentation>
1472
+ One or more existing feature instances can be changed by
1473
+ using the Update element.
1474
+ </xsd:documentation>
1475
+ </xsd:annotation>
1476
+ </xsd:element>
1477
+ <xsd:complexType name="UpdateElementType">
1478
+ <xsd:sequence>
1479
+ <xsd:element ref="wfs:Property" maxOccurs="unbounded">
1480
+ <xsd:annotation>
1481
+ <xsd:documentation>
1482
+ Changing or updating a feature instance means that
1483
+ the current value of one or more properties of
1484
+ the feature are replaced with new values. The Update
1485
+ element contains one or more Property elements. A
1486
+ Property element contains the name or a feature property
1487
+ who's value is to be changed and the replacement value
1488
+ for that property.
1489
+ </xsd:documentation>
1490
+ </xsd:annotation>
1491
+ </xsd:element>
1492
+ <xsd:element ref="ogc:Filter" minOccurs="0" maxOccurs="1">
1493
+ <xsd:annotation>
1494
+ <xsd:documentation>
1495
+ The Filter element is used to constrain the scope
1496
+ of the update operation to those features identified
1497
+ by the filter. Feature instances can be specified
1498
+ explicitly and individually using the identifier of
1499
+ each feature instance OR a set of features to be
1500
+ operated on can be identified by specifying spatial
1501
+ and non-spatial constraints in the filter.
1502
+ If no filter is specified then update operation
1503
+ applies to all feature instances.
1504
+ </xsd:documentation>
1505
+ </xsd:annotation>
1506
+ </xsd:element>
1507
+ </xsd:sequence>
1508
+ <xsd:attribute name="handle" type="xsd:string" use="optional">
1509
+ <xsd:annotation>
1510
+ <xsd:documentation>
1511
+ The handle attribute allows a client application
1512
+ to assign a client-generated request identifier
1513
+ to an Insert action. The handle is included to
1514
+ facilitate error reporting. If an Update action
1515
+ in a Transaction request fails, then a WFS may
1516
+ include the handle in an exception report to localize
1517
+ the error. If no handle is included of the offending
1518
+ Insert element then a WFS may employee other means of
1519
+ localizing the error (e.g. line number).
1520
+ </xsd:documentation>
1521
+ </xsd:annotation>
1522
+ </xsd:attribute>
1523
+ <xsd:attribute name="typeName" type="xsd:QName" use="required">
1524
+ <xsd:annotation>
1525
+ <xsd:documentation>
1526
+ The value of the typeName attribute is the name
1527
+ of the feature type to be updated. The name
1528
+ specified must be a valid type that belongs to
1529
+ the feature content as defined by the GML
1530
+ Application Schema.
1531
+ </xsd:documentation>
1532
+ </xsd:annotation>
1533
+ </xsd:attribute>
1534
+ <xsd:attribute name="inputFormat" type="xsd:string"
1535
+ use="optional" default="x-application/gml:3">
1536
+ <xsd:annotation>
1537
+ <xsd:documentation>
1538
+ This inputFormat attribute is used to indicate
1539
+ the format used to encode a feature instance in
1540
+ an Insert element. The default value of
1541
+ 'text/xml; subtype=gml/3.1.1' is used to indicate
1542
+ that feature encoding is GML3. Another example
1543
+ might be 'text/xml; subtype=gml/2.1.2' indicating
1544
+ that the feature us encoded in GML2. A WFS must
1545
+ declare in the capabilities document, using a
1546
+ Parameter element, which version of GML it supports.
1547
+ </xsd:documentation>
1548
+ </xsd:annotation>
1549
+ </xsd:attribute>
1550
+ <xsd:attribute name="srsName" type="xsd:anyURI" use="optional">
1551
+ <xsd:annotation>
1552
+ <xsd:documentation>
1553
+ DO WE NEED THIS HERE?
1554
+ </xsd:documentation>
1555
+ </xsd:annotation>
1556
+ </xsd:attribute>
1557
+ </xsd:complexType>
1558
+ <xsd:element name="Property" type="wfs:PropertyType">
1559
+ <xsd:annotation>
1560
+ <xsd:documentation>
1561
+ The Property element is used to specify the new
1562
+ value of a feature property inside an Update
1563
+ element.
1564
+ </xsd:documentation>
1565
+ </xsd:annotation>
1566
+ </xsd:element>
1567
+ <xsd:complexType name="PropertyType">
1568
+ <xsd:sequence>
1569
+ <xsd:element name="Name" type="xsd:QName">
1570
+ <xsd:annotation>
1571
+ <xsd:documentation>
1572
+ The Name element contains the name of a feature property
1573
+ to be updated.
1574
+ </xsd:documentation>
1575
+ </xsd:annotation>
1576
+ </xsd:element>
1577
+ <xsd:element name="Value" minOccurs="0">
1578
+ <xsd:annotation>
1579
+ <xsd:documentation>
1580
+ The Value element contains the replacement value for the
1581
+ named property.
1582
+ </xsd:documentation>
1583
+ </xsd:annotation>
1584
+ </xsd:element>
1585
+ </xsd:sequence>
1586
+ </xsd:complexType>
1587
+ <xsd:element name="Delete" type="wfs:DeleteElementType">
1588
+ <xsd:annotation>
1589
+ <xsd:documentation>
1590
+ The Delete element is used to indicate that one or more
1591
+ feature instances should be removed from the feature
1592
+ repository.
1593
+ </xsd:documentation>
1594
+ </xsd:annotation>
1595
+ </xsd:element>
1596
+ <xsd:complexType name="DeleteElementType">
1597
+ <xsd:sequence>
1598
+ <xsd:element ref="ogc:Filter" minOccurs="1" maxOccurs="1">
1599
+ <xsd:annotation>
1600
+ <xsd:documentation>
1601
+ The Filter element is used to constrain the scope
1602
+ of the delete operation to those features identified
1603
+ by the filter. Feature instances can be specified
1604
+ explicitly and individually using the identifier of
1605
+ each feature instance OR a set of features to be
1606
+ operated on can be identified by specifying spatial
1607
+ and non-spatial constraints in the filter.
1608
+ If no filter is specified then an exception should
1609
+ be raised since it is unlikely that a client application
1610
+ intends to delete all feature instances.
1611
+ </xsd:documentation>
1612
+ </xsd:annotation>
1613
+ </xsd:element>
1614
+ </xsd:sequence>
1615
+ <xsd:attribute name="handle" type="xsd:string" use="optional">
1616
+ <xsd:annotation>
1617
+ <xsd:documentation>
1618
+ The handle attribute allows a client application
1619
+ to assign a client-generated request identifier
1620
+ to an Insert action. The handle is included to
1621
+ facilitate error reporting. If a Delete action
1622
+ in a Transaction request fails, then a WFS may
1623
+ include the handle in an exception report to localize
1624
+ the error. If no handle is included of the offending
1625
+ Insert element then a WFS may employee other means of
1626
+ localizing the error (e.g. line number).
1627
+ </xsd:documentation>
1628
+ </xsd:annotation>
1629
+ </xsd:attribute>
1630
+ <xsd:attribute name="typeName" type="xsd:QName" use="required">
1631
+ <xsd:annotation>
1632
+ <xsd:documentation>
1633
+ The value of the typeName attribute is the name
1634
+ of the feature type to be updated. The name
1635
+ specified must be a valid type that belongs to
1636
+ the feature content as defined by the GML
1637
+ Application Schema.
1638
+ </xsd:documentation>
1639
+ </xsd:annotation>
1640
+ </xsd:attribute>
1641
+ </xsd:complexType>
1642
+ <xsd:element name="Native" type="wfs:NativeType">
1643
+ <xsd:annotation>
1644
+ <xsd:documentation>
1645
+ Many times, a Web Feature Service interacts with a repository
1646
+ that may have special vendor specific capabilities. The native
1647
+ element allows vendor specific command to be passed to the
1648
+ repository via the Web Feature Service.
1649
+ </xsd:documentation>
1650
+ </xsd:annotation>
1651
+ </xsd:element>
1652
+ <xsd:complexType name="NativeType">
1653
+ <xsd:attribute name="vendorId" type="xsd:string" use="required">
1654
+ <xsd:annotation>
1655
+ <xsd:documentation>
1656
+ The vendorId attribute is used to specify the name of
1657
+ vendor who's vendor specific command the client
1658
+ application wishes to execute.
1659
+ </xsd:documentation>
1660
+ </xsd:annotation>
1661
+ </xsd:attribute>
1662
+ <xsd:attribute name="safeToIgnore" type="xsd:boolean" use="required">
1663
+ <xsd:annotation>
1664
+ <xsd:documentation>
1665
+ In the event that a Web Feature Service does not recognize
1666
+ the vendorId or does not recognize the vendor specific command,
1667
+ the safeToIgnore attribute is used to indicate whether the
1668
+ exception can be safely ignored. A value of TRUE means that
1669
+ the Web Feature Service may ignore the command. A value of
1670
+ FALSE means that a Web Feature Service cannot ignore the
1671
+ command and an exception should be raised if a problem is
1672
+ encountered.
1673
+ </xsd:documentation>
1674
+ </xsd:annotation>
1675
+ </xsd:attribute>
1676
+ </xsd:complexType>
1677
+ <!-- REPONSE -->
1678
+ <xsd:element name="TransactionResponse"
1679
+ type="wfs:TransactionResponseType">
1680
+ <xsd:annotation>
1681
+ <xsd:documentation>
1682
+ The TransactionResponse element contains a report
1683
+ about the completion status of a Transaction operation.
1684
+ </xsd:documentation>
1685
+ </xsd:annotation>
1686
+ </xsd:element>
1687
+ <xsd:complexType name="TransactionResponseType">
1688
+ <xsd:annotation>
1689
+ <xsd:documentation xml:lang="en">
1690
+ The response for a transaction request that was successfully
1691
+ completed. If the transaction failed for any reason, an
1692
+ exception report is returned instead.
1693
+ </xsd:documentation>
1694
+ </xsd:annotation>
1695
+ <xsd:sequence>
1696
+ <xsd:element name="TransactionSummary"
1697
+ type="wfs:TransactionSummaryType">
1698
+ <xsd:annotation>
1699
+ <xsd:documentation xml:lang="en">
1700
+ The TransactionSummary element is used to summarize
1701
+ the number of feature instances affected by the
1702
+ transaction.
1703
+ </xsd:documentation>
1704
+ </xsd:annotation>
1705
+ </xsd:element>
1706
+ <xsd:element name="TransactionResults"
1707
+ type="wfs:TransactionResultsType"
1708
+ minOccurs="0">
1709
+ <xsd:annotation>
1710
+ <xsd:documentation xml:lang="en">
1711
+ For systems that do not support atomic transactions,
1712
+ the TransactionResults element may be used to report
1713
+ exception codes and messages for all actions of a
1714
+ transaction that failed to execute successfully.
1715
+ </xsd:documentation>
1716
+ </xsd:annotation>
1717
+ </xsd:element>
1718
+ <xsd:element name="InsertResults"
1719
+ type="wfs:InsertResultsType"
1720
+ minOccurs="0">
1721
+ <xsd:annotation>
1722
+ <xsd:documentation xml:lang="en">
1723
+ A transaction is a collection of Insert,Update and Delete
1724
+ actions. The Update and Delete actions modify features
1725
+ that already exist. The Insert action, however, creates
1726
+ new features. The InsertResults element is used to
1727
+ report the identifiers of the newly created features.
1728
+ </xsd:documentation>
1729
+ </xsd:annotation>
1730
+ </xsd:element>
1731
+ </xsd:sequence>
1732
+ <xsd:attribute name="version"
1733
+ type="xsd:string" use="required" fixed="1.1.0">
1734
+ <xsd:annotation>
1735
+ <xsd:documentation>
1736
+ The version attribute contains the version of the request
1737
+ that generated this response. So a V1.1.0 transaction
1738
+ request generates a V1.1.0 transaction response.
1739
+ </xsd:documentation>
1740
+ </xsd:annotation>
1741
+ </xsd:attribute>
1742
+ </xsd:complexType>
1743
+ <xsd:complexType name="TransactionSummaryType">
1744
+ <xsd:annotation>
1745
+ <xsd:documentation xml:lang="en">
1746
+ Reports the total number of features affected by some kind
1747
+ of write action (i.e, insert, update, delete).
1748
+ </xsd:documentation>
1749
+ </xsd:annotation>
1750
+ <xsd:sequence>
1751
+ <xsd:element name="totalInserted"
1752
+ type="xsd:nonNegativeInteger"
1753
+ minOccurs="0"/>
1754
+ <xsd:element name="totalUpdated"
1755
+ type="xsd:nonNegativeInteger"
1756
+ minOccurs="0"/>
1757
+ <xsd:element name="totalDeleted"
1758
+ type="xsd:nonNegativeInteger"
1759
+ minOccurs="0"/>
1760
+ </xsd:sequence>
1761
+ </xsd:complexType>
1762
+ <xsd:complexType name="TransactionResultsType">
1763
+ <xsd:annotation>
1764
+ <xsd:documentation>
1765
+ The TransactionResults element may be used to report exception
1766
+ codes and messages for all actions of a transaction that failed
1767
+ to complete successfully.
1768
+ </xsd:documentation>
1769
+ </xsd:annotation>
1770
+ <xsd:sequence>
1771
+ <xsd:element name="Action" type="wfs:ActionType"
1772
+ minOccurs="0" maxOccurs="unbounded">
1773
+ <xsd:annotation>
1774
+ <xsd:documentation>
1775
+ The Action element reports an exception code
1776
+ and exception message indicating why the
1777
+ corresponding action of a transaction request
1778
+ failed.
1779
+ </xsd:documentation>
1780
+ </xsd:annotation>
1781
+ </xsd:element>
1782
+ </xsd:sequence>
1783
+ </xsd:complexType>
1784
+ <xsd:complexType name="ActionType">
1785
+ <xsd:sequence>
1786
+ <xsd:element name="Message" type="xsd:string"
1787
+ minOccurs="0" maxOccurs="1">
1788
+ <xsd:annotation>
1789
+ <xsd:documentation>
1790
+ If an action fails, the message element may be used
1791
+ to supply an exception message.
1792
+ </xsd:documentation>
1793
+ </xsd:annotation>
1794
+ </xsd:element>
1795
+ </xsd:sequence>
1796
+ <xsd:attribute name="locator" type="xsd:string" use="required">
1797
+ <xsd:annotation>
1798
+ <xsd:documentation>
1799
+ The locator attribute is used to locate an action
1800
+ within a &lt;Transaction&gt; element. The value
1801
+ of the locator attribute is either a string that
1802
+ is equal to the value of the handle attribute
1803
+ specified on an &lt;Insert&gt;, &lt;Update&gt;
1804
+ or &lt;Delete&gt; action. If a value is not
1805
+ specified for the handle attribute then a WFS
1806
+ may employ some other means of locating the
1807
+ action. For example, the value of the locator
1808
+ attribute may be an integer indicating the order
1809
+ of the action (i.e. 1=First action, 2=Second action,
1810
+ etc.).
1811
+ </xsd:documentation>
1812
+ </xsd:annotation>
1813
+ </xsd:attribute>
1814
+ <xsd:attribute name="code" type="xsd:string" use="optional">
1815
+ <xsd:annotation>
1816
+ <xsd:documentation>
1817
+ The code attribute may be used to specify an
1818
+ exception code indicating why an action failed.
1819
+ </xsd:documentation>
1820
+ </xsd:annotation>
1821
+ </xsd:attribute>
1822
+ </xsd:complexType>
1823
+ <xsd:complexType name="InsertResultsType">
1824
+ <xsd:annotation>
1825
+ <xsd:documentation xml:lang="en">
1826
+ Reports the list of identifiers of all features created
1827
+ by a transaction request. New features are created using
1828
+ the Insert action and the list of idetifiers must be
1829
+ presented in the same order as the Insert actions were
1830
+ encountered in the transaction request. Features may
1831
+ optionally be correlated with identifiers using the
1832
+ handle attribute (if it was specified on the Insert
1833
+ element).
1834
+ </xsd:documentation>
1835
+ </xsd:annotation>
1836
+ <xsd:sequence>
1837
+ <xsd:element name="Feature"
1838
+ type="wfs:InsertedFeatureType"
1839
+ maxOccurs="unbounded"/>
1840
+ </xsd:sequence>
1841
+ </xsd:complexType>
1842
+ <xsd:complexType name="InsertedFeatureType">
1843
+ <xsd:sequence>
1844
+ <xsd:element ref="ogc:FeatureId" maxOccurs="unbounded">
1845
+ <xsd:annotation>
1846
+ <xsd:documentation xml:lang="en">
1847
+ This is the feature identifier for the newly created
1848
+ feature. The feature identifier may be generated by
1849
+ the WFS or provided by the client (depending on the
1850
+ value of the idgen attribute). In all cases of idgen
1851
+ values, the feature id must be reported here.
1852
+ </xsd:documentation>
1853
+ </xsd:annotation>
1854
+ </xsd:element>
1855
+ </xsd:sequence>
1856
+ <xsd:attribute name="handle" type="xsd:string" use="optional">
1857
+ <xsd:annotation>
1858
+ <xsd:documentation xml:lang="en">
1859
+ If the insert element that generated this feature
1860
+ had a value for the "handle" attribute then a WFS
1861
+ may report it using this attribute to correlate
1862
+ the feature created with the action that created it.
1863
+ </xsd:documentation>
1864
+ </xsd:annotation>
1865
+ </xsd:attribute>
1866
+ </xsd:complexType>
1867
+ </xsd:schema>