MapProxy 1.16.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. mapproxy/__init__.py +0 -0
  2. mapproxy/cache/__init__.py +36 -0
  3. mapproxy/cache/azureblob.py +145 -0
  4. mapproxy/cache/base.py +111 -0
  5. mapproxy/cache/compact.py +664 -0
  6. mapproxy/cache/couchdb.py +295 -0
  7. mapproxy/cache/dummy.py +34 -0
  8. mapproxy/cache/file.py +185 -0
  9. mapproxy/cache/geopackage.py +609 -0
  10. mapproxy/cache/legend.py +83 -0
  11. mapproxy/cache/mbtiles.py +392 -0
  12. mapproxy/cache/meta.py +78 -0
  13. mapproxy/cache/path.py +250 -0
  14. mapproxy/cache/redis.py +88 -0
  15. mapproxy/cache/renderd.py +95 -0
  16. mapproxy/cache/riak.py +202 -0
  17. mapproxy/cache/s3.py +177 -0
  18. mapproxy/cache/tile.py +699 -0
  19. mapproxy/client/__init__.py +0 -0
  20. mapproxy/client/arcgis.py +79 -0
  21. mapproxy/client/cgi.py +139 -0
  22. mapproxy/client/http.py +315 -0
  23. mapproxy/client/log.py +33 -0
  24. mapproxy/client/tile.py +150 -0
  25. mapproxy/client/wms.py +254 -0
  26. mapproxy/compat/__init__.py +46 -0
  27. mapproxy/compat/image.py +79 -0
  28. mapproxy/compat/itertools.py +29 -0
  29. mapproxy/compat/modules.py +13 -0
  30. mapproxy/config/__init__.py +22 -0
  31. mapproxy/config/config.py +201 -0
  32. mapproxy/config/coverage.py +107 -0
  33. mapproxy/config/defaults.py +98 -0
  34. mapproxy/config/loader.py +2286 -0
  35. mapproxy/config/spec.py +644 -0
  36. mapproxy/config/validator.py +239 -0
  37. mapproxy/config_template/__init__.py +0 -0
  38. mapproxy/config_template/base_config/config.wsgi +10 -0
  39. mapproxy/config_template/base_config/full_example.yaml +593 -0
  40. mapproxy/config_template/base_config/full_seed_example.yaml +79 -0
  41. mapproxy/config_template/base_config/log.ini +35 -0
  42. mapproxy/config_template/base_config/mapproxy.yaml +60 -0
  43. mapproxy/config_template/base_config/seed.yaml +27 -0
  44. mapproxy/exception.py +142 -0
  45. mapproxy/featureinfo.py +252 -0
  46. mapproxy/grid.py +1170 -0
  47. mapproxy/image/__init__.py +536 -0
  48. mapproxy/image/fonts/DejaVuSans.ttf +0 -0
  49. mapproxy/image/fonts/DejaVuSansMono.ttf +0 -0
  50. mapproxy/image/fonts/LICENSE +99 -0
  51. mapproxy/image/fonts/__init__.py +0 -0
  52. mapproxy/image/mask.py +75 -0
  53. mapproxy/image/merge.py +316 -0
  54. mapproxy/image/message.py +347 -0
  55. mapproxy/image/opts.py +182 -0
  56. mapproxy/image/tile.py +167 -0
  57. mapproxy/image/transform.py +350 -0
  58. mapproxy/layer.py +470 -0
  59. mapproxy/multiapp.py +231 -0
  60. mapproxy/proj.py +302 -0
  61. mapproxy/request/__init__.py +18 -0
  62. mapproxy/request/arcgis.py +259 -0
  63. mapproxy/request/base.py +476 -0
  64. mapproxy/request/tile.py +128 -0
  65. mapproxy/request/wms/__init__.py +793 -0
  66. mapproxy/request/wms/exception.py +99 -0
  67. mapproxy/request/wmts.py +436 -0
  68. mapproxy/response.py +237 -0
  69. mapproxy/script/__init__.py +0 -0
  70. mapproxy/script/conf/__init__.py +0 -0
  71. mapproxy/script/conf/app.py +195 -0
  72. mapproxy/script/conf/caches.py +45 -0
  73. mapproxy/script/conf/layers.py +54 -0
  74. mapproxy/script/conf/seeds.py +37 -0
  75. mapproxy/script/conf/sources.py +86 -0
  76. mapproxy/script/conf/utils.py +143 -0
  77. mapproxy/script/defrag.py +184 -0
  78. mapproxy/script/export.py +333 -0
  79. mapproxy/script/grids.py +188 -0
  80. mapproxy/script/scales.py +126 -0
  81. mapproxy/script/util.py +406 -0
  82. mapproxy/script/wms_capabilities.py +152 -0
  83. mapproxy/seed/__init__.py +0 -0
  84. mapproxy/seed/cachelock.py +121 -0
  85. mapproxy/seed/cleanup.py +187 -0
  86. mapproxy/seed/config.py +469 -0
  87. mapproxy/seed/script.py +388 -0
  88. mapproxy/seed/seeder.py +538 -0
  89. mapproxy/seed/spec.py +64 -0
  90. mapproxy/seed/util.py +254 -0
  91. mapproxy/service/__init__.py +14 -0
  92. mapproxy/service/base.py +46 -0
  93. mapproxy/service/demo.py +356 -0
  94. mapproxy/service/kml.py +331 -0
  95. mapproxy/service/ows.py +38 -0
  96. mapproxy/service/template_helper.py +53 -0
  97. mapproxy/service/templates/demo/capabilities_demo.html +16 -0
  98. mapproxy/service/templates/demo/demo.html +181 -0
  99. mapproxy/service/templates/demo/openlayers-demo.cfg +16 -0
  100. mapproxy/service/templates/demo/static/img/blank.gif +0 -0
  101. mapproxy/service/templates/demo/static/img/east-mini.png +0 -0
  102. mapproxy/service/templates/demo/static/img/north-mini.png +0 -0
  103. mapproxy/service/templates/demo/static/img/south-mini.png +0 -0
  104. mapproxy/service/templates/demo/static/img/west-mini.png +0 -0
  105. mapproxy/service/templates/demo/static/img/zoom-minus-mini.png +0 -0
  106. mapproxy/service/templates/demo/static/img/zoom-plus-mini.png +0 -0
  107. mapproxy/service/templates/demo/static/img/zoom-world-mini.png +0 -0
  108. mapproxy/service/templates/demo/static/logo.png +0 -0
  109. mapproxy/service/templates/demo/static/ol.css +345 -0
  110. mapproxy/service/templates/demo/static/ol.js +4 -0
  111. mapproxy/service/templates/demo/static/proj4.min.js +1 -0
  112. mapproxy/service/templates/demo/static/proj4defs.js +1 -0
  113. mapproxy/service/templates/demo/static/site.css +137 -0
  114. mapproxy/service/templates/demo/static/theme/default/framedCloud.css +0 -0
  115. mapproxy/service/templates/demo/static/theme/default/google.css +17 -0
  116. mapproxy/service/templates/demo/static/theme/default/ie6-style.css +10 -0
  117. mapproxy/service/templates/demo/static/theme/default/style.css +482 -0
  118. mapproxy/service/templates/demo/static.html +34 -0
  119. mapproxy/service/templates/demo/tms_demo.html +103 -0
  120. mapproxy/service/templates/demo/wms_demo.html +140 -0
  121. mapproxy/service/templates/demo/wmts_demo.html +110 -0
  122. mapproxy/service/templates/tms_capabilities.xml +13 -0
  123. mapproxy/service/templates/tms_exception.xml +4 -0
  124. mapproxy/service/templates/tms_root_resource.xml +7 -0
  125. mapproxy/service/templates/tms_tilemap_capabilities.xml +14 -0
  126. mapproxy/service/templates/wms100capabilities.xml +112 -0
  127. mapproxy/service/templates/wms100exception.xml +4 -0
  128. mapproxy/service/templates/wms110capabilities.xml +152 -0
  129. mapproxy/service/templates/wms110exception.xml +5 -0
  130. mapproxy/service/templates/wms111capabilities.xml +183 -0
  131. mapproxy/service/templates/wms111exception.xml +5 -0
  132. mapproxy/service/templates/wms130capabilities.xml +326 -0
  133. mapproxy/service/templates/wms130exception.xml +8 -0
  134. mapproxy/service/templates/wmts100capabilities.xml +155 -0
  135. mapproxy/service/templates/wmts100exception.xml +9 -0
  136. mapproxy/service/tile.py +536 -0
  137. mapproxy/service/wms.py +851 -0
  138. mapproxy/service/wmts.py +381 -0
  139. mapproxy/source/__init__.py +75 -0
  140. mapproxy/source/arcgis.py +39 -0
  141. mapproxy/source/error.py +39 -0
  142. mapproxy/source/mapnik.py +259 -0
  143. mapproxy/source/tile.py +96 -0
  144. mapproxy/source/wms.py +270 -0
  145. mapproxy/srs.py +726 -0
  146. mapproxy/template.py +54 -0
  147. mapproxy/test/__init__.py +0 -0
  148. mapproxy/test/conftest.py +7 -0
  149. mapproxy/test/helper.py +247 -0
  150. mapproxy/test/http.py +494 -0
  151. mapproxy/test/image.py +210 -0
  152. mapproxy/test/mocker.py +2268 -0
  153. mapproxy/test/schemas/inspire/common/1.0/common.xsd +1461 -0
  154. mapproxy/test/schemas/inspire/common/1.0/enums/enum_bul.xsd +108 -0
  155. mapproxy/test/schemas/inspire/common/1.0/enums/enum_cze.xsd +108 -0
  156. mapproxy/test/schemas/inspire/common/1.0/enums/enum_dan.xsd +108 -0
  157. mapproxy/test/schemas/inspire/common/1.0/enums/enum_dut.xsd +108 -0
  158. mapproxy/test/schemas/inspire/common/1.0/enums/enum_eng.xsd +155 -0
  159. mapproxy/test/schemas/inspire/common/1.0/enums/enum_est.xsd +108 -0
  160. mapproxy/test/schemas/inspire/common/1.0/enums/enum_fin.xsd +108 -0
  161. mapproxy/test/schemas/inspire/common/1.0/enums/enum_fre.xsd +108 -0
  162. mapproxy/test/schemas/inspire/common/1.0/enums/enum_ger.xsd +108 -0
  163. mapproxy/test/schemas/inspire/common/1.0/enums/enum_gle.xsd +109 -0
  164. mapproxy/test/schemas/inspire/common/1.0/enums/enum_gre.xsd +108 -0
  165. mapproxy/test/schemas/inspire/common/1.0/enums/enum_hun.xsd +108 -0
  166. mapproxy/test/schemas/inspire/common/1.0/enums/enum_ita.xsd +108 -0
  167. mapproxy/test/schemas/inspire/common/1.0/enums/enum_lav.xsd +108 -0
  168. mapproxy/test/schemas/inspire/common/1.0/enums/enum_lit.xsd +108 -0
  169. mapproxy/test/schemas/inspire/common/1.0/enums/enum_mlt.xsd +108 -0
  170. mapproxy/test/schemas/inspire/common/1.0/enums/enum_pol.xsd +108 -0
  171. mapproxy/test/schemas/inspire/common/1.0/enums/enum_por.xsd +108 -0
  172. mapproxy/test/schemas/inspire/common/1.0/enums/enum_rum.xsd +108 -0
  173. mapproxy/test/schemas/inspire/common/1.0/enums/enum_slo.xsd +108 -0
  174. mapproxy/test/schemas/inspire/common/1.0/enums/enum_slv.xsd +108 -0
  175. mapproxy/test/schemas/inspire/common/1.0/enums/enum_spa.xsd +108 -0
  176. mapproxy/test/schemas/inspire/common/1.0/enums/enum_swe.xsd +108 -0
  177. mapproxy/test/schemas/inspire/common/1.0/network.xsd +521 -0
  178. mapproxy/test/schemas/inspire/inspire_vs/1.0/inspire_vs.xsd +19 -0
  179. mapproxy/test/schemas/kml/2.2.0/ReadMe.txt +14 -0
  180. mapproxy/test/schemas/kml/2.2.0/atom-author-link.xsd +66 -0
  181. mapproxy/test/schemas/kml/2.2.0/ogckml22.xsd +1646 -0
  182. mapproxy/test/schemas/kml/2.2.0/xAL.xsd +1680 -0
  183. mapproxy/test/schemas/ows/1.1.0/ReadMe.txt +87 -0
  184. mapproxy/test/schemas/ows/1.1.0/ows19115subset.xsd +235 -0
  185. mapproxy/test/schemas/ows/1.1.0/owsAll.xsd +23 -0
  186. mapproxy/test/schemas/ows/1.1.0/owsCommon.xsd +157 -0
  187. mapproxy/test/schemas/ows/1.1.0/owsContents.xsd +86 -0
  188. mapproxy/test/schemas/ows/1.1.0/owsDataIdentification.xsd +127 -0
  189. mapproxy/test/schemas/ows/1.1.0/owsDomainType.xsd +279 -0
  190. mapproxy/test/schemas/ows/1.1.0/owsExceptionReport.xsd +76 -0
  191. mapproxy/test/schemas/ows/1.1.0/owsGetCapabilities.xsd +112 -0
  192. mapproxy/test/schemas/ows/1.1.0/owsGetResourceByID.xsd +51 -0
  193. mapproxy/test/schemas/ows/1.1.0/owsInputOutputData.xsd +59 -0
  194. mapproxy/test/schemas/ows/1.1.0/owsManifest.xsd +125 -0
  195. mapproxy/test/schemas/ows/1.1.0/owsOperationsMetadata.xsd +140 -0
  196. mapproxy/test/schemas/ows/1.1.0/owsServiceIdentification.xsd +60 -0
  197. mapproxy/test/schemas/ows/1.1.0/owsServiceProvider.xsd +47 -0
  198. mapproxy/test/schemas/sld/1.1.0/sld_capabilities.xsd +27 -0
  199. mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.dtd +353 -0
  200. mapproxy/test/schemas/wms/1.0.0/capabilities_1_0_0.xml +188 -0
  201. mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.dtd +524 -0
  202. mapproxy/test/schemas/wms/1.0.7/capabilities_1_0_7.xml +260 -0
  203. mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.dtd +273 -0
  204. mapproxy/test/schemas/wms/1.1.0/capabilities_1_1_0.xml +303 -0
  205. mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.dtd +6 -0
  206. mapproxy/test/schemas/wms/1.1.0/exception_1_1_0.xml +33 -0
  207. mapproxy/test/schemas/wms/1.1.1/OGC-exception.xsd +68 -0
  208. mapproxy/test/schemas/wms/1.1.1/WMS_DescribeLayerResponse.dtd +22 -0
  209. mapproxy/test/schemas/wms/1.1.1/WMS_MS_Capabilities.dtd +274 -0
  210. mapproxy/test/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd +5 -0
  211. mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.dtd +276 -0
  212. mapproxy/test/schemas/wms/1.1.1/capabilities_1_1_1.xml +303 -0
  213. mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.dtd +6 -0
  214. mapproxy/test/schemas/wms/1.1.1/exception_1_1_1.xml +33 -0
  215. mapproxy/test/schemas/wms/1.3.0/ReadMe.txt +8 -0
  216. mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xml +277 -0
  217. mapproxy/test/schemas/wms/1.3.0/capabilities_1_3_0.xsd +611 -0
  218. mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xml +34 -0
  219. mapproxy/test/schemas/wms/1.3.0/exceptions_1_3_0.xsd +28 -0
  220. mapproxy/test/schemas/wmsc/1.1.1/OGC-exception.xsd +68 -0
  221. mapproxy/test/schemas/wmsc/1.1.1/WMS_DescribeLayerResponse.dtd +22 -0
  222. mapproxy/test/schemas/wmsc/1.1.1/WMS_MS_Capabilities.dtd +283 -0
  223. mapproxy/test/schemas/wmsc/1.1.1/WMS_exception_1_1_1.dtd +5 -0
  224. mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.dtd +276 -0
  225. mapproxy/test/schemas/wmsc/1.1.1/capabilities_1_1_1.xml +303 -0
  226. mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.dtd +6 -0
  227. mapproxy/test/schemas/wmsc/1.1.1/exception_1_1_1.xml +33 -0
  228. mapproxy/test/schemas/wmts/1.0/ReadMe.txt +32 -0
  229. mapproxy/test/schemas/wmts/1.0/wmts.xsd +28 -0
  230. mapproxy/test/schemas/wmts/1.0/wmtsAbstract.wsdl +151 -0
  231. mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_request.xsd +38 -0
  232. mapproxy/test/schemas/wmts/1.0/wmtsGetCapabilities_response.xsd +564 -0
  233. mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_request.xsd +57 -0
  234. mapproxy/test/schemas/wmts/1.0/wmtsGetFeatureInfo_response.xsd +72 -0
  235. mapproxy/test/schemas/wmts/1.0/wmtsGetTile_request.xsd +91 -0
  236. mapproxy/test/schemas/wmts/1.0/wmtsKVP.xsd +76 -0
  237. mapproxy/test/schemas/wmts/1.0/wmtsPayload_response.xsd +70 -0
  238. mapproxy/test/schemas/xlink/1.0.0/ReadMe.txt +6 -0
  239. mapproxy/test/schemas/xlink/1.0.0/xlinks.xsd +122 -0
  240. mapproxy/test/schemas/xml.xsd +287 -0
  241. mapproxy/test/system/__init__.py +98 -0
  242. mapproxy/test/system/fixture/arcgis.yaml +57 -0
  243. mapproxy/test/system/fixture/auth.yaml +70 -0
  244. mapproxy/test/system/fixture/cache.mbtiles +0 -0
  245. mapproxy/test/system/fixture/cache_azureblob.yaml +59 -0
  246. mapproxy/test/system/fixture/cache_band_merge.yaml +73 -0
  247. mapproxy/test/system/fixture/cache_bulk_meta_tiles.yaml +24 -0
  248. mapproxy/test/system/fixture/cache_data/dop_cache_EPSG3857/00/000/000/000/000/000/000.png +0 -0
  249. mapproxy/test/system/fixture/cache_data/wms_cache_EPSG900913/01/000/000/000/000/000/001.jpeg +0 -0
  250. mapproxy/test/system/fixture/cache_data/wms_cache_transparent_EPSG900913/01/000/000/000/000/000/001.png +0 -0
  251. mapproxy/test/system/fixture/cache_geopackage.yaml +56 -0
  252. mapproxy/test/system/fixture/cache_grid_names.yaml +50 -0
  253. mapproxy/test/system/fixture/cache_mbtiles.yaml +28 -0
  254. mapproxy/test/system/fixture/cache_s3.yaml +58 -0
  255. mapproxy/test/system/fixture/cache_source.yaml +81 -0
  256. mapproxy/test/system/fixture/combined_sources.yaml +130 -0
  257. mapproxy/test/system/fixture/coverage.yaml +77 -0
  258. mapproxy/test/system/fixture/demo.yaml +135 -0
  259. mapproxy/test/system/fixture/dimension.yaml +59 -0
  260. mapproxy/test/system/fixture/disable_storage.yaml +25 -0
  261. mapproxy/test/system/fixture/empty_ogrdata.geojson +1 -0
  262. mapproxy/test/system/fixture/formats.yaml +72 -0
  263. mapproxy/test/system/fixture/inspire.yaml +101 -0
  264. mapproxy/test/system/fixture/inspire_full.yaml +124 -0
  265. mapproxy/test/system/fixture/kml_layer.yaml +66 -0
  266. mapproxy/test/system/fixture/layer.yaml +260 -0
  267. mapproxy/test/system/fixture/layergroups.yaml +57 -0
  268. mapproxy/test/system/fixture/layergroups_root.yaml +106 -0
  269. mapproxy/test/system/fixture/legendgraphic.yaml +93 -0
  270. mapproxy/test/system/fixture/mapnik_source.yaml +66 -0
  271. mapproxy/test/system/fixture/mapproxy_export.yaml +12 -0
  272. mapproxy/test/system/fixture/mapserver.yaml +23 -0
  273. mapproxy/test/system/fixture/minimal_cgi.py +16 -0
  274. mapproxy/test/system/fixture/mixed_mode.yaml +49 -0
  275. mapproxy/test/system/fixture/multi_cache_layers.yaml +100 -0
  276. mapproxy/test/system/fixture/multiapp1.yaml +20 -0
  277. mapproxy/test/system/fixture/multiapp2.yaml +19 -0
  278. mapproxy/test/system/fixture/renderd_client.yaml +55 -0
  279. mapproxy/test/system/fixture/scalehints.yaml +70 -0
  280. mapproxy/test/system/fixture/seed.yaml +94 -0
  281. mapproxy/test/system/fixture/seed_mapproxy.yaml +39 -0
  282. mapproxy/test/system/fixture/seed_old.yaml +12 -0
  283. mapproxy/test/system/fixture/seed_timeouts.yaml +12 -0
  284. mapproxy/test/system/fixture/seed_timeouts_mapproxy.yaml +27 -0
  285. mapproxy/test/system/fixture/seedonly.yaml +51 -0
  286. mapproxy/test/system/fixture/sld.yaml +35 -0
  287. mapproxy/test/system/fixture/source_errors.yaml +84 -0
  288. mapproxy/test/system/fixture/source_errors_raise.yaml +82 -0
  289. mapproxy/test/system/fixture/tileservice_origin.yaml +26 -0
  290. mapproxy/test/system/fixture/tileservice_refresh.yaml +59 -0
  291. mapproxy/test/system/fixture/tilesource_minmax_res.yaml +22 -0
  292. mapproxy/test/system/fixture/util-conf-base-grids.yaml +5 -0
  293. mapproxy/test/system/fixture/util-conf-overwrite.yaml +13 -0
  294. mapproxy/test/system/fixture/util-conf-wms-111-cap.xml +90 -0
  295. mapproxy/test/system/fixture/util_grids.yaml +30 -0
  296. mapproxy/test/system/fixture/util_wms_capabilities111.xml +130 -0
  297. mapproxy/test/system/fixture/util_wms_capabilities130.xml +100 -0
  298. mapproxy/test/system/fixture/util_wms_capabilities_service_exception.xml +5 -0
  299. mapproxy/test/system/fixture/watermark.yaml +50 -0
  300. mapproxy/test/system/fixture/wms_srs_extent.yaml +39 -0
  301. mapproxy/test/system/fixture/wms_versions.yaml +38 -0
  302. mapproxy/test/system/fixture/wmts.yaml +134 -0
  303. mapproxy/test/system/fixture/wmts_dimensions.yaml +57 -0
  304. mapproxy/test/system/fixture/xslt_featureinfo.yaml +54 -0
  305. mapproxy/test/system/fixture/xslt_featureinfo_input.yaml +51 -0
  306. mapproxy/test/system/test_arcgis.py +156 -0
  307. mapproxy/test/system/test_auth.py +1134 -0
  308. mapproxy/test/system/test_behind_proxy.py +75 -0
  309. mapproxy/test/system/test_bulk_meta_tiles.py +106 -0
  310. mapproxy/test/system/test_cache_azureblob.py +127 -0
  311. mapproxy/test/system/test_cache_band_merge.py +103 -0
  312. mapproxy/test/system/test_cache_geopackage.py +144 -0
  313. mapproxy/test/system/test_cache_grid_names.py +89 -0
  314. mapproxy/test/system/test_cache_mbtiles.py +85 -0
  315. mapproxy/test/system/test_cache_s3.py +115 -0
  316. mapproxy/test/system/test_cache_source.py +146 -0
  317. mapproxy/test/system/test_combined_sources.py +335 -0
  318. mapproxy/test/system/test_coverage.py +140 -0
  319. mapproxy/test/system/test_decorate_img.py +214 -0
  320. mapproxy/test/system/test_demo.py +106 -0
  321. mapproxy/test/system/test_demo_with_extra_service.py +53 -0
  322. mapproxy/test/system/test_dimensions.py +278 -0
  323. mapproxy/test/system/test_disable_storage.py +42 -0
  324. mapproxy/test/system/test_formats.py +219 -0
  325. mapproxy/test/system/test_inspire_vs.py +173 -0
  326. mapproxy/test/system/test_kml.py +262 -0
  327. mapproxy/test/system/test_layergroups.py +160 -0
  328. mapproxy/test/system/test_legendgraphic.py +308 -0
  329. mapproxy/test/system/test_mapnik.py +161 -0
  330. mapproxy/test/system/test_mapserver.py +81 -0
  331. mapproxy/test/system/test_mixed_mode_format.py +195 -0
  332. mapproxy/test/system/test_multi_cache_layers.py +167 -0
  333. mapproxy/test/system/test_multiapp.py +92 -0
  334. mapproxy/test/system/test_refresh.py +207 -0
  335. mapproxy/test/system/test_renderd_client.py +304 -0
  336. mapproxy/test/system/test_response_headers.py +54 -0
  337. mapproxy/test/system/test_scalehints.py +140 -0
  338. mapproxy/test/system/test_seed.py +422 -0
  339. mapproxy/test/system/test_seed_only.py +93 -0
  340. mapproxy/test/system/test_sld.py +120 -0
  341. mapproxy/test/system/test_source_errors.py +377 -0
  342. mapproxy/test/system/test_tilesource_minmax_res.py +54 -0
  343. mapproxy/test/system/test_tms.py +276 -0
  344. mapproxy/test/system/test_tms_origin.py +46 -0
  345. mapproxy/test/system/test_util_conf.py +304 -0
  346. mapproxy/test/system/test_util_export.py +210 -0
  347. mapproxy/test/system/test_util_grids.py +88 -0
  348. mapproxy/test/system/test_util_wms_capabilities.py +182 -0
  349. mapproxy/test/system/test_watermark.py +91 -0
  350. mapproxy/test/system/test_wms.py +1611 -0
  351. mapproxy/test/system/test_wms_srs_extent.py +165 -0
  352. mapproxy/test/system/test_wms_version.py +85 -0
  353. mapproxy/test/system/test_wmsc.py +116 -0
  354. mapproxy/test/system/test_wmts.py +334 -0
  355. mapproxy/test/system/test_wmts_dimensions.py +206 -0
  356. mapproxy/test/system/test_wmts_restful.py +198 -0
  357. mapproxy/test/system/test_xslt_featureinfo.py +425 -0
  358. mapproxy/test/test_http_helper.py +219 -0
  359. mapproxy/test/unit/__init__.py +0 -0
  360. mapproxy/test/unit/epsg +2 -0
  361. mapproxy/test/unit/polygons/polygons.dbf +0 -0
  362. mapproxy/test/unit/polygons/polygons.shp +0 -0
  363. mapproxy/test/unit/polygons/polygons.shx +0 -0
  364. mapproxy/test/unit/test_async.py +245 -0
  365. mapproxy/test/unit/test_auth.py +419 -0
  366. mapproxy/test/unit/test_cache.py +1193 -0
  367. mapproxy/test/unit/test_cache_azureblob.py +94 -0
  368. mapproxy/test/unit/test_cache_compact.py +319 -0
  369. mapproxy/test/unit/test_cache_couchdb.py +114 -0
  370. mapproxy/test/unit/test_cache_geopackage.py +221 -0
  371. mapproxy/test/unit/test_cache_redis.py +67 -0
  372. mapproxy/test/unit/test_cache_riak.py +76 -0
  373. mapproxy/test/unit/test_cache_s3.py +84 -0
  374. mapproxy/test/unit/test_cache_tile.py +427 -0
  375. mapproxy/test/unit/test_client.py +479 -0
  376. mapproxy/test/unit/test_client_arcgis.py +73 -0
  377. mapproxy/test/unit/test_client_cgi.py +136 -0
  378. mapproxy/test/unit/test_collections.py +116 -0
  379. mapproxy/test/unit/test_concat_legends.py +37 -0
  380. mapproxy/test/unit/test_conf_loader.py +1061 -0
  381. mapproxy/test/unit/test_conf_validator.py +416 -0
  382. mapproxy/test/unit/test_config.py +117 -0
  383. mapproxy/test/unit/test_decorate_img.py +185 -0
  384. mapproxy/test/unit/test_exceptions.py +258 -0
  385. mapproxy/test/unit/test_featureinfo.py +291 -0
  386. mapproxy/test/unit/test_file_lock_load.py +49 -0
  387. mapproxy/test/unit/test_geom.py +503 -0
  388. mapproxy/test/unit/test_grid.py +1258 -0
  389. mapproxy/test/unit/test_image.py +1053 -0
  390. mapproxy/test/unit/test_image_mask.py +181 -0
  391. mapproxy/test/unit/test_image_messages.py +197 -0
  392. mapproxy/test/unit/test_image_options.py +160 -0
  393. mapproxy/test/unit/test_isodate.py +122 -0
  394. mapproxy/test/unit/test_multiapp.py +163 -0
  395. mapproxy/test/unit/test_ogr_reader.py +50 -0
  396. mapproxy/test/unit/test_request.py +745 -0
  397. mapproxy/test/unit/test_request_wmts.py +178 -0
  398. mapproxy/test/unit/test_response.py +79 -0
  399. mapproxy/test/unit/test_seed.py +365 -0
  400. mapproxy/test/unit/test_seed_cachelock.py +90 -0
  401. mapproxy/test/unit/test_srs.py +215 -0
  402. mapproxy/test/unit/test_tiled_source.py +122 -0
  403. mapproxy/test/unit/test_tilefilter.py +31 -0
  404. mapproxy/test/unit/test_times.py +25 -0
  405. mapproxy/test/unit/test_timeutils.py +50 -0
  406. mapproxy/test/unit/test_util_conf_utils.py +75 -0
  407. mapproxy/test/unit/test_utils.py +476 -0
  408. mapproxy/test/unit/test_wms_capabilities.py +44 -0
  409. mapproxy/test/unit/test_wms_layer.py +113 -0
  410. mapproxy/test/unit/test_yaml.py +69 -0
  411. mapproxy/tilefilter.py +59 -0
  412. mapproxy/util/__init__.py +0 -0
  413. mapproxy/util/async_.py +227 -0
  414. mapproxy/util/collections.py +132 -0
  415. mapproxy/util/coverage.py +329 -0
  416. mapproxy/util/escape.py +10 -0
  417. mapproxy/util/ext/__init__.py +14 -0
  418. mapproxy/util/ext/dictspec/__init__.py +1 -0
  419. mapproxy/util/ext/dictspec/spec.py +124 -0
  420. mapproxy/util/ext/dictspec/test/__init__.py +0 -0
  421. mapproxy/util/ext/dictspec/test/test_validator.py +274 -0
  422. mapproxy/util/ext/dictspec/validator.py +189 -0
  423. mapproxy/util/ext/local.py +196 -0
  424. mapproxy/util/ext/lockfile.py +138 -0
  425. mapproxy/util/ext/odict.py +330 -0
  426. mapproxy/util/ext/serving.py +508 -0
  427. mapproxy/util/ext/tempita/__init__.py +1174 -0
  428. mapproxy/util/ext/tempita/_looper.py +163 -0
  429. mapproxy/util/ext/tempita/compat3.py +46 -0
  430. mapproxy/util/ext/wmsparse/__init__.py +3 -0
  431. mapproxy/util/ext/wmsparse/duration.py +597 -0
  432. mapproxy/util/ext/wmsparse/parse.py +305 -0
  433. mapproxy/util/ext/wmsparse/test/__init__.py +0 -0
  434. mapproxy/util/ext/wmsparse/test/test_parse.py +162 -0
  435. mapproxy/util/ext/wmsparse/test/test_util.py +23 -0
  436. mapproxy/util/ext/wmsparse/test/wms-large-111.xml +2114 -0
  437. mapproxy/util/ext/wmsparse/test/wms-omniscale-111.xml +90 -0
  438. mapproxy/util/ext/wmsparse/test/wms-omniscale-130.xml +120 -0
  439. mapproxy/util/ext/wmsparse/test/wms_nasa_cap.xml +386 -0
  440. mapproxy/util/ext/wmsparse/util.py +187 -0
  441. mapproxy/util/fs.py +156 -0
  442. mapproxy/util/geom.py +295 -0
  443. mapproxy/util/lib.py +115 -0
  444. mapproxy/util/lock.py +163 -0
  445. mapproxy/util/ogr.py +231 -0
  446. mapproxy/util/py.py +81 -0
  447. mapproxy/util/times.py +75 -0
  448. mapproxy/util/yaml.py +56 -0
  449. mapproxy/version.py +31 -0
  450. mapproxy/wsgiapp.py +164 -0
  451. mapproxy-1.16.1.dist-info/METADATA +151 -0
  452. mapproxy-1.16.1.dist-info/RECORD +458 -0
  453. mapproxy-1.16.1.dist-info/WHEEL +5 -0
  454. mapproxy-1.16.1.dist-info/entry_points.txt +3 -0
  455. mapproxy-1.16.1.dist-info/licenses/AUTHORS.txt +33 -0
  456. mapproxy-1.16.1.dist-info/licenses/COPYING.txt +60 -0
  457. mapproxy-1.16.1.dist-info/licenses/LICENSE.txt +202 -0
  458. mapproxy-1.16.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,72 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <schema targetNamespace="http://www.opengis.net/wmts/1.0"
3
+ xmlns="http://www.w3.org/2001/XMLSchema"
4
+ xmlns:gml="http://www.opengis.net/gml"
5
+ xmlns:ows="http://www.opengis.net/ows/1.1"
6
+ xmlns:wmts="http://www.opengis.net/wmts/1.0"
7
+ elementFormDefault="qualified" xml:lang="en"
8
+ version="1.0.0">
9
+ <annotation>
10
+ <appinfo>wmtsGetFeatureInfo_response 2009-06-14</appinfo>
11
+ <documentation>
12
+ This XML Schema Document was intended to encode SOAP
13
+ response for a WMTS GetFeatureInfo request but it can be used in other
14
+ encoding. Since GetFeatureInfo response is completely open, it can not
15
+ be more specific.
16
+
17
+ WMTS is an OGC Standard.
18
+ Copyright (c) 2009,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
19
+ To obtain additional rights of use, visit http://www.opengeospatial.org/legal/.
20
+ </documentation>
21
+ </annotation>
22
+ <!-- =============================================================
23
+ includes and imports
24
+ ============================================================== -->
25
+ <include schemaLocation="wmtsPayload_response.xsd"/>
26
+ <import namespace="http://www.opengis.net/ows/1.1" schemaLocation="http://schemas.opengis.net/ows/1.1.0/owsAll.xsd"/>
27
+ <import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"/>
28
+ <!-- =============================================================
29
+ elements and types
30
+ ============================================================== -->
31
+ <element name="FeatureInfoResponse">
32
+ <complexType>
33
+ <choice>
34
+ <element ref="gml:_FeatureCollection">
35
+ <annotation>
36
+ <documentation>
37
+ This allows to define any FeatureCollection that is a substitutionGroup
38
+ of gml:_GML and use it here. A Geography Markup Language GML
39
+ Simple Features Profile level 0 response format is strongly
40
+ recommended as a FeatureInfo response.
41
+ </documentation>
42
+ </annotation>
43
+ </element>
44
+ <element ref="wmts:TextPayload">
45
+ <annotation>
46
+ <documentation>
47
+ This allows to include any text format that is not a gml:_FeatureCollection
48
+ like HTML, TXT, etc
49
+ </documentation>
50
+ </annotation>
51
+ </element>
52
+ <element ref="wmts:BinaryPayload">
53
+ <annotation>
54
+ <documentation>
55
+ This allows to include any binary format. Binary formats are not
56
+ common response for a GeFeatureInfo requests but possible for
57
+ some imaginative implementations.
58
+ </documentation>
59
+ </annotation>
60
+ </element>
61
+ <element name="AnyContent" type="anyType">
62
+ <annotation>
63
+ <documentation>
64
+ This allows to include any XML content that it is not any of
65
+ the previous ones.
66
+ </documentation>
67
+ </annotation>
68
+ </element>
69
+ </choice>
70
+ </complexType>
71
+ </element>
72
+ </schema>
@@ -0,0 +1,91 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <schema targetNamespace="http://www.opengis.net/wmts/1.0"
3
+ xmlns="http://www.w3.org/2001/XMLSchema"
4
+ xmlns:ows="http://www.opengis.net/ows/1.1"
5
+ xmlns:wmts="http://www.opengis.net/wmts/1.0"
6
+ elementFormDefault="qualified" xml:lang="en"
7
+ version="1.0.0">
8
+ <annotation>
9
+ <appinfo>wmtsGetTile_request 2009-01-31</appinfo>
10
+ <documentation>
11
+ This XML Schema Document encodes XML WMTS GetTile
12
+ request that can be used in SOAP encodings.
13
+
14
+ WMTS is an OGC Standard.
15
+ Copyright (c) 2009,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
16
+ To obtain additional rights of use, visit http://www.opengeospatial.org/legal/.
17
+ </documentation>
18
+ </annotation>
19
+ <!-- =============================================================
20
+ includes and imports
21
+ ============================================================== -->
22
+ <import namespace="http://www.opengis.net/ows/1.1"
23
+ schemaLocation="http://schemas.opengis.net/ows/1.1.0/owsAll.xsd"/>
24
+ <!-- =============================================================
25
+ elements and types
26
+ ============================================================== -->
27
+ <element name="GetTile">
28
+ <complexType>
29
+ <sequence>
30
+ <element name="Layer" type="string">
31
+ <annotation>
32
+ <documentation>A layer identifier has to be referenced</documentation>
33
+ </annotation>
34
+ </element>
35
+ <element name="Style" type="string">
36
+ <annotation>
37
+ <documentation>A style identifier has to be referenced.</documentation>
38
+ </annotation>
39
+ </element>
40
+ <element name="Format" type="ows:MimeType">
41
+ <annotation>
42
+ <documentation>Output format of the tile</documentation>
43
+ </annotation>
44
+ </element>
45
+ <element ref="wmts:DimensionNameValue" minOccurs="0" maxOccurs="unbounded">
46
+ <annotation>
47
+ <documentation>Dimension name and value</documentation>
48
+ </annotation>
49
+ </element>
50
+ <element name="TileMatrixSet" type="string">
51
+ <annotation>
52
+ <documentation>A TileMatrixSet identifier has to be referenced</documentation>
53
+ </annotation>
54
+ </element>
55
+ <element name="TileMatrix" type="string">
56
+ <annotation>
57
+ <documentation>A TileMatrix identifier has to be referenced</documentation>
58
+ </annotation>
59
+ </element>
60
+ <element name="TileRow" type="nonNegativeInteger">
61
+ <annotation>
62
+ <documentation>Row index of tile matrix</documentation>
63
+ </annotation>
64
+ </element>
65
+ <element name="TileCol" type="nonNegativeInteger">
66
+ <annotation>
67
+ <documentation>Column index of tile matrix</documentation>
68
+ </annotation>
69
+ </element>
70
+ </sequence>
71
+ <attribute name="service" type="string" use="required" fixed="WMTS"/>
72
+ <attribute name="version" type="string" use="required" fixed="1.0.0"/>
73
+ </complexType>
74
+ </element>
75
+ <element name="DimensionNameValue">
76
+ <complexType>
77
+ <simpleContent>
78
+ <extension base="string">
79
+ <annotation>
80
+ <documentation>Dimension value</documentation>
81
+ </annotation>
82
+ <attribute name="name" type="string" use="required">
83
+ <annotation>
84
+ <documentation>Dimension name</documentation>
85
+ </annotation>
86
+ </attribute>
87
+ </extension>
88
+ </simpleContent>
89
+ </complexType>
90
+ </element>
91
+ </schema>
@@ -0,0 +1,76 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <schema targetNamespace="http://www.opengis.net/wmts/1.0"
3
+ xmlns="http://www.w3.org/2001/XMLSchema"
4
+ xmlns:ows="http://www.opengis.net/ows/1.1"
5
+ xmlns:wmts="http://www.opengis.net/wmts/1.0"
6
+ elementFormDefault="qualified" xml:lang="en"
7
+ version="1.0.0">
8
+ <annotation>
9
+ <appinfo>wmtsGetTile_request 2009-01-31</appinfo>
10
+ <documentation>
11
+ This XML Schema Document defines XML WMTS GetTile
12
+ request that can be used in SOAP encodings.
13
+
14
+ WMTS is an OGC Standard.
15
+ Copyright (c) 2009,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
16
+ To obtain additional rights of use, visit http://www.opengeospatial.org/legal/.
17
+ </documentation>
18
+ </annotation>
19
+ <!-- =============================================================
20
+ includes and imports
21
+ ============================================================== -->
22
+ <import namespace="http://www.opengis.net/ows/1.1"
23
+ schemaLocation="http://schemas.opengis.net/ows/1.1.0/owsAll.xsd"/>
24
+ <!-- =============================================================
25
+ elements and types
26
+ ============================================================== -->
27
+ <simpleType name="RequestServiceType">
28
+ <restriction base="string">
29
+ <enumeration value="WMTS"/>
30
+ </restriction>
31
+ </simpleType>
32
+ <simpleType name="VersionType">
33
+ <restriction base="string">
34
+ <enumeration value="1.0.0"/>
35
+ </restriction>
36
+ </simpleType>
37
+ <simpleType name="GetCapabilitiesValueType">
38
+ <restriction base="string">
39
+ <enumeration value="GetCapabilities"/>
40
+ </restriction>
41
+ </simpleType>
42
+ <simpleType name="GetTileValueType">
43
+ <restriction base="string">
44
+ <enumeration value="GetTile"/>
45
+ </restriction>
46
+ </simpleType>
47
+ <simpleType name="GetFeatureInfoValueType">
48
+ <restriction base="string">
49
+ <enumeration value="GetFeatureInfo"/>
50
+ </restriction>
51
+ </simpleType>
52
+ <simpleType name="SectionsType">
53
+ <annotation>
54
+ <documentation>
55
+ XML encoded identifier comma separated list of a standard
56
+ MIME type, possibly a parameterized MIME type.
57
+ </documentation>
58
+ </annotation>
59
+ <restriction base="string">
60
+ <annotation>
61
+ <documentation>Comma separated list of available
62
+ ServiceMetadata root elements. </documentation>
63
+ </annotation>
64
+ <pattern value="(ServiceIdentification|ServiceProvider|OperationsMetadata|Contents|Themes)(,(ServiceIdentification|ServiceProvider|OperationsMetadata|Contents|Themes))*"/>
65
+ </restriction>
66
+ </simpleType>
67
+ <simpleType name="AcceptedFormatsType">
68
+ <annotation>
69
+ <documentation>Comma separated list of a standard MIME type,
70
+ possibly a parameterized MIME type. </documentation>
71
+ </annotation>
72
+ <restriction base="string">
73
+ <pattern value="((application|audio|image|text|video|message|multipart|model)/.+(;\s*.+=.+)*)(,(application|audio|image|text|video|message|multipart|model)/.+(;\s*.+=.+)*)"/>
74
+ </restriction>
75
+ </simpleType>
76
+ </schema>
@@ -0,0 +1,70 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <schema targetNamespace="http://www.opengis.net/wmts/1.0"
3
+ xmlns="http://www.w3.org/2001/XMLSchema"
4
+ xmlns:ows="http://www.opengis.net/ows/1.1"
5
+ xmlns:wmts="http://www.opengis.net/wmts/1.0"
6
+ elementFormDefault="qualified" xml:lang="en"
7
+ version="1.0.0">
8
+ <annotation>
9
+ <appinfo>wmtsPayload_response 2009-06-15</appinfo>
10
+ <documentation>
11
+ This XML Schema Document initially was intended to encode SOAP
12
+ response for a WMTS GetTile request but in the future it might be used
13
+ and part of a WMTS service (or even in any OWS service) that needs a
14
+ binary encoding.
15
+
16
+ WMTS is an OGC Standard.
17
+ Copyright (c) 2009,2010 Open Geospatial Consortium, Inc. All Rights Reserved.
18
+ To obtain additional rights of use, visit http://www.opengeospatial.org/legal/.
19
+ </documentation>
20
+ </annotation>
21
+ <!-- =============================================================
22
+ includes and imports
23
+ ============================================================== -->
24
+ <import namespace="http://www.opengis.net/ows/1.1"
25
+ schemaLocation="http://schemas.opengis.net/ows/1.1.0/owsAll.xsd"/>
26
+ <!-- =============================================================
27
+ elements and types
28
+ ============================================================== -->
29
+ <element name="BinaryPayload">
30
+ <complexType>
31
+ <sequence>
32
+ <element name="Format" type="ows:MimeType">
33
+ <annotation>
34
+ <documentation>
35
+ MIMEType format of the PayloadContent
36
+ once base64 decodified.
37
+ </documentation>
38
+ </annotation>
39
+ </element>
40
+ <element name="BinaryContent" type="base64Binary">
41
+ <annotation>
42
+ <documentation>
43
+ Binary content encoded in base64. It could be useful to
44
+ enclose it in a CDATA element to avoid XML parsing.
45
+ </documentation>
46
+ </annotation>
47
+ </element>
48
+ </sequence>
49
+ </complexType>
50
+ </element>
51
+ <element name="TextPayload">
52
+ <complexType>
53
+ <sequence>
54
+ <element name="Format" type="ows:MimeType">
55
+ <annotation>
56
+ <documentation>MIMEType format of the TextContent</documentation>
57
+ </annotation>
58
+ </element>
59
+ <element name="TextContent" type="string">
60
+ <annotation>
61
+ <documentation>
62
+ Text string like HTML, XHTML, XML or TXT. HTML and TXT data has
63
+ to be enclosed in a CDATA element to avoid XML parsing.
64
+ </documentation>
65
+ </annotation>
66
+ </element>
67
+ </sequence>
68
+ </complexType>
69
+ </element>
70
+ </schema>
@@ -0,0 +1,6 @@
1
+ This XML Schema Document named xlinks.xsd has been stored here based
2
+ on the change request:
3
+ OGC 05-068r1 "Store xlinks.xsd file at a fixed location"
4
+
5
+ Arliss Whiteside, 2005-11-22
6
+
@@ -0,0 +1,122 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- File: xlinks.xsd -->
3
+ <schema targetNamespace="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="2.0">
4
+ <annotation>
5
+ <appinfo source="urn:opengis:specification:gml:schema-xlinks:v3.0c2">xlinks.xsd v3.0b2 2001-07</appinfo>
6
+ <documentation>
7
+ GML 3.0 candidate xlinks schema. Copyright (c) 2001 OGC, All Rights Reserved.
8
+ </documentation>
9
+ </annotation>
10
+ <!-- ==============================================================
11
+ global declarations
12
+ =============================================================== -->
13
+ <!-- locator attribute -->
14
+ <attribute name="href" type="anyURI"/>
15
+ <!-- semantic attributes -->
16
+ <attribute name="role" type="anyURI"/>
17
+ <attribute name="arcrole" type="anyURI"/>
18
+ <attribute name="title" type="string"/>
19
+ <!-- behavior attributes -->
20
+ <attribute name="show">
21
+ <annotation>
22
+ <documentation>
23
+ The 'show' attribute is used to communicate the desired presentation
24
+ of the ending resource on traversal from the starting resource; it's
25
+ value should be treated as follows:
26
+ new - load ending resource in a new window, frame, pane, or other
27
+ presentation context
28
+ replace - load the resource in the same window, frame, pane, or
29
+ other presentation context
30
+ embed - load ending resource in place of the presentation of the
31
+ starting resource
32
+ other - behavior is unconstrained; examine other markup in the
33
+ link for hints
34
+ none - behavior is unconstrained
35
+ </documentation>
36
+ </annotation>
37
+ <simpleType>
38
+ <restriction base="string">
39
+ <enumeration value="new"/>
40
+ <enumeration value="replace"/>
41
+ <enumeration value="embed"/>
42
+ <enumeration value="other"/>
43
+ <enumeration value="none"/>
44
+ </restriction>
45
+ </simpleType>
46
+ </attribute>
47
+ <attribute name="actuate">
48
+ <annotation>
49
+ <documentation>
50
+ The 'actuate' attribute is used to communicate the desired timing
51
+ of traversal from the starting resource to the ending resource;
52
+ it's value should be treated as follows:
53
+ onLoad - traverse to the ending resource immediately on loading
54
+ the starting resource
55
+ onRequest - traverse from the starting resource to the ending
56
+ resource only on a post-loading event triggered for
57
+ this purpose
58
+ other - behavior is unconstrained; examine other markup in link
59
+ for hints
60
+ none - behavior is unconstrained
61
+ </documentation>
62
+ </annotation>
63
+ <simpleType>
64
+ <restriction base="string">
65
+ <enumeration value="onLoad"/>
66
+ <enumeration value="onRequest"/>
67
+ <enumeration value="other"/>
68
+ <enumeration value="none"/>
69
+ </restriction>
70
+ </simpleType>
71
+ </attribute>
72
+ <!-- traversal attributes -->
73
+ <attribute name="label" type="string"/>
74
+ <attribute name="from" type="string"/>
75
+ <attribute name="to" type="string"/>
76
+ <!-- ==============================================================
77
+ Attributes grouped by XLink type, as specified in the W3C
78
+ Proposed Recommendation (dated 2000-12-20)
79
+ ============================================================== -->
80
+ <attributeGroup name="simpleLink">
81
+ <attribute name="type" type="string" fixed="simple" form="qualified"/>
82
+ <attribute ref="xlink:href" use="optional"/>
83
+ <attribute ref="xlink:role" use="optional"/>
84
+ <attribute ref="xlink:arcrole" use="optional"/>
85
+ <attribute ref="xlink:title" use="optional"/>
86
+ <attribute ref="xlink:show" use="optional"/>
87
+ <attribute ref="xlink:actuate" use="optional"/>
88
+ </attributeGroup>
89
+ <attributeGroup name="extendedLink">
90
+ <attribute name="type" type="string" fixed="extended" form="qualified"/>
91
+ <attribute ref="xlink:role" use="optional"/>
92
+ <attribute ref="xlink:title" use="optional"/>
93
+ </attributeGroup>
94
+ <attributeGroup name="locatorLink">
95
+ <attribute name="type" type="string" fixed="locator" form="qualified"/>
96
+ <attribute ref="xlink:href" use="required"/>
97
+ <attribute ref="xlink:role" use="optional"/>
98
+ <attribute ref="xlink:title" use="optional"/>
99
+ <attribute ref="xlink:label" use="optional"/>
100
+ </attributeGroup>
101
+ <attributeGroup name="arcLink">
102
+ <attribute name="type" type="string" fixed="arc" form="qualified"/>
103
+ <attribute ref="xlink:arcrole" use="optional"/>
104
+ <attribute ref="xlink:title" use="optional"/>
105
+ <attribute ref="xlink:show" use="optional"/>
106
+ <attribute ref="xlink:actuate" use="optional"/>
107
+ <attribute ref="xlink:from" use="optional"/>
108
+ <attribute ref="xlink:to" use="optional"/>
109
+ </attributeGroup>
110
+ <attributeGroup name="resourceLink">
111
+ <attribute name="type" type="string" fixed="resource" form="qualified"/>
112
+ <attribute ref="xlink:role" use="optional"/>
113
+ <attribute ref="xlink:title" use="optional"/>
114
+ <attribute ref="xlink:label" use="optional"/>
115
+ </attributeGroup>
116
+ <attributeGroup name="titleLink">
117
+ <attribute name="type" type="string" fixed="title" form="qualified"/>
118
+ </attributeGroup>
119
+ <attributeGroup name="emptyLink">
120
+ <attribute name="type" type="string" fixed="none" form="qualified"/>
121
+ </attributeGroup>
122
+ </schema>