mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-16 00:03:12 -04:00
Update metadata xml definitions
This commit is contained in:
parent
d293c5d0a0
commit
b10be8a8a3
@ -27,7 +27,7 @@ of all existing metadata schemas and accordingly conversion from specific
|
|||||||
metadata formats to QgsAbstractMetadataBase may result in a loss of information.
|
metadata formats to QgsAbstractMetadataBase may result in a loss of information.
|
||||||
|
|
||||||
This class is designed to follow the specifications detailed in
|
This class is designed to follow the specifications detailed in
|
||||||
the schema definition available at resources/qgis-resource-metadata.xsd
|
the schema definition available at resources/qgis-base-metadata.xsd
|
||||||
within the QGIS source code.
|
within the QGIS source code.
|
||||||
|
|
||||||
Metadata can be validated through the use of QgsAbstractMetadataBaseValidator
|
Metadata can be validated through the use of QgsAbstractMetadataBaseValidator
|
||||||
|
@ -26,7 +26,7 @@ of all existing metadata schemas and accordingly conversion from specific
|
|||||||
metadata formats to QgsProjectMetadata may result in a loss of information.
|
metadata formats to QgsProjectMetadata may result in a loss of information.
|
||||||
|
|
||||||
This class is designed to follow the specifications detailed in
|
This class is designed to follow the specifications detailed in
|
||||||
the schema definition available at resources/qgis-resource-metadata.xsd
|
the schema definition available at resources/qgis-project-metadata.xsd
|
||||||
within the QGIS source code.
|
within the QGIS source code.
|
||||||
|
|
||||||
Metadata can be validated through the use of QgsLayerMetadataValidator
|
Metadata can be validated through the use of QgsLayerMetadataValidator
|
||||||
|
40
resources/qgis-base-metadata.xml
Normal file
40
resources/qgis-base-metadata.xml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ResourceMetadata xmlns="http://qgis.org/base-metadata/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://qgis.org/base-metadata/1.0 qgis-base-metadata.xsd">
|
||||||
|
<identifier>1234</identifier>
|
||||||
|
<parentidentifier>xyz</parentidentifier>
|
||||||
|
<language>en-CA</language>
|
||||||
|
<type>dataset</type>
|
||||||
|
<title>roads</title>
|
||||||
|
<abstract>my roads</abstract>
|
||||||
|
<keywords vocabulary="gmd:topicCategory">
|
||||||
|
<keyword>natural</keyword>
|
||||||
|
</keywords>
|
||||||
|
<keywords vocabulary="GEMET">
|
||||||
|
<keyword>kw1</keyword>
|
||||||
|
<keyword>kw2</keyword>
|
||||||
|
</keywords>
|
||||||
|
<contact>
|
||||||
|
<name>John Smith</name>
|
||||||
|
<organization>ACME</organization>
|
||||||
|
<position>staff</position>
|
||||||
|
<contactAddress>
|
||||||
|
<type>postal</type>
|
||||||
|
<address>123 Main Street</address>
|
||||||
|
<city>anycity</city>
|
||||||
|
<administrativearea>anyprovince</administrativearea>
|
||||||
|
<postalcode>90210</postalcode>
|
||||||
|
<country>Canada</country>
|
||||||
|
</contactAddress>
|
||||||
|
<voice>xx.xxx.xxx.xxxx</voice>
|
||||||
|
<fax>xx.xxx.xxx.xxxx</fax>
|
||||||
|
<email>foo@example.org</email>
|
||||||
|
<role>pointOfContact</role>
|
||||||
|
</contact>
|
||||||
|
<links>
|
||||||
|
<link name="geonode:roads" type="OGC:WMS" description="my GeoNode road layer" url="http://example.org/wms"/>
|
||||||
|
<link name="geonode:roads" type="OGC:WFS" description="my GeoNode road layer" url="http://example.org/wfs"/>
|
||||||
|
<link name="roads" type="WWW:LINK" description="full dataset download" url="http://example.org/roads.tgz" format="ESRI Shapefile" mimeType="application/gzip" size="283676"/>
|
||||||
|
</links>
|
||||||
|
<history>Buffering</history>
|
||||||
|
<history>Reprojecting</history>
|
||||||
|
</ResourceMetadata>
|
212
resources/qgis-base-metadata.xsd
Normal file
212
resources/qgis-base-metadata.xsd
Normal file
@ -0,0 +1,212 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
###############################################################################
|
||||||
|
#
|
||||||
|
# Copyright (C) 2017 Tom Kralidis (tomkralidis@gmail.com)
|
||||||
|
# Copyright (C) 2017 Angelos Tzotsos (gcpp.kalxas@gmail.com)
|
||||||
|
#
|
||||||
|
# This source is free software; you can redistribute it and/or modify it under
|
||||||
|
# the terms of the GNU General Public License as published by the Free
|
||||||
|
# Software Foundation; either version 2 of the License, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# This code is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
|
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||||
|
# details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along
|
||||||
|
# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
-->
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rm="http://qgis.org/base-metadata/1.0" targetNamespace="http://qgis.org/base-metadata/1.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
|
||||||
|
<xs:element name="BaseMetadata" type="rm:BaseMetadataType">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:appinfo>QGIS Base Metadata Schema</xs:appinfo>
|
||||||
|
<xs:documentation>Copyright (C) 2017 Tom Kralidis (tomkralidis@gmail.com)</xs:documentation>
|
||||||
|
<xs:documentation>Copyright (C) 2017 Angelos Tzotsos (gcpp.kalxas@gmail.com)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:complexType name="BaseMetadataType">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="identifier" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reference, URI, URL or some other mechanism to identify a given resource. </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="parentidentifier" type="xs:string" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reference, URI, URL or some other mechanism that that a given resource is a part of (child).</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="language" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Human language associated with a given resource. While a formal vocabulary is not imposed, it is advised to use ISO 3166/ISO 639.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="type" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Nature of a given resource. While a formal vocabulary is not imposed, it is advised to use the ISO 19115 MD_ScopeCode.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="title" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Human readable name of a given resource typically displayed in search results.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="abstract" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Description of a given resource.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="keywords" type="rm:keywordsType" minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Set of descriptive keywords associated with a given resource.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="contact" type="rm:contactType" maxOccurs="unbounded">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Contact person/entity associated with a given resource.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="links" type="rm:linksType">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Set of online resources associated with a given resource.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="history" type="xs:string" minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Freeform description of the history or lineage of the resource.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute name="version" use="required" fixed="1.0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Version of QGIS Base Metadata schema used. </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="keywordsType">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="keyword" maxOccurs="unbounded">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Descriptive keyword associated with a resource. While a formal vocabulary is not imposed, it is advised to use rm:keywords/@vocabulary to identify a codelist or applicable vocabulary.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute name="vocabulary" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reference (URI/URL preferred) to a codelist or vocabulary associated with keyword list.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="contactType">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="name" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Name of contact.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="organization" type="xs:string" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Organization contact belongs to/represents.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="position" type="xs:string" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Position/title of contact.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="contactAddress" type="rm:addressType" minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Address associated with a given contact.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="voice" type="xs:string" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Voice telephone.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="fax" type="xs:string" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Facsimile telephone.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="email" type="xs:string" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Electronic mail address (note, do not include mailto: protocol as part of the email address).</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="role" type="xs:string" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Role of contact. While no vocabulary is imposed, it is advised to use ISO 19115 CI_RoleCode.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="addressType">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="type" type="xs:string" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Type of address (e.g. 'postal').</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="address" type="xs:string" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Physical address.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="city" type="xs:string" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>City.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="administrativearea" type="xs:string" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Administrative area (state, province/territory, etc.).</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="postalcode" type="xs:string" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Postal code.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="country" type="xs:string" minOccurs="0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Country.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="linksType">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="link" type="rm:linkType" maxOccurs="unbounded">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Online resource associated with a given resource. Attribute definitions:
|
||||||
|
* name: short name (like WMS layer name)
|
||||||
|
* type: link type. Strongly suggested to use values from the 'identifier' column in https://github.com/OSGeo/Cat-Interop/blob/master/LinkPropertyLookupTable.csv
|
||||||
|
* description: abstract text about link
|
||||||
|
* url: endpoint. If the URL is an OWS server, specify the *base* URL only without parameters like service=xxx.....
|
||||||
|
* format: format specification of online resource. Strongly suggested to use GDAL/OGR format values
|
||||||
|
* mimeType: MIME type representative of the online resource response (image/png, application/json, etc.)
|
||||||
|
* size: estimated size (in bytes) of the online resource response
|
||||||
|
</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:complexType name="linkType">
|
||||||
|
<xs:attributeGroup ref="rm:linkAttrs"/>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:attributeGroup name="linkAttrs">
|
||||||
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
||||||
|
<xs:attribute name="type" type="xs:string" use="required"/>
|
||||||
|
<xs:attribute name="url" type="xs:anyURI" use="required"/>
|
||||||
|
<xs:attribute name="description" type="xs:string" use="optional"/>
|
||||||
|
<xs:attribute name="format" type="xs:string" use="optional"/>
|
||||||
|
<xs:attribute name="mimeType" type="xs:string" use="optional"/>
|
||||||
|
<xs:attribute name="size" type="xs:string" use="optional"/>
|
||||||
|
</xs:attributeGroup>
|
||||||
|
</xs:schema>
|
42
resources/qgis-project-metadata.xml
Normal file
42
resources/qgis-project-metadata.xml
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ResourceMetadata xmlns="http://qgis.org/project-metadata/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://qgis.org/project-metadata/1.0 qgis-project-metadata.xsd">
|
||||||
|
<identifier>1234</identifier>
|
||||||
|
<parentidentifier>xyz</parentidentifier>
|
||||||
|
<language>en-CA</language>
|
||||||
|
<type>document</type>
|
||||||
|
<title>roads</title>
|
||||||
|
<abstract>my project</abstract>
|
||||||
|
<author>Gary Sherman</author>
|
||||||
|
<creationDateTime>2017-08-05 13:15:02</creationDateTime>
|
||||||
|
<keywords vocabulary="gmd:topicCategory">
|
||||||
|
<keyword>natural</keyword>
|
||||||
|
</keywords>
|
||||||
|
<keywords vocabulary="GEMET">
|
||||||
|
<keyword>kw1</keyword>
|
||||||
|
<keyword>kw2</keyword>
|
||||||
|
</keywords>
|
||||||
|
<contact>
|
||||||
|
<name>John Smith</name>
|
||||||
|
<organization>ACME</organization>
|
||||||
|
<position>staff</position>
|
||||||
|
<contactAddress>
|
||||||
|
<type>postal</type>
|
||||||
|
<address>123 Main Street</address>
|
||||||
|
<city>anycity</city>
|
||||||
|
<administrativearea>anyprovince</administrativearea>
|
||||||
|
<postalcode>90210</postalcode>
|
||||||
|
<country>Canada</country>
|
||||||
|
</contactAddress>
|
||||||
|
<voice>xx.xxx.xxx.xxxx</voice>
|
||||||
|
<fax>xx.xxx.xxx.xxxx</fax>
|
||||||
|
<email>foo@example.org</email>
|
||||||
|
<role>pointOfContact</role>
|
||||||
|
</contact>
|
||||||
|
<links>
|
||||||
|
<link name="geonode:roads" type="OGC:WMS" description="my GeoNode road layer" url="http://example.org/wms"/>
|
||||||
|
<link name="geonode:roads" type="OGC:WFS" description="my GeoNode road layer" url="http://example.org/wfs"/>
|
||||||
|
<link name="roads" type="WWW:LINK" description="full dataset download" url="http://example.org/roads.tgz" format="ESRI Shapefile" mimeType="application/gzip" size="283676"/>
|
||||||
|
</links>
|
||||||
|
<history>Buffering</history>
|
||||||
|
<history>Reprojecting</history>
|
||||||
|
</ResourceMetadata>
|
52
resources/qgis-project-metadata.xsd
Normal file
52
resources/qgis-project-metadata.xsd
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
###############################################################################
|
||||||
|
#
|
||||||
|
# Copyright (C) 2017 Tom Kralidis (tomkralidis@gmail.com)
|
||||||
|
# Copyright (C) 2017 Angelos Tzotsos (gcpp.kalxas@gmail.com)
|
||||||
|
#
|
||||||
|
# This source is free software; you can redistribute it and/or modify it under
|
||||||
|
# the terms of the GNU General Public License as published by the Free
|
||||||
|
# Software Foundation; either version 2 of the License, or (at your option)
|
||||||
|
# any later version.
|
||||||
|
#
|
||||||
|
# This code is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||||
|
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||||
|
# details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along
|
||||||
|
# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
-->
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rm="http://qgis.org/project-metadata/1.0" targetNamespace="http://qgis.org/project-metadata/1.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
|
||||||
|
<xs:include schemaLocation="qgis-base-metadata.xsd"/>
|
||||||
|
<xs:element name="ProjectMetadata" type="rm:ProjectMetadataType" base="rm:BaseMetadataType">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:appinfo>QGIS Project Metadata Schema</xs:appinfo>
|
||||||
|
<xs:documentation>Copyright (C) 2017 Tom Kralidis (tomkralidis@gmail.com)</xs:documentation>
|
||||||
|
<xs:documentation>Copyright (C) 2017 Angelos Tzotsos (gcpp.kalxas@gmail.com)</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:complexType name="ProjectMetadataType">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="author" type="xs:string">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Project author.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="creationDateTime" type="xs:dateTime">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Project creation date/time.</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
<xs:attribute name="version" use="required" fixed="1.0">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Version of QGIS Project Metadata schema used. </xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:schema>
|
@ -22,7 +22,8 @@
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
-->
|
-->
|
||||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rm="http://qgis.org/resource-metadata/1.0" targetNamespace="http://qgis.org/resource-metadata/1.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:rm="http://qgis.org/resource-metadata/1.0" targetNamespace="http://qgis.org/resource-metadata/1.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
|
||||||
<xs:element name="ResourceMetadata" type="rm:ResourceMetadataType">
|
<xs:include schemaLocation="qgis-base-metadata.xsd"/>
|
||||||
|
<xs:element name="ResourceMetadata" type="rm:ResourceMetadataType" base="rm:BaseMetadataType">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:appinfo>QGIS Resource Metadata Schema</xs:appinfo>
|
<xs:appinfo>QGIS Resource Metadata Schema</xs:appinfo>
|
||||||
<xs:documentation>Copyright (C) 2017 Tom Kralidis (tomkralidis@gmail.com)</xs:documentation>
|
<xs:documentation>Copyright (C) 2017 Tom Kralidis (tomkralidis@gmail.com)</xs:documentation>
|
||||||
@ -31,41 +32,6 @@
|
|||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:complexType name="ResourceMetadataType">
|
<xs:complexType name="ResourceMetadataType">
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="identifier" type="xs:string">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Reference, URI, URL or some other mechanism to identify a given resource. </xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="parentidentifier" type="xs:string" minOccurs="0">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Reference, URI, URL or some other mechanism that that a given resource is a part of (child).</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="language" type="xs:string">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Human language associated with a given resource. While a formal vocabulary is not imposed, it is advised to use ISO 3166/ISO 639.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="type" type="xs:string">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Nature of a given resource. While a formal vocabulary is not imposed, it is advised to use the ISO 19115 MD_ScopeCode.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="title" type="xs:string">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Human readable name of a given resource typically displayed in search results.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="abstract" type="xs:string">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Description of a given resource.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="keywords" type="rm:keywordsType" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Set of descriptive keywords associated with a given resource.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="fees" type="xs:string" minOccurs="0">
|
<xs:element name="fees" type="xs:string" minOccurs="0">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Any fees associated with a given resource.</xs:documentation>
|
<xs:documentation>Any fees associated with a given resource.</xs:documentation>
|
||||||
@ -108,21 +74,6 @@
|
|||||||
<xs:documentation>Spatial and temporal extents associated with a given resource.</xs:documentation>
|
<xs:documentation>Spatial and temporal extents associated with a given resource.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="contact" type="rm:contactType" maxOccurs="unbounded">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Contact person/entity associated with a given resource.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="links" type="rm:linksType">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Set of online resources associated with a given resource.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="history" type="xs:string" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Freeform description of the history or lineage of the resource.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
<xs:attribute name="version" use="required" fixed="1.0">
|
<xs:attribute name="version" use="required" fixed="1.0">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
@ -141,20 +92,6 @@
|
|||||||
</xs:extension>
|
</xs:extension>
|
||||||
</xs:simpleContent>
|
</xs:simpleContent>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
<xs:complexType name="keywordsType">
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="keyword" maxOccurs="unbounded">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Descriptive keyword associated with a resource. While a formal vocabulary is not imposed, it is advised to use rm:keywords/@vocabulary to identify a codelist or applicable vocabulary.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
<xs:attribute name="vocabulary" type="xs:string">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Reference (URI/URL preferred) to a codelist or vocabulary associated with keyword list.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:attribute>
|
|
||||||
</xs:complexType>
|
|
||||||
<xs:complexType name="extentType">
|
<xs:complexType name="extentType">
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="spatial" type="rm:spatialType" maxOccurs="unbounded">
|
<xs:element name="spatial" type="rm:spatialType" maxOccurs="unbounded">
|
||||||
@ -240,111 +177,4 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
</xs:attribute>
|
</xs:attribute>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
<xs:complexType name="contactType">
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="name" type="xs:string">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Name of contact.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="organization" type="xs:string" minOccurs="0">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Organization contact belongs to/represents.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="position" type="xs:string" minOccurs="0">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Position/title of contact.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="contactAddress" type="rm:addressType" minOccurs="0" maxOccurs="unbounded">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Address associated with a given contact.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="voice" type="xs:string" minOccurs="0">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Voice telephone.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="fax" type="xs:string" minOccurs="0">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Facsimile telephone.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="email" type="xs:string" minOccurs="0">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Electronic mail address (note, do not include mailto: protocol as part of the email address).</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="role" type="xs:string" minOccurs="0">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Role of contact. While no vocabulary is imposed, it is advised to use ISO 19115 CI_RoleCode.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
<xs:complexType name="addressType">
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="type" type="xs:string" minOccurs="0">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Type of address (e.g. 'postal').</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="address" type="xs:string" minOccurs="0">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Physical address.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="city" type="xs:string" minOccurs="0">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>City.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="administrativearea" type="xs:string" minOccurs="0">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Administrative area (state, province/territory, etc.).</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="postalcode" type="xs:string" minOccurs="0">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Postal code.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="country" type="xs:string" minOccurs="0">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Country.</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
<xs:complexType name="linksType">
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element name="link" type="rm:linkType" maxOccurs="unbounded">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Online resource associated with a given resource. Attribute definitions:
|
|
||||||
* name: short name (like WMS layer name)
|
|
||||||
* type: link type. Strongly suggested to use values from the 'identifier' column in https://github.com/OSGeo/Cat-Interop/blob/master/LinkPropertyLookupTable.csv
|
|
||||||
* description: abstract text about link
|
|
||||||
* url: endpoint. If the URL is an OWS server, specify the *base* URL only without parameters like service=xxx.....
|
|
||||||
* format: format specification of online resource. Strongly suggested to use GDAL/OGR format values
|
|
||||||
* mimeType: MIME type representative of the online resource response (image/png, application/json, etc.)
|
|
||||||
* size: estimated size (in bytes) of the online resource response
|
|
||||||
</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
<xs:complexType name="linkType">
|
|
||||||
<xs:attributeGroup ref="rm:linkAttrs"/>
|
|
||||||
</xs:complexType>
|
|
||||||
<xs:attributeGroup name="linkAttrs">
|
|
||||||
<xs:attribute name="name" type="xs:string" use="required"/>
|
|
||||||
<xs:attribute name="type" type="xs:string" use="required"/>
|
|
||||||
<xs:attribute name="url" type="xs:anyURI" use="required"/>
|
|
||||||
<xs:attribute name="description" type="xs:string" use="optional"/>
|
|
||||||
<xs:attribute name="format" type="xs:string" use="optional"/>
|
|
||||||
<xs:attribute name="mimeType" type="xs:string" use="optional"/>
|
|
||||||
<xs:attribute name="size" type="xs:string" use="optional"/>
|
|
||||||
</xs:attributeGroup>
|
|
||||||
</xs:schema>
|
</xs:schema>
|
||||||
|
@ -41,7 +41,7 @@ class QDomDocument;
|
|||||||
* metadata formats to QgsAbstractMetadataBase may result in a loss of information.
|
* metadata formats to QgsAbstractMetadataBase may result in a loss of information.
|
||||||
*
|
*
|
||||||
* This class is designed to follow the specifications detailed in
|
* This class is designed to follow the specifications detailed in
|
||||||
* the schema definition available at resources/qgis-resource-metadata.xsd
|
* the schema definition available at resources/qgis-base-metadata.xsd
|
||||||
* within the QGIS source code.
|
* within the QGIS source code.
|
||||||
*
|
*
|
||||||
* Metadata can be validated through the use of QgsAbstractMetadataBaseValidator
|
* Metadata can be validated through the use of QgsAbstractMetadataBaseValidator
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
* metadata formats to QgsProjectMetadata may result in a loss of information.
|
* metadata formats to QgsProjectMetadata may result in a loss of information.
|
||||||
*
|
*
|
||||||
* This class is designed to follow the specifications detailed in
|
* This class is designed to follow the specifications detailed in
|
||||||
* the schema definition available at resources/qgis-resource-metadata.xsd
|
* the schema definition available at resources/qgis-project-metadata.xsd
|
||||||
* within the QGIS source code.
|
* within the QGIS source code.
|
||||||
*
|
*
|
||||||
* Metadata can be validated through the use of QgsLayerMetadataValidator
|
* Metadata can be validated through the use of QgsLayerMetadataValidator
|
||||||
|
Loading…
x
Reference in New Issue
Block a user