resources/kernel-4/metadata.xsd in bolognese-1.8.18 vs resources/kernel-4/metadata.xsd in bolognese-1.9

- old
+ new

@@ -9,22 +9,24 @@ 2014-08-20 v3.1: additions to controlled lists "relationType", contributorType" and "relatedIdentifierType"; introduction of new child element "affiliation" to "creator" and "contributor" 2016-09-19 v4.0: namespace: kernel-4.0; makes "resourceType" required field, added optional "givenName" and "familyName" to creator and contributor, added "funderReference", added "valueURI" for subject, added "geoLocationPolygon" 2017-10-23 v4.1: Addition of dateType value "Other", relationType values "Describes", "IsDescribedBy", "HasVersion", "IsVersionOf", "Requires", "IsRequiredBy", resourceType value "DataPaper", new subproperties "dateInformation", "inPolygonPoint", new attribute "nameType", optional attribute "resourceTypeGeneral" for relatedIdentifier 2018-09-08 v4.1.1 Make schema 4.1 backwards compatible to 4.0 by allowing geolocation elements in any order 2019-02-14 v4.2: Addition of dateType value "Withdrawn", relationType values "Obsoletes", "isObsoletedBy", addition of new subproperties for Rights: rightsIdentifier, rightsIdentifierScheme, schemeURI, addition of the XML language attribute to the properties Creator, Contributor and Publisher for organizational names, don't check format of DOI - 2019-07-13 v4.3: Addition of new subproperties for Affiliation: "affiliationIdentifier", "affiliationIdentifierScheme", "schemeURI", addition of new sub-property for funderIdentifier: "schemeURI", addition of new funderIdentifierScheme: "ROR", added documentation for nameIdentifier --> + 2019-07-13 v4.3: Addition of new subproperties for Affiliation: "affiliationIdentifier", "affiliationIdentifierScheme", "schemeURI", addition of new sub-property for funderIdentifier: "schemeURI", addition of new funderIdentifierScheme: "ROR", added documentation for nameIdentifier + 2021-03-08 v4.4: Addition of new property relatedItem, relationType value "isPublishedIn", subject subproperty "classificationCode", controlled list "numberType", additional 13 properties for controlled list "resourceType" --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified" xml:lang="EN"> - <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="include/xml.xsd"/> - <xs:include schemaLocation="include/datacite-titleType-v4.xsd"/> - <xs:include schemaLocation="include/datacite-contributorType-v4.xsd"/> - <xs:include schemaLocation="include/datacite-dateType-v4.xsd"/> - <xs:include schemaLocation="include/datacite-resourceType-v4.xsd"/> - <xs:include schemaLocation="include/datacite-relationType-v4.xsd"/> - <xs:include schemaLocation="include/datacite-relatedIdentifierType-v4.xsd"/> - <xs:include schemaLocation="include/datacite-funderIdentifierType-v4.xsd"/> - <xs:include schemaLocation="include/datacite-descriptionType-v4.xsd"/> - <xs:include schemaLocation="include/datacite-nameType-v4.xsd"/> + <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="include/xml.xsd" /> + <xs:include schemaLocation="include/datacite-titleType-v4.xsd" /> + <xs:include schemaLocation="include/datacite-contributorType-v4.xsd" /> + <xs:include schemaLocation="include/datacite-dateType-v4.xsd" /> + <xs:include schemaLocation="include/datacite-resourceType-v4.xsd" /> + <xs:include schemaLocation="include/datacite-relationType-v4.xsd" /> + <xs:include schemaLocation="include/datacite-relatedIdentifierType-v4.xsd" /> + <xs:include schemaLocation="include/datacite-funderIdentifierType-v4.xsd" /> + <xs:include schemaLocation="include/datacite-descriptionType-v4.xsd" /> + <xs:include schemaLocation="include/datacite-nameType-v4.xsd" /> + <xs:include schemaLocation="include/datacite-numberType-v4.xsd" /> <xs:element name="resource"> <xs:annotation> <xs:documentation> Root element of a single record. This wrapper element is for XML implementation only and is not defined in the DataCite DOI standard. Note: This is the case for all wrapper elements within this schema.</xs:documentation> @@ -38,11 +40,11 @@ <xs:documentation>A persistent identifier that identifies a resource.</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="nonemptycontentStringType"> - <xs:attribute name="identifierType" use="required"/> + <xs:attribute name="identifierType" use="required" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="creators"> @@ -58,20 +60,20 @@ <xs:sequence> <xs:element name="creatorName"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> - <xs:attribute name="nameType" type="nameType" use="optional"/> - <xs:attribute ref="xml:lang"/> + <xs:attribute name="nameType" type="nameType" use="optional" /> + <xs:attribute ref="xml:lang" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> - <xs:element name="givenName" minOccurs="0"/> - <xs:element name="familyName" minOccurs="0"/> - <xs:element name="nameIdentifier" xsi:type="nameIdentifier" minOccurs="0" maxOccurs="unbounded"/> - <xs:element name="affiliation" xsi:type="affiliation" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="givenName" minOccurs="0" /> + <xs:element name="familyName" minOccurs="0" /> + <xs:element name="nameIdentifier" xsi:type="nameIdentifier" minOccurs="0" maxOccurs="unbounded" /> + <xs:element name="affiliation" xsi:type="affiliation" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> @@ -84,12 +86,12 @@ <xs:documentation>A name or title by which a resource is known.</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> - <xs:attribute name="titleType" type="titleType" use="optional"/> - <xs:attribute ref="xml:lang"/> + <xs:attribute name="titleType" type="titleType" use="optional" /> + <xs:attribute ref="xml:lang" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> @@ -101,11 +103,11 @@ <xs:documentation>In the case of datasets, "publish" is understood to mean making the data available to the community of researchers.</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="nonemptycontentStringType"> - <xs:attribute ref="xml:lang"/> + <xs:attribute ref="xml:lang" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="publicationYear"> @@ -113,75 +115,76 @@ <xs:documentation>Year when the data is made publicly available. If an embargo period has been in effect, use the date when the embargo period ends.</xs:documentation> <xs:documentation>In the case of datasets, "publish" is understood to mean making the data available on a specific date to the community of researchers. If there is no standard publication year value, use the date that would be preferred from a citation perspective.</xs:documentation> <xs:documentation>YYYY</xs:documentation> </xs:annotation> <xs:simpleType> - <xs:restriction base="yearType"/> + <xs:restriction base="yearType" /> </xs:simpleType> </xs:element> <xs:element name="resourceType"> <xs:annotation> <xs:documentation>The type of a resource. You may enter an additional free text description.</xs:documentation> <xs:documentation>The format is open, but the preferred format is a single term of some detail so that a pair can be formed with the sub-property.</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> - <xs:attribute name="resourceTypeGeneral" type="resourceType" use="required"/> + <xs:attribute name="resourceTypeGeneral" type="resourceType" use="required" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <!--OPTIONAL FIELDS--> <xs:element name="subjects" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="subject" minOccurs="0" maxOccurs="unbounded"> - <xs:annotation> - <xs:documentation>Subject, keywords, classification codes, or key phrases describing the resource.</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="subjectScheme" use="optional"/> - <xs:attribute name="schemeURI" type="xs:anyURI" use="optional"/> - <xs:attribute name="valueURI" type="xs:anyURI" use="optional"/> - <xs:attribute ref="xml:lang"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> + <xs:annotation> + <xs:documentation>Subject, keywords, classification codes, or key phrases describing the resource.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="subjectScheme" use="optional" /> + <xs:attribute name="schemeURI" type="xs:anyURI" use="optional" /> + <xs:attribute name="valueURI" type="xs:anyURI" use="optional" /> + <xs:attribute name="classificationCode" type="xs:anyURI" use="optional" /> + <xs:attribute ref="xml:lang" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="contributors" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="contributor" minOccurs="0" maxOccurs="unbounded"> - <xs:annotation> - <xs:documentation>The institution or person responsible for collecting, creating, or otherwise contributing to the developement of the dataset.</xs:documentation> - <xs:documentation>The personal name format should be: Family, Given.</xs:documentation> - </xs:annotation> - <xs:complexType> - <xs:sequence> - <xs:element name="contributorName"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="nonemptycontentStringType"> - <xs:attribute name="nameType" type="nameType" use="optional"/> - <xs:attribute ref="xml:lang"/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - <xs:element name="givenName" minOccurs="0"/> - <xs:element name="familyName" minOccurs="0"/> - <xs:element name="nameIdentifier" xsi:type="nameIdentifier" minOccurs="0" maxOccurs="unbounded"/> - <xs:element name="affiliation" xsi:type="affiliation" minOccurs="0" maxOccurs="unbounded"/> - </xs:sequence> - <xs:attribute name="contributorType" type="contributorType" use="required"/> - </xs:complexType> + <xs:annotation> + <xs:documentation>The institution or person responsible for collecting, creating, or otherwise contributing to the developement of the dataset.</xs:documentation> + <xs:documentation>The personal name format should be: Family, Given.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="contributorName"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="nonemptycontentStringType"> + <xs:attribute name="nameType" type="nameType" use="optional" /> + <xs:attribute ref="xml:lang" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="givenName" minOccurs="0" /> + <xs:element name="familyName" minOccurs="0" /> + <xs:element name="nameIdentifier" xsi:type="nameIdentifier" minOccurs="0" maxOccurs="unbounded" /> + <xs:element name="affiliation" xsi:type="affiliation" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + <xs:attribute name="contributorType" type="contributorType" use="required" /> + </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="dates" minOccurs="0"> @@ -193,12 +196,12 @@ <xs:documentation>YYYY,YYYY-MM-DD, YYYY-MM-DDThh:mm:ssTZD or any other format or level of granularity described in W3CDTF. Use RKMS-ISO8601 standard for depicting date ranges.</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> - <xs:attribute name="dateType" type="dateType" use="required"/> - <xs:attribute name="dateInformation" use="optional"/> + <xs:attribute name="dateType" type="dateType" use="required" /> + <xs:attribute name="dateInformation" use="optional" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> @@ -217,11 +220,11 @@ <xs:documentation>An identifier or identifiers other than the primary Identifier applied to the resource being registered. This may be any alphanumeric string which is unique within its domain of issue. May be used for local identifiers. AlternateIdentifier should be used for another identifier of the same instance (same location, same file).</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> - <xs:attribute name="alternateIdentifierType" use="required"/> + <xs:attribute name="alternateIdentifierType" use="required" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> @@ -235,16 +238,16 @@ <xs:documentation>Identifiers of related resources. Use this property to indicate subsets of properties, as appropriate.</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> - <xs:attribute name="resourceTypeGeneral" type="resourceType" use="optional"/> - <xs:attribute name="relatedIdentifierType" type="relatedIdentifierType" use="required"/> - <xs:attribute name="relationType" type="relationType" use="required"/> - <xs:attribute name="relatedMetadataScheme" use="optional"/> - <xs:attribute name="schemeURI" type="xs:anyURI" use="optional"/> - <xs:attribute name="schemeType" use="optional"/> + <xs:attribute name="resourceTypeGeneral" type="resourceType" use="optional" /> + <xs:attribute name="relatedIdentifierType" type="relatedIdentifierType" use="required" /> + <xs:attribute name="relationType" type="relationType" use="required" /> + <xs:attribute name="relatedMetadataScheme" use="optional" /> + <xs:attribute name="schemeURI" type="xs:anyURI" use="optional" /> + <xs:attribute name="schemeType" use="optional" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> @@ -288,15 +291,15 @@ Use the complete title of a license and include version information if applicable.</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> - <xs:attribute name="rightsURI" type="xs:anyURI" use="optional"/> - <xs:attribute name="rightsIdentifier" use="optional"/> - <xs:attribute name="rightsIdentifierScheme" use="optional"/> - <xs:attribute name="schemeURI" type="xs:anyURI" use="optional"/> - <xs:attribute ref="xml:lang"/> + <xs:attribute name="rightsURI" type="xs:anyURI" use="optional" /> + <xs:attribute name="rightsIdentifier" use="optional" /> + <xs:attribute name="rightsIdentifierScheme" use="optional" /> + <xs:attribute name="schemeURI" type="xs:anyURI" use="optional" /> + <xs:attribute ref="xml:lang" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> @@ -310,15 +313,15 @@ <xs:documentation>All additional information that does not fit in any of the other categories. May be used for technical information. It is a best practice to supply a description.</xs:documentation> </xs:annotation> <xs:complexType mixed="true"> <xs:choice> <xs:element name="br" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType/> + <xs:complexType /> </xs:element> </xs:choice> - <xs:attribute name="descriptionType" type="descriptionType" use="required"/> - <xs:attribute ref="xml:lang"/> + <xs:attribute name="descriptionType" type="descriptionType" use="required" /> + <xs:attribute ref="xml:lang" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> @@ -347,12 +350,12 @@ <xs:annotation> <xs:documentation>A drawn polygon area, defined by a set of points and lines connecting the points in a closed chain.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> - <xs:element name="polygonPoint" type="point" minOccurs="4" maxOccurs="unbounded"/> - <xs:element name="inPolygonPoint" type="point" minOccurs="0" maxOccurs="1"/> + <xs:element name="polygonPoint" type="point" minOccurs="4" maxOccurs="unbounded" /> + <xs:element name="inPolygonPoint" type="point" minOccurs="0" maxOccurs="1" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> @@ -372,22 +375,22 @@ <xs:element name="funderName" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Name of the funding provider.</xs:documentation> </xs:annotation> <xs:simpleType> - <xs:restriction base="nonemptycontentStringType"/> + <xs:restriction base="nonemptycontentStringType" /> </xs:simpleType> </xs:element> <xs:element name="funderIdentifier" minOccurs="0"> <xs:annotation> <xs:documentation>Uniquely identifies a funding entity, according to various types.</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> - <xs:attribute name="funderIdentifierType" type="funderIdentifierType" use="required"/> - <xs:attribute name="schemeURI" type="xs:anyURI" use="optional"/> + <xs:attribute name="funderIdentifierType" type="funderIdentifierType" use="required" /> + <xs:attribute name="schemeURI" type="xs:anyURI" use="optional" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="awardNumber" minOccurs="0"> @@ -395,11 +398,11 @@ <xs:documentation>The code assigned by the funder to a sponsored award (grant).</xs:documentation> </xs:annotation> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> - <xs:attribute name="awardURI" type="xs:anyURI" use="optional"/> + <xs:attribute name="awardURI" type="xs:anyURI" use="optional" /> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="awardTitle" minOccurs="0"> @@ -411,105 +414,294 @@ </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> + <xs:element name="relatedItems" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="relatedItem" minOccurs="0" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>Information about a resource related to the one being registered e.g. a journal or book of which the article or chapter is part.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="relatedItemIdentifier" minOccurs="0"> + <xs:annotation> + <xs:documentation>The identifier for the related item.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="relatedItemIdentifierType" type="relatedIdentifierType" use="optional"> + <xs:annotation> + <xs:documentation>The type of the Identifier for the related item e.g. DOI.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="relatedMetadataScheme" use="optional"> + <xs:annotation> + <xs:documentation>The name of the scheme.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="schemeURI" type="xs:anyURI" use="optional"> + <xs:annotation> + <xs:documentation>The URI of the relatedMetadataScheme.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="schemeType" use="optional"> + <xs:annotation> + <xs:documentation>The type of the relatedMetadataScheme, linked with the schemeURI.</xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="creators" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="creator" minOccurs="0" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>The institution or person responsible for creating the + related resource. To supply multiple creators, repeat this property. + </xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="creatorName"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="nameType" type="nameType" use="optional" /> + <xs:attribute ref="xml:lang" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="givenName" minOccurs="0" /> + <xs:element name="familyName" minOccurs="0" /> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="titles" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="title" minOccurs="0" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>Title of the related item.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="titleType" type="titleType" use="optional" /> + <xs:attribute ref="xml:lang" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="publicationYear" minOccurs="0"> + <xs:annotation> + <xs:documentation>The year when the item was or will be made publicly available.</xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="yearType" /> + </xs:simpleType> + </xs:element> + <xs:element name="volume" minOccurs="0"> + <xs:annotation> + <xs:documentation>Volume of the related item.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="issue" minOccurs="0"> + <xs:annotation> + <xs:documentation>Issue number or name of the related item.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="number" minOccurs="0"> + <xs:annotation> + <xs:documentation>Issue number or name of the related item.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="numberType" type="numberType" use="optional" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="firstPage" minOccurs="0"> + <xs:annotation> + <xs:documentation>First page of the related item e.g. of the chapter, article, or conference paper.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="lastPage" minOccurs="0"> + <xs:annotation> + <xs:documentation>Last page of the related item e.g. of the chapter, article, or conference paper.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="publisher" minOccurs="0"> + <xs:annotation> + <xs:documentation>The name of the entity that holds, archives, publishes prints, distributes, releases, issues, or produces the resource. This property will be used to formulate the citation, so consider the prominence of the role.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="edition" minOccurs="0"> + <xs:annotation> + <xs:documentation>Edition or version of the related item.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="contributors" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="contributor" minOccurs="0" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>The institution or person responsible for collecting, + managing, distributing, or otherwise contributing to the development of + the resource.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="contributorName"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="nameType" type="nameType" use="optional" /> + <xs:attribute ref="xml:lang" /> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="givenName" minOccurs="0" /> + <xs:element name="familyName" minOccurs="0" /> + </xs:sequence> + <xs:attribute name="contributorType" type="contributorType" use="required"> + <xs:annotation> + <xs:documentation>The type of contributor of the resource.</xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="relatedItemType" type="resourceType" use="required"> + <xs:annotation> + <xs:documentation>The type of the related item, e.g. journal article, book or chapter.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="relationType" type="relationType" use="required"> + <xs:annotation> + <xs:documentation>Description of the relationship of the resource being registered (A) and the related resource (B).</xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> </xs:all> </xs:complexType> </xs:element> + <!-- TYPE DECLARATIONS --> <!-- defines value for mandatory fields --> <xs:simpleType name="nonemptycontentStringType"> <xs:restriction base="xs:string"> - <xs:minLength value="1"/> + <xs:minLength value="1" /> </xs:restriction> </xs:simpleType> <!-- definition for nameIdentifier --> <xs:complexType name="nameIdentifier"> <xs:annotation> <xs:documentation>Uniquely identifies a creator or contributor, according to various identifier schemes.</xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="nonemptycontentStringType"> - <xs:attribute name="nameIdentifierScheme" type="xs:string" use="required"/> - <xs:attribute name="schemeURI" type="xs:anyURI" use="optional"/> + <xs:attribute name="nameIdentifierScheme" type="xs:string" use="required" /> + <xs:attribute name="schemeURI" type="xs:anyURI" use="optional" /> </xs:extension> </xs:simpleContent> </xs:complexType> <!-- definition for EDTF dates, modified from PREMIS 2.0 --> <xs:simpleType name="edtf"> <xs:restriction base="xs:string"> <!-- pattern for iso8601 dateTime --> - <xs:pattern value="(-)?[0-9]{4}(-[0-9]{2})?(-[0-9]{2})?(T([0-9]{2}:){2}[0-9]{2}Z)?"/> - + <xs:pattern value="(-)?[0-9]{4}(-[0-9]{2})?(-[0-9]{2})?(T([0-9]{2}:){2}[0-9]{2}Z)?" /> + <!-- The following pattern is for year (yyyy) or year-month (yyyy-mm) The last or last two digits of year may be '?' meaning "one year in that range but not sure which year", for example 19?? means some year from 1990 to 1999. Similarly month may be '??' so that 2004-?? "means some month in 2004". And the entire string may end with '?' or '~' for "uncertain" or "approximate". Hyphen must separate year and month. --> - <xs:pattern value="\d{2}(\d{2}|\?\?|\d(\d|\?))(-(\d{2}|\?\?))?~?\??"/> + <xs:pattern value="\d{2}(\d{2}|\?\?|\d(\d|\?))(-(\d{2}|\?\?))?~?\??" /> <!-- The following pattern is for yearMonthDay - yyyymmdd, where 'dd' may be '??' so '200412??' means "some day during the month of 12/2004". The whole string may be followed by '?' or '~' to mean "questionable" or "approximate". Hypens are not allowed for this pattern. --> - <xs:pattern value="\d{6}(\d{2}|\?\?)~?\??"/> + <xs:pattern value="\d{6}(\d{2}|\?\?)~?\??" /> <!-- The following pattern is for date and time with T separator:'yyyymmddThhmmss'. Hypens in date and colons in time not allowed for this pattern. --> - <xs:pattern value="\d{8}T\d{6}"/> + <xs:pattern value="\d{8}T\d{6}" /> <!-- The following pattern is for a date range. in years: 'yyyy/yyyy'; or year/month: yyyy-mm/yyyy-mm, or year/month/day: yyyy-mm-dd/yyyy-mm-dd. Beginning or end of range value may be 'unknown'. End of range value may be 'open'. Hypens mandatory when month is present. --> - <xs:pattern value="((-)?(\d{4}(-\d{2})?(-\d{2})?)|unknown)/((-)?(\d{4}(-\d{2})?(-\d{2})?)|unknown|open)"/> + <xs:pattern value="((-)?(\d{4}(-\d{2})?(-\d{2})?)|unknown)/((-)?(\d{4}(-\d{2})?(-\d{2})?)|unknown|open)" /> </xs:restriction> </xs:simpleType> <!-- definition for affiliation --> <xs:complexType name="affiliation"> <xs:annotation> <xs:documentation>Uniquely identifies an affiliation, according to various identifier schemes.</xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="nonemptycontentStringType"> - <xs:attribute name="affiliationIdentifier" type="xs:string" use="optional"/> - <xs:attribute name="affiliationIdentifierScheme" type="xs:string" use="optional"/> - <xs:attribute name="schemeURI" type="xs:anyURI" use="optional"/> + <xs:attribute name="affiliationIdentifier" type="xs:string" use="optional" /> + <xs:attribute name="affiliationIdentifierScheme" type="xs:string" use="optional" /> + <xs:attribute name="schemeURI" type="xs:anyURI" use="optional" /> </xs:extension> </xs:simpleContent> </xs:complexType> <!-- defines the value for a year --> <xs:simpleType name="yearType"> <xs:restriction base="xs:token"> - <xs:pattern value="[\d]{4}"/> + <xs:pattern value="[\d]{4}" /> </xs:restriction> </xs:simpleType> <!-- definitions for geoLocation --> <xs:complexType name="point"> <xs:all> - <xs:element name="pointLongitude" type="longitudeType" minOccurs="1"/> - <xs:element name="pointLatitude" type="latitudeType" minOccurs="1"/> + <xs:element name="pointLongitude" type="longitudeType" minOccurs="1" /> + <xs:element name="pointLatitude" type="latitudeType" minOccurs="1" /> </xs:all> </xs:complexType> <xs:complexType name="box"> <xs:all> - <xs:element name="westBoundLongitude" type="longitudeType" minOccurs="1"/> - <xs:element name="eastBoundLongitude" type="longitudeType" minOccurs="1"/> - <xs:element name="southBoundLatitude" type="latitudeType" minOccurs="1"/> - <xs:element name="northBoundLatitude" type="latitudeType" minOccurs="1"/> + <xs:element name="westBoundLongitude" type="longitudeType" minOccurs="1" /> + <xs:element name="eastBoundLongitude" type="longitudeType" minOccurs="1" /> + <xs:element name="southBoundLatitude" type="latitudeType" minOccurs="1" /> + <xs:element name="northBoundLatitude" type="latitudeType" minOccurs="1" /> </xs:all> </xs:complexType> <xs:simpleType name="longitudeType"> <xs:restriction base="xs:float"> - <xs:minInclusive value="-180"/> - <xs:maxInclusive value="180"/> + <xs:minInclusive value="-180" /> + <xs:maxInclusive value="180" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="latitudeType"> <xs:restriction base="xs:float"> - <xs:minInclusive value="-90"/> - <xs:maxInclusive value="90"/> + <xs:minInclusive value="-90" /> + <xs:maxInclusive value="90" /> </xs:restriction> </xs:simpleType> </xs:schema>