gmlasconf.xsd 47 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. /******************************************************************************
  4. * $Id$
  5. *
  6. * Project: GDAL/OGR
  7. * Purpose: XML Schema for gmlasconf.xml
  8. * Author: Even Rouault, <even dot rouault at spatialys dot com>
  9. *
  10. **********************************************************************
  11. * Copyright (c) 2016, Even Rouault
  12. *
  13. * Permission is hereby granted, free of charge, to any person obtaining a
  14. * copy of this software and associated documentation files (the "Software"),
  15. * to deal in the Software without restriction, including without limitation
  16. * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  17. * and/or sell copies of the Software, and to permit persons to whom the
  18. * Software is furnished to do so, subject to the following conditions:
  19. *
  20. * The above copyright notice and this permission notice shall be included
  21. * in all copies or substantial portions of the Software.
  22. *
  23. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  24. * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  25. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  26. * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  27. * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  28. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  29. * DEALINGS IN THE SOFTWARE.
  30. ****************************************************************************/
  31. -->
  32. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  33. elementFormDefault="qualified" version="1.0">
  34. <xs:element name="Configuration">
  35. <xs:annotation>
  36. <xs:documentation>
  37. Configuration of GMLAS driver.
  38. </xs:documentation>
  39. </xs:annotation>
  40. <xs:complexType>
  41. <xs:sequence>
  42. <xs:element name="AllowRemoteSchemaDownload" minOccurs="0"
  43. type="xs:boolean">
  44. <xs:annotation>
  45. <xs:documentation>
  46. Whether downloading remote schemas is allowed. Default is true.
  47. </xs:documentation>
  48. </xs:annotation>
  49. </xs:element>
  50. <xs:element name="SchemaCache" minOccurs="0">
  51. <xs:annotation>
  52. <xs:documentation>
  53. Describe working of schema cache.
  54. </xs:documentation>
  55. </xs:annotation>
  56. <xs:complexType>
  57. <xs:sequence>
  58. <xs:element name="Directory" minOccurs="0" type="xs:string">
  59. <xs:annotation>
  60. <xs:documentation>
  61. Name of the cache directory. If not specified, this
  62. defaults to $HOME/.gdal/gmlas_xsd_cache.
  63. Ignored if 'enabled' is not true.
  64. </xs:documentation>
  65. </xs:annotation>
  66. </xs:element>
  67. </xs:sequence>
  68. <xs:attribute name="enabled" type="xs:boolean">
  69. <xs:annotation>
  70. <xs:documentation>
  71. Whether the cache is enabled. Default is true.
  72. </xs:documentation>
  73. </xs:annotation>
  74. </xs:attribute>
  75. </xs:complexType>
  76. </xs:element>
  77. <xs:element name="SchemaAnalysisOptions" minOccurs="0">
  78. <xs:annotation>
  79. <xs:documentation>
  80. Describe option that affect the Xerces schema parser.
  81. </xs:documentation>
  82. </xs:annotation>
  83. <xs:complexType>
  84. <xs:sequence>
  85. <xs:element name="SchemaFullChecking" minOccurs="0" type="xs:boolean">
  86. <xs:annotation>
  87. <xs:documentation>
  88. Whether to enable full schema constraint checking, including checking
  89. which may be time-consuming or memory intensive. Currently,
  90. particle unique attribution constraint checking and particle
  91. derivation restriction checking are controlled by this option.
  92. Defaults to true.
  93. </xs:documentation>
  94. </xs:annotation>
  95. </xs:element>
  96. <xs:element name="HandleMultipleImports" minOccurs="0" type="xs:boolean">
  97. <xs:annotation>
  98. <xs:documentation>
  99. Whether to allow multiple schemas with the same namespace
  100. to be imported.
  101. Defaults to false.
  102. </xs:documentation>
  103. </xs:annotation>
  104. </xs:element>
  105. </xs:sequence>
  106. </xs:complexType>
  107. </xs:element>
  108. <xs:element name="Validation" minOccurs="0">
  109. <xs:annotation>
  110. <xs:documentation>
  111. Describe if and how validation of the document against the
  112. schema is done.
  113. </xs:documentation>
  114. </xs:annotation>
  115. <xs:complexType>
  116. <xs:sequence>
  117. <xs:element name="FailIfError" type="xs:boolean">
  118. <xs:annotation>
  119. <xs:documentation>
  120. Whether a validation error should prevent dataset
  121. opening.
  122. Ignored if 'enabled' is not true.
  123. Default is false.
  124. </xs:documentation>
  125. </xs:annotation>
  126. </xs:element>
  127. </xs:sequence>
  128. <xs:attribute name="enabled" type="xs:boolean">
  129. <xs:annotation>
  130. <xs:documentation>
  131. Whether validation is enabled. Default is false.
  132. </xs:documentation>
  133. </xs:annotation>
  134. </xs:attribute>
  135. </xs:complexType>
  136. </xs:element>
  137. <xs:element name="ExposeMetadataLayers" minOccurs="0" type="xs:boolean">
  138. <xs:annotation>
  139. <xs:documentation>
  140. Whether the _ogr_layers_metadata, _ogr_fields_metadata and
  141. _ogr_layer_relationships layers that show how OGR layers and
  142. fields are built from the schemas should be exposed as
  143. available layers.
  144. Default is false.
  145. </xs:documentation>
  146. </xs:annotation>
  147. </xs:element>
  148. <xs:element name="LayerBuildingRules" minOccurs="0">
  149. <xs:annotation>
  150. <xs:documentation>
  151. Tunable rules that affect how layers and fields are built from
  152. the schema.
  153. </xs:documentation>
  154. </xs:annotation>
  155. <xs:complexType>
  156. <xs:sequence>
  157. <xs:element name="AlwaysGenerateOGRId" minOccurs="0" type="xs:boolean">
  158. <xs:annotation>
  159. <xs:documentation>
  160. Whether a 'ogr_pkid' attribute should always be generated,
  161. even if the underlying XML element has a required attribute
  162. of type ID. Turning it to true can be useful if the
  163. uniqueness of such attributes is not trused.
  164. Default is false.
  165. </xs:documentation>
  166. </xs:annotation>
  167. </xs:element>
  168. <xs:element name="RemoveUnusedLayers" minOccurs="0" type="xs:boolean">
  169. <xs:annotation>
  170. <xs:documentation>
  171. Whether to remove any OGR layer without any feature, during the
  172. initial scan pass.
  173. Default is false.
  174. </xs:documentation>
  175. </xs:annotation>
  176. </xs:element>
  177. <xs:element name="RemoveUnusedFields" minOccurs="0" type="xs:boolean">
  178. <xs:annotation>
  179. <xs:documentation>
  180. Whether to remove any unused OGR field, during the
  181. initial scan pass.
  182. Default is false.
  183. </xs:documentation>
  184. </xs:annotation>
  185. </xs:element>
  186. <xs:element name="UseArrays" minOccurs="0" type="xs:boolean">
  187. <xs:annotation>
  188. <xs:documentation>
  189. Whether OGR array types (StringList, IntegerList,
  190. Integer64List and RealList) can be used to store
  191. repeated values of the corresponding base types.
  192. Default is true.
  193. </xs:documentation>
  194. </xs:annotation>
  195. </xs:element>
  196. <xs:element name="UseNullState" minOccurs="0" type="xs:boolean">
  197. <xs:annotation>
  198. <xs:documentation>
  199. Whether xsi:nil="true" should be mapped from/to the OGR
  200. null field state (new in GDAL 2.2). If set to false, then
  201. a XXX_nil field will be added when necessary. If set to true,
  202. then unset and null states are used (but this is not very
  203. convenient when converting to SQL databases where both states
  204. are equivalent).
  205. Default is false.
  206. </xs:documentation>
  207. </xs:annotation>
  208. </xs:element>
  209. <xs:element name="GML" minOccurs="0">
  210. <xs:annotation>
  211. <xs:documentation>
  212. Settings specific to documents that import the GML namespace.
  213. </xs:documentation>
  214. </xs:annotation>
  215. <xs:complexType>
  216. <xs:sequence>
  217. <xs:element name="IncludeGeometryXML" minOccurs="0"
  218. type="xs:boolean">
  219. <xs:annotation>
  220. <xs:documentation>
  221. Whether the XML description of a GML geometry should
  222. be stored in a string attribute (whose name is the
  223. element name suffixed by _xml). This is in addition
  224. to storing the geometry as a OGR geometry.
  225. Default is false.
  226. </xs:documentation>
  227. </xs:annotation>
  228. </xs:element>
  229. <xs:element name="InstantiateGMLFeaturesOnly" minOccurs="0"
  230. type="xs:boolean">
  231. <xs:annotation>
  232. <xs:documentation>
  233. Whether, when dealing with schemas that import the
  234. GML namespace, and that at least one of them has
  235. elements that derive from gml:_Feature or
  236. gml:AbstractFeatureonly, only such elements should be
  237. instantiated as OGR layers, during the first pass that
  238. iterates over top level elements of the imported
  239. schemas.
  240. Note: for technical reasons, other elements may end
  241. up being exposed as OGR layers, but this setting
  242. is a first way of limiting the number of OGR layers.
  243. Default is true.
  244. </xs:documentation>
  245. </xs:annotation>
  246. </xs:element>
  247. </xs:sequence>
  248. </xs:complexType>
  249. </xs:element>
  250. <xs:element name="IdentifierMaxLength" minOccurs="0">
  251. <xs:annotation>
  252. <xs:documentation>
  253. Maximum size of layer and field identifiers. If identifiers
  254. are naturally bigger than the limit, a logic truncates
  255. them while ensuring their unicity.
  256. When absent, unlimited size.
  257. </xs:documentation>
  258. </xs:annotation>
  259. <xs:simpleType>
  260. <xs:restriction base="xs:positiveInteger">
  261. <xs:minInclusive value="10"/>
  262. </xs:restriction>
  263. </xs:simpleType>
  264. </xs:element>
  265. <xs:element name="CaseInsensitiveIdentifier" minOccurs="0" type="xs:boolean">
  266. <xs:annotation>
  267. <xs:documentation>
  268. Whether layer and field names should be consider equal in a
  269. case insensitive way. This is important for conversion to
  270. Postgres when identifiers are laundered in lower case
  271. Default is true.
  272. </xs:documentation>
  273. </xs:annotation>
  274. </xs:element>
  275. <xs:element name="PostgreSQLIdentifierLaundering" minOccurs="0" type="xs:boolean">
  276. <xs:annotation>
  277. <xs:documentation>
  278. Whether layer and field names should be laundered like the
  279. OGR PostgreSQL driver does by default, ie identifiers put
  280. in lower cases and a few special characters( single quote,
  281. dash, sharp) replaced by underscore. This can help to post-
  282. process the _ogr_layer_relationships layers more easily or,
  283. for write support.
  284. Note: this laundering is safe for other backends as well.
  285. Default is true.
  286. </xs:documentation>
  287. </xs:annotation>
  288. </xs:element>
  289. <xs:element name="FlatteningRules" minOccurs="0">
  290. <xs:complexType>
  291. <xs:sequence>
  292. <xs:element name="MaximumNumberOfFields" type="xs:int" minOccurs="0">
  293. <xs:annotation>
  294. <xs:documentation>
  295. Maximum number of fields in an element considered
  296. for flattening.
  297. Default is 10.
  298. </xs:documentation>
  299. </xs:annotation>
  300. </xs:element>
  301. <xs:element name="Namespaces" type="namespacesType" minOccurs="0"/>
  302. <xs:element name="ForceFlatteningXPath" type="xs:string" minOccurs="0" maxOccurs="unbounded">
  303. <xs:annotation>
  304. <xs:documentation>
  305. XPath of element that will be considered for flattening
  306. even if it has more than MaximumNumberOfFields fields,
  307. or if it is referenced several times by other elements.
  308. Note: other constraints might make it impossible to
  309. flatten it, for example if it has repeated elements.
  310. </xs:documentation>
  311. </xs:annotation>
  312. </xs:element>
  313. <xs:element name="DisableFlatteningXPath" type="xs:string" minOccurs="0" maxOccurs="unbounded">
  314. <xs:annotation>
  315. <xs:documentation>
  316. XPath of element that will NOT be considered for flattening
  317. even if it has less or MaximumNumberOfFields fields.
  318. </xs:documentation>
  319. </xs:annotation>
  320. </xs:element>
  321. </xs:sequence>
  322. </xs:complexType>
  323. </xs:element>
  324. <xs:element name="SWEProcessing" minOccurs="0">
  325. <xs:annotation>
  326. <xs:documentation>
  327. Configuration of special processing for elements in
  328. the http://www.opengis.net/swe/2.0 namespace.
  329. </xs:documentation>
  330. </xs:annotation>
  331. <xs:complexType>
  332. <xs:sequence>
  333. <xs:element name="Activation" minOccurs="0">
  334. <xs:annotation>
  335. <xs:documentation>
  336. If and how SWE processing is enabled.
  337. Default is ifSWENamespaceFoundInTopElement.
  338. </xs:documentation>
  339. </xs:annotation>
  340. <xs:simpleType>
  341. <xs:restriction base="xs:string">
  342. <xs:enumeration value="ifSWENamespaceFoundInTopElement">
  343. <xs:annotation>
  344. <xs:documentation>
  345. If the http://www.opengis.net/swe/2.0
  346. namespace is found, SWE special
  347. processing will be enabled.
  348. </xs:documentation>
  349. </xs:annotation>
  350. </xs:enumeration>
  351. <xs:enumeration value="true"/>
  352. <xs:enumeration value="false"/>
  353. </xs:restriction>
  354. </xs:simpleType>
  355. </xs:element>
  356. <xs:element name="ProcessDataRecord" type="xs:boolean"
  357. minOccurs="0" maxOccurs="unbounded">
  358. <xs:annotation>
  359. <xs:documentation>
  360. If swe:DataRecord must be parsed. Default is true.
  361. </xs:documentation>
  362. </xs:annotation>
  363. </xs:element>
  364. <xs:element name="ProcessDataArray" type="xs:boolean"
  365. minOccurs="0" maxOccurs="unbounded">
  366. <xs:annotation>
  367. <xs:documentation>
  368. If swe:DataArray and swe:DataStream must be parsed.
  369. Default is true.
  370. </xs:documentation>
  371. </xs:annotation>
  372. </xs:element>
  373. </xs:sequence>
  374. </xs:complexType>
  375. </xs:element>
  376. </xs:sequence>
  377. </xs:complexType>
  378. </xs:element>
  379. <xs:element name="TypingConstraints" minOccurs="0">
  380. <xs:annotation>
  381. <xs:documentation>
  382. Constraints to specify the types of children of elements of
  383. type xs:anyType.
  384. </xs:documentation>
  385. </xs:annotation>
  386. <xs:complexType>
  387. <xs:sequence>
  388. <xs:element name="Namespaces" type="namespacesType" minOccurs="0"/>
  389. <xs:element name="ChildConstraint" minOccurs="0" maxOccurs="unbounded">
  390. <xs:complexType>
  391. <xs:sequence>
  392. <xs:element name="ContainerXPath" type="xs:string"/>
  393. <xs:element name="ChildrenElements" maxOccurs="unbounded">
  394. <xs:complexType>
  395. <xs:sequence>
  396. <xs:element name="Element" type="xs:string" maxOccurs="unbounded"/>
  397. </xs:sequence>
  398. </xs:complexType>
  399. </xs:element>
  400. </xs:sequence>
  401. </xs:complexType>
  402. </xs:element>
  403. </xs:sequence>
  404. </xs:complexType>
  405. </xs:element>
  406. <xs:element name="XLinkResolution" minOccurs="0">
  407. <xs:annotation>
  408. <xs:documentation>
  409. Rules regarding resolution of xlink:href attributes
  410. </xs:documentation>
  411. </xs:annotation>
  412. <xs:complexType>
  413. <xs:sequence>
  414. <xs:element name="Timeout" minOccurs="0" type="xs:positiveInteger">
  415. <xs:annotation>
  416. <xs:documentation>
  417. Timeout in seconds for resolving a HTTP resource.
  418. Default: no timeout or value of GDAL_HTTP_TIMEOUT
  419. configuration option.
  420. </xs:documentation>
  421. </xs:annotation>
  422. </xs:element>
  423. <xs:element name="MaxGlobalResolutionTime" minOccurs="0"
  424. type="xs:positiveInteger">
  425. <xs:annotation>
  426. <xs:documentation>
  427. Maximum allowed time for resolving all XLinks in a single
  428. document.
  429. Default: none
  430. </xs:documentation>
  431. </xs:annotation>
  432. </xs:element>
  433. <xs:element name="MaxFileSize" minOccurs="0">
  434. <xs:annotation>
  435. <xs:documentation>
  436. Maximum file size allowed.
  437. Default: 1 MB.
  438. </xs:documentation>
  439. </xs:annotation>
  440. <xs:simpleType>
  441. <xs:union memberTypes="xs:positiveInteger unlimitedEnumType"/>
  442. </xs:simpleType>
  443. </xs:element>
  444. <xs:element name="ProxyServerPort" minOccurs="0" type="xs:string">
  445. <xs:annotation>
  446. <xs:documentation>
  447. Name and port of proxy server (server:port syntax)
  448. Default: none or value of GDAL_HTTP_PROXY
  449. configuration option.
  450. </xs:documentation>
  451. </xs:annotation>
  452. </xs:element>
  453. <xs:element name="ProxyUserPassword" minOccurs="0" type="xs:string">
  454. <xs:annotation>
  455. <xs:documentation>
  456. User name and password to use for proxy server
  457. (username:password syntax)
  458. Default: none or value of GDAL_HTTP_PROXYUSERPW
  459. configuration option.
  460. </xs:documentation>
  461. </xs:annotation>
  462. </xs:element>
  463. <xs:element name="ProxyAuth" minOccurs="0" type="xs:string">
  464. <xs:annotation>
  465. <xs:documentation>
  466. Proxy authentification method: one of Basic, NTLM, Digest
  467. or Any.
  468. Default: none or value of GDAL_PROXY_AUTH
  469. configuration option.
  470. </xs:documentation>
  471. </xs:annotation>
  472. </xs:element>
  473. <xs:element name="CacheDirectory" minOccurs="0" type="xs:string">
  474. <xs:annotation>
  475. <xs:documentation>
  476. Name of the cache directory for resolved documents.
  477. If not specified, this defaults to $HOME/.gdal/gmlas_xlink_resolution_cache.
  478. The cache is only used if enabled in DefaultResolution or
  479. particular URLSpecificResolution rules.
  480. </xs:documentation>
  481. </xs:annotation>
  482. </xs:element>
  483. <xs:element name="DefaultResolution" minOccurs="0">
  484. <xs:annotation>
  485. <xs:documentation>
  486. Default rules that apply for all URLs that are not referenced
  487. by a dedicated URLSpecificResolution rule.
  488. </xs:documentation>
  489. </xs:annotation>
  490. <xs:complexType>
  491. <xs:sequence>
  492. <xs:element name="AllowRemoteDownload" minOccurs="0"
  493. type="xs:boolean">
  494. <xs:annotation>
  495. <xs:documentation>
  496. Whether downloading remote resources is allowed.
  497. If false, only locally cached resources will be used.
  498. Default is true.
  499. </xs:documentation>
  500. </xs:annotation>
  501. </xs:element>
  502. <xs:element name="ResolutionMode" minOccurs="0">
  503. <xs:annotation>
  504. <xs:documentation>
  505. Resolution mode. Must be XMLRawContent currently
  506. </xs:documentation>
  507. </xs:annotation>
  508. <xs:simpleType>
  509. <xs:restriction base="xs:string">
  510. <xs:enumeration value="RawContent">
  511. <xs:annotation>
  512. <xs:documentation>
  513. The content, provided it is of text
  514. nature, is set in a field suffixed with
  515. _raw
  516. </xs:documentation>
  517. </xs:annotation>
  518. </xs:enumeration>
  519. </xs:restriction>
  520. </xs:simpleType>
  521. </xs:element>
  522. <xs:element name="ResolutionDepth" minOccurs="0">
  523. <xs:annotation>
  524. <xs:documentation>
  525. Resolution depth. Must be 1 currently.
  526. </xs:documentation>
  527. </xs:annotation>
  528. <xs:simpleType>
  529. <xs:restriction base="xs:nonNegativeInteger">
  530. <xs:minInclusive value="1"/>
  531. <xs:maxInclusive value="1"/>
  532. </xs:restriction>
  533. </xs:simpleType>
  534. </xs:element>
  535. <xs:element name="CacheResults" minOccurs="0" type="xs:boolean">
  536. <xs:annotation>
  537. <xs:documentation>
  538. Whether resolved documents should be cached.
  539. Default is false.
  540. </xs:documentation>
  541. </xs:annotation>
  542. </xs:element>
  543. </xs:sequence>
  544. <xs:attribute name="enabled" type="xs:boolean">
  545. <xs:annotation>
  546. <xs:documentation>
  547. Whether default XLink resolution is enabled.
  548. Default is false.
  549. </xs:documentation>
  550. </xs:annotation>
  551. </xs:attribute>
  552. </xs:complexType>
  553. </xs:element>
  554. <xs:element name="URLSpecificResolution" minOccurs="0" maxOccurs="unbounded">
  555. <xs:annotation>
  556. <xs:documentation>
  557. Particular rule that apply for all URLs starting with
  558. a precise prefix. Setting at least one URLSpecificResolution will cause
  559. a compulsory initial scan of the whole file to be done so
  560. as to identify which xlink:href fields use which URL, so as
  561. to create the relevant OGR fields.
  562. </xs:documentation>
  563. </xs:annotation>
  564. <xs:complexType>
  565. <xs:sequence>
  566. <xs:element name="URLPrefix" minOccurs="0" type="xs:anyURI">
  567. <xs:annotation>
  568. <xs:documentation>
  569. URL prefix. All URLs starting with this string will
  570. match this rule.
  571. </xs:documentation>
  572. </xs:annotation>
  573. </xs:element>
  574. <xs:element name="HTTPHeader" minOccurs="0" maxOccurs="unbounded">
  575. <xs:annotation>
  576. <xs:documentation>
  577. Custom HTTP header to send in the GET request.
  578. </xs:documentation>
  579. </xs:annotation>
  580. <xs:complexType>
  581. <xs:sequence>
  582. <xs:element name="Name" type="xs:string">
  583. <xs:annotation>
  584. <xs:documentation>
  585. HTTP header name
  586. </xs:documentation>
  587. </xs:annotation>
  588. </xs:element>
  589. <xs:element name="Value" type="xs:string">
  590. <xs:annotation>
  591. <xs:documentation>
  592. HTTP header value
  593. </xs:documentation>
  594. </xs:annotation>
  595. </xs:element>
  596. </xs:sequence>
  597. </xs:complexType>
  598. </xs:element>
  599. <xs:element name="AllowRemoteDownload" minOccurs="0"
  600. type="xs:boolean">
  601. <xs:annotation>
  602. <xs:documentation>
  603. Whether downloading remote resources is allowed.
  604. If false, only locally cached resources will be used.
  605. Default is true.
  606. </xs:documentation>
  607. </xs:annotation>
  608. </xs:element>
  609. <xs:element name="ResolutionMode" minOccurs="0">
  610. <xs:annotation>
  611. <xs:documentation>
  612. Resolution mode.
  613. Default is RawContent.
  614. </xs:documentation>
  615. </xs:annotation>
  616. <xs:simpleType>
  617. <xs:restriction base="xs:string">
  618. <xs:enumeration value="RawContent">
  619. <xs:annotation>
  620. <xs:documentation>
  621. The content, provided it is of text
  622. nature, is set in a field suffixed with
  623. _rawcontent
  624. </xs:documentation>
  625. </xs:annotation>
  626. </xs:enumeration>
  627. <xs:enumeration value="FieldsFromXPath">
  628. <xs:annotation>
  629. <xs:documentation>
  630. The content, assumed to be XML, will be
  631. parsed and fields specified with Field
  632. created.
  633. </xs:documentation>
  634. </xs:annotation>
  635. </xs:enumeration>
  636. </xs:restriction>
  637. </xs:simpleType>
  638. </xs:element>
  639. <xs:element name="ResolutionDepth" minOccurs="0">
  640. <xs:annotation>
  641. <xs:documentation>
  642. Resolution depth. Must be 1 currently.
  643. </xs:documentation>
  644. </xs:annotation>
  645. <xs:simpleType>
  646. <xs:restriction base="xs:nonNegativeInteger">
  647. <xs:minInclusive value="1"/>
  648. <xs:maxInclusive value="1"/>
  649. </xs:restriction>
  650. </xs:simpleType>
  651. </xs:element>
  652. <xs:element name="CacheResults" minOccurs="0" type="xs:boolean">
  653. <xs:annotation>
  654. <xs:documentation>
  655. Whether resolved documents should be cached.
  656. Default is false.
  657. </xs:documentation>
  658. </xs:annotation>
  659. </xs:element>
  660. <xs:element name="Field" minOccurs="0" maxOccurs="unbounded">
  661. <xs:annotation>
  662. <xs:documentation>
  663. Field to create from parsed XML content. Only used
  664. if ResolutionMode = FieldsFromXPath
  665. </xs:documentation>
  666. </xs:annotation>
  667. <xs:complexType>
  668. <xs:sequence>
  669. <xs:element name="Name" type="xs:string">
  670. <xs:annotation>
  671. <xs:documentation>
  672. Field name
  673. </xs:documentation>
  674. </xs:annotation>
  675. </xs:element>
  676. <xs:element name="Type">
  677. <xs:annotation>
  678. <xs:documentation>
  679. Field type
  680. </xs:documentation>
  681. </xs:annotation>
  682. <xs:simpleType>
  683. <xs:restriction base="xs:string">
  684. <xs:enumeration value="string"/>
  685. <xs:enumeration value="integer"/>
  686. <xs:enumeration value="long"/>
  687. <xs:enumeration value="double"/>
  688. <xs:enumeration value="dateTime"/>
  689. </xs:restriction>
  690. </xs:simpleType>
  691. </xs:element>
  692. <xs:element name="XPath" type="xs:string">
  693. <xs:annotation>
  694. <xs:documentation>
  695. XPath from the root of the resolved document
  696. from which to extract the value of the field.
  697. Only a restricted subset of the full XPath 1.0
  698. syntax is supported, namely the abbreviated syntax
  699. with the '//' and '@' axis specifiers.
  700. Valid XPath are for example:
  701. - [ns1:]foo/[ns2:]bar: matches a bar element as a
  702. direct child of a foo element, foo being at any
  703. nesting level in the compared XPath.
  704. - [ns1:foo]/@[ns2:]baz: matches a baz attribute of a
  705. foo element, foo being at any nesting level in
  706. the compared XPath
  707. - [ns1:]foo//[ns2:]bar: matches a bar element as a
  708. direct or indirect child of a foo element,
  709. foo being at any nesting level in the compared
  710. XPath.
  711. - /[ns1:]foo/[ns2:]bar: matches a bar element as a
  712. direct child of a foo element, foo being at the
  713. root level.
  714. </xs:documentation>
  715. </xs:annotation>
  716. </xs:element>
  717. </xs:sequence>
  718. </xs:complexType>
  719. </xs:element>
  720. </xs:sequence>
  721. </xs:complexType>
  722. </xs:element>
  723. </xs:sequence>
  724. </xs:complexType>
  725. </xs:element>
  726. <xs:element name="IgnoredXPaths" minOccurs="0">
  727. <xs:annotation>
  728. <xs:documentation>
  729. Define elements and attributes that will be ignored when
  730. building OGR layer and field definitions.
  731. </xs:documentation>
  732. </xs:annotation>
  733. <xs:complexType>
  734. <xs:sequence>
  735. <xs:element name="WarnIfIgnoredXPathFoundInDocInstance"
  736. minOccurs="0" type="xs:boolean">
  737. <xs:annotation>
  738. <xs:documentation>
  739. Emit a warning each time an element or attribute is
  740. found in the document parsed, but ignored because
  741. of the ignored XPath defined.
  742. Default is true.
  743. </xs:documentation>
  744. </xs:annotation>
  745. </xs:element>
  746. <xs:element name="Namespaces" type="namespacesType" minOccurs="0"/>
  747. <xs:element name="XPath" minOccurs="0" maxOccurs="unbounded">
  748. <xs:annotation>
  749. <xs:documentation>
  750. A XPath against which elements and attributes found
  751. during schema analysis will be compared. If the
  752. XPath of the element/attribute of the schema
  753. matches this XPath, it will be ignored.
  754. Only a restricted subset of the full XPath 1.0
  755. syntax is supported, namely the abbreviated syntax
  756. with the '//' and '@' axis specifiers.
  757. Valid XPath are for example:
  758. - [ns1:]foo/[ns2:]bar: matches a bar element as a
  759. direct child of a foo element, foo being at any
  760. nesting level in the compared XPath.
  761. - [ns1:foo]/@[ns2:]baz: matches a baz attribute of a
  762. foo element, foo being at any nesting level in
  763. the compared XPath
  764. - [ns1:]foo//[ns2:]bar: matches a bar element as a
  765. direct or indirect child of a foo element,
  766. foo being at any nesting level in the compared
  767. XPath.
  768. - /[ns1:]foo/[ns2:]bar: matches a bar element as a
  769. direct child of a foo element, foo being at the
  770. root level.
  771. </xs:documentation>
  772. </xs:annotation>
  773. <xs:complexType>
  774. <xs:simpleContent>
  775. <xs:extension base="xs:string">
  776. <xs:attribute name="warnIfIgnoredXPathFoundInDocInstance"
  777. type="xs:boolean">
  778. <xs:annotation>
  779. <xs:documentation>
  780. Emit a warning each time an element or attribute is
  781. found in the document parsed, but ignored because
  782. of the ignored XPath defined.
  783. Override the global setting of the
  784. WarnIfIgnoredXPathFoundInDocInstance element
  785. Default is true.
  786. </xs:documentation>
  787. </xs:annotation>
  788. </xs:attribute>
  789. </xs:extension>
  790. </xs:simpleContent>
  791. </xs:complexType>
  792. </xs:element>
  793. </xs:sequence>
  794. </xs:complexType>
  795. </xs:element>
  796. <xs:element name="WriterConfig" minOccurs="0">
  797. <xs:annotation>
  798. <xs:documentation>Configuration of GMLAS writer
  799. </xs:documentation>
  800. </xs:annotation>
  801. <xs:complexType>
  802. <xs:sequence>
  803. <xs:element name="IndentationSize" minOccurs="0">
  804. <xs:annotation>
  805. <xs:documentation>
  806. Number of spaces used to indent each level of nesting in
  807. XML ouput.
  808. Default is 2.
  809. </xs:documentation>
  810. </xs:annotation>
  811. <xs:simpleType>
  812. <xs:restriction base="xs:nonNegativeInteger">
  813. <xs:maxInclusive value="8"/>
  814. </xs:restriction>
  815. </xs:simpleType>
  816. </xs:element>
  817. <xs:element name="Comment" type="xs:string" minOccurs="0">
  818. <xs:annotation>
  819. <xs:documentation>
  820. Comment to add at top of output XML file.
  821. </xs:documentation>
  822. </xs:annotation>
  823. </xs:element>
  824. <xs:element name="LineFormat" minOccurs="0">
  825. <xs:annotation>
  826. <xs:documentation>
  827. Line format.
  828. Default is platform dependant (CR-LF on Windows, LF otherwise)
  829. </xs:documentation>
  830. </xs:annotation>
  831. <xs:simpleType>
  832. <xs:restriction base="xs:string">
  833. <xs:enumeration value="NATIVE">
  834. <xs:annotation>
  835. <xs:documentation>
  836. Platform dependant (CR-LF on Windows, LF otherwise)
  837. </xs:documentation>
  838. </xs:annotation>
  839. </xs:enumeration>
  840. <xs:enumeration value="CRLF">
  841. <xs:annotation>
  842. <xs:documentation>
  843. Windows end-of-line style : CR-LF
  844. </xs:documentation>
  845. </xs:annotation>
  846. </xs:enumeration>
  847. <xs:enumeration value="FieldsFromXPath">
  848. <xs:annotation>
  849. <xs:documentation>
  850. Unix end-of-line style: LF
  851. </xs:documentation>
  852. </xs:annotation>
  853. </xs:enumeration>
  854. </xs:restriction>
  855. </xs:simpleType>
  856. </xs:element>
  857. <xs:element name="SRSNameFormat" minOccurs="0">
  858. <xs:annotation>
  859. <xs:documentation>
  860. Format to use for srsName attributes on geometries.
  861. Default is OGC_URL.
  862. </xs:documentation>
  863. </xs:annotation>
  864. <xs:simpleType>
  865. <xs:restriction base="xs:string">
  866. <xs:enumeration value="SHORT">
  867. <xs:annotation>
  868. <xs:documentation>
  869. srsName will be in the form AUTHORITY_NAME:AUTHORITY_CODE
  870. </xs:documentation>
  871. </xs:annotation>
  872. </xs:enumeration>
  873. <xs:enumeration value="OGC_URN">
  874. <xs:annotation>
  875. <xs:documentation>
  876. srsName will be in the form urn:ogc:def:crs:AUTHORITY_NAME::AUTHORITY_CODE
  877. </xs:documentation>
  878. </xs:annotation>
  879. </xs:enumeration>
  880. <xs:enumeration value="OGC_URL">
  881. <xs:annotation>
  882. <xs:documentation>
  883. ssrsName will be in the form http://www.opengis.net/def/crs/AUTHORITY_NAME/0/AUTHORITY_CODE
  884. </xs:documentation>
  885. </xs:annotation>
  886. </xs:enumeration>
  887. </xs:restriction>
  888. </xs:simpleType>
  889. </xs:element>
  890. <xs:element name="Wrapping" minOccurs="0">
  891. <xs:annotation>
  892. <xs:documentation>
  893. How to wrap features in a collection.
  894. Default is WFS2_FEATURECOLLECTION
  895. </xs:documentation>
  896. </xs:annotation>
  897. <xs:simpleType>
  898. <xs:restriction base="xs:string">
  899. <xs:enumeration value="WFS2_FEATURECOLLECTION">
  900. <xs:annotation>
  901. <xs:documentation>
  902. Use wfs:FeatureCollection / wfs:member wrapping
  903. </xs:documentation>
  904. </xs:annotation>
  905. </xs:enumeration>
  906. <xs:enumeration value="GMLAS_FEATURECOLLECTION">
  907. <xs:annotation>
  908. <xs:documentation>
  909. Use ogr_gmlas:FeatureCollection / ogr_gmlas:featureMember wrapping
  910. </xs:documentation>
  911. </xs:annotation>
  912. </xs:enumeration>
  913. </xs:restriction>
  914. </xs:simpleType>
  915. </xs:element>
  916. <xs:element name="Timestamp" minOccurs="0" type="xs:dateTime">
  917. <xs:annotation>
  918. <xs:documentation>
  919. User-specified XML dateTime value for timestamp to use in
  920. wfs:FeatureCollection attribute.
  921. Only valid for WRAPPING=WFS2_FEATURECOLLECTION.
  922. Default is current date-time.
  923. </xs:documentation>
  924. </xs:annotation>
  925. </xs:element>
  926. <xs:element name="WFS20SchemaLocation" minOccurs="0" type="xs:string">
  927. <xs:annotation>
  928. <xs:documentation>
  929. Path or URL to OGC WFS 2.0 schema.
  930. Only valid for WRAPPING=WFS2_FEATURECOLLECTION.
  931. Default is http://schemas.opengis.net/wfs/2.0/wfs.xsd.
  932. </xs:documentation>
  933. </xs:annotation>
  934. </xs:element>
  935. </xs:sequence>
  936. </xs:complexType>
  937. </xs:element>
  938. </xs:sequence>
  939. </xs:complexType>
  940. </xs:element>
  941. <xs:simpleType name="unlimitedEnumType">
  942. <xs:restriction base="xs:string">
  943. <xs:enumeration value="unlimited"/>
  944. </xs:restriction>
  945. </xs:simpleType>
  946. <xs:complexType name="namespacesType">
  947. <xs:annotation>
  948. <xs:documentation>
  949. Define optional namespaces prefix/uri tuples with
  950. which to interpret the XPath elements defined
  951. afterwards.
  952. This allows the user to define different rules when
  953. different namespaces in different XML instances map
  954. to the same prefix. E.g documents referencing
  955. different GML versions may use "gml" as
  956. a prefix for "http://www.opengis.net/gml" or
  957. "http://www.opengis.net/gml/3.2", but it might be
  958. desirable to have different exclusion rules.
  959. When comparing the XPath exclusion rules and the
  960. XPath of the elements/attributes of the parsed
  961. documents, and when the namespace of the XPath
  962. exclusion rule has been difined, the URI will be
  963. used as the unambiguous key. Otherwise prefix
  964. matching will be used.
  965. </xs:documentation>
  966. </xs:annotation>
  967. <xs:sequence>
  968. <xs:element name="Namespace" minOccurs="0" maxOccurs="unbounded">
  969. <xs:annotation>
  970. <xs:documentation>
  971. Define a namespaces prefix/uri tuple with
  972. which to interpret the XPath elements
  973. defined afterwards.
  974. </xs:documentation>
  975. </xs:annotation>
  976. <xs:complexType>
  977. <xs:sequence/>
  978. <xs:attribute name="prefix" type="xs:string" use="required">
  979. <xs:annotation>
  980. <xs:documentation>Namespace prefix.</xs:documentation>
  981. </xs:annotation>
  982. </xs:attribute>
  983. <xs:attribute name="uri" type="xs:string" use="required">
  984. <xs:annotation>
  985. <xs:documentation>Namespace URI.</xs:documentation>
  986. </xs:annotation>
  987. </xs:attribute>
  988. </xs:complexType>
  989. </xs:element>
  990. </xs:sequence>
  991. </xs:complexType>
  992. </xs:schema>