Creator: |
Dave Beckett Institute for Learning and Research Technology (ILRT) University of Bristol |
---|---|
Creator: |
Eric Miller W3C |
Creator: |
Dan Brickley W3C/ILRT |
Date Issued: | 2002-07-31 |
Identifier: | http://dublincore.org/specifications/dublin-core/dcmes-xml/2002-07-31/ |
Replaces: | http://dublincore.org/specifications/dublin-core/dcmes-xml/2001-11-28/ |
Is Replaced By: | http://dublincore.org/specifications/dublin-core/dc-rdf/2008-01-14/ |
Latest version: | http://dublincore.org/specifications/dublin-core/dcmes-xml/ |
Status of document: | This is a DCMI Superseded Recommendation. |
Description of document: | The Dublin Core™ Metadata Element Set V1.1 (DCMES) can be represented in many syntax formats. This document explains how to encode the DCMES in RDF/XML, provides a DTD to validate the documents and describes a method to link them from web pages. |
<?xml version="1.0"?>on the first line. ### 2.2. Referencing the XML DTD
<!DOCTYPE rdf:RDF PUBLIC "-//DUBLIN CORE//DCMES DTD 2002/07/31//EN" "http://dublincore.org/specifications/dublin-core/dcmes-xml/2002-07-31/dcmes-xml-dtd.dtd">### 2.3. Declaring the use of RDF It is necessary to declare that RDF[RDFMS] is being used so that applications can recognise this is an RDF/XML document. This declares the outer rdf:RDF containing tag with its XML namespace and the XML namespace for the DCMES elements.
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/">as the next line in the document, following the XML DTD reference. ### 2.4. Describing the resources This encoding can describe multiple resources in a single document. Each resource described is enclosed in a container element, a pair of rdf:Description tags. Resources may have no, one or several identifiers and some of these may be URIs. If a resource has at least one URI, the most appropriate one should be used as the value of the rdf:about attribute of the rdf:Description tag like this:
<rdf:Description rdf:about="http://example.org/"> ... </rdf:Description>(see below for what to do about other _Identifier_ elements) Inside the rdf:Description container, put each of the Dublin Core™ elements with the dc: namespace prefix before it, so for example the _Title_ element becomes dc:title all in lowercase and used inside the rdf:Description container like this:
<rdf:Description rdf:about="http://example.org/"> <dc:title>My Home Page</dc:title> </rdf:Description>This can be repeated for all other DCMES elements that are needed with the standard Dublin Core™ guidelines - all elements are repeatable and optional. Note that there is no requirement on applications consuming this document to preserve the order of elements in the container and therefore you should not expect this to be preserved. If the value of the Dublin Core™ element is a resource which has a URI rather than plain text, it should be recorded in the value of the rdf:resource attribute on the tag, with empty tag content. For example, if the value of the _source_ was a URI, it would be recorded like this:
<rdf:Description rdf:about="http://example.org/"> <dc:source rdf:resource="http://example.org/elsewhere/"/> </rdf:Description>There may be more than one _Identifier_ element for the resource containing URIs or other identifiers. If a URI identifier is available and appropriate to use, it should be made the value of the rdf:about attribute of the rdf:Description element as described above. The other _Identifier_ element values should be encoded in the same manner as the other elements as described below. Here is a fragment of a description of a book which has a non-URI identifier:
<rdf:Description> <dc:title>Internet Ethics</dc:title> <dc:creator>Duncan Langford</dc:creator> <dc:format>Book</dc:format> <dc:identifier>ISBN 0333776267</dc:identifier> </rdf:Description>It may be that there is no identifier for the resource, in which case neither of the above methods should be used and both the rdf:about attribute and _Identifier_ element left out. This is used something like this:
<rdf:Description> <dc:title>The Mona Lisa</dc:title> <dc:description>A painting by ...</dc:description> </rdf:Description>### 2.5. Language and character encoding XML provides an xml:lang attribute that can be used on any element. This provides a way to describe the language used for the _content_ of the element. The DCMES provides a _Language_ element which is used to describe the language of the _resource_. The values of the elements and attributes will need to be encoded using the rules of XML when there are special characters in the value. The special characters that need to be encoded, and when they need to be are summarised here for reference:
Plain text | XML Encoding | Required in |
---|---|---|
& | & | Element and attribute values |
< | < | Element and attribute values |
> | > | Element and attribute values |
' (apostrophe / single quote) | ' | Attribute values |
" (double quote) | " | Attribute values |
Note that the ' and " only need to be used for those characters inside attribute values, which are only needed for the rdf:resource attribute (see Section 2.4) and the xml:lang attribute (see Section 2.5).
All other characters outside the core US-ASCII range of 32-126 should not be encoded with the HTML entities such as é since these are not defined in XML. Numeric entities for the characters should be used which are written as ddd; in decimal or ઼ in hexadecimal. Alternatively they can be encoded as Unicode in one of the formats such as UTF-8 which is widely supported.
The final thing that needs to be done is to close the rdf:RDF element opened at the top of the document by adding the following line:
</rdf:RDF>## 3. Examples (For Information Only) **Example 1**
<?xml version="1.0"?> <!DOCTYPE rdf:RDF PUBLIC "-//DUBLIN CORE//DCMES DTD 2002 01 24//EN" "http://dublincore.org/specifications/dublin-core/dcmes-xml/2002-01-24/dcmes-xml-dtd.dtd"> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://www.ilrt.bristol.ac.uk/people/cmdjb/"> <dc:title>Dave Beckett's Home Page</dc:title> <dc:creator>Dave Beckett</dc:creator> <dc:publisher>ILRT, University of Bristol</dc:publisher> <dc:date>2000-06-06</dc:date> </rdf:Description> </rdf:RDF>**Example 2**
<?xml version="1.0"?> <!DOCTYPE rdf:RDF SYSTEM "http://dublincore.org/2000/12/01-dcmes-xml-dtd.dtd"> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc ="http://purl.org/dc/elements/1.1/"> <rdf:Description rdf:about="http://dublincore.org/"> <dc:title>Dublin Core™ Metadata Initiative - Home Page</dc:title> <dc:description>The Dublin Core™ Metadata Initiative Web site.</dc:description> <dc:date>1998-10-10</dc:date> <dc:format>text/html</dc:format> <dc:language>en</dc:language> <dc:contributor>The Dublin Core™ Metadata Initiative</dc:contributor> <!-- My guess at the French for the above Dave --> <dc:contributor xml:lang="fr">L'Initiative de métadonnées du Dublin Core</dc:contributor> <dc:contributor xml:lang="de">der Dublin-Core Metadata-Diskussionen</dc:contributor> </rdf:Description> </rdf:RDF>## 4. Linking to Dublin Core™ metadata in XML from HTML Dublin Core™ encoded in the method described here can be referred to from an HTML document and associated with it by means of the HTML <link> element. The recommended relation type for this purpose is rel="meta", used like this:
<link rel="meta" href="mydoc.dcxml" />
where mydoc.dcxml is the URI of the XML document being refered to. This is described in Encoding Dublin Core™ Metadata in HTML [DC-HTML].
This section is for information only and not part of the standard.
The URI for this DTD is http://dublincore.org/specifications/dublin-core/dcmes-xml/2002-07-31/dcmes-xml-dtd.dtd
<!--XML DTD 2000-12-01 for Dublin Core™ Metadata Element Set version 1.1 http://dublincore.org/specifications/dublin-core/2000/11/dcmes-xml/dcmes-xml-dtd.dtd
See An XML Encoding of Simple Dublin Core™ Metadata - 2000-12-01 http://dublincore.org/specifications/dublin-core/2000/11/dcmes-xml/
Authors: Dave Beckett <[email protected]> Eric Miller <[email protected]> Dan Brickley <[email protected]>
Based on Dublin Core™ Metadata Element Set, Version 1.1: Reference Description http://dublincore.org/specifications/dublin-core/rec/dces-19990702.shtml
-->
<!-- The namespaces for RDF and DCMES 1.1 respectively --> <!ENTITY rdfns 'http://www.w3.org/1999/02/22-rdf-syntax-ns#' > <!ENTITY dcns 'http://purl.org/dc/elements/1.1/' >
<!-- Declare convenience entities for XML namespace declarations --> <!ENTITY % rdfnsdecl 'xmlns:rdf CDATA # fixed "&rdfns;"' > <!ENTITY % dcnsdecl 'xmlns:dc CDATA # fixed "&dcns;"' >
<!-- The wrapper element --> <!ELEMENT rdf:RDF (rdf:Description)* >
<!ATTLIST rdf:RDF %rdfnsdecl; %dcnsdecl; >
<!ENTITY % dcmes "dc:title | dc:creator | dc:subject | dc:description | dc:publisher | dc:contributor | dc:date | dc:type | dc:format | dc:identifier | dc:source | dc:language | dc:relation | dc:coverage | dc:rights" >
<!-- The resource description container element --> <!ELEMENT rdf:Description (%dcmes;)* >
<!ATTLIST rdf:Description rdf:about CDATA #IMPLIED>
<!-- The elements from DCMES 1.1 -->
<!-- The name given to the resource. --> <!ELEMENT dc:title (#PCDATA)> <!ATTLIST dc:title xml:lang CDATA #IMPLIED>
<!-- An entity primarily responsible for making the content of the resource. --> <!ELEMENT dc:creator (#PCDATA)> <!ATTLIST dc:creator xml:lang CDATA #IMPLIED>
<!-- The topic of the content of the resource. --> <!ELEMENT dc:subject (#PCDATA)> <!ATTLIST dc:subject xml:lang CDATA #IMPLIED>
<!-- An account of the content of the resource. --> <!ELEMENT dc:description (#PCDATA)> <!ATTLIST dc:description xml:lang CDATA #IMPLIED>
<!-- The entity responsible for making the resource available. --> <!ELEMENT dc:publisher (#PCDATA)> <!ATTLIST dc:publisher xml:lang CDATA #IMPLIED>
<!-- An entity responsible for making contributions to the content of the resource. --> <!ELEMENT dc:contributor (#PCDATA)> <!ATTLIST dc:contributor xml:lang CDATA #IMPLIED>
<!-- A date associated with an event in the life cycle of the resource. --> <!ELEMENT dc:date (#PCDATA)> <!ATTLIST dc:date xml:lang CDATA #IMPLIED>
<!-- The nature or genre of the content of the resource. --> <!ELEMENT dc:type (#PCDATA)> <!ATTLIST dc:type xml:lang CDATA #IMPLIED>
<!-- The physical or digital manifestation of the resource. --> <!ELEMENT dc:format (#PCDATA)> <!ATTLIST dc:format xml:lang CDATA #IMPLIED>
<!-- An unambiguous reference to the resource within a given context. --> <!ELEMENT dc:identifier (#PCDATA)> <!ATTLIST dc:identifier xml:lang CDATA #IMPLIED> <!ATTLIST dc:identifier rdf:resource CDATA #IMPLIED>
<!-- A Reference to a resource from which the present resource is derived. --> <!ELEMENT dc:source (#PCDATA)> <!ATTLIST dc:source xml:lang CDATA #IMPLIED> <!ATTLIST dc:source rdf:resource CDATA #IMPLIED>
<!-- A language of the intellectual content of the resource. --> <!ELEMENT dc:language (#PCDATA)> <!ATTLIST dc:language xml:lang CDATA #IMPLIED>
<!-- A reference to a related resource. --> <!ELEMENT dc:relation (#PCDATA)> <!ATTLIST dc:relation xml:lang CDATA #IMPLIED> <!ATTLIST dc:relation rdf:resource CDATA #IMPLIED>
<!-- The extent or scope of the content of the resource. --> <!ELEMENT dc:coverage (#PCDATA)> <!ATTLIST dc:coverage xml:lang CDATA #IMPLIED>
<!-- Information about rights held in and over the resource. --> <!ELEMENT dc:rights (#PCDATA)> <!ATTLIST dc:rights xml:lang CDATA #IMPLIED>
This section is for information only and not part of the standard.
There are three XML namespaces involved here and correspondingly there are three W3C XML Schema documents:
To use a simple DC in RDF/XML instance with W3C XML Schemas it needs to be used with the main W3C XML Schema which has URI http://dublincore.org/specifications/dublin-core/dcmes-xml/2002-07-31/dcmes-xml-xsd.xsd
Thanks to Henry S. Thompson of University of Edinburgh for creating the original versions of these schemas.
[DCMES]
Dublin Core™ Metadata Element Set, Version 1.1: Reference Description
http://dublincore.org/specifications/dublin-core/dces/1999-07-02/
[XML-SPEC]
Extensible Markup Language (XML) 1.0, W3C Recommendation, 10 February 1998
http://www.w3.org/TR/REC-xml
[EM-DTD]
DTD's for the Dublin Core™ Element Set, Eric Miller
http://dublincore.org/specifications/dublin-core/dcmes-xml/2002-07-31/dcmes-xml-dtd.dtd
[DCQ-RDF-XML]
Expressing Qualified Dublin Core™ in RDF / XML : Stefan Kokkelink and Roland Schwänzl, DCMI Proposed Recommendation
http://dublincore.org/specifications/dublin-core/dcq-rdf-xml/2002-04-14/ ( latest version)
[DC-HTML]
Encoding Dublin Core™ Metadata in HTML: John Kunze, DCMI, December 1999, RFC 2731
http://www.ietf.org/rfc/rfc2731.txt.
[CIMI-XML-TB]
The use of XML as a transfer syntax for museum records during the CIMI Dublin Core™ test bed: some practical experiences, Bert Degenhart Drenth
MS Word (no non-proprietary format available): http://www.cimi.org/wg/xml_spectrum/XML_for_DC_testbed_rev.doc
[CIMI-DC-DTD]
CIMI Dublin Core™ DTD
MS Word (no non-proprietary format available): http://www.cimi.org/public_docs/CIMI-DC-DTD_210400.doc
[RDFMS]
Resource Description Framework (RDF) Model and Syntax Specification, W3C Recommendation, 22 February 1999
http://www.w3.org/TR/REC-rdf-syntax
[XMLSCHEMA]
XML Schema, W3C Recommendation, 2 May 2001
http://www.w3.org/TR/xmlschema-1/