Expressing Dublin Core™ metadata using HTML/XHTML meta and link elements

Creator: Pete Johnston
Eduserv Foundation, UK
Creator: Andy Powell
Eduserv Foundation, UK
Date Issued: 2007-11-05
Identifier: http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/
Replaces: Not applicable
Is Replaced By: http://dublincore.org/specifications/dublin-core/dc-html/2008-08-04/
Latest Version: http://dublincore.org/specifications/dublin-core/dc-html/
Status of Document: This is a DCMI Proposed Recommendation
Description of Document: This document describes how a Dublin Core™ metadata description set can be encoded in HTML/XHTML <meta> and <link> elements. It is an HTML meta data profile, as defined by the HTML specification.

Table of contents

  1. Introduction
  2. The DCMI Abstract Model and DC-HTML
  3. Features of the DC-HTML Syntax
  4. The DC-HTML Meta Data Profile
  5. Appendix A. DC-TEXT Representation of Examples
  6. References
  7. Acknowledgements

1. Introduction

This document specifies a set of conventions by which a DC metadata description set can be can be represented within an HTML/XHTML Web page using HTML/XHTML elements and attributes. Formally, it defines a meta data profile for HTML and XHTML.

The "Description Set Model" of 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 X/HTML document those constructs have to be represented as components in that HTML/XHTML document, i.e. as HTML/XHTML elements and attributes and as element content and attribute values.

This profile makes use only of the HTML/XHTML and elements and their attributes.

2. The DCMI Abstract Model and DC-HTML

According to the "Description Set Model" of the DCMI Abstract Model [DCAM], a DC description set has the following structure:

  • a description set is made up of one or more descriptions

  • a description is made up of

    • zero or one described resource URI and

    • one or more statements

  • a statement is made up of

    • exactly one property URI and

    • exactly one value surrogate

  • a value surrogate is either a literal value surrogate or a non-literal value surrogate

    • a literal value surrogate is made up of

      • exactly one value string
    • a non-literal value surrogate is made up of

      • zero or one value URIs

      • zero or one vocabulary encoding scheme URIs

      • zero or more value strings

  • a value string is either a plain value string or a typed value string

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

    • a typed value string is associated with a syntax encoding scheme URI

  • a non-literal value may be described by another description

The conventions described in this document implement the following subset of the DCAM "description set model".

  • a description set is made up of one description

  • a description is made up of

    • one described resource URI and

    • one or more statements

  • a statement is made up of

    • exactly one property URI and

    • exactly one value surrogate

  • a value surrogate is either a literal value surrogate or a non-literal value surrogate

    • a literal value surrogate is made up of

      • exactly one value string
    • a non-literal value surrogate is made up of

      • exactly one value URI

      • zero or one plain value strings

  • a value string is either a plain value string or a typed value string

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

    • a typed value string is associated with a syntax encoding scheme URI

i.e. the conventions here support a description set containing a single description, and a maximum of one value string per value surrogate. In a non-literal value surrogate, a value URI must be provided and a value string must be a plain value string. The provision of a vocabulary encoding scheme URI is not supported.

3. Features of the DC-HTML Meta Data Profile

3.1 URIs in DC-HTML

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

In the DC-HTML profile, those URIs are encoded as X/HTML attribute values. Later sections of this document describe the use of those different X/HTML attributes in detail. The purpose of this section is to make some general points about the representation of these URIs in DC-HTML.

3.1.1 URI references

In the DC-HTML profile, value URIs are encoded as URI references, used as X/HTML 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 value URI as the value of the hrefattribute:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<link rel="DCTERMS.subject" href="http://example.org/topics/archives" >
</head>
<body>
</body>
</html>

Example 1: URI as attribute value (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<link rel="DCTERMS.subject" href="http://example.org/topics/archives" />
</head>
<body>
</body>
</html>

Example 2: URI as attribute value (XHTML)

For all of the attributes in DC-HTML 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 the href attribute of the base element or from the URI of the document itself. In the following example, the value of the hrefattribute is a relative reference. It is resolved relative to the base URI provided by the href attribute of thebase element to obtain a target URI ofhttp://example.org/docs/doc123:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<base href="http://example.org/docs/" >
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<link rel="DCTERMS.isReferencedBy" href="doc123" >
</head>
<body>
</body>
</html>

Example 3: Relative reference as attribute value (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<base href="http://example.org/docs/" >
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<link rel="DCTERMS.isReferencedBy" href="doc123" />
</head>
<body>
</body>
</html>

Example 4: Relative reference as attribute value (XHTML)

3.1.2 URIs,

DC-HTML Prefixed Names and Namespace Declarations

In DC-HTML, property URIs and syntax encoding scheme URIs are represented as DC-HTML Prefixed Names.

A DC-HTML Prefixed Name is an abbreviation for a URI used in the DC-HTML format. A DC-HTML Prefixed Name consists of a "prefix" followed by a period (".") and a "local name".

The "prefix" in a DC-HTML Prefixed Name is associated with a "namespace URI" using a namespace declaration, made using a Namespace Declaration Element (see the section on Namespace Declarationsbelow). The URI represented by the DC-HTML Prefixed Name is determined by concatenating the "namespace URI" with which the prefix is associated and the "local name".

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

  • dividing the URI into a pair consisting of a local name (the trailing characters of the URI, subject to the lexical constraints described above) and a namespace URI (the preceding part of the URI), and

  • providing a Namespace Declaration element for this namespace URI (using a prefix in the namespace declaration and in the DC-HTML Prefixed Name).

Note that this means for a single URI there is more than one possible DC-HTML Prefixed Name representation. For example, the URIhttp://purl.org/dc/terms/title might be represented using any of the following (namespace URI, local name) pairs:

  • {http://purl.org/dc/terms/}, title

  • {http://purl.org/dc/terms/t}, itle

  • {http://purl.org/dc/terms/ti}, tle

  • {http://purl.org/dc/terms/tit}, le

  • {http://purl.org/dc/terms/titl}, e

Communities typically decide on a convention for the DC-HTML Prefixed 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-HTML Prefixed Name are not significant, but communities often adopt a convention on the common use of a prefix to facilitate human readability.

The following examples shows a namespace declaration and the use of a DC-HTML Prefixed Name for the value of the nameattribute of the meta element:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<meta name="DCTERMS.title" content="Services to Government" >
</head>
<body>
</body>
</html>

Example 5: DC-HTML Prefixed Name as attribute value (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<meta name="DCTERMS.title" content="Services to Government" />
</head>
<body>
</body>
</html>

Example 6: DC-HTML Prefixed Name as attribute value (XHTML)

If the prefix used in a DC-HTML Prefixed Name has not been associated with a URI in a namespace declaration, no URI can be generated for that DC-HTML Prefixed 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-HTML instance.

In the following examples the prefix "XX" is used in a a DC-HTML Prefixed Name, but there is no namespace declaration for that prefix so no URI is generated for that value of the nameattribute of the meta element:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<meta name="DCTERMS.title" content="Services to Government" >
<meta name="XX.approved" content="2007-01-05" >
</head>
<body>
</body>
</html>

Example 7: DC-HTML Prefixed Name as attribute value, missing namespace declaration (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<meta name="DCTERMS.title" content="Services to Government" />
<meta name="XX.approved" content="2007-01-05" />
</head>
<body>
</body>
</html>

Example 8: DC-HTML Prefixed Name as attribute value, missing namespace declaration (XHTML)

In the following examples the prefix "XX" is used in a a DC-HTML Prefixed Name, and there are two namespace declaration for that prefix. The second namespace declaration is used to generate the URI http://your.example.org/terms/approved from the value of the name attribute of the meta element:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<link rel="schema.XX" href="http://my.example.org/terms/" >
<link rel="schema.XX" href="http://your.example.org/terms/" >
<meta name="DCTERMS.title" content="Services to Government" >
<meta name="XX.approved" content="2007-01-05" >
</head>
<body>
</body>
</html>

Example 9: DC-HTML Prefixed Name as attribute value, multiple namespace declarations (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<link rel="schema.XX" href="http://my.example.org/terms/" />
<link rel="schema.XX" href="http://your.example.org/terms/" />
<meta name="DCTERMS.title" content="Services to Government" />
<meta name="XX.approved" content="2007-01-05" />
</head>
<body>
</body>
</html>

Example 10: DC-HTML Prefixed Name as attribute value, multiple namespace declarations (XHTML)

4. The DC-HTML Meta Data Profile

4.1 The

Profile Attribute Value

Where these conventions are used to represent a DC metadata_description set_ in an X/HTML document, the value of theprofile attribute of the X/HTML head element must include the URI of this X/HTML metadata profile http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/

4.2 DC-HTML

Namespace Declarations

A DC-HTML namespace declaration associates a URI with a prefix, so that when that prefix is used in a DC-HTML Prefixed Name, that URI is used as a "namespace URI". A namespace declaration is made using the X/HTML link element and a specific convention for the value of the rel attribute. In the DC-HTML profile, an X/HTML link element of which the relattribute has a value beginning with the charactersschema. represents a namespace declaration.

The DC-HTML namespace declaration must include:

  • a prefix, represented by part of the value of the relattribute of the X/HTML link element following the characters schema.

  • a namespace URI, represented by the value of the hrefattribute of the X/HTML link element

In the following example, declarations are provided for two prefixes, each of which is used subsequently in a DC-HTML Prefixed Name.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<link rel="schema.MARCREL" href="http://www.loc.gov/loc.terms/relators/" >
<meta name="DCTERMS.title" content="Services to Government" >
<link rel="MARCREL.EDT" href="http://example.org/agents/DeptOfObfuscation" >
</head>
<body>
</body>
</html>

Example 11: The Namespace Declaration (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<link rel="schema.MARCREL" href="http://www.loc.gov/loc.terms/relators/" />
<meta name="DCTERMS.title" content="Services to Government" />
<link rel="MARCREL.EDT" href="http://example.org/agents/DeptOfObfuscation" />
</head>
<body>
</body>
</html>

Example 12: The Namespace Declaration (XHTML)

4.3 Encoding

a Description Set

A description set is made up of one_description_.

In the DC-HTML profile, the description set is not explicitly represented, but the statements represented constitute a single description within a description set.

4.4 Encoding

a Description

A description is a set of one or more_statements_ about a resource.

In the DC-HTML profile, the description is not explicitly represented, but the statements represented constitute a single description.

4.4.1 The

Described Resource URI

A description has an associated described resource URI.

In the DC-HTML profile-Full, the _described resource URI_is the URI of the X/HTML document

4.5 Encoding

a Statement

A description is made up of one or more_statements_.

In the DC-HTML profile, each statement is represented as either an X/HTML meta element or an X/HTMLlink element. The choice of X/HTML element depends on whether the statement contains a literal value surrogate or a non-literal value surrogate.

The examples below show a description consisting of two_statements_.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<meta name="DCTERMS.title" content="Services to Government" >
<link rel="DCTERMS.subject" href="http://example.org/topics/archives" title="Archives" >
</head>
<body>
</body>
</html>

Example 13: Statements as meta and link elements (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<meta name="DCTERMS.title" content="Services to Government" />
<link rel="DCTERMS.subject" href="http://example.org/topics/archives" title="Archives" />
</head>
<body>
</body>
</html>

Example 14: Statements as meta and link elements (XHTML)

4.5.1 Encoding a Statement containing a Literal Value Surrogate

In the DC-HTML profile, each statement containing a_literal values surrogate_ is represented as an X/HTMLmeta element.

4.5.1.1 The

Property URI

A statement must contain exactly one property URI.

In the DC-HTML profile, a property URI in a_statement_ containing a _literal values surrogate_is represented as a DC-HTML Prefixed Name which is the value of thename attribute of an X/HTML meta element.

The examples below shows a description consisting of a single statement where the property URI ishttp://purl.org/dc/terms/title.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<meta name="DCTERMS.title" content="Services to Government" >
</head>
<body>
</body>
</html>

Example 15: The Property URI as the value of the name Attribute (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<meta name="DCTERMS.title" content="Services to Government" />
</head>
<body>
</body>
</html>

Example 16: The Property URI as the value of the name Attribute (XHTML)

4.5.1.2 Encoding a Literal Value Surrogate

A literal value surrogate is made up of exactly one_value string_.

In the DC-HTML profile, a value string within a_literal values surrogate_ is represented by the combination of the values of several attributes of an X/HTML metaelement.

A value string is either a _plain value string_or a typed value string.

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

In the DC-HTML profile, the string itself is represented as the value of the content attribute of an X/HTML metaelement, and a value string language is represented by the value of the lang (HTML) or xml:lang (XHTML) attribute of the meta element.

The examples below shows a description consisting of a single statement with a _literal value surrogate_made up of a plain value string with no value string language.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<meta name="DCTERMS.title" content="Services to Government" >
</head>
<body>
</body>
</html>

Example 17: Literal Value Surrogate Plain Value String as value of content Attribute (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<meta name="DCTERMS.title" content="Services to Government" />
</head>
<body>
</body>
</html>

Example 18: Literal Value Surrogate Plain Value String as value of content Attribute (XHTML)

The examples below shows a description consisting of a single statement with a _literal value surrogate_made up of a plain value string which includes a value string language.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<meta name="DCTERMS.title" lang="en" content="Services to Government" >
</head>
<body>
</body>
</html>

Example 19: Literal Value Surrogate Plain Value String with Value String Language (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<meta name="DCTERMS.title" xml:lang="en" content="Services to Government" />
</head>
<body>
</body>
</html>

Example 20: Literal Value Surrogate Plain Value String with Value String Language (XHTML)

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

In the DC-HTML profile, the string itself is represented as the value of the content attribute of an X/HTML metaelement, and a syntax encoding scheme URI is represented as a DC-HTML Prefixed Name which is the value of thescheme attribute of the X/HTML meta element.

The examples below show a description consisting of two_statements_ with non-literal value surrogates. In the second statement the non-literal value surrogate contains a typed value string with the_syntax encoding scheme URI_http://www.w3.org/2001/XMLSchema#date:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<link rel="schema.XSD" href="http://www.w3.org/2001/XMLSchema#" >
<meta name="DCTERMS.title" lang="en" content="Services to Government" >
<meta name="DCTERMS.modified" scheme="XSD.date" content="2007-07-22" >
</head>
<body>
</body>
</html>

Example 21: Literal Value Surrogate with Typed Value String (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<link rel="schema.XSD" href="http://www.w3.org/2001/XMLSchema#" />
<meta name="DCTERMS.title" xml:lang="en" content="Services to Government" />
<meta name="DCTERMS.modified" scheme="XSD.date" content="2007-07-22" />
</head>
<body>
</body>
</html>

Example 22: Literal Value Surrogate with Typed Value String (XHTML)

4.5.2 Encoding a Statement containing a Non-Literal Value Surrogate

In the DC-HTML profile, each statement containing a_non-literal values surrogate_ is represented as an X/HTMLlink element.

4.5.2.1. The

Property URI

A statement must contain exactly one property URI.

In the DC-HTML profile, a property URI in a_statement_ containing a non-literal values surrogate is represented as a DC-HTML Prefixed Name which is the value of the rel attribute of an X/HTML linkelement.

The examples below shows a description consisting of a single statement where the property URI ishttp://purl.org/dc/terms/subject.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<link rel="DCTERMS.subject" href="http://example.org/topics/archives" title="Archives" >
</head>
<body>
</body>
</html>

Example 23: The Property URI as the value of the rel attribute (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<link rel="DCTERMS.subject" href="http://example.org/topics/archives" title="Archives" />
</head>
<body>
</body>
</html>

Example 24: The Property URI as the value of the rel attribute (XHTML)

The HTML/XHTML rel attribute supports a list of linktypes, so where a description contains multiple statements_referring to different properties but the same_value, they may be represented using a single linkelement.

The examples below shows a description consisting of two statements where the property URIs arehttp://purl.org/dc/terms/creator andhttp://purl.org/dc/terms/publisher.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<link rel="DCTERMS.creator DCTERMS.publisher" href="http://example.org/agents/DCMI" title="Dublin Core™ Metadata Initiative" >
</head>
<body>
</body>
</html>

Example 25: Multiple Property URIs as the value of the rel attribute (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<link rel="DCTERMS.creator DCTERMS.publisher" href="http://example.org/agents/DCMI" title="Dublin Core™ Metadata Initiative" />
</head>
<body>
</body>
</html>

Example 26: Multiple Property URIs as the value of the rel attribute (XHTML)

The same description could be represented using repeated link elements:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<link rel="DCTERMS.creator" href="http://example.org/agents/DCMI" title="Dublin Core™ Metadata Initiative" >
<link rel="DCTERMS.publisher" href="http://example.org/agents/DCMI" title="Dublin Core™ Metadata Initiative" >
</head>
<body>
</body>
</html>

Example 27: The Property URI as the value of the rel attribute (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<link rel="DCTERMS.creator" href="http://example.org/agents/DCMI" title="Dublin Core™ Metadata Initiative" />
<link rel="DCTERMS.publisher" href="http://example.org/agents/DCMI" title="Dublin Core™ Metadata Initiative" />
</head>
<body>
</body>
</html>

Example 28: The Property URI as the value of the rel attribute (XHTML)

4.5.2.2. Encoding a Non-Literal Value Surrogate

In the subset of the DCAM description model supported by the DC-HTML profile, a non-literal value surrogate is made up of exactly one value URI and zero or one plain value strings.

In the DC-HTML profile, the value URI is represented as the value of the href attribute of the X/HTMLlink element

The examples below shows a description consisting of a single statement with a non-literal value surrogate made up of a value URI.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<link rel="DCTERMS.subject" href="http://example.org/topics/archives" >
</head>
<body>
</body>
</html>

Example 29: Non-Literal Value Surrogate with Value URI as value of href attribute (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<link rel="DCTERMS.subject" href="http://example.org/topics/archives" />
</head>
<body>
</body>
</html>

Example 30: Non-Literal Value Surrogate with Value URI as value of href attribute (XHTML)

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

In the DC-HTML profile, the string itself is represented as the value of the title attribute of the X/HTML linkelement, and a value string language is represented by the value of the lang (HTML) or xml:lang (XHTML) attribute of the link element.

The examples below shows a description consisting of a single statement with a non-literal value surrogate made up of a value URI and a plain value string with no value string language.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<link rel="DCTERMS.subject" href="http://example.org/topics/archives" title="Archives" >
</head>
<body>
</body>
</html>

Example 31: Non-Literal Value Surrogate with Plain Value String as value of title attribute (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<link rel="DCTERMS.subject" href="http://example.org/topics/archives" title="Archives" />
</head>
<body>
</body>
</html>

Example 32: Non-Literal Value Surrogate Plain Value String as value of title attribute (XHTML)

The examples below shows a description consisting of a single statement with a non-literal value surrogate made up of a value URI and a plain value string which includes a value string language.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" >
<link rel="DCTERMS.subject" lang="en" href="http://example.org/topics/archives" title="Archives" >
</head>
<body>
</body>
</html>

Example 33: Non-Literal Value Surrogate with Plain Value String with Value String Language (HTML)

<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://dublincore.org/specifications/dublin-core/dc-html/2007-11-05/">
<title>Services to Government</title>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<link rel="DCTERMS.subject" xml:lang="en" href="http://example.org/topics/archives" title="Archives" />
</head>
<body>
</body>
</html>

Example 34: Non-Literal Value Surrogate Plain Value String with Value String Language (XHTML)

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 Examples

1 & 2

The X/HTML instances in Examples 1 & 2 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:subject )
      ValueURI ( <http://example.org/topics/archives> )
    )
  )
)

A.2 Example

3 & 4

The X/HTML instances in Examples 3 & 4 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:isReferencedBy )
      ValueURI ( <http://example.org/docs/doc123> )
    )
  )
)

A.3 Example

5 & 6

The X/HTML instances in Examples 5 & 6 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "Services to Government" )
    )
  )
)

A.4 Example

7 & 8

The X/HTML instances in Examples 7 & 8 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "Services to Government" )
    )
  )
)

A.5 Example

9 & 10

The X/HTML instances in Examples 9 & 10 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix your: <http://your.example.org/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "Services to Government" )
    )
  )
    Statement (
      PropertyURI ( your:approved )
      LiteralValueString ( "2007-01-05" )
    )
  )
)

A.6 Example

11 & 12

The X/HTML instances in Examples 11 & 12 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix marcrel: <http://www.loc.gov/loc.terms/relators/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "Services to Government" )
    )
    Statement (
      PropertyURI ( marcrel:EDT )
      ValueURI ( <http://example.org/agents/DeptOfObfuscation> )
    )
  )
)

A.7 Examples

13 & 14

The X/HTML instances in Examples 13 & 14 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "Services to Government" )
    )
    Statement (
      PropertyURI ( dcterms:subject )
      ValueURI ( <http://example.org/topics/archives> )
      ValueString ( "Archives" )
    )
  )
)

A.8 Examples

15 & 16

The X/HTML instances in Examples 15 & 16 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "Services to Government" )
    )
  )
)

A.9 Examples

17 & 18

The X/HTML instances in Examples 17 & 18 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "Services to Government" )
    )
  )
)

A.10 Examples

19 & 20

The X/HTML instances in Examples 19 & 20 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "Services to Government"
        Language ( en )
      )
    )
  )
)

A.11 Examples

21 & 22

The X/HTML instances in Examples 21 & 22 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:title )
      LiteralValueString ( "Services to Government"
        Language ( en )
      )
    )
    Statement (
      PropertyURI ( dcterms:modified )
      LiteralValueString ( "2007-07-22"
        SyntaxEncodingSchemeURI ( <http://www.w3.org/2001/XMLSchema#date> )
      )
    )
  )
)

A.12

Examples 23 & 24

The X/HTML instances in Examples 19 & 20 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:subject )
      ValueURI ( <http://example.org/topics/archives> )
      ValueString ( "Archives" )
    )
  )
)

A.13

Examples 25 & 26

The X/HTML instances in Examples 25 & 26 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueURI ( <http://example.org/agents/DCMI> )
      ValueString ( "Dublin Core™ Metadata Initiative" )
    )
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueURI ( <http://example.org/agents/DCMI> )
      ValueString ( "Dublin Core™ Metadata Initiative" )
    )
  )
)

A.14

Examples 27 & 28

The X/HTML instances in Examples 27 & 28 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueURI ( <http://example.org/agents/DCMI> )
      ValueString ( "Dublin Core™ Metadata Initiative" )
    )
    Statement (
      PropertyURI ( dcterms:publisher )
      ValueURI ( <http://example.org/agents/DCMI> )
      ValueString ( "Dublin Core™ Metadata Initiative" )
    )
  )
)

A.15

Examples 29 & 30

The X/HTML instances in Examples 29 & 30 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:subject )
      ValueURI ( <http://example.org/topics/archives> )
    )
  )
)

A.16

Examples 31 & 32

The X/HTML instances in Examples 31 & 32 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:subject )
      ValueURI ( <http://example.org/topics/archives> )
      ValueString ( "Archives" )
    )
  )
)

A.17

Examples 33 & 34

The X/HTML instances in Examples 33 & 34 represent the following description set:

@prefix dcterms: <http://purl.org/dc/terms/> .
DescriptionSet (
  Description (
    Statement (
      PropertyURI ( dcterms:subject )
      ValueURI ( <http://example.org/topics/archives> )
      ValueString ( "Archives"
        Language ( en )
      )
    )
  )
)

References

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

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

[GRDDL]
Gleaning Resource Descriptions from Dialects of Languages (GRDDL) W3C Recommendation 11 September 2007
http://www.w3.org/TR/2007/REC-grddl-20070911/

[IRI]
Duerst, M., M. Suignard. RFC 3987: Internationalized Resource Identifiers (IRIs). Internet Engineering Task Force (IETF). January 2005.
< http://www.ietf.org/rfc/rfc3987.txt>

[URI]
Berners-Lee, T., R. Fielding, L. Masinter. RFC 3986: Uniform Resource Identifier (URI): Generic Syntax. Internet Engineering Task Force (IETF). January 2005.
< http://www.ietf.org/rfc/rfc3986.txt>

Errata

2008-01-14. Removed premature "Replaces:" link to http://dublincore.org/specifications/dublin-core/dcq-html/2003-11-30/.

2008-03-31. Removed note: " As of 2007-11-05, a proposalto "replicate" the fifteen properties of the http://purl.org/dc/elements/1.1/ ("dc:") namespace in the http://purl.org/dc/terms/ ("dcterms:") namespace has not been approved or implemented. Until this DCMI Proposed Recommendation is approved as a DCMI Recommendation, references herein to names such as dcterms:subject and dcterms:title should be understood as having the status of "proposed" as well.

2008-08-04. Changed GRDDL profile transform URI from to http://www.incognitum.net/petej/projects/dc-html/xslt/2007/11/05/dc-html2rdfxml.xsl to http://purl.org/dc/transform/dc-html-20071105-grddl/dc-html2rdfxml.xsl.