geonode-pycsw 3.0.0b2__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.
- geonode_pycsw-3.0.0b2.dist-info/METADATA +73 -0
- geonode_pycsw-3.0.0b2.dist-info/RECORD +382 -0
- geonode_pycsw-3.0.0b2.dist-info/WHEEL +5 -0
- geonode_pycsw-3.0.0b2.dist-info/entry_points.txt +2 -0
- geonode_pycsw-3.0.0b2.dist-info/licenses/LICENSE.txt +26 -0
- geonode_pycsw-3.0.0b2.dist-info/top_level.txt +1 -0
- pycsw/__init__.py +33 -0
- pycsw/core/__init__.py +29 -0
- pycsw/core/admin.py +703 -0
- pycsw/core/config.py +621 -0
- pycsw/core/etree.py +43 -0
- pycsw/core/formats/__init__.py +29 -0
- pycsw/core/formats/fmt_json.py +69 -0
- pycsw/core/log.py +71 -0
- pycsw/core/metadata.py +1996 -0
- pycsw/core/pygeofilter_evaluate.py +83 -0
- pycsw/core/repository.py +941 -0
- pycsw/core/schemas/ogc/cat/csw/3.0/_wrapper.xsd +14 -0
- pycsw/core/schemas/ogc/cat/csw/3.0/cswAll.xsd +33 -0
- pycsw/core/schemas/ogc/cat/csw/3.0/cswCommon.xsd +71 -0
- pycsw/core/schemas/ogc/cat/csw/3.0/cswGetCapabilities.xsd +80 -0
- pycsw/core/schemas/ogc/cat/csw/3.0/cswGetDomain.xsd +146 -0
- pycsw/core/schemas/ogc/cat/csw/3.0/cswGetRecordById.xsd +58 -0
- pycsw/core/schemas/ogc/cat/csw/3.0/cswGetRecords.xsd +391 -0
- pycsw/core/schemas/ogc/cat/csw/3.0/cswHarvest.xsd +95 -0
- pycsw/core/schemas/ogc/cat/csw/3.0/cswTransaction.xsd +187 -0
- pycsw/core/schemas/ogc/cat/csw/3.0/cswUnHarvest.xsd +77 -0
- pycsw/core/schemas/ogc/cat/csw/3.0/rec-dcmes.xsd +245 -0
- pycsw/core/schemas/ogc/cat/csw/3.0/rec-dcterms.xsd +101 -0
- pycsw/core/schemas/ogc/cat/csw/3.0/record.xsd +170 -0
- pycsw/core/schemas/ogc/csw/2.0.2/CSW-discovery.xsd +494 -0
- pycsw/core/schemas/ogc/csw/2.0.2/CSW-publication.xsd +242 -0
- pycsw/core/schemas/ogc/csw/2.0.2/rec-dcmes.xsd +199 -0
- pycsw/core/schemas/ogc/csw/2.0.2/rec-dcterms.xsd +94 -0
- pycsw/core/schemas/ogc/csw/2.0.2/record.xsd +138 -0
- pycsw/core/schemas/ogc/filter/1.1.0/expr.xsd +67 -0
- pycsw/core/schemas/ogc/filter/1.1.0/filter.xsd +265 -0
- pycsw/core/schemas/ogc/filter/1.1.0/filterCapabilities.xsd +171 -0
- pycsw/core/schemas/ogc/filter/1.1.0/sort.xsd +46 -0
- pycsw/core/schemas/ogc/filter/2.0/_wrapper.xsd +5 -0
- pycsw/core/schemas/ogc/filter/2.0/expr.xsd +44 -0
- pycsw/core/schemas/ogc/filter/2.0/filter.xsd +396 -0
- pycsw/core/schemas/ogc/filter/2.0/filterAll.xsd +23 -0
- pycsw/core/schemas/ogc/filter/2.0/filterCapabilities.xsd +286 -0
- pycsw/core/schemas/ogc/filter/2.0/query.xsd +70 -0
- pycsw/core/schemas/ogc/filter/2.0/sort.xsd +49 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/basicTypes.xsd +278 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/coordinateOperations.xsd +789 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/coordinateReferenceSystems.xsd +429 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/coordinateSystems.xsd +408 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/coverage.xsd +451 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/dataQuality.xsd +129 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/datums.xsd +484 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/defaultStyle.xsd +454 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/dictionary.xsd +137 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/direction.xsd +72 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/dynamicFeature.xsd +115 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/feature.xsd +199 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/geometryAggregates.xsd +430 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/geometryBasic0d1d.xsd +602 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/geometryBasic2d.xsd +213 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/geometryComplexes.xsd +141 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/geometryPrimitives.xsd +1609 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/gml.xsd +22 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/gmlBase.xsd +294 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/grids.xsd +76 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/measures.xsd +200 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/observation.xsd +96 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/referenceSystems.xsd +211 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/temporal.xsd +332 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/temporalReferenceSystems.xsd +251 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/temporalTopology.xsd +186 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/topology.xsd +459 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/units.xsd +170 -0
- pycsw/core/schemas/ogc/gml/3.1.1/base/valueObjects.xsd +361 -0
- pycsw/core/schemas/ogc/gml/3.1.1/smil/smil20-language.xsd +117 -0
- pycsw/core/schemas/ogc/gml/3.1.1/smil/smil20.xsd +234 -0
- pycsw/core/schemas/ogc/gml/3.2.1/basicTypes.xsd +268 -0
- pycsw/core/schemas/ogc/gml/3.2.1/coordinateOperations.xsd +525 -0
- pycsw/core/schemas/ogc/gml/3.2.1/coordinateReferenceSystems.xsd +373 -0
- pycsw/core/schemas/ogc/gml/3.2.1/coordinateSystems.xsd +297 -0
- pycsw/core/schemas/ogc/gml/3.2.1/coverage.xsd +292 -0
- pycsw/core/schemas/ogc/gml/3.2.1/datums.xsd +287 -0
- pycsw/core/schemas/ogc/gml/3.2.1/defaultStyle.xsd +453 -0
- pycsw/core/schemas/ogc/gml/3.2.1/deprecatedTypes.xsd +1133 -0
- pycsw/core/schemas/ogc/gml/3.2.1/dictionary.xsd +90 -0
- pycsw/core/schemas/ogc/gml/3.2.1/direction.xsd +84 -0
- pycsw/core/schemas/ogc/gml/3.2.1/dynamicFeature.xsd +109 -0
- pycsw/core/schemas/ogc/gml/3.2.1/feature.xsd +94 -0
- pycsw/core/schemas/ogc/gml/3.2.1/geometryAggregates.xsd +197 -0
- pycsw/core/schemas/ogc/gml/3.2.1/geometryBasic0d1d.xsd +277 -0
- pycsw/core/schemas/ogc/gml/3.2.1/geometryBasic2d.xsd +124 -0
- pycsw/core/schemas/ogc/gml/3.2.1/geometryComplexes.xsd +95 -0
- pycsw/core/schemas/ogc/gml/3.2.1/geometryPrimitives.xsd +846 -0
- pycsw/core/schemas/ogc/gml/3.2.1/gml.xsd +20 -0
- pycsw/core/schemas/ogc/gml/3.2.1/gmlBase.xsd +185 -0
- pycsw/core/schemas/ogc/gml/3.2.1/grids.xsd +64 -0
- pycsw/core/schemas/ogc/gml/3.2.1/measures.xsd +68 -0
- pycsw/core/schemas/ogc/gml/3.2.1/observation.xsd +95 -0
- pycsw/core/schemas/ogc/gml/3.2.1/referenceSystems.xsd +70 -0
- pycsw/core/schemas/ogc/gml/3.2.1/temporal.xsd +269 -0
- pycsw/core/schemas/ogc/gml/3.2.1/temporalReferenceSystems.xsd +189 -0
- pycsw/core/schemas/ogc/gml/3.2.1/temporalTopology.xsd +119 -0
- pycsw/core/schemas/ogc/gml/3.2.1/topology.xsd +386 -0
- pycsw/core/schemas/ogc/gml/3.2.1/units.xsd +162 -0
- pycsw/core/schemas/ogc/gml/3.2.1/valueObjects.xsd +205 -0
- pycsw/core/schemas/ogc/ogcapi/records/part1/1.0/ogcapi-records-1.yaml +932 -0
- pycsw/core/schemas/ogc/ows/1.0.0/ows19115subset.xsd +222 -0
- pycsw/core/schemas/ogc/ows/1.0.0/owsAll.xsd +20 -0
- pycsw/core/schemas/ogc/ows/1.0.0/owsCommon.xsd +155 -0
- pycsw/core/schemas/ogc/ows/1.0.0/owsDataIdentification.xsd +112 -0
- pycsw/core/schemas/ogc/ows/1.0.0/owsExceptionReport.xsd +67 -0
- pycsw/core/schemas/ogc/ows/1.0.0/owsGetCapabilities.xsd +108 -0
- pycsw/core/schemas/ogc/ows/1.0.0/owsOperationsMetadata.xsd +161 -0
- pycsw/core/schemas/ogc/ows/1.0.0/owsServiceIdentification.xsd +55 -0
- pycsw/core/schemas/ogc/ows/1.0.0/owsServiceProvider.xsd +46 -0
- pycsw/core/schemas/ogc/ows/1.1.0/ows19115subset.xsd +236 -0
- pycsw/core/schemas/ogc/ows/1.1.0/owsAll.xsd +23 -0
- pycsw/core/schemas/ogc/ows/1.1.0/owsCommon.xsd +158 -0
- pycsw/core/schemas/ogc/ows/1.1.0/owsContents.xsd +87 -0
- pycsw/core/schemas/ogc/ows/1.1.0/owsDataIdentification.xsd +128 -0
- pycsw/core/schemas/ogc/ows/1.1.0/owsDomainType.xsd +280 -0
- pycsw/core/schemas/ogc/ows/1.1.0/owsExceptionReport.xsd +77 -0
- pycsw/core/schemas/ogc/ows/1.1.0/owsGetCapabilities.xsd +113 -0
- pycsw/core/schemas/ogc/ows/1.1.0/owsGetResourceByID.xsd +52 -0
- pycsw/core/schemas/ogc/ows/1.1.0/owsInputOutputData.xsd +60 -0
- pycsw/core/schemas/ogc/ows/1.1.0/owsManifest.xsd +125 -0
- pycsw/core/schemas/ogc/ows/1.1.0/owsOperationsMetadata.xsd +141 -0
- pycsw/core/schemas/ogc/ows/1.1.0/owsServiceIdentification.xsd +61 -0
- pycsw/core/schemas/ogc/ows/1.1.0/owsServiceProvider.xsd +48 -0
- pycsw/core/schemas/ogc/ows/2.0/ows19115subset.xsd +364 -0
- pycsw/core/schemas/ogc/ows/2.0/owsAdditionalParameters.xsd +114 -0
- pycsw/core/schemas/ogc/ows/2.0/owsAll.xsd +29 -0
- pycsw/core/schemas/ogc/ows/2.0/owsCommon.xsd +275 -0
- pycsw/core/schemas/ogc/ows/2.0/owsContents.xsd +163 -0
- pycsw/core/schemas/ogc/ows/2.0/owsDataIdentification.xsd +202 -0
- pycsw/core/schemas/ogc/ows/2.0/owsDomainType.xsd +388 -0
- pycsw/core/schemas/ogc/ows/2.0/owsExceptionReport.xsd +126 -0
- pycsw/core/schemas/ogc/ows/2.0/owsGetCapabilities.xsd +220 -0
- pycsw/core/schemas/ogc/ows/2.0/owsGetResourceByID.xsd +83 -0
- pycsw/core/schemas/ogc/ows/2.0/owsInputOutputData.xsd +98 -0
- pycsw/core/schemas/ogc/ows/2.0/owsManifest.xsd +181 -0
- pycsw/core/schemas/ogc/ows/2.0/owsOperationsMetadata.xsd +234 -0
- pycsw/core/schemas/ogc/ows/2.0/owsServiceIdentification.xsd +98 -0
- pycsw/core/schemas/ogc/ows/2.0/owsServiceProvider.xsd +64 -0
- pycsw/core/schemas/w3c/1999/xlink.xsd +271 -0
- pycsw/core/schemas/w3c/2001/xml.xsd +287 -0
- pycsw/core/util.py +552 -0
- pycsw/oaipmh.py +311 -0
- pycsw/ogc/__init__.py +29 -0
- pycsw/ogc/api/__init__.py +28 -0
- pycsw/ogc/api/oapi.py +558 -0
- pycsw/ogc/api/records.py +1414 -0
- pycsw/ogc/api/templates/_base.html +76 -0
- pycsw/ogc/api/templates/collection.html +44 -0
- pycsw/ogc/api/templates/collections.html +45 -0
- pycsw/ogc/api/templates/conformance.html +21 -0
- pycsw/ogc/api/templates/exception.html +8 -0
- pycsw/ogc/api/templates/item.html +228 -0
- pycsw/ogc/api/templates/items.html +337 -0
- pycsw/ogc/api/templates/landing_page.html +27 -0
- pycsw/ogc/api/templates/openapi.html +58 -0
- pycsw/ogc/api/templates/queryables.html +50 -0
- pycsw/ogc/api/templates/stac_items.html +173 -0
- pycsw/ogc/api/templates/static/favicon.ico +0 -0
- pycsw/ogc/api/templates/static/logo-horizontal.png +0 -0
- pycsw/ogc/api/templates/static/logo-vertical-darkbg.png +0 -0
- pycsw/ogc/api/util.py +252 -0
- pycsw/ogc/csw/__init__.py +29 -0
- pycsw/ogc/csw/cql.py +133 -0
- pycsw/ogc/csw/csw2.py +2042 -0
- pycsw/ogc/csw/csw3.py +2193 -0
- pycsw/ogc/fes/__init__.py +29 -0
- pycsw/ogc/fes/fes1.py +433 -0
- pycsw/ogc/fes/fes2.py +451 -0
- pycsw/ogc/gml/__init__.py +29 -0
- pycsw/ogc/gml/gml3.py +240 -0
- pycsw/ogc/gml/gml32.py +243 -0
- pycsw/opensearch.py +857 -0
- pycsw/plugins/__init__.py +29 -0
- pycsw/plugins/outputschemas/__init__.py +31 -0
- pycsw/plugins/outputschemas/atom.py +143 -0
- pycsw/plugins/outputschemas/datacite.py +375 -0
- pycsw/plugins/outputschemas/dif.py +213 -0
- pycsw/plugins/outputschemas/fgdc.py +180 -0
- pycsw/plugins/outputschemas/gm03.py +240 -0
- pycsw/plugins/profiles/__init__.py +29 -0
- pycsw/plugins/profiles/apiso/__init__.py +29 -0
- pycsw/plugins/profiles/apiso/apiso.py +757 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/csw/2.0.2/profiles/apiso/1.0.0/apiso.xsd +13 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gco/basicTypes.xsd +429 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gco/gco.xsd +12 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gco/gcoBase.xsd +61 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/applicationSchema.xsd +42 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/citation.xsd +275 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/constraints.xsd +106 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/content.xsd +188 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/dataQuality.xsd +554 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/distribution.xsd +202 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/extent.xsd +205 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/freeText.xsd +122 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/gmd.xsd +12 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/identification.xsd +348 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/maintenance.xsd +86 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/metadataApplication.xsd +175 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/metadataEntity.xsd +70 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/metadataExtension.xsd +99 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/portrayalCatalogue.xsd +36 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/referenceSystem.xsd +100 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmd/spatialRepresentation.xsd +237 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/basicTypes.xsd +267 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/coordinateOperations.xsd +639 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/coordinateReferenceSystems.xsd +526 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/coordinateSystems.xsd +401 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/coverage.xsd +462 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/datums.xsd +342 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/dictionary.xsd +129 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/direction.xsd +80 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/dynamicFeature.xsd +142 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/feature.xsd +215 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/geometryAggregates.xsd +216 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/geometryBasic0d1d.xsd +304 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/geometryBasic2d.xsd +123 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/geometryComplexes.xsd +89 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/geometryPrimitives.xsd +892 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/gml.xsd +14 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/gmlBase.xsd +305 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/grids.xsd +58 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/measures.xsd +167 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/observation.xsd +90 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/referenceSystems.xsd +69 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/temporal.xsd +263 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/temporalReferenceSystems.xsd +183 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/temporalTopology.xsd +124 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/topology.xsd +372 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/units.xsd +156 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gml/valueObjects.xsd +212 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmx/catalogues.xsd +112 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmx/codelistItem.xsd +168 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmx/crsItem.xsd +1030 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmx/extendedTypes.xsd +75 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmx/gmx.xsd +2 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmx/gmxUsage.xsd +127 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gmx/uomItem.xsd +162 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gsr/gsr.xsd +12 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gsr/spatialReferencing.xsd +24 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gss/geometry.xsd +35 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gss/gss.xsd +12 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gts/gts.xsd +12 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/gts/temporalObjects.xsd +34 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/srv/serviceMetadata.xsd +197 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/srv/serviceModel.xsd +220 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20060504/srv/srv.xsd +13 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gco/basicTypes.xsd +431 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gco/gco.xsd +12 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gco/gcoBase.xsd +63 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/applicationSchema.xsd +43 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/citation.xsd +276 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/constraints.xsd +107 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/content.xsd +190 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/dataQuality.xsd +556 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/distribution.xsd +203 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/extent.xsd +206 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/freeText.xsd +123 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/gmd.xsd +12 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/identification.xsd +349 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/maintenance.xsd +87 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/metadataApplication.xsd +176 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/metadataEntity.xsd +71 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/metadataExtension.xsd +100 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/portrayalCatalogue.xsd +37 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/referenceSystem.xsd +101 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmd/spatialRepresentation.xsd +238 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmx/catalogues.xsd +113 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmx/codelistItem.xsd +169 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmx/crsItem.xsd +1031 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmx/extendedTypes.xsd +76 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmx/gmx.xsd +12 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmx/gmxUsage.xsd +128 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gmx/uomItem.xsd +163 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gsr/gsr.xsd +12 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gsr/spatialReferencing.xsd +25 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gss/geometry.xsd +36 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gss/gss.xsd +12 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gts/gts.xsd +12 -0
- pycsw/plugins/profiles/apiso/schemas/ogc/iso/19139/20070417/gts/temporalObjects.xsd +35 -0
- pycsw/plugins/profiles/ebrim/__init__.py +29 -0
- pycsw/plugins/profiles/ebrim/ebrim.py +174 -0
- pycsw/plugins/profiles/ebrim/schemas/ogc/csw/2.0.2/profiles/ebrim/1.0/csw-ebrim-iri.xsd +146 -0
- pycsw/plugins/profiles/ebrim/schemas/ogc/csw/2.0.2/profiles/ebrim/1.0/csw-ebrim.xsd +104 -0
- pycsw/plugins/profiles/iso19115p3/__init__.py +29 -0
- pycsw/plugins/profiles/iso19115p3/iso19115p3.py +854 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/cat.xsd +13 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/catalogues.xsd +53 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/codelistItem.xsd +54 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/crsItem.xsd +181 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cat/1.0/uomItem.xsd +38 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/1.0/cit.xsd +7 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/1.0/citation.xsd +514 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/2.0/cit.xsd +10 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/cit/2.0/citation.xsd +523 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gco/1.0/baseTypes2014.xsd +530 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gco/1.0/gco.xsd +16 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gcx/1.0/extendedTypes.xsd +92 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gcx/1.0/extendedTypes_autoFromShapeChange.xsd +60 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gcx/1.0/gcx.xsd +8 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gex/1.0/extent.xsd +241 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gex/1.0/gex.xsd +9 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gmw/1.0/gmlWrapperTypes2014.xsd +159 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/gmw/1.0/gmw.xsd +14 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/lan/1.0/lan.xsd +8 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/lan/1.0/language.xsd +140 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/1.0/acquisitionInformationImagery.xsd +622 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/1.0/mac.xsd +11 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/2.0/acquisitionInformationImagery.xsd +590 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/2.0/event.xsd +108 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mac/2.0/mac.xsd +10 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mas/1.0/applicationSchema.xsd +61 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mas/1.0/mas.xsd +9 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mcc/1.0/AbstractCommonClasses.xsd +358 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mcc/1.0/commonClasses.xsd +220 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mcc/1.0/mcc.xsd +8 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mco/1.0/constraints.xsd +188 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mco/1.0/mco.xsd +8 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md1/1.0/md1.xsd +9 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md1/1.0/metadataWExtendedType.xsd +4 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md2/1.0/md2.xsd +15 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/md2/1.0/metadataWithExtensions.xsd +4 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mda/1.0/mda.xsd +8 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mda/1.0/metadataApplication.xsd +200 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/1.0/mdb.xsd +14 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/1.0/metadataBase.xsd +98 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/2.0/mdb.xsd +20 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdb/2.0/metadataBase.xsd +102 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mds/1.0/mds.xsd +22 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mds/1.0/metadataDataServices.xsd +4 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdt/1.0/mdt.xsd +13 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mdt/1.0/metadataTransfer.xsd +111 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mex/1.0/metadataExtension.xsd +156 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mex/1.0/mex.xsd +8 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mmi/1.0/maintenance.xsd +76 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mmi/1.0/mmi.xsd +8 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mpc/1.0/mpc.xsd +8 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mpc/1.0/portrayalCatalogue.xsd +31 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/1.0/content.xsd +416 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/1.0/contentInformationImagery.xsd +185 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/1.0/mrc.xsd +11 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/2.0/content.xsd +419 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/2.0/contentInformationImagery.xsd +171 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrc/2.0/mrc.xsd +11 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrd/1.0/distribution.xsd +267 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrd/1.0/mrd.xsd +8 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mri/1.0/identification.xsd +517 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mri/1.0/mri.xsd +9 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/1.0/lineage.xsd +147 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/1.0/lineageImagery.xsd +236 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/1.0/mrl.xsd +9 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/2.0/lineage.xsd +147 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/2.0/lineageImagery.xsd +312 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrl/2.0/mrl.xsd +11 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrs/1.0/mrs.xsd +8 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/mrs/1.0/referenceSystem.xsd +47 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/1.0/msr.xsd +10 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/1.0/spatialRepresentation.xsd +375 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/1.0/spatialRepresentationImagery.xsd +119 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/2.0/msr.xsd +15 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/2.0/spatialRepresentation.xsd +381 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/msr/2.0/spatialRepresentationImagery.xsd +120 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.0/serviceInformation.xsd +272 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.0/srv.xsd +6 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.1/serviceInformation.xsd +278 -0
- pycsw/plugins/profiles/iso19115p3/schemas/ogc/iso/iso19115-3/srv/2.1/srv.xsd +6 -0
- pycsw/plugins/profiles/profile.py +141 -0
- pycsw/plugins/repository/__init__.py +29 -0
- pycsw/plugins/repository/odc/__init__.py +29 -0
- pycsw/plugins/repository/odc/odc.py +153 -0
- pycsw/server.py +938 -0
- pycsw/sru.py +217 -0
- pycsw/stac/__init__.py +29 -0
- pycsw/stac/api.py +571 -0
- pycsw/wsgi.py +233 -0
- pycsw/wsgi_flask.py +345 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# =================================================================
|
|
3
|
+
#
|
|
4
|
+
# Authors: Tom Kralidis <tomkralidis@gmail.com>
|
|
5
|
+
#
|
|
6
|
+
# Copyright (c) 2024 Tom Kralidis
|
|
7
|
+
#
|
|
8
|
+
# Permission is hereby granted, free of charge, to any person
|
|
9
|
+
# obtaining a copy of this software and associated documentation
|
|
10
|
+
# files (the "Software"), to deal in the Software without
|
|
11
|
+
# restriction, including without limitation the rights to use,
|
|
12
|
+
# copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
13
|
+
# copies of the Software, and to permit persons to whom the
|
|
14
|
+
# Software is furnished to do so, subject to the following
|
|
15
|
+
# conditions:
|
|
16
|
+
#
|
|
17
|
+
# The above copyright notice and this permission notice shall be
|
|
18
|
+
# included in all copies or substantial portions of the Software.
|
|
19
|
+
#
|
|
20
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
21
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
22
|
+
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
23
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
24
|
+
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
25
|
+
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
26
|
+
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
27
|
+
# OTHER DEALINGS IN THE SOFTWARE.
|
|
28
|
+
#
|
|
29
|
+
# =================================================================
|
|
30
|
+
|
|
31
|
+
import os
|
|
32
|
+
from pycsw.core.etree import etree
|
|
33
|
+
from pycsw.core import util
|
|
34
|
+
from pycsw.ogc.csw.csw2 import write_boundingbox
|
|
35
|
+
from pycsw.plugins.profiles import profile
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class EBRIM(profile.Profile):
|
|
39
|
+
''' EBRim class '''
|
|
40
|
+
def __init__(self, model, namespaces, context):
|
|
41
|
+
|
|
42
|
+
self.context = context
|
|
43
|
+
|
|
44
|
+
self.namespaces = {
|
|
45
|
+
'ebrim': 'http://www.opengis.net/cat/wrs/1.0',
|
|
46
|
+
'rim': 'urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0',
|
|
47
|
+
'wrs': 'http://www.opengis.net/cat/wrs/1.0'
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
self.repository = {
|
|
51
|
+
'rim:RegistryObject': {
|
|
52
|
+
'outputschema': 'urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0',
|
|
53
|
+
'queryables': {},
|
|
54
|
+
'mappings': {
|
|
55
|
+
'csw:Record': {
|
|
56
|
+
# map APISO queryables to DC queryables
|
|
57
|
+
'apiso:Title': 'dc:title',
|
|
58
|
+
'apiso:Creator': 'dc:creator',
|
|
59
|
+
'apiso:Subject': 'dc:subject',
|
|
60
|
+
'apiso:Abstract': 'dct:abstract',
|
|
61
|
+
'apiso:Publisher': 'dc:publisher',
|
|
62
|
+
'apiso:Contributor': 'dc:contributor',
|
|
63
|
+
'apiso:Modified': 'dct:modified',
|
|
64
|
+
#'apiso:Date': 'dc:date',
|
|
65
|
+
'apiso:Type': 'dc:type',
|
|
66
|
+
'apiso:Format': 'dc:format',
|
|
67
|
+
'apiso:Language': 'dc:language',
|
|
68
|
+
'apiso:Relation': 'dc:relation',
|
|
69
|
+
'apiso:AccessConstraints': 'dc:rights',
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
profile.Profile.__init__(self,
|
|
76
|
+
name='ebrim',
|
|
77
|
+
version='1.0.1',
|
|
78
|
+
title='ebRIM profile of CSW',
|
|
79
|
+
url='http://portal.opengeospatial.org/files/?artifact_id=31137',
|
|
80
|
+
namespace=self.namespaces['rim'],
|
|
81
|
+
typename='rim:RegistryObject',
|
|
82
|
+
outputschema=self.namespaces['rim'],
|
|
83
|
+
prefixes=['rim'],
|
|
84
|
+
model=model,
|
|
85
|
+
core_namespaces=namespaces,
|
|
86
|
+
added_namespaces=self.namespaces,
|
|
87
|
+
repository=self.repository['rim:RegistryObject'])
|
|
88
|
+
|
|
89
|
+
def extend_core(self, model, namespaces, config):
|
|
90
|
+
''' Extend core configuration '''
|
|
91
|
+
|
|
92
|
+
self.ogc_schemas_base = config['server'].get('ogc_schemas_base')
|
|
93
|
+
|
|
94
|
+
def check_parameters(self, kvp):
|
|
95
|
+
'''Check for Language parameter in GetCapabilities request'''
|
|
96
|
+
return None
|
|
97
|
+
|
|
98
|
+
def get_extendedcapabilities(self):
|
|
99
|
+
''' Add child to ows:OperationsMetadata Element '''
|
|
100
|
+
return None
|
|
101
|
+
|
|
102
|
+
def get_schemacomponents(self):
|
|
103
|
+
''' Return schema components as lxml.etree.Element list '''
|
|
104
|
+
|
|
105
|
+
node = etree.Element(
|
|
106
|
+
util.nspath_eval('csw:SchemaComponent', self.context.namespaces),
|
|
107
|
+
schemaLanguage='XMLSCHEMA', targetNamespace=self.namespace)
|
|
108
|
+
|
|
109
|
+
schema_file = os.path.join(self.context.pycsw_home, 'plugins',
|
|
110
|
+
'profiles', 'ebrim', 'schemas', 'ogc',
|
|
111
|
+
'csw', '2.0.2', 'profiles', 'ebrim',
|
|
112
|
+
'1.0', 'csw-ebrim.xsd')
|
|
113
|
+
|
|
114
|
+
schema = etree.parse(schema_file, self.context.parser).getroot()
|
|
115
|
+
|
|
116
|
+
node.append(schema)
|
|
117
|
+
|
|
118
|
+
return [node]
|
|
119
|
+
|
|
120
|
+
def check_getdomain(self, kvp):
|
|
121
|
+
'''Perform extra profile specific checks in the GetDomain request'''
|
|
122
|
+
return None
|
|
123
|
+
|
|
124
|
+
def write_record(self, result, esn, outputschema, queryables):
|
|
125
|
+
''' Return csw:SearchResults child as lxml.etree.Element '''
|
|
126
|
+
|
|
127
|
+
identifier = util.getqattr(result, self.context.md_core_model['mappings']['pycsw:Identifier'])
|
|
128
|
+
typename = util.getqattr(result, self.context.md_core_model['mappings']['pycsw:Typename'])
|
|
129
|
+
|
|
130
|
+
if esn == 'full' and typename == 'rim:RegistryObject':
|
|
131
|
+
# dump record as is and exit
|
|
132
|
+
return etree.fromstring(util.getqattr(result, queryables['pycsw:XML']['dbcol']), self.context.parser)
|
|
133
|
+
|
|
134
|
+
node = etree.Element(util.nspath_eval('rim:ExtrinsicObject', self.namespaces))
|
|
135
|
+
node.attrib[util.nspath_eval('xsi:schemaLocation', self.context.namespaces)] = \
|
|
136
|
+
'%s %s/csw/2.0.2/profiles/ebrim/1.0/csw-ebrim.xsd' % (self.namespaces['wrs'], self.ogc_schemas_base)
|
|
137
|
+
|
|
138
|
+
node.attrib['id'] = identifier
|
|
139
|
+
node.attrib['lid'] = identifier
|
|
140
|
+
node.attrib['objectType'] = str(util.getqattr(result, self.context.md_core_model['mappings']['pycsw:Type']))
|
|
141
|
+
node.attrib['status'] = 'urn:oasis:names:tc:ebxml-regrep:StatusType:Submitted'
|
|
142
|
+
|
|
143
|
+
etree.SubElement(node, util.nspath_eval('rim:VersionInfo', self.namespaces), versionName='')
|
|
144
|
+
|
|
145
|
+
if esn in ['summary', 'full']:
|
|
146
|
+
etree.SubElement(node, util.nspath_eval('rim:ExternalIdentifier', self.namespaces), value=identifier, identificationScheme='foo', registryObject=str(util.getqattr(result, self.context.md_core_model['mappings']['pycsw:Relation'])), id=identifier)
|
|
147
|
+
|
|
148
|
+
name = etree.SubElement(node, util.nspath_eval('rim:Name', self.namespaces))
|
|
149
|
+
etree.SubElement(name, util.nspath_eval('rim:LocalizedString', self.namespaces), value=str(util.getqattr(result, self.context.md_core_model['mappings']['pycsw:Title'])))
|
|
150
|
+
|
|
151
|
+
description = etree.SubElement(node, util.nspath_eval('rim:Description', self.namespaces))
|
|
152
|
+
etree.SubElement(description, util.nspath_eval('rim:LocalizedString', self.namespaces), value=str(util.getqattr(result, self.context.md_core_model['mappings']['pycsw:Abstract'])))
|
|
153
|
+
|
|
154
|
+
val = util.getqattr(result, self.context.md_core_model['mappings']['pycsw:BoundingBox'])
|
|
155
|
+
bboxel = write_boundingbox(val, self.context.namespaces)
|
|
156
|
+
|
|
157
|
+
if bboxel is not None:
|
|
158
|
+
bboxslot = etree.SubElement(node, util.nspath_eval('rim:Slot', self.namespaces),
|
|
159
|
+
slotType='urn:ogc:def:dataType:ISO-19107:2003:GM_Envelope')
|
|
160
|
+
|
|
161
|
+
valuelist = etree.SubElement(bboxslot, util.nspath_eval('rim:ValueList', self.namespaces))
|
|
162
|
+
value = etree.SubElement(valuelist, util.nspath_eval('rim:Value', self.namespaces))
|
|
163
|
+
value.append(bboxel)
|
|
164
|
+
|
|
165
|
+
rkeywords = util.getqattr(result, self.context.md_core_model['mappings']['pycsw:Keywords'])
|
|
166
|
+
if rkeywords is not None:
|
|
167
|
+
subjectslot = etree.SubElement(node, util.nspath_eval('rim:Slot', self.namespaces),
|
|
168
|
+
name='http://purl.org/dc/elements/1.1/subject')
|
|
169
|
+
valuelist = etree.SubElement(subjectslot, util.nspath_eval('rim:ValueList', self.namespaces))
|
|
170
|
+
for keyword in rkeywords.split(','):
|
|
171
|
+
etree.SubElement(valuelist,
|
|
172
|
+
util.nspath_eval('rim:Value', self.namespaces)).text = keyword
|
|
173
|
+
|
|
174
|
+
return node
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<xsd:schema id="csw-ebrim-iri"
|
|
3
|
+
targetNamespace="http://www.opengis.net/cat/wrs/1.0/iri"
|
|
4
|
+
xmlns:iri="http://www.opengis.net/cat/wrs/1.0/iri"
|
|
5
|
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
|
6
|
+
elementFormDefault="qualified"
|
|
7
|
+
version="1.0.1">
|
|
8
|
+
|
|
9
|
+
<xsd:annotation>
|
|
10
|
+
<xsd:documentation xml:lang="en"
|
|
11
|
+
source="http://www.w3.org/TR/wsdl20-adjuncts/#http-binding">
|
|
12
|
+
This schema defines content models for HTTP request messages that may be
|
|
13
|
+
serialized into the query string portion of the URI or into the message body
|
|
14
|
+
in accord with the WSDL HTTP binding rules for the IRI style. The schemas
|
|
15
|
+
defined in the base specifications do not adhere to the rules for the IRI
|
|
16
|
+
style and thus cannot be used for this purpose.
|
|
17
|
+
</xsd:documentation>
|
|
18
|
+
</xsd:annotation>
|
|
19
|
+
|
|
20
|
+
<xsd:element name="GetCapabilities">
|
|
21
|
+
<xsd:annotation>
|
|
22
|
+
<xsd:documentation
|
|
23
|
+
source="http://portal.opengeospatial.org/files/?artifact_id=8798">
|
|
24
|
+
See OGC 05-008c1, cl. 7.2.1.</xsd:documentation>
|
|
25
|
+
</xsd:annotation>
|
|
26
|
+
<xsd:complexType>
|
|
27
|
+
<xsd:sequence>
|
|
28
|
+
<xsd:element name="service" type="xsd:string" fixed="CSW" />
|
|
29
|
+
<xsd:element name="request" type="xsd:string" fixed="GetCapabilities" />
|
|
30
|
+
<xsd:element name="version" type="xsd:string" minOccurs="0"/>
|
|
31
|
+
<xsd:element name="acceptVersions" type="iri:AcceptVersionsType" minOccurs="0" />
|
|
32
|
+
<xsd:element name="sections" type="iri:CommaSeparatedListType" minOccurs="0" />
|
|
33
|
+
<xsd:element name="updateSequence" type="xsd:string" minOccurs="0" />
|
|
34
|
+
<xsd:element name="acceptFormats" type="iri:CommaSeparatedListType" minOccurs="0" />
|
|
35
|
+
</xsd:sequence>
|
|
36
|
+
</xsd:complexType>
|
|
37
|
+
</xsd:element>
|
|
38
|
+
|
|
39
|
+
<xsd:element name="GetRecordById">
|
|
40
|
+
<xsd:annotation>
|
|
41
|
+
<xsd:documentation
|
|
42
|
+
source="http://portal.opengeospatial.org/files/?artifact_id=20555">
|
|
43
|
+
See OGC 07-006r1, cl. 10.9.2</xsd:documentation>
|
|
44
|
+
</xsd:annotation>
|
|
45
|
+
<xsd:complexType>
|
|
46
|
+
<xsd:sequence>
|
|
47
|
+
<xsd:element name="service" type="xsd:string" fixed="CSW" />
|
|
48
|
+
<xsd:element name="request" type="xsd:string" fixed="GetRecordById" />
|
|
49
|
+
<xsd:element name="version" type="xsd:string" fixed="2.0.2" />
|
|
50
|
+
<xsd:element name="id" type="iri:CommaSeparatedListType" />
|
|
51
|
+
<xsd:element name="elementSetName" type="iri:ElementSetType" minOccurs="0"/>
|
|
52
|
+
<xsd:element name="outputFormat" type="xsd:string" minOccurs="0"/>
|
|
53
|
+
<xsd:element name="outputSchema" type="xsd:anyURI" minOccurs="0"/>
|
|
54
|
+
</xsd:sequence>
|
|
55
|
+
</xsd:complexType>
|
|
56
|
+
</xsd:element>
|
|
57
|
+
|
|
58
|
+
<xsd:element name="GetRecords">
|
|
59
|
+
<xsd:annotation>
|
|
60
|
+
<xsd:documentation
|
|
61
|
+
source="http://portal.opengeospatial.org/files/?artifact_id=20555">
|
|
62
|
+
See OGC 07-006r1, cl. 10.8.2. Some optional CSW parameters have been elided.
|
|
63
|
+
Matching items are returned as rim:RegistryObject elements that include
|
|
64
|
+
the "summary" element set.</xsd:documentation>
|
|
65
|
+
</xsd:annotation>
|
|
66
|
+
<xsd:complexType>
|
|
67
|
+
<xsd:sequence>
|
|
68
|
+
<xsd:element name="service" type="xsd:string" fixed="CSW" />
|
|
69
|
+
<xsd:element name="request" type="xsd:string" fixed="GetRecords" />
|
|
70
|
+
<xsd:element name="version" type="xsd:string" fixed="2.0.2" />
|
|
71
|
+
<xsd:element name="typeNames" type="iri:CommaSeparatedListType" />
|
|
72
|
+
<xsd:element name="namespace" type="xsd:string" minOccurs="0" />
|
|
73
|
+
<xsd:element name="resultType" type="iri:ResultType" minOccurs="0" />
|
|
74
|
+
</xsd:sequence>
|
|
75
|
+
</xsd:complexType>
|
|
76
|
+
</xsd:element>
|
|
77
|
+
|
|
78
|
+
<xsd:element name="GetRepositoryItem">
|
|
79
|
+
<xsd:annotation>
|
|
80
|
+
<xsd:documentation>
|
|
81
|
+
See OGC 07-110r2, cl. 12.2.</xsd:documentation>
|
|
82
|
+
</xsd:annotation>
|
|
83
|
+
<xsd:complexType>
|
|
84
|
+
<xsd:sequence>
|
|
85
|
+
<xsd:element name="service" type="xsd:string" fixed="CSW-ebRIM" />
|
|
86
|
+
<xsd:element name="request" type="xsd:string" fixed="GetRepositoryItem" />
|
|
87
|
+
<xsd:element name="version" type="xsd:string" minOccurs="0" />
|
|
88
|
+
<xsd:element name="id" type="xsd:anyURI" />
|
|
89
|
+
</xsd:sequence>
|
|
90
|
+
</xsd:complexType>
|
|
91
|
+
</xsd:element>
|
|
92
|
+
|
|
93
|
+
<xsd:element name="Query">
|
|
94
|
+
<xsd:annotation>
|
|
95
|
+
<xsd:documentation>
|
|
96
|
+
Invokes a predefined query. See OGC 07-110r2, cl. 16.1</xsd:documentation>
|
|
97
|
+
</xsd:annotation>
|
|
98
|
+
<xsd:complexType>
|
|
99
|
+
<xsd:sequence>
|
|
100
|
+
<xsd:element name="service" type="xsd:string" fixed="CSW-ebRIM" />
|
|
101
|
+
<xsd:element name="request" type="xsd:string" fixed="Query" />
|
|
102
|
+
<xsd:element name="qid" type="xsd:anyURI" />
|
|
103
|
+
<xsd:element name="elementSetName" type="iri:ElementSetType" minOccurs="0"/>
|
|
104
|
+
<xsd:element name="startPosition" type="xsd:positiveInteger" minOccurs="0"/>
|
|
105
|
+
<xsd:element name="maxRecords" type="xsd:nonNegativeInteger" minOccurs="0"/>
|
|
106
|
+
</xsd:sequence>
|
|
107
|
+
</xsd:complexType>
|
|
108
|
+
</xsd:element>
|
|
109
|
+
|
|
110
|
+
<xsd:simpleType name="AcceptVersionsType">
|
|
111
|
+
<xsd:annotation>
|
|
112
|
+
<xsd:documentation xml:lang="en">
|
|
113
|
+
Examples: "2.0.35", "1.1.0,1.1.1"
|
|
114
|
+
</xsd:documentation>
|
|
115
|
+
</xsd:annotation>
|
|
116
|
+
<xsd:restriction base="xsd:string">
|
|
117
|
+
<xsd:pattern value="(\d+\.\d{1,2}\.\d{1,2},?)+" />
|
|
118
|
+
</xsd:restriction>
|
|
119
|
+
</xsd:simpleType>
|
|
120
|
+
|
|
121
|
+
<xsd:simpleType name="CommaSeparatedListType">
|
|
122
|
+
<xsd:annotation>
|
|
123
|
+
<xsd:documentation xml:lang="en">
|
|
124
|
+
Examples: "OperationsMetadata", "application/xml,text/html"
|
|
125
|
+
</xsd:documentation>
|
|
126
|
+
</xsd:annotation>
|
|
127
|
+
<xsd:restriction base="xsd:string">
|
|
128
|
+
<xsd:pattern value="([\w:\.\-/]+,?)+" />
|
|
129
|
+
</xsd:restriction>
|
|
130
|
+
</xsd:simpleType>
|
|
131
|
+
|
|
132
|
+
<xsd:simpleType name="ElementSetType">
|
|
133
|
+
<xsd:restriction base="xsd:string">
|
|
134
|
+
<xsd:enumeration value="brief" />
|
|
135
|
+
<xsd:enumeration value="summary" />
|
|
136
|
+
<xsd:enumeration value="full" />
|
|
137
|
+
</xsd:restriction>
|
|
138
|
+
</xsd:simpleType>
|
|
139
|
+
|
|
140
|
+
<xsd:simpleType name="ResultType">
|
|
141
|
+
<xsd:restriction base="xsd:string">
|
|
142
|
+
<xsd:enumeration value="hits" />
|
|
143
|
+
<xsd:enumeration value="results" />
|
|
144
|
+
</xsd:restriction>
|
|
145
|
+
</xsd:simpleType>
|
|
146
|
+
</xsd:schema>
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
2
|
+
<xsd:schema id="wrs" targetNamespace="http://www.opengis.net/cat/wrs/1.0"
|
|
3
|
+
xmlns:wrs="http://www.opengis.net/cat/wrs/1.0"
|
|
4
|
+
xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
|
|
5
|
+
xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"
|
|
6
|
+
xmlns:ogc="http://www.opengis.net/ogc"
|
|
7
|
+
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
8
|
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
|
9
|
+
xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
|
|
10
|
+
elementFormDefault="qualified"
|
|
11
|
+
version="1.0.1">
|
|
12
|
+
|
|
13
|
+
<xsd:annotation>
|
|
14
|
+
<xsd:appinfo xmlns:sch="http://www.ascc.net/xml/schematron">
|
|
15
|
+
<sch:pattern id="ComplexSlotValuesPattern" name="ComplexSlotValuesPattern">
|
|
16
|
+
<sch:rule context="//wrs:ValueList">
|
|
17
|
+
<sch:report test="rim:Value">rim:Value not allowed in this context: expected wrs:AnyValue.</sch:report>
|
|
18
|
+
</sch:rule>
|
|
19
|
+
</sch:pattern>
|
|
20
|
+
</xsd:appinfo>
|
|
21
|
+
<xsd:documentation xml:lang="en">
|
|
22
|
+
Schema for CSW-ebRIM catalogue profile (OGC 07-110r3).
|
|
23
|
+
</xsd:documentation>
|
|
24
|
+
</xsd:annotation>
|
|
25
|
+
|
|
26
|
+
<xsd:import namespace="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"
|
|
27
|
+
schemaLocation="http://docs.oasis-open.org/regrep/v3.0/schema/rim.xsd" />
|
|
28
|
+
<xsd:import namespace="http://www.opengis.net/cat/csw/2.0.2"
|
|
29
|
+
schemaLocation="http://schemas.opengis.net/csw/2.0.2/CSW-publication.xsd"/>
|
|
30
|
+
<xsd:import namespace="http://www.w3.org/1999/xlink"
|
|
31
|
+
schemaLocation="http://www.w3.org/1999/xlink.xsd"/>
|
|
32
|
+
<xsd:import namespace="http://www.opengis.net/ogc"
|
|
33
|
+
schemaLocation="http://schemas.opengis.net/filter/1.1.0/filter.xsd"/>
|
|
34
|
+
|
|
35
|
+
<xsd:element name="Capabilities" type="csw:CapabilitiesType" />
|
|
36
|
+
<xsd:element name="RecordId" type="wrs:RecordIdType"
|
|
37
|
+
substitutionGroup="ogc:_Id" id="RecordId">
|
|
38
|
+
<xsd:annotation>
|
|
39
|
+
<xsd:documentation xml:lang="en">
|
|
40
|
+
A general record identifier, expressed as an absolute URI that maps to
|
|
41
|
+
the rim:RegistryObject/@id attribute. It substitutes for the ogc:_Id
|
|
42
|
+
element in an OGC filter expression.
|
|
43
|
+
</xsd:documentation>
|
|
44
|
+
</xsd:annotation>
|
|
45
|
+
</xsd:element>
|
|
46
|
+
<xsd:complexType name="RecordIdType" id="RecordIdType">
|
|
47
|
+
<xsd:complexContent mixed="true">
|
|
48
|
+
<xsd:extension base="ogc:AbstractIdType" />
|
|
49
|
+
</xsd:complexContent>
|
|
50
|
+
</xsd:complexType>
|
|
51
|
+
|
|
52
|
+
<xsd:element name="ExtrinsicObject" type="wrs:ExtrinsicObjectType"
|
|
53
|
+
substitutionGroup="rim:ExtrinsicObject"/>
|
|
54
|
+
<xsd:complexType name="ExtrinsicObjectType">
|
|
55
|
+
<xsd:annotation>
|
|
56
|
+
<xsd:documentation xml:lang="en">
|
|
57
|
+
Extends rim:ExtrinsicObjectType to add the following:
|
|
58
|
+
1. MTOM/XOP based attachment support.
|
|
59
|
+
2. XLink based reference to a part in a multipart/related message
|
|
60
|
+
structure.
|
|
61
|
+
NOTE: This content model is planned for RegRep 4.0.
|
|
62
|
+
</xsd:documentation>
|
|
63
|
+
</xsd:annotation>
|
|
64
|
+
<xsd:complexContent>
|
|
65
|
+
<xsd:extension base="rim:ExtrinsicObjectType">
|
|
66
|
+
<xsd:choice minOccurs="0" maxOccurs="1">
|
|
67
|
+
<xsd:element name="repositoryItemRef" type="wrs:SimpleLinkType"/>
|
|
68
|
+
<xsd:element name="repositoryItem" type="xsd:base64Binary" xmime:expectedContentTypes="*/*" />
|
|
69
|
+
</xsd:choice>
|
|
70
|
+
</xsd:extension>
|
|
71
|
+
</xsd:complexContent>
|
|
72
|
+
</xsd:complexType>
|
|
73
|
+
|
|
74
|
+
<xsd:element name="ValueList" type="wrs:ValueListType"
|
|
75
|
+
substitutionGroup="rim:ValueList" />
|
|
76
|
+
<xsd:complexType name="ValueListType">
|
|
77
|
+
<xsd:annotation>
|
|
78
|
+
<xsd:documentation xml:lang="en">Allows complex slot values.</xsd:documentation>
|
|
79
|
+
</xsd:annotation>
|
|
80
|
+
<xsd:complexContent>
|
|
81
|
+
<xsd:extension base="rim:ValueListType">
|
|
82
|
+
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
|
|
83
|
+
<xsd:element ref="wrs:AnyValue" />
|
|
84
|
+
</xsd:sequence>
|
|
85
|
+
</xsd:extension>
|
|
86
|
+
</xsd:complexContent>
|
|
87
|
+
</xsd:complexType>
|
|
88
|
+
|
|
89
|
+
<xsd:element name="AnyValue" type="wrs:AnyValueType"/>
|
|
90
|
+
<xsd:complexType name="AnyValueType" mixed="true">
|
|
91
|
+
<xsd:sequence>
|
|
92
|
+
<xsd:any minOccurs="0" />
|
|
93
|
+
</xsd:sequence>
|
|
94
|
+
</xsd:complexType>
|
|
95
|
+
|
|
96
|
+
<xsd:complexType name="SimpleLinkType" id="SimpleLinkType">
|
|
97
|
+
<xsd:annotation>
|
|
98
|
+
<xsd:documentation xml:lang="en">
|
|
99
|
+
Incorporates the attributes defined for use in simple XLink elements.
|
|
100
|
+
</xsd:documentation>
|
|
101
|
+
</xsd:annotation>
|
|
102
|
+
<xsd:attributeGroup ref="xlink:simpleAttrs" />
|
|
103
|
+
</xsd:complexType>
|
|
104
|
+
</xsd:schema>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# =================================================================
|
|
3
|
+
#
|
|
4
|
+
# Authors: Tom Kralidis <tomkralidis@gmail.com>
|
|
5
|
+
#
|
|
6
|
+
# Copyright (c) 2015 Tom Kralidis
|
|
7
|
+
#
|
|
8
|
+
# Permission is hereby granted, free of charge, to any person
|
|
9
|
+
# obtaining a copy of this software and associated documentation
|
|
10
|
+
# files (the "Software"), to deal in the Software without
|
|
11
|
+
# restriction, including without limitation the rights to use,
|
|
12
|
+
# copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
13
|
+
# copies of the Software, and to permit persons to whom the
|
|
14
|
+
# Software is furnished to do so, subject to the following
|
|
15
|
+
# conditions:
|
|
16
|
+
#
|
|
17
|
+
# The above copyright notice and this permission notice shall be
|
|
18
|
+
# included in all copies or substantial portions of the Software.
|
|
19
|
+
#
|
|
20
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
21
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
22
|
+
# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
23
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
24
|
+
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
25
|
+
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
26
|
+
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
27
|
+
# OTHER DEALINGS IN THE SOFTWARE.
|
|
28
|
+
#
|
|
29
|
+
# =================================================================
|