Schema for an ISO2146 collections and services registry Service object.
Services really need some work in order to determine how we can represent them best for both human and machine-usable consumption. This really needs some real-world use cases.
Many of the ISO2146 Service object properties have been excluded from this schema. Use cases need to be developed to address this. The assumption at the moment is that Function, Product, Service Times, Access Policy, Policy Combining Algorithm, Service Description and Protocol Information if important would be included in a the 'description' element. I'm not sure the registry would carry out a lot of service execution or simply direct the user/automaton to the correct location.
Services can be supported at a higher level than a collection. For example in DSpace OAI-PMH is supported at a repository level however individual collections within the repository can be harvested. What needs to be exposed at a collection level? In the example a link to the default DC implementation is provided for a collection, however if a service user wanted to know about the data source and what metadata prefixes are supported it's the repository level response which provides this information.
The date this object’s metadata was last changed. This onlyrefers to the metadata of the registry object itself. For example if acollection has a new item added to it this does not constitute a modification tothe object. Where an object's metadata has not changed, this attribute should beset to the object's creation date.
A value taken from a controlled vocabulary indicating the type ofobject being described
Source
<xsd:element name="service"><xsd:annotation><xsd:documentation xml:lang="en">Wrapper element for descriptive and administrative metadata for a service registry object.</xsd:documentation></xsd:annotation><xsd:complexType><xsd:choice minOccurs="0" maxOccurs="unbounded"><xsd:element name="identifier" type="identifierType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Primary and alternative identifiers for a service. The value of the <key> element may be repeated, or any additional (local or global) identifiers described. Each identifier must be represented in its own identifier element.</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="name" type="nameType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">The name of the party in either a simple or compound form.</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="location" type="locationType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Location(s) relevant to the service. A location element should contain information about a single location (e.g. service point).</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="coverage" type="coverageType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Service coverage information.</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="relatedObject" type="relatedObjectType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Element for holding information about a related registry object.</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="subject" type="subjectType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">A subject category into which the service falls or the service is related. Multiple subjects must be represented via separate subject elements.</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="description" type="descriptionType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">A textual description or URI resolving to a description relevant to the service.</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="accessPolicy" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">A URI pointing to information describing the access policy of the service.</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="rights" type="rightsType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Rights(s) relevant to the collection.</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="existenceDates" type="existenceDateType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Element for holding a start date and end date.</xsd:documentation></xsd:annotation></xsd:element><xsd:element name="relatedInfo" type="relatedInfoType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">A URI pointing to information related to the service.</xsd:documentation></xsd:annotation></xsd:element></xsd:choice><xsd:attributeGroup ref="objectAttributes"/></xsd:complexType></xsd:element>
Primary and alternative identifiers for a service. The value of the <key> element may be repeated, or any additional (local or global) identifiers described. Each identifier must be represented in its own identifier element.
A value taken from a controlled vocabulary indicating thetype of identifier.
Source
<xsd:element name="identifier" type="identifierType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Primary and alternative identifiers for a service. The value of the <key> element may be repeated, or any additional (local or global) identifiers described. Each identifier must be represented in its own identifier element.</xsd:documentation></xsd:annotation></xsd:element>
The date from which the metadata being described was current.This is only applicable where versions of the same metadata is being provided(e.g. name changes). Should be UTC and of one of the forms described in section3.2.7 of the W3C's Schema Data Types document(http://www.w3.org/TR/xmlschema-2/).
The date the metadata being described was no longer current. Thisis only applicable where versions of the same metadata is being provided (e.g.name changes). Should be UTC and of one of the forms described in section 3.2.7of the W3C's Schema Data Types document(http://www.w3.org/TR/xmlschema-2/).
<div><h3>lang (as an attribute name)</h3><p>denotes an attribute whose value
is a language code for the natural language of the content of
any element; its value is inherited. This name is reserved
by virtue of its definition in the XML specification.</p></div><div><h4>Notes</h4><p>Attempting to install the relevant ISO 2- and 3-letter
codes as the enumerated possible values is probably never
going to be a realistic possibility.</p><p>See BCP 47 at<a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>and the IANA language subtag registry at<a href="http://www.iana.org/assignments/language-subtag-registry">http://www.iana.org/assignments/language-subtag-registry</a>for further information.</p><p>The union allows for the 'un-declaration' of xml:lang with
the empty string.</p></div>
Source
<xsd:element name="name" type="nameType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">The name of the party in either a simple or compound form.</xsd:documentation></xsd:annotation></xsd:element>
The date from which the metadata being described was current.This is only applicable where versions of the same metadata is being provided(e.g. name changes). Should be UTC and of one of the forms described in section3.2.7 of the W3C's Schema Data Types document(http://www.w3.org/TR/xmlschema-2/).
The date the metadata being described was no longer current. Thisis only applicable where versions of the same metadata is being provided (e.g.name changes). Should be UTC and of one of the forms described in section 3.2.7of the W3C's Schema Data Types document(http://www.w3.org/TR/xmlschema-2/).
<xsd:element name="location" type="locationType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Location(s) relevant to the service. A location element should contain information about a single location (e.g. service point).</xsd:documentation></xsd:annotation></xsd:element>
<xsd:element name="relatedObject" type="relatedObjectType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Element for holding information about a related registry object.</xsd:documentation></xsd:annotation></xsd:element>
<div><h3>lang (as an attribute name)</h3><p>denotes an attribute whose value
is a language code for the natural language of the content of
any element; its value is inherited. This name is reserved
by virtue of its definition in the XML specification.</p></div><div><h4>Notes</h4><p>Attempting to install the relevant ISO 2- and 3-letter
codes as the enumerated possible values is probably never
going to be a realistic possibility.</p><p>See BCP 47 at<a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>and the IANA language subtag registry at<a href="http://www.iana.org/assignments/language-subtag-registry">http://www.iana.org/assignments/language-subtag-registry</a>for further information.</p><p>The union allows for the 'un-declaration' of xml:lang with
the empty string.</p></div>
Source
<xsd:element name="subject" type="subjectType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">A subject category into which the service falls or the service is related. Multiple subjects must be represented via separate subject elements.</xsd:documentation></xsd:annotation></xsd:element>
<div><h3>lang (as an attribute name)</h3><p>denotes an attribute whose value
is a language code for the natural language of the content of
any element; its value is inherited. This name is reserved
by virtue of its definition in the XML specification.</p></div><div><h4>Notes</h4><p>Attempting to install the relevant ISO 2- and 3-letter
codes as the enumerated possible values is probably never
going to be a realistic possibility.</p><p>See BCP 47 at<a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a>and the IANA language subtag registry at<a href="http://www.iana.org/assignments/language-subtag-registry">http://www.iana.org/assignments/language-subtag-registry</a>for further information.</p><p>The union allows for the 'un-declaration' of xml:lang with
the empty string.</p></div>
Source
<xsd:element name="description" type="descriptionType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">A textual description or URI resolving to a description relevant to the service.</xsd:documentation></xsd:annotation></xsd:element>
A URI pointing to information describing the access policy of the service.
Diagram
Type
xsd:anyURI
Properties
content:
simple
minOccurs:
0
maxOccurs:
unbounded
Source
<xsd:element name="accessPolicy" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">A URI pointing to information describing the access policy of the service.</xsd:documentation></xsd:annotation></xsd:element>
<xsd:element name="rights" type="rightsType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Rights(s) relevant to the collection.</xsd:documentation></xsd:annotation></xsd:element>
<xsd:element name="existenceDates" type="existenceDateType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">Element for holding a start date and end date.</xsd:documentation></xsd:annotation></xsd:element>
A value taken from a controlled vocabulary indicating the type ofdescription.
Source
<xsd:element name="relatedInfo" type="relatedInfoType" minOccurs="0" maxOccurs="unbounded"><xsd:annotation><xsd:documentation xml:lang="en">A URI pointing to information related to the service.</xsd:documentation></xsd:annotation></xsd:element>