wfs.xsd 87 KB

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