Update metadata xml definitions

This commit is contained in:
Nyall Dawson 2018-03-19 16:16:04 +10:00
parent d293c5d0a0
commit b10be8a8a3
9 changed files with 352 additions and 176 deletions

View File

@ -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

View File

@ -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

View 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>

View 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>

View 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>

View 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>

View File

@ -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>

View File

@ -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

View File

@ -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