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

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-Full)
Creator: Pete Johnston, Eduserv Foundation <pete.johnston@eduserv.org.uk>
Creator: Andy Powell, Eduserv Foundation <andy.powell@eduserv.org.uk>
Date Issued: 2006-09-18
Identifier: http://dublincore.org/architecturewiki/DCXMLRevision/DCXMLFGuidelines/2006-09-18
Replaces: Not applicable
Is Replaced By: http://dublincore.org/architecturewiki/DCXMLRevision/DCXMLFGuidelines/2007-06-19
Latest Version: http://dublincore.org/architecturewiki/DCXMLRevision/DCXMLFGuidelines
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-Full".

Contents

  1. Introduction

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

  3. The DC-XML-Full Syntax

  4. GRDDL

  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-Full".

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-Full format described in this document was developed using the following design considerations:

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

According to the DCAM description model:

The DC-XML-Full format described in this document implements all the features of the DCAM description model.

3. The DC-XML-Full Syntax

3.1 URIs in DC-XML-Full

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-Full, those URIs are encoded as XML attribute values. Later sections of this document describe the use of those different XML attributes in detail. The purpose of this section is to make some general points about the representation of these URIs in DC-XML-Full.

3.1.1 URI references

In DC-XML-Full, URIs may be 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 dcxf:propertyURI attribute:

<?xml version="1.0"?>
<dcxf:descriptionSet 
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description>
                                 <!-- Property URI -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf: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 dcxf:descriptionSet [
  <!ENTITY dc 'http://purl.org/dc/elements/1.1/'>
]>
<dcxf:descriptionSet 
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description>
                                 <!-- Property URI using XML entity reference -->
    <dcxf:statement dcxf:propertyURI="&dc;title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

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

For all of the attributes in DC-XML-Full 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 dcxf:propertyURI 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://purl.org/dc/elements/1.1/title:

<?xml version="1.0"?>
<dcxf:descriptionSet 
  xml:base="http://purl.org/dc/elements/1.1/"
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description>
                                 <!-- Property URI as relative reference -->
    <dcxf:statement dcxf:propertyURI="title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 3: Relative reference as attribute value

3.1.2 URIs, DC-XML-Full Qualified Names and Namespace Declarations

In DC-XML-Full, URIs may also be represented as DC-XML-Full Qualified Names.

A DC-XML-Full Qualified Name is an abbreviation for a URI used in the DC-XML-Full format. A DC-XML-Full Qualified Name consists of an optional "prefix" followed by a hyphen ("-") and a "local name".

The form of a DC-XML-Full Qualified Name is:

[1] QualifiedName ::= (Prefix '-')? LocalName
[2] Prefix ::= ( [WWW]Letter | [WWW]Digit ) NHNameChar*
[3] LocalName ::= ( [WWW]Letter | [WWW]Digit ) NHNameChar*
[4] NHNameChar ::= [WWW]Letter | [WWW]Digit | '.' | ':' | '_' | [WWW]CombiningChar | [WWW]Extender

The "prefix" in a DC-XML-Full Qualified Name is associated with a "namespace URI" using a namespace declaration, made using a Namespace Declaration Element, which occurs near the start of a DC-XML-Full instance (see Section 3.3 below). The URI represented by the DC-XML-Full Qualified Name is determined by concatenating the "namespace URI" with which the prefix is associated and the "local name".

If the prefix used in a DC-XML-Full Qualified Name has not been associated with a URI in a namespace declaration, it is an error and no URI can be generated for that DC-XML-Full Qualified Name. If the prefix has been associated with multiple URIs (though multiple namespace declarations) then the prefix is associated with the namespace URI specified in the latest declaration in the DC-XML-Full instance.

The prefix in a DC-XML-Full Qualified Name is optional. If a prefix is not present, then the "name" is concatenated with the default "namespace URI". The default namespace URI is declared using a namespace declaration with no prefix. If no default "namespace URI" has been declared, and a DC-XML-Full Qualified Name with no prefix is used, it is an error and no URI can be generated for that DC-XML-Full Qualified Name.

For a software application that is "encoding" a description set by generating a DC-XML-Full instance, a DC-XML-Full Qualified Name to represent a URI is determined by

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

Communities typically decide on a convention for the DC-XML-Full Qualified Name to be used for a URI, particularly for the URIs of terms (properties, classes, vocabulary encoding schemes and syntax encoding schemes), 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). Also, the characters used for the prefix in a DC-XML-Full Qualified Name are not significant, but communities often adopt a convention on the common use of a prefix to facilitate human readability.

The following example shows a namespace declaration and the use of a DC-XML-Full Qualified Name for the value of the dcxf:propertyQualName attribute:

<?xml version="1.0"?>
<dcxf:descriptionSet 
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
       <!-- Namespace Declaration Element -->
  <dcxf:namespaceDeclaration dcxf:prefix="dc" dcxf:namespaceURI="http://purl.org/dc/elements/1.1/" />
  <dcxf:description>
                                 <!-- Property URI as DC-XML-Full Qualified Name-->
    <dcxf:statement dcxf:propertyQualName="dc-title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 4: DC-XML-Full Qualified Name as attribute value

3.2 Encoding a Description Set: The Description Set Element

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

In DC-XML-Full, a description set is represented by an XML element known as a Description Set Element (See Note 2). A DC-XML-Full 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-full/2006/09/18/ and local name descriptionSet.

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

A Description Set Element contains zero or more Namespace Declaration Elements followed by one or more Description Elements.

<?xml version="1.0"?>
       <!-- Description Set Element -->
<dcxf:descriptionSet 
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 5: the Description Set Element

3.3 Namespace Declaration Elements

A namespace declaration associates a URI with a prefix, so that when that prefix is used in a DC-XML-Full Qualified Name, that URI is used as a "namespace URI". A namespace declaration is made using a Namespace Declaration Element. A Namespace Description Element is a child element of a Description Set Element and has the name dcxf:namespaceDeclaration.

Any Namespace Declaration Elements must occur before the Description Elements in a DC-XML-Full instance. A Namespace Declaration Element must be empty.

The namespace declaration must include a namespace URI, represented by the value of the dcxf:namespaceURI attribute, and it may include a prefix, represented by the value of the dcxf:prefix attribute.

If the dcxf:prefix attribute attribute is present, the element represents a namespace declaration associating the prefix and the URI. In the following example, declarations are provided for two prefixes, each of which is used subsequently in a DC-XML-Full Qualified Name.

<?xml version="1.0"?>
<dcxf:descriptionSet 
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
       <!-- Namespace Declaration Elements -->
  <dcxf:namespaceDeclaration dcxf:prefix="dcmi" dcxf:namespaceURI="http://dublincore.org/pages/" />
  <dcxf:namespaceDeclaration dcxf:prefix="dc" dcxf:namespaceURI="http://purl.org/dc/elements/1.1/" />
  <dcxf:description
    dcxf:resourceQualName="dcmi-home">
    <dcxf:statement dcxf:propertyQualName="dc-title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 6: The Namespace Declaration Element

If the dcxf:prefix attribute is omitted, then the element represents a default namespace declaration. In the following example, the DC-XML-Full Qualified Name used as the value of the dcxf:resourceQualName attribute has no prefix, and the namespace URI from the default namespace declaration is applied.

<?xml version="1.0"?>
<dcxf:descriptionSet 
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
       <!-- Default Namespace Declaration Element -->
  <dcxf:namespaceDeclaration dcxf:namespaceURI="http://dublincore.org/pages/" />
       <!-- Namespace Declaration Element -->
  <dcxf:namespaceDeclaration dcxf:prefix="dc" dcxf:namespaceURI="http://purl.org/dc/elements/1.1/" />
  <dcxf:description
    dcxf:resourceQualName="home">
    <dcxf:statement dcxf:propertyQualName="dc-title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 7: The Namespace Declaration Element

3.4 Encoding a Description: The Description Element

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

In DC-XML-Full, a description is represented by an XML element known as a Description Element. A Description Element is a child element of a Description Set Element and has the name dcxf:description.

The Description Element(s) must follow any Namespace Declaration Elements in a DC-XML-Full instance. A Description Element contains one or more Statement Elements.

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

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description> <!-- Description Element -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 8: the Description Element

A description set may contain multiple descriptions.

In DC-XML-Full, 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"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description> <!-- 1st Description Element -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
  <dcxf:description> <!-- 2nd Description Element -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>UKOLN Home Page</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 9: Multiple Description Elements

The encoding of description sets with multiple descriptions is described further in section 3.6.

3.4.1 The Resource URI

A description may have an associated resource URI.

In DC-XML-Full, a resource URI may be encoded in full or may be represented as a DC-XML-Full Qualified Name. In both cases it is represented as the value of an XML attribute of the Statement Element. If the resource URI appears in full, the attribute has the name dcxf:resourceeURI. If the resource URI is represented using an DC-XML-Full Qualified Name, the attribute has the name dcxf:resourceQualName.

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

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home"> <!-- resource URI -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 10: the Resource URI Attribute

Note that the representation of the resource URI may be abbreviated through the use of an XML entity reference or a URI relative reference (see Section 3.1.1).

Where a DC-XML-Full Qualified Name is used to represent the URI, the resource URI is determined from the DC-XML-Full Qualified Name by applying the mapping described in section 3.1.2.

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:namespaceDeclaration dcxf:prefix="dcmi" dcxf:namespaceURI="http://dublincore.org/pages/" />
  <dcxf:description
    dcxf:resourceQualName="dcmi.home"> <!-- resource URI as DC-XML-Full Qualified Name -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 11: The Resource Qual Name Attribute

Note that the examples above illustrate alternate ways of representing the same information. A single Description Element should not have both a dcxf:resourceURI and a dcxf:resourceQualName attribute.

3.4 Encoding Statements: Statement Elements

A description is made up of one or more statements.

In DC-XML-Full, each child XML element of a Description Element represents a single statement and is known as a Statement Element. A Statement Element always has the name dcxf:statement.

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

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title"> <!-- Statement Element -->
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 12: A Statement Element

A description may be made up of multiple statements, each 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"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title"> <!-- Statement Element -->
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"> <!-- Statement Element -->
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 13: Multiple Statement Elements

3.4.1 The Property URI

A statement must contain exactly one property URI.

In DC-XML-Full, a property URI may be encoded in full or may be represented as a DC-XML-Full Qualified Name. In both cases it is represented as the value of an XML attribute of the Statement Element. If the property URI appears in full, the attribute has the name dcxf:propertyURI. If the property URI is represented using an DC-XML-Full Qualified Name, the attribute has the name dcxf:propertyQualName.

The examples below show a description consisting of two statements where the property URIs are http://purl.org/dc/elements/1.1/title and http://purl.org/dc/elements/1.1/publisher.

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
                                    <!-- property URI -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
                                    <!-- property URI -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher">
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 14: The Property URI Attribute

Note that the representation of the property URI may be abbreviated through the use of an XML entity reference or a URI relative reference (see Section 3.1.1).

Where a DC-XML-Full Qualified Name is used to represent the URI, the property URI is determined from the DC-XML-Full Qualified Name by applying the mapping described in section 3.1.2.

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:namespaceDeclaration dcxf:prefix="dc" dcxf:namespaceURI="http://purl.org/dc/elements/1.1/" />
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
                                    <!-- property URI as DC-XML-Full Qualified Name -->
    <dcxf:statement dcxf:propertyQualName="dc-title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
                                    <!-- property URI as DC-XML-Full Qualified Name -->
    <dcxf:statement dcxf:propertyQualName="dc-publisher">
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 15: The Property Qual Name Attribute

Note that the examples above illustrate alternate ways of representing the same information. A single Statement Element should not have both a dcxf:propertyURI and a dcxf:propertyQualName attribute.

3.4.2 The Value URI

A statement may contain a value URI.

In DC-XML-Full, a value URI may be encoded in full or may be represented as a DC-XML-Full Qualified Name. In both cases it is represented as the value of an XML attribute of the Statement Element. If the value URI appears in full, the attribute has the name dcxf:valueURI. If the value URI is represented using an DC-XML-Full Qualified Name, the attribute has the name dcxf:valueQualName.

The examples below show a description consisting of two statements where the second statement includes the value URI http://example.org/agents/DCMI.

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher" 
                   dcxf:valueURI="http://example.org/agents/DCMI">  <!-- value URI -->
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 16: The Value URI Attribute

The representation of the value URI may be abbreviated through the use of an XML entity reference or a URI relative reference (see Section 3.1.1).

Where a DC-XML-Full Qualified Name is used to represent the URI, the value URI is determined from the DC-XML-Full Qualified Name by applying the mapping described in section 3.1.2.

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:namespaceDeclaration dcxf:prefix="agent" dcxf:namespaceURI="http://example.org/agents/" />
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"
                   dcxf:valueQualName="agent.DCMI">  <!-- value URI as DC-XML-Full Qualified Name -->
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 17: The Value Qual Name Attribute

Note that the examples above illustrate alternate ways of representing the same information. A single Statement Element should not have both a dcxf:valueURI and a dcxf:valueQualName attribute.

3.4.3 The Vocabulary Encoding Scheme URI Attribute

A statement may include a vocabulary encoding scheme URI.

In DC-XML-Full, a vocabulary encoding scheme URI may be encoded in full or may be represented as a DC-XML-Full Qualified Name. In both cases it is represented as the value of an XML attribute of the Statement Element. If the vocabulary encoding scheme URI appears in full, the attribute has the name dcxf:vocabEncSchemeURI. If the vocabulary encoding scheme URI is represented using an DC-XML-Full Qualified Name, the attribute has the name dcxf:vocabEncSchemeQualName.

The examples below show a description consisting of three statements where the third statement includes the vocabulary encoding scheme URI http://purl.org/dc/terms/LCSH.

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"
                   dcxf:valueURI="http://example.org/agents/DCMI">
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
                <!-- vocabulary encoding scheme URI -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/subject"
                   dcxf:vocabEncSchemeURI="http://purl.org/dc/terms/LCSH">
      <dcxf:valueString>Metadata</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 18: 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 Section 3.1.1).

Where a DC-XML-Full Qualified Name is used to represent the URI, the vocabulary encoding scheme URI is determined from the DC-XML-Full Qualified Name by applying the mapping described in section 3.1.2.

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:namespaceDeclaration dcxf:prefix="dcterms" dcxf:namespaceURI="http://purl.org/dc/terms/" />
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"
                   dcxf:valueURI="http://example.org/agents/DCMI">
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
                <!-- vocabulary encoding scheme URI as DC-XML-Full Qualified Name -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/subject" 
                   dcxf:vocabEncSchemeQualName="dcterms-LCSH">
      <dcxf:valueString>Metadata</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 19: the Vocabulary Encoding Scheme Qual Name Attribute

Note that the examples above illustrate alternate ways of representing the same information. A single Statement Element should not have both a dcxf:vocabEncSchemeURI and a dcxf:vocabEncSchemeQualName attribute.

3.4.4 The Value Class URI Attribute

A statement may include a value class URI.

In DC-XML-Full, a value class URI may be encoded in full or may be represented as a DC-XML-Full Qualified Name. In both cases it is represented as the value of an XML attribute of the Statement Element. If the value class URI appears in full, the attribute has the name dcxf:valueClassURI. If the value class URI is represented using an DC-XML-Full Qualified Name, the attribute has the name dcxf:valueClassQualName.

The examples below show a description consisting of three statements where the third statement includes the value class URI http://purl.org/dc/terms/LCSH.

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"
                   dcxf:valueURI="http://example.org/agents/DCMI">
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
                <!-- value class URI -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/subject"
                   dcxf:vocabEncSchemeURI="http://purl.org/dc/terms/LCSH"
                   dcxf:valueClassURI="http://example.org/terms/Concept">
      <dcxf:valueString>Metadata</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 20: The Value Class URI Attribute

Note that the representation of the value class URI may be abbreviated through the use of an XML entity reference or a URI relative reference (see Section 3.1.1).

Where a DC-XML-Full Qualified Name is used to represent the URI, the value class URI is determined from the DC-XML-Full Qualified Name by applying the mapping described in section 3.1.2.

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:namespaceDeclaration dcxf:prefix="dcterms" dcxf:namespaceURI="http://purl.org/dc/terms/" />
  <dcxf:namespaceDeclaration dcxf:prefix="exterms" dcxf:namespaceURI="http://example.org/terms/" />
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"
                   dcxf:valueURI="http://example.org/agents/DCMI">
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
                <!-- value class URI as DC-XML-Full Qualified Name -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/subject" 
                   dcxf:vocabEncSchemeQualName="dcterms-LCSH"
                   dcxf:valueClassQualName="exterms-Concept">
      <dcxf:valueString>Metadata</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 21: the Value Class Qual Name Attribute

Note that the examples above illustrate alternate ways of representing the same information. A single Statement Element should not have both a dcxf:vocabEncSchemeURI and a dcxf:vocabEncSchemeQualName attribute.

3.4.5 Empty Statement Elements

The presence of a value representation in a statement is optional.

In DC-XML-Full, the Statement Element may therefore be empty.

The example below shows a description consisting of four statements where the fourth statement provides a value URI but no value representation.

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"
                   dcxf:valueURI="http://example.org/agents/DCMI">
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/subject"
                   dcxf:vocabEncSchemeURI="http://purl.org/dc/terms/LCSH">
      <dcxf:valueString>Metadata</dcxf:valueString>
    </dcxf:statement>
    <!-- statement with no value representation -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/terms/isPartOf"
                   dcxf:valueURI="http://dublincore.org/site" />
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 22: Empty Statement Element

3.5 Encoding Value Strings and Rich Representations: Value Representation Elements

A statement may contain multiple value representations.

In DC-XML-Full, the value representations are represented by child elements of the Statement Element known as Value Representation Elements. The order of the Value Representation Elements within a Statement Element is not significant.

A value representation may take the form of a value string or a rich representation

3.5.1 The Value String

A value string is represented by an XML element with the element name dcxf:valueString.

The example below shows a description consisting of four statements where the first three statements each include a value string.

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <!-- value string -->
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"
                   dcxf:valueURI="http://example.org/agents/DCMI">
      <!-- value string -->
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/subject" 
                   dcxf:vocabEncSchemeURI="http://purl.org/dc/terms/LCSH">
      <!-- value string -->
      <dcxf:valueString>Metadata</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/terms/isPartOf"
                   dcxf:valueURI="http://dublincore.org/site" />
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 23: The Value String

A statement may contain multiple value strings, each represented by a separate dcxf:valueString child XML element.

The following example shows a description in which the first statement provides three value strings:

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/sitemap/">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>Site Map</dcxf:valueString> <!-- three value strings -->
      <dcxf:valueString>Plan du site</dcxf:valueString>
      <dcxf:valueString>Plan del sitio</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"
                   dcxf:valueURI="http://example.org/agents/DCMI">
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/terms/isPartOf"
                   dcxf:valueURI="http://dublincore.org/site" />
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 24: Multiple Value Strings

3.5.1.1 The Value String Language

A value string may have an associated value string language.

In DC-XML-Full, a value string language is represented by an xml:lang attribute of the dcxf:valueString XML element representing the value string.

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

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <!-- value string language -->
      <dcxf:valueString xml:lang="en-GB">DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"
                   dcxf:valueURI="http://example.org/agents/DCMI">
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/date">
      <dcxf:valueString>2005-05-05</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 25: The Value String Language

3.5.1.2 The Syntax Encoding Scheme URI

A value string may have an associated syntax encoding scheme URI.

In DC-XML-Full, a syntax encoding scheme URI may be encoded in full or may be represented as a DC-XML-Full Qualified Name. In both cases it is represented as the value of an XML attribute of the Statement Element. If the syntax encoding scheme URI appears in full, the attribute has the name dcxf:syntaxEncSchemeURI. If the syntax encoding scheme URI is represented using an DC-XML-Full Qualified Name, the attribute has the name dcxf:syntaxEncSchemeQualName.

The examples below show a description consisting of three statements where the third statement associates the syntax encoding scheme URI http://www.w3.org/2001/XMLSchema#date with the value string "2005-05-05":

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"
                   dcxf:valueURI="http://example.org/agents/DCMI">
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/date">
                       <!-- syntax encoding scheme URI -->
      <dcxf:valueString dcxf:syntaxEncSchemeURI="http://www.w3.org/2001/XMLSchema#date">2005-05-05</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 26: The Syntax Encoding Scheme URI Attribute

Note that the representation of the syntax encoding scheme URI may be abbreviated through the use of an XML entity reference or a URI relative reference (see Section 3.1.1).

Where a DC-XML-Full Qualified Name is used to represent the URI, the syntax encoding scheme URI is determined from the DC-XML-Full Qualified Name by applying the mapping described in section 3.1.2.

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:namespaceDeclaration dcxf:prefix="xsd" dcxf:namespaceURI="http://www.w3.org/2001/XMLSchema#" />
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"
                   dcxf:valueURI="http://example.org/agents/DCMI">
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/date">
                       <!-- syntax encoding scheme URI as DC-XML-Full Qualified Name -->
      <dcxf:valueString dcxf:syntaxEncSchemeQualName="xsd-date">2005-05-05</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 27: the Syntax Encoding Scheme Qual Name Attribute

Note that the examples above illustrate alternate ways of representing the same information. A single dcxf:valueString XML element should not have both a dcxf:syntaxEncSchemeURI and a dcxf:syntaxEncSchemeQualName attribute.

3.5.2 Rich Representations

A value may also be represented by a rich representation - i.e. by some XML data or by a binary data object.

3.5.2.1 XML Data

An XML data rich representation may be provided in two ways. It may be provided "inline" within the DC-XML-Full document or it may be provided as a separate XML document, the URI of which is provided as an attribute value.

Inline XML data is represented by the content of a Value Representation Element with the element name dcxf:XMLRepresentation.

The example below shows a description consisting of two statements where the second statement includes a rich representation of the value in the form of an XML fragment:

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString xml:lang="en-GB">DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/description">
      <dcxf:XMLRepresentation>  <!-- inline XML data -->
        <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:XMLRepresentation>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 28: Rich Representation - XML Data

The URI of external XML data is encoded as the value of the dcxf:representationURI attribute of the dcxf:XMLRepresentation element, as follows:

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString xml:lang="en-GB">DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/description>
                                                   <!-- external XML data -->
      <dcxf:XMLRepresentation dcxf:representationURI="http://example.org/docs/doc.xml" />
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 29: Rich Representation - XML Data

3.5.2.2 Binary Data

A binary data rich representation may be provided in two ways. It may be provided "inline" within the DC-XML-Full document or it may be provided as a separate resource, the URI of which is provided as an attribute value.

Inline binary data is represented by the content of a Value Representation Element with the element name dcxf:binaryRepresentation. The XML element content is a Base64 encoding of the binary object.

The example below shows a description consisting of two statements where the second statement includes a rich representation of the value in the form of a binary data object:

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString xml:lang="en-GB">DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/description">
                                <!-- inline binary data object -->
      <dcxf:binaryRepresentation>AABBCCDDEEFF</dcxf:binaryRepresentation>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 30: Rich Representation - Binary Data

The URI of external binary data is encoded as the value of the dcxf:representationURI attribute of the dcxf:binaryRepresentation element:

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString xml:lang="en-GB">DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/description">
                                                     <!-- external binary data object -->   
      <dcxf:binaryRepresentation dcxf:representationURI="http://example.org/imgs/img.png" />
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 31: Rich Representation - Binary Data

A statement may contain multiple rich representations in the form of separate dcxf:XMLRepresentation or dcxf:binaryRepresentation XML elements. Furthermore, a single statement may provide both value strings and rich representations.

The following example shows a description in which the second statement provides two value strings and two rich representations:

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString xml:lang="en-GB">DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/description">
      <!-- two value strings -->
      <dcxf:valueString xml:lang="en-GB">
        The home page provides an overview of the content of the
        DCMI Web site. It also displays current news items.
      </dcxf:valueString>
      <dcxf:valueString xml:lang="es-ES">
        El Home Page proporciona una descripci&#243;n del contenido
        del sitio del Web de DCMI. Adem&#225;s presenta noticias actuales.
      </dcxf:valueString>
      <!-- two rich representations -->
      <dcxf:XMLRepresentation>
        <div xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-GB">
          <p>The 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:XMLRepresentation>
      <dcxf:XMLRepresentation>
        <div xmlns="http://www.w3.org/1999/xhtml" xml:lang="es-ES">
          <p>El Home Page proporciona una descripci&#243;n del contenido
          del <a title="El sitio del Web de DCMI" href="http://dublincore.org/">
          sitio del Web de DCMI</a>. Adem&#225;s se presentan noticias 
          actuales.</p>
        </div>
      </dcxf:XMLRepresentation>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 32: Multiple Value Strings and Multiple Rich Representations

3.6 Encoding Descriptions of Values

As noted in section 3.3, 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 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 resource URI in the description of that resource, as shown below:

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
                                <!-- value URI -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"
                   dcxf:valueURI="http://example.org/agents/DCMI" />
  </dcxf:description>
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/althome">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Alternative Home Page</dcxf:valueString>
    </dcxf:statement>
                                <!-- value URI -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"
                   dcxf:valueURI="http://example.org/agents/DCMI" />
  </dcxf:description>
                     <!-- value URI used as resource URI in related description -->
  <dcxf:description
    dcxf:resourceURI="http://example.org/agents/DCMI">
    <dcxf:statement dcxf:propertyURI="http://my.example.org/terms/name">
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 33: 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 and the described resource of another description in the same description set.

In such cases, the association between the statement and the second description is made by labelling the second description using an XML attribute of the Description Element. The attribute has the name dcxf:descriptionId. The attribute value may then be cited in the the value of a dcxf:descriptionRef XML attribute of one or more Statement Elements elsewhere in the same description set. Each value of a dcxf:descriptionRef XML attribute must match the value of a dcxf:descriptionId 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 label itself does not appear in the description set.

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:my="http://my.example.org/terms/"
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/">
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Home Page</dcxf:valueString>
    </dcxf:statement>
    <!-- Reference to related description using label -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"
                   dcxf:descriptionRef="DCMI" />
  </dcxf:description>
  <dcxf:description
    dcxf:resourceURI="http://dublincore.org/pages/home">
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/title">
      <dcxf:valueString>DCMI Alternative Home Page</dcxf:valueString>
    </dcxf:statement>
    <!-- Reference to related description using label -->
    <dcxf:statement dcxf:propertyURI="http://purl.org/dc/elements/1.1/publisher"
                   dcxf:descriptionRef="DCMI" />
  </dcxf:description>
  <!-- Related description with label -->
  <dcxf:description dcxf:descriptionId="DCMI">
    <dcxf:statement dcxf:propertyURI="http://my.example.org/terms/name">
      <dcxf:valueString>Dublin Core Metadata Initiative</dcxf:valueString>
    </dcxf:statement>
  </dcxf:description>
</dcxf:descriptionSet>

XML Example 34: Value as Described Resource

4. GRDDL

An XSLT transformation from DC-XML-Full to RDF/XML [RDFXML] is available.

The GRDDL specification [GRDDL] defines a set of conventions for associating an XML instance document with a transformation.

One approach is to reference the transformation using an attribute of the root element, as follows:

<?xml version="1.0"?>
<dcxf:descriptionSet
  xmlns:dcxf="http://dublincore.org/xml/dc-xml-full/2006/09/18/"
  xmlns:data-view="http://www.w3.org/2003/g/data-view#"
  data-view:transformation="dcxf2rdfxml.xsl">
  ...
</dcxf:descriptionSet>

XML Example 35: GRDDL

The transformation can also be associated with a set of XML documents through information provided by the "namespace document".

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].

(to be completed)

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 value strings 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
http://dublincore.org/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

[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 Team Submission 16 May 2005
http://www.w3.org/TeamSubmission/grddl/

[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 2006-09-18.
http://dublincore.org/architecturewiki/DCText/2006-09-18

Changes in this version