2012-01-05. Frozen archive - links may not resolve - see directory of files at MoinMoin wiki archive

> DCXMLRevision/DCXMLMGuidelines/2007-06-19

Expressing Dublin Core metadata using XML (DC-XML-Min)

This document is part of the [Self]DC Architecture Wiki.

IMPORTANT: Do not cite materials in this Wiki other than for the purposes of collaborating on document creation. This Wiki is intended to be used to work on draft copies of documents. Finished documents will be published, in a persistent and citable form, on the dublincore.org Web site (or elsewhere in some cases).

Title: Expressing Dublin Core metadata using XML (DC-XML-Min)
Creator: Pete Johnston, Eduserv Foundation <pete.johnston@eduserv.org.uk>
Creator: Andy Powell, Eduserv Foundation <andy.powell@eduserv.org.uk>
Date Issued: 2007-06-19
Identifier: http://dublincore.org/architecturewiki/DCXMLRevision/DCXMLMGuidelines/2007-06-19
Replaces: http://dublincore.org/architecturewiki/DCXMLRevision/DCXMLMGuidelines/2006-09-18
Is Replaced By: Not applicable
Latest Version: http://dublincore.org/architecturewiki/DCXMLRevision/DCXMLMGuidelines
Description of Document: This document specifies an XML format for representing a Dublin Core metadata description set. It supports all the features of the description set described by the DCMI Abstract Model. The XML format is known as "DC-XML-Min".

  1. Expressing Dublin Core metadata using XML (DC-XML-Min)
    1. Contents
    2. 1. Introduction
      1. 1.1 Design Considerations
    3. 2. The DCMI Abstract Model and DC-XML-Min
    4. 3. Features of the DC-XML-Full Syntax
      1. 3.1 URIs in DC-XML-Min
        1. 3.1.1 URI references
        2. 3.1.2 URIs and XML QNames
    5. 4. The DC-XML-Min Syntax
      1. 4.1 Encoding a Description Set: The Description Set Element
      2. 4.2 Encoding a Description: The Description Element
        1. 4.2.1 The Described Resource URI
      3. 4.4 Encoding a Statement: The Statement Element
        1. 4.3.1 The Property URI
      4. 4.4 Encoding a Value Surrogate
        1. 4.4.1 Encoding a Literal Value Surrogate
          1. 4.4.1.1 The Literal Surrogate Value String
        2. 4.4.2 Encoding a Non-Literal Value Surrogate
          1. 4.4.2.1 The Value URI
          2. 4.4.2.2 The Vocabulary Encoding Scheme URI Attribute
          3. 4.4.2.3 The Non-Literal Surrogate Value String
      5. 4.5 Encoding a Value String
        1. 4.5.1 Encoding a Plain Value String
          1. 4.5.1.1 The Value String Language
        2. 4.5.2 Encoding a Typed Value String
          1. 4.5.2.1 The Syntax Encoding Scheme URI
          2. 4.5.2.2 XML data as a Typed Value String
      6. 4.6 Encoding Descriptions of Values
    6. Appendix A. DC-TEXT Representation of Examples
      1. A.1 Example 1
      2. A.2 Example 2
      3. A.3 Example 3
      4. A.4 Example 4
      5. A.5 Example 5
      6. A.6 Example 6
      7. A.7 Example 7
      8. A.8 Example 8
      9. A.9 Example 9
      10. A.10 Example 10
      11. A.11 Example 11
      12. A.12 Example 12
      13. A.13 Example 13
      14. A.14 Example 14
      15. A.15 Example 15
      16. A.16 Example 16
      17. A.17 Example 17
      18. A.18 Example 18
      19. A.19 Example 19
      20. A.20 Example 20
    7. Notes
    8. References
    9. Changes in this version

Contents

  1. Introduction

  2. The DCMI Abstract Model and DC-XML-Min

  3. Some Features of the DC-XML-Min Syntax

  4. The DC-XML-Min Syntax

    1. Encoding a Description Set: The Description Set Element

    2. Encoding Descriptions: Description Elements

    3. Encoding Statements: Statement Elements

    4. Encoding Value Surrogates

      1. Encoding Literal Value Surrogates

      2. Encoding Non-Literal Value Surrogates

    5. Encoding Value Strings

    6. Encoding Descriptions of Values

  5. Appendix A: Text Representation of Examples

  6. Notes

  7. References

1. Introduction

This document specifies an XML format for representing a DC metadata description set. The XML format is known as "DC-XML-Min".

The DCMI Abstract Model [DCAM] describes the constructs that make up a DC metadata description set. In order to represent a DC metadata description set in an XML document those constructs have to be represented as components in that XML document, i.e. as XML elements and XML attributes, XML element names and XML attribute names, and as XML element content and XML attribute values.

1.1 Design Considerations

The DC-XML-Min format described in this document was developed using the following design considerations:

2. The DCMI Abstract Model and DC-XML-Min

According to the DCAM description model:

The DC-XML-Min format described in this document implements the following subset of the features of the DCAM description model:

i.e. the DC-XML-Min format supports a maximum of one value string per value surrogate.

3. Features of the DC-XML-Full Syntax

3.1 URIs in DC-XML-Min

The DCAM uses Uniform Resource Identifiers (URIs) [RFC3896] to refer both to resources and to metadata terms (properties,classes, vocabulary encoding schemes and syntax encoding schemes).

In DC-XML-Min, some URIs in a DC metadata description set are encoded as URI references in XML attribute values, and some URIs are represented as XML Qualified Names (QNames). Note that only some URIs are represented as XML QNames. The table below summarises the options available:

URI Represented as URI reference Represented as QName
Resource URI Yes No
Value URI Yes No
Property URI No Yes
Vocabulary Encoding Scheme URI Yes No
Value Class URI Yes No
Syntax Encoding Scheme URI Yes No

Later sections of this document describe the encoding of the different URIs in detail. The purpose of this section is to make some general points about the representation of URIs in DC-XML-Min.

3.1.1 URI references

In DC-XML-Min, some URIs are encoded as URI references, used as XML attribute values. A URI reference is either a URI or a relative reference [RFC3896].

The URI may be represented in full. The following example shows a URI as the value of the dcxm:resourceURI attribute:

<?xml version="1.0"?>
<dcxm:descriptionSet 
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description
    dcxm:resourceURI="http://dublincore.org/pages/home"> <!-- Resource URI -->
    <dcterms:title>DCMI Home Page</dcterms:title>
  </dcx:description>
</dcxm:descriptionSet>

XML Example 1: URI as attribute value

The representation of the URI may be abbreviated through the use of an XML entity reference as follows, for example:

<?xml version="1.0"?>
<!DOCTYPE dcxm:descriptionSet [
  <!ENTITY dcmi 'http://dublincore.org/pages/'>
]>
<dcxm:descriptionSet 
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description
    dcxm:resourceURI="&dcmi;home"> <!-- Resource URI using XML entity reference -->
    <dcterms:title>DCMI Home Page</dcterms:title>
  </dcx:description>
</dcxm:descriptionSet>

XML Example 2: URI as attribute value (with XML entity reference)

For all of the attributes in DC-XML-Min which have URIs as values, the value may also be a relative reference. The relative reference is resolved relative to a base URI, obtained either from the value of an xml:base attribute or from the URI of the document itself. In the following example, the value of the dcxm:resourceURI attribute is a relative reference. It is resolved relative to the base URI provided by the xml:base attribute to obtain a target URI of http://dublincore.org/pages/home:

<?xml version="1.0"?>
<dcxm:descriptionSet 
  xml:base="http://dublincore.org/pages/"
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description
    dcxm:resourceURI="home"> <!-- Resource URI as relative reference -->
    <dcterms:title>DCMI Home Page</dcterms:title>
  </dcx:description>
</dcxm:descriptionSet>

XML Example 3: Relative reference as attribute value

3.1.2 URIs and XML QNames

In DC-XML-Min, some URIs are represented as XML Qualified Names (QNames). An XML QName is an abbreviation for an "expanded name", a pair consisting of an XML Namespace Name (a URI) and a local name. The prefix part of the XML QName is bound to an XML Namespace Name through an XML Namespace declaration; where an XML QName has no prefix, the XML Namespace Name is obtained from the default namespace declaration.

For a software application that is parsing a DC-XML-Min instance to construct a description set, where an XML QName is used to represent a URI, the URI is determined by appending the local name part of the QName to the XML Namespace Name. Note that only some XML QNames in a DC-XML-Min instance are mapped to URIs in this way: this specification indicates when that mapping is applied.

For a software application that is "encoding" a description set by generating a DC-XML-Min instance, an XML QName is determined by

Note that this means for a single URI there is more than one possible DC-XML-Min Qualified Name representation. For example, the URI http://purl.org/dc/terms/date might be represented using any of the following (XML Namespace Name, local name) pairs:

Communities typically decide on a convention for the QName to be used, but in theory any of these four forms could be deployed without changing the interpretation of the instance. For all DCMI terms, the convention used by the DCMI community is to split the term URI into an expanded name at the right-most '/' (forward slash) character (as per the first example above).

In the three examples in section 3.1.1 above, the XML QName dcterms:title is used to represent the property URI http://purl.org/dc/terms/title.

4. The DC-XML-Min Syntax

4.1 Encoding a Description Set: The Description Set Element

A description set is a set of one or more descriptions.

In DC-XML-Min, a description set is represented by an XML element known as a Description Set Element (See Note 2). A DC-XML-Min instance represents a single DC description set, so has exactly one Description Set Element.

A Description Set Element has an expanded name (XML Namespace Name/local name pair) with the XML Namespace Name http://dublincore.org/xml/dc-xml-min/2007/06/19 and local name descriptionSet.

In the examples presented in this document, the XML Namespace Name http://dublincore.org/xml/dc-xml-min/2007/06/19 is always associated with the prefix "dcxm". For convenience, after this point, the names of XML elements and XML attributes are presented in the text as XML QNames (e.g. dcxm:descriptionSet, dcxm:resourceURI), rather than as expanded names, but they should be read as XML expanded names: the prefix used is not significant.

<?xml version="1.0"?>
       <!-- Description Set Element -->
<dcxm:descriptionSet 
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description>
    <dcterms:title>DCMI Home Page</dcterms:title>
  </dcxm:description>
</dcxm:descriptionSet>

XML Example 4: The Description Set Element

A Description Set Element contains one or more Description Elements.

4.2 Encoding a Description: The Description Element

A description is a set of one or more statements about a resource.

In DC-XML-Min, a description is represented by an XML element known as a Description Element. Any XML element which is a child element of a Description Set Element is a Description Element.

The following example shows a description set consisting of a single description:

<?xml version="1.0"?>
<dcxm:descriptionSet
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/"
  xmlns:my="http:example.org/myapplication/">
  <my:webPageDescription> <!-- Description Element -->
    <dcterms:title>DCMI Home Page</dcterms:title>
  </my:webPageDescription>
</dcxm:descriptionSet>

XML Example 5: The Description Element

In the remainder of this document, Description Elements are shown using an XML element with an expanded name with the XML Namespace Name http://dublincore.org/xml/dc-xml-min/2007/06/19 and local name description (represented by the XML QName dcxm:description). However, a Description Element may have a different element name if such a name is useful or neceesary for the particular application.

A description set may contain multiple descriptions.

In DC-XML-Min, each description is represented by a separate Description Element. The order of the Description Elements within a Description Set Element is not significant.

The following example shows a description set consisting of two descriptions:

<?xml version="1.0"?>
<dcxm:descriptionSet
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description> <!-- 1st Description Element -->
    <dcterms:title>DCMI Home Page</dcterms:title>
  </dcxm:description>
  <dcxm:description> <!-- 2nd Description Element -->
    <dcterms:title>UKOLN Home Page</dcterms:title>
  </dcxm:description>
</dcxm:descriptionSet>

XML Example 6: Multiple Description Elements

The encoding of description sets with multiple descriptions is described further in the section on Encoding Descriptions of Values.

4.2.1 The Described Resource URI

A description may have an associated described resource URI.

In DC-XML-Min, a described resource URI is represented as the value of an XML attribute of the Description Element. The attribute has the name dcx:resourceURI.

The examples below show a description with the described resource URI http://dublincore.org/pages/home.

<?xml version="1.0"?>
<dcxm:descriptionSet
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description
    dcxm:resourceURI="http://dublincore.org/pages/home"> <!-- described resource URI -->
    <dcterms:title>DCMI Home Page</dcterms:title>
  </dcxm:description>
</dcxm:descriptionSet>

XML Example 7: The Resource URI Attribute

Note that the representation of the described resource URI may be abbreviated through the use of an XML entity reference or a URI relative reference (see the section on URI references).

A Description Element contains one or more [Encoding-a-Statement-The-Statement-Element Statement Elements].

4.4 Encoding a Statement: The Statement Element

A description is made up of one or more statements.

In DC-XML-Min, each child XML element of a Description Element represents a single statement and is known as a Statement Element.

The following example shows a description set with a single description consisting of a single statement:

<?xml version="1.0"?>
<dcxm:descriptionSet
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description
        dcxm:resourceURI="http://dublincore.org/pages/home">
    <dcterms:title>DCMI Home Page</dcterms:title> <!-- Statement Element -->
  </dcxm:description>
</dcxm:descriptionSet>

XML Example 8: A Statement Element

A description may be made up of multiple statements,

In DC-XML-Min, each statement is represented by a separate Statement Element. The order of the Statement Elements within a Description Element is not significant.

The following example shows a description consisting of two statements:

<?xml version="1.0"?>
<dcxm:descriptionSet
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description
        dcxm:resourceURI="http://dublincore.org/pages/home">
    <dcterms:title>DCMI Home Page</dcterms:title>  <!-- Statement Element -->
    <dcterms:publisher dcxm:valueType="NonLiteral">Dublin Core Metadata Initiative</dcterms:publisher>  <!-- Statement Element -->
  </dcxm:description>
</dcxm:descriptionSet>

XML Example 9: Multiple Statement Elements

A Statement Element may have various attributes.

4.3.1 The Property URI

A statement must contain exactly one property URI.

In DC-XML-Min, the property URI is represented by the element name of the Statement Element (an XML QName). The property URI is determined from the QName by applying the QName-URI mapping described in the section on URIs and XML QNames.

The example belows show a description consisting of two statements where the property URIs are http://purl.org/dc/terms/title and http://purl.org/dc/terms/publisher.

<?xml version="1.0"?>
<dcxm:descriptionSet
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description
        dcxm:resourceURI="http://dublincore.org/pages/home">
                 <!-- property URI as QName of Statement Element -->
    <dcterms:title>DCMI Home Page</dcterms:title>
                 <!-- property URI as QName of Statement Element -->
    <dcterms:publisher dcxm:valueType="NonLiteral">Dublin Core Metadata Initiative</dcterms:publisher>
  </dcxm:description>
</dcxm:descriptionSet>

XML Example 10: The Property URI

4.4 Encoding a Value Surrogate

A statement contains exactly one value surrogate.

A value surrogate is either a literal value surrogate or a non-literal value surrogate.

4.4.1 Encoding a Literal Value Surrogate

A literal value surrogate is made up of exactly one value string.

Note that a literal value surrogate can not contain a value URI or a vocabulary encoding scheme URI.

4.4.1.1 The Literal Surrogate Value String

In DC-XML-Min, a value string within a literal value surrogate is represented by the combination of the content of the Statement Element and the values of specified XML attributes of the Statement Element.

The example below shows a description consisting of a single statement which includes a literal value surrogate (with a value string).

<?xml version="1.0"?>
<dcxm:descriptionSet
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description
        dcxm:resourceURI="http://dublincore.org/pages/home">
          <!-- value string as element content -->
    <dcterms:title>DCMI Home Page</dcterms:title>
  </dcxm:description>
</dcxm:descriptionSet>

XML Example 11: The Statement Element (Value String in Literal Value Surrogate)

For more details on representing value strings, see the section on #Encoding-a-Value-String.

4.4.2 Encoding a Non-Literal Value Surrogate

In the subset of the DCAM description model supported by DC-XML-Min, a non-literal value surrogate is made up of

The presence of a non-literal value surrogate is indicated by the XML attributes of the Statement Element.

If the Statement Element has one or more of the following present

then the Statement Element represents a statement containing a non-literal value surrogate. The following sections explain when these different XML attributes are used.

4.4.2.1 The Value URI

A non-literal value surrogate may contain a value URI.

In DC-XML-Min, a value URI is represented as the value of an XML attribute of the Statement Element. The attribute has the name dcx:valueURI.

The example below shows a description consisting of two statements where the second statement contains a non-literal value surrogate which includes the value URI http://example.org/agents/DCMI.

<?xml version="1.0"?>
<dcxm:descriptionSet
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description
        dcxm:resourceURI="http://dublincore.org/pages/home">
    <dcterms:title>DCMI Home Page</dcterms:title>
                <!-- value URI -->
    <dcterms:publisher 
          dcxm:valueURI="http://example.org/agents/DCMI">Dublin Core Metadata Initiative</dcterms:publisher>
  </dcxm:description>
</dcxm:descriptionSet>

XML Example 12: The Value URI Attribute

Note that the representation of the value URI may be abbreviated through the use of an XML entity reference or a URI relative reference (see the section on URI references).

4.4.2.2 The Vocabulary Encoding Scheme URI Attribute

A non-literal value surrogate may include a vocabulary encoding scheme URI.

In DC-XML-Min, a vocabulary encoding scheme URI is represented as the value of an XML attribute of the Statement Element. The attribute has the name dcxm:vocabEncSchemeURI.

The example below shows a description consisting of three statements where the third statement contains a non-literal value surrogate which includes the vocabulary encoding scheme URI http://purl.org/dc/terms/LCSH.

<?xml version="1.0"?>
<dcxm:descriptionSet
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description
        dcxm:resourceURI="http://dublincore.org/pages/home">
    <dcterms:title>DCMI Home Page</dcterms:title>
    <dcterms:publisher 
          dcxm:valueURI="http://example.org/agents/DCMI">Dublin Core Metadata Initiative</dcterms:publisher>
                <!-- vocabulary encoding scheme URI -->
    <dcterms:subject 
          dcxm:vocabEncSchemeURI="http://purl.org/dc/terms/LCSH">Metadata</dcterms:subject>
  </dcxm:description>
</dcxm:descriptionSet>

XML Example 13: The Vocabulary Encoding Scheme URI Attribute

Note that the representation of the vocabulary encoding scheme URI may be abbreviated through the use of an XML entity reference or a URI relative reference (see the section on URI References).

4.4.2.3 The Non-Literal Surrogate Value String

In the subset of the DCAM description model supported by DC-XML-Min, a non-literal value surrogate may contain a single value string.

In DC-XML-Min, a value string within a non-literal value surrogate is represented by the combination of the content of the Statement Element and the values of specified XML attributes of the Statement Element.

The presence of a value string in a non-literal value surrogate within a statement is optional. If no value string is present, in DC-XML-Min, the Statement Element is empty.

The example below shows a description consisting of four statements where the fourth statement includes a non-literal value surrogate with a value URI but no value string.

<?xml version="1.0"?>
<dcxm:descriptionSet
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description
        dcxm:resourceURI="http://dublincore.org/pages/home">
    <dcterms:title>DCMI Home Page</dcterms:title>
    <dcterms:publisher 
          dcxm:valueURI="http://example.org/agents/DCMI">Dublin Core Metadata Initiative</dcterms:publisher>
    <dcterms:subject 
          dcxm:vocabEncSchemeURI="http://purl.org/dc/terms/LCSH">Metadata</dcterms:subject>
    <!-- statement with no value string -->
    <dcterms:isPartOf
          dcxm:valueURI="http://dublincore.org/site" />
  </dcxm:description>
</dcxm:descriptionSet>

XML Example 14: Empty Statement Element

In the subset of the DCAM description model supported by DC-XML-Min, a non-literal value surrogate may include a single value string.

The example below shows a description consisting of five statements where the lasst four statements each include a non-literal value surrogate with a value string.

<?xml version="1.0"?>
<dcxm:descriptionSet
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description
        dcxm:resourceURI="http://dublincore.org/pages/home">
    <dcterms:title>DCMI Home Page</dcterms:title>
          <!-- value string as element content -->
    <dcterms:publisher 
          dcxm:valueURI="http://example.org/agents/DCMI">Dublin Core Metadata Initiative</dcterms:publisher>
          <!-- value string as element content -->
    <dcterms:subject 
          dcxm:vocabEncSchemeURI="http://purl.org/dc/terms/LCSH">Metadata</dcterms:subject>
          <!-- value string as element content -->
    <dcterms:audience dcxm:valueType="NonLiteral">Information managers</dcterms:audience>
    <dcterms:isPartOf
          dcxm:valueURI="http://dublincore.org/site" />
  </dcxm:description>
</dcxm:descriptionSet>

XML Example 15: The Statement Element (Value String in Non-Literal Value Surrogate)

The non-literal value surrogates in the second and third statements in the description in the example above contain, respectively, a value URI (represented by the dcxm:valueURI XML attribute) and a vocabulary encoding scheme URI (represented by the dcxm:vocabEncSchemeURI XML attribute). The presence of these attributes is sufficient to indicate that the Statement Element represents a statement containing a non-literal value surrogate.

In the non-literal value surrogates in the fourth statement in the description in the example above, however, no valueURI or vocabulary encoding scheme URI are present. In this case, an XML attribute with the name dcxm:valueType with the value 'NonLiteral' is required to indicate that the Statement Element represents a statement containing a non-literal value surrogate. Where a non-literal surrogate has a value string but novalueURI or vocabulary encoding scheme URI, this XML attribute is required.

For more details on representing value strings, see the section on Encoding a Value String.

4.5 Encoding a Value String

A value string may occur within either a literal value surrogate or a non-literal value surrogate.

A literal value surrogate must contain exactly one value string. In the subset of the DCAM description model supported by DC-XML-Min, a non-literal value surrogate may contain a single value string.

In DC-XML-Min, a value string within a value surrogate is represented by the combination of the content of the Statement Element and the values of specified XML attributes of the Statement Element.

A value string is either a plain value string or a typed value string.

4.5.1 Encoding a Plain Value String

4.5.1.1 The Value String Language

A plain value string may be associated with a value string language

In DC-XML-Min, a value string language is represented by an xml:lang attribute of the Statement Element.

The example below shows a description consisting of three statements where the first statement has a non-literal value surrogate containing a plain value string "DCMI Home Page" associated with the value string language "en-GB" :

<?xml version="1.0"?>
<dcxm:descriptionSet
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description
        dcxm:resourceURI="http://dublincore.org/pages/home">
          <!-- value string language -->
    <dcterms:title
          xml:lang="en-GB">DCMI Home Page</dcterms:title>
    <dcterms:publisher 
          dcxm:valueURI="http://example.org/agents/DCMI">Dublin Core Metadata Initiative</dcterms:publisher>
    <dcterms:subject 
          dcxm:vocabEncSchemeURI="http://purl.org/dc/terms/LCSH">Metadata</dcterms:subject>
    <dcterms:isPartOf
          dcxm:valueURI="http://dublincore.org/site" />
  </dcxm:description>
</dcxm:descriptionSet>

XML Example 16: The Value String Language

4.5.2 Encoding a Typed Value String

4.5.2.1 The Syntax Encoding Scheme URI

A typed value string is associated with a syntax encoding scheme URI.

In DC-XML-Min, a syntax encoding scheme URI is represented as the value of an XML attribute of the Statement Element. The attribute has the name dcxm:syntaxEncSchemeURI.

The example below shows a description consisting of three statements where the third statement has a non-literal value surrogate containing a typed value string with the syntax encoding scheme URI http://www.w3.org/2001/XMLSchema#date:

<?xml version="1.0"?>
<dcxm:descriptionSet
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description
        dcxm:resourceURI="http://dublincore.org/pages/home">
    <dcterms:title
          xml:lang="en-GB">DCMI Home Page</dcterms:title>
    <dcterms:publisher 
          dcxm:valueURI="http://example.org/agents/DCMI">Dublin Core Metadata Initiative</dcterms:publisher>
                       <!-- syntax encoding scheme URI -->
    <dcterms:date 
          dcxm:syntaxEncSchemeURI="http://www.w3.org/2001/XMLSchema#date">2005-05-05</dcterms:date>
  </dcxm:description>
</dcxm:descriptionSet>

XML Example 17: The Syntax Encoding Scheme URI Attribute

4.5.2.2 XML data as a Typed Value String

A typed value string may be an XML fragment, in which case it must be associated with the syntax encoding scheme URI http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral

The example below shows a description consisting of two statements where the second statement contains a literal value surrogate which includes a typed value string in the form of an XML fragment:

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2007/06/19">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/terms/title" xml:lang="en-GB">DCMI Home Page</dcxf:statement>
         <!-- XML data as value string -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/terms/description" dcxf:syntaxEncSchemeURI="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>The DCMI home page provides an overview of the content of the
        <a title="DCMI Web Site" href="http://dublincore.org/">DCMI Web
        site</a>. It also displays current news items.</p>
      </div>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 18: XML Data as Typed Value String

4.6 Encoding Descriptions of Values

As noted in the section on Encoding a Description, description sets may contain multiple descriptions. Each description is represented by a separate Description Element. The order of the Description Elements has no significance.

It may be that the described resource of a description is referred to as the value of a statement in another description within the description set. If that resource has been assigned a URI, then that URI appears as the value URI in the statement where the resource is the value and as a described resource URI in the description of that resource, as shown below:

<?xml version="1.0"?>
<dcxm:descriptionSet
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/"
  xmlns:my="http://my.example.org/terms/">
  <dcxm:description
        dcxm:resourceURI="http://dublincore.org/pages/home">
    <dcterms:title>DCMI Home Page</dcterms:title>
    <dcterms:publisher 
          dcxm:valueURI="http://example.org/agents/DCMI"/>
  </dcxm:description>
  <dcxm:description
    dcxm:resourceURI="http://dublincore.org/pages/althome">
    <dcterms:title>DCMI Alternative Home Page</dcterms:title>
    <dcterms:publisher 
          dcxm:valueURI="http://example.org/agents/DCMI"/>
  </dcxm:description>
                     <!-- value URI used as resource URI in description of value -->
  <dcxm:description
        dcxm:resourceURI="http://example.org/agents/DCMI">
    <my:name>Dublin Core Metadata Initiative</my:name>
  </dcxm:description>
</dcxm:descriptionSet>

XML Example 19: Value as Described Resource

In some cases the resource will not have a URI assigned, or the URI will not be known. Such a resource may still be a value in a statement in one description and the described resource of another description in the same description set.

In such cases, the association between the statement in the first description and the second description is made by using an identifier for the resource which is local to a DC-XML-Full instance. This local identifier is used as the value of a dcxf:valueRef XML attribute of one or more Statement Elements and as the value of a dcxf:resourceId XML attribute of a Description Element. Each value of a dcxf:valueRef XML attribute must match the value of a dcxf:resourceId attribute in the same DC-XML-Full instance.

Note that this is a syntactic mechanism for linking references to values in statements to the descriptions of those values: the local identifier itself does not appear in the description set.

<?xml version="1.0"?>
<dcxm:descriptionSet
  xmlns:my="http://my.example.org/terms/"
  xmlns:dcxm="http://dublincore.org/xml/dc-xml-min/2007/06/19"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <dcxm:description
        dcxm:resourceURI="http://dublincore.org/pages/home">
    <dcterms:title>DCMI Home Page</dcterms:title>
    <!-- Reference to value using local identifier -->
    <dcterms:publisher 
          dcxm:descriptionRef="DCMI"/>
  </dcxm:description>
  <dcxm:description
        dcxm:resourceURI="http://dublincore.org/pages/home">
    <dcterms:title>DCMI Alternative Home Page</dcterms:title>
    <!-- Reference to value using local identifier -->
    <dcterms:publisher 
          dcxm:descriptionRef="DCMI"/>
  </dcxm:description>
  <!-- Description of value using local identifier -->
  <dcxm:description dcxm:descriptionId="DCMI">
    <my:name>Dublin Core Metadata Initiative</my:name>
  </dcxm:description>
</dcxm:descriptionSet>

XML Example 20: Value as Described Resource

Appendix A. DC-TEXT Representation of Examples

This appendix provides representations of all the examples provided in the main body of the document using the DC-Text syntax [DC-TEXT].

A.1 Example 1

The DC-XML-Min instance in Example 1 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
  )
)

A.2 Example 2

The DC-XML-Min instance in Example 2 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
  )
)

A.3 Example 3

The DC-XML-Min instance in Example 3 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
  )
)

A.4 Example 4

The DC-XML-Min instance in Example 4 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
  )
)

A.5 Example 5

The DC-XML-Min instance in Example 5 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
  )
)

A.6 Example 6

The DC-XML-Min instance in Example 6 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> . 
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
  )
  Description (
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "UKOLN Home Page" )
    )
  )
)

A.7 Example 7

The DC-XML-Min instance in Example 7 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
  )
)

A.8 Example 8

The DC-XML-Min instance in Example 8 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
  )
)

A.9 Example 9

The DC-XML-Min instance in Example 9 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueString ( "Dublin Core Metadata Initiative" )
    )
  )
)

A.10 Example 10

The DC-XML-Min instance in Example 10 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueString ( "Dublin Core Metadata Initiative" )
    )
  )
)

A.11 Example 11

The DC-XML-Min instance in Example 11 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
  )
)

A.12 Example 12

The DC-XML-Min instance in Example 12 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueURI ( <http://example.org/agents/DCMI> )
      ValueString ( "Dublin Core Metadata Initiative" )
    )
  )
)

A.13 Example 13

The DC-XML-Min instance in Example 13 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueURI ( <http://example.org/agents/DCMI> )
      ValueString ( "Dublin Core Metadata Initiative" )
    )
    Statement (
      PropertyURI ( dcterms:subject )
      VocabularyEncodingSchemeURI ( <http://purl.org/dc/terms/LCSH> )
      ValueString ( "Metadata" )
    )
  )
)

A.14 Example 14

The DC-XML-Min instance in Example 14 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueURI ( <http://example.org/agents/DCMI> )
      ValueString ( "Dublin Core Metadata Initiative" )
    )
    Statement (
      PropertyURI ( dcterms:subject )
      VocabularyEncodingSchemeURI ( <http://purl.org/dc/terms/LCSH> )
      ValueString ( "Metadata" )
    )
    Statement (
      PropertyURI ( dcterms:isPartOf )
      ValueURI ( <http://dublincore.org/site> )
    )
  )
)

A.15 Example 15

The DC-XML-Min instance in Example 15 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueURI ( <http://example.org/agents/DCMI> )
      ValueString ( "Dublin Core Metadata Initiative" )
    )
    Statement (
      PropertyURI ( dcterms:subject )
      VocabularyEncodingSchemeURI ( <http://purl.org/dc/terms/LCSH> )
      ValueString ( "Metadata" )
    )
    Statement (
      PropertyURI ( dcterms:audience )
      ValueString ( "Information managers" )
    )
    Statement (
      PropertyURI ( dcterms:isPartOf )
      ValueURI ( <http://dublincore.org/site> )
    )
  )
)

A.16 Example 16

The DC-XML-Min instance in Example 16 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" 
        Language ( en-GB )
      )
    )
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueURI ( <http://example.org/agents/DCMI> )
      ValueString ( "Dublin Core Metadata Initiative" )
    )
    Statement (
      PropertyURI ( dcterms:subject )
      VocabularyEncodingSchemeURI ( <http://purl.org/dc/terms/LCSH> )
      ValueString ( "Metadata" )
    )
    Statement (
      PropertyURI ( dcterms:isPartOf )
      ValueURI ( <http://dublincore.org/site> )
    )
  )
)

A.17 Example 17

The DC-XML-Min instance in Example 17 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" 
        Language ( en-GB )
      )
    )
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueURI ( <http://example.org/agents/DCMI> )
      ValueString ( "Dublin Core Metadata Initiative" )
    )
    Statement (
      PropertyURI ( dcterms:date )
      ValueString ( "2005-05-05"
        SyntaxEncodingSchemeURI ( <http://www.w3.org/2001/XMLSchema#date> )
      )
    )
  )
)

A.18 Example 18

The DC-XML-Min instance in Example 18 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" 
        Language ( en-GB )
      )
    )
    Statement (
      PropertyURI ( dcterms:description )
      LiteralValueString ( "<div xmlns="http://www.w3.org/1999/xhtml">
        <p>The DCMI home page provides an overview of the content of the
        <a title="DCMI Web Site" href="http://dublincore.org/">DCMI Web
        site</a>. It also displays current news items.</p>
      </div>"
        SyntaxEncodingSchemeURI ( <http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> )
      )
    )
  )
)

A.19 Example 19

The DC-XML-Min instance in Example 19 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix my: <http://my.example.org/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueURI ( <http://example.org/agents/DCMI> )
    )
  )
  Description (
    ResourceURI ( <http://dublincore.org/pages/althome> )
    Statement (
      PropertyURI ( dcterms:title )
      ValueString ( "DCMI Alternative Home Page" )
    )
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueURI ( <http://example.org/agents/DCMI> )
    )
  )
  Description (
    ResourceURI ( <http://example.org/agents/DCMI> )
    Statement (
      PropertyURI ( my:name )
      ValueString ( "Dublin Core Metadata Initiative" )
    )
  )
)

A.20 Example 20

The DC-XML-Min instance in Example 20 represents the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix my: <http://my.example.org/terms/> .
DescriptionSet (
  Description (
    ResourceURI ( <http://dublincore.org/pages/home> )
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "DCMI Home Page" )
    )
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueRef ( DCMI )
    )
  )
  Description (
    ResourceURI ( <http://dublincore.org/pages/althome> )
    Statement (
      PropertyURI ( dcterms:title )
      ValueString ( "DCMI Alternative Home Page" )
    )
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueRef ( DCMI )
    )
  )
  Description (
    ResourceId ( DCMI )
    Statement (
      PropertyURI ( my:name )
      ValueString ( "Dublin Core Metadata Initiative" )
    )
  )
)

Notes

[1] This document defines one XML format for representing DC metadata description sets in XML. Other formats may exist supporting other subsets of the DCMI Abstract Model. For example, the Open Archives Initiative Protocol for Metadata Harvesting [OAIPMH] defines a format, commonly known as oai_dc, which supports the serialisation only of description sets containing a single description, with statements referencing only the fifteen properties of the DCMES, and using literal value surrogates only. oai_dc is a different XML format from DC-XML-Full, but that does not change the value and usefulness of oai_dc as a format for serialising that particular subset of DC metadata description sets.

[2] In this document the term "element" is used to refer only to XML elements, and it should always be interpreted in that sense wherever it occurs. It is not used to refer to the properties of the DCMES.

References

[DCAM]
DCMI Abstract Model DCMI Recommendation. 2007-06-04
http://dublincore.org/2007/06/04/documents/abstract-model/

[XML]
Extensible Markup Language (XML) 1.0 (Third Edition). W3C Recommendation 04 February 2004.
http://www.w3.org/TR/REC-xml

[XMLSCHEMA]
XML Schema Part 0: Primer Second Edition. W3C Recommendation 28 October 2004.
http://www.w3.org/TR/xmlschema-0/

[RFC3986]
Uniform Resource Identifier (URI): Generic Syntax.
http://www.ietf.org/rfc/rfc3986.txt

[XMLNS]
Namespaces in XML (Second Edition). W3C Recommendation 16 August 2006.
http://www.w3.org/TR/REC-xml-names

[RDFXML]
RDF/XML Syntax Specification (Revised) W3C Recommendation 10 February 2004.
http://www.w3.org/TR/rdf-syntax-grammar/

[GRDDL]
Gleaning Resource Descriptions from Dialects of Languages (GRDDL) W3C Candidate Recommendation 2 May 2007
http://www.w3.org/TR/2007/CR-grddl-20070502/

[OAIPMH]
The Open Archives Initiative Protocol for Metadata Harvesting Protocol Version 2.0 of 2002-06-14.
http://www.openarchives.org/OAI/openarchivesprotocol.html

[DC-TEXT]
DC-Text: A Text Syntax for Dublin Core Metadata Draft of 2007-04-02.
http://dublincore.org/architecturewiki/DCText/2007-04-02

Changes in this version