Исходный текст
http://dublincore.org/documents/2003/11/30/dcq-html/.
Статус
Рекомендация DCMI.
Права

1. Введение

Этот документ объясняет, как записи метаданных Dublin Core [DCMI] могут включаться в веб-страницы HTML/XHTML при помощи элементов HTML/XHTML.

Отметим, что существует несколько других вариантов связывания записей Dublin Core с ресурсами HTML/XHTML [HTML] (или встраивания в них), в их числе

Эти варианты здесь не обсуждаются.

1.1. Терминология

В этом документе используется следующая терминология:

Ресурс
Нечто опознаваемое. Знакомые примеры включают электронные документы, изображения, сервисы (прогноз погоды на сегодня), собрания других ресурсов. Не все ресурсы можно получить по сети; например, ресурсами можно также считать людей, корпорации, отдельные книги в библиотеке.
Свойство
Особый аспект, характеристика, атрибут или связь, используемые для описания ресурсов.
Запись
Структурированные метаданные по ресурсу, включающие одно и более свойство со связанными значениями.

Отметим, что элементы метаданных Dublin Core являются свойствами, как они определены выше. Кроме того, обратим внимание на возможную путаницу между использованием терминов «элемент» и «атрибут» в HTML/XHTML и теми же терминами в более общем смысле метаданных.

В этом документе описываемый ресурс является веб-страницей HTML/XHTML, а описывающая его запись Dublin Core встраивается при помощи элементов <meta>. Таким образом возможно описать один ресурс (веб-страницу); чтобы описать несколько ресурсов (например, множество изображений), свяжитесь с одним и более отдельным документом XML или RDF/XML, содержащим несколько записей Dublin Core.

2. Кодирование в XHTML

Метаданные должны включаться в раздел <head> веб-страницы XHTML [XHTML11] при помощи элементов <meta> и <link>, как показано далее.

2.1. Элементы и значения

Для кодирования элемента DC (одного из 15 элементов DCMES или других элементов, определенных DCMI, например, audience) и его значения используйте атрибуты name и content элемента XHTML <meta>, как показано в шаблонах ниже:

<meta name="DC.element" content="Значение" />
<meta name="DCTERMS.element" content="Значение" />

Пример:

<meta name="DC.date" content="2001-07-18" />
<meta name="DCTERMS.audience" content="Разработчики ПО" />

По основному правилу, имена элементов могут указываться в смешанном регистре, но начинаться они должны с буквы нижнего регистра.

Значение атрибута content определено как CDATA, то есть, последовательность символов из набора символов документа, которая может включать символьные сущности. Длинные значения, если требуется, могут переноситься по нескольким строкам.

2.2. Уточнения элементов

Уточнения элементов также представляются при помощи атрибутов name и content элемента <meta>:

<meta name="DCTERMS.уточнениеЭлемента" content="Значение" />

Пример:

<meta name="DCTERMS.modified" content="2001-07-18" />

Уточнения элементов должны использовать имена, определенные в наборе элементов метаданных Dublin Core; не путайте имена (contributor, coverage, creator, date, description, …) с метками (в английском оригинале — Contributor, Coverage, Creator, Date, Description, …). Основное правило — имена уточнений элементов могут указываться в смешанном регистре, но начинаться они должны с буквы нижнего регистра.

2.3. Схемы кодирования

Схемы кодирования представляются при помощи атрибута scheme элемента XHTML <meta>:

<meta name="DC.element" scheme="DCTERMS.Scheme" content="Значение" />

Пример:

<meta name="DC.date" scheme="DCTERMS.W3CDTF" content="2001-07-18" />
<meta name="DC.type" scheme="DCTERMS.DCMIType" content="Text" />

Схемы кодирования должны использовать имена, указанные в наборе элементов метаданных Dublin Core. Основное правило — имена схем кодирования могут указываться в смешанном регистре, но начинаться они должны с буквы верхнего регистра. Обычно используется верхний регистр.

2.4. Связывание с другими ресурсами

Если значение свойства является URI другого ресурса (например, как в случае с элементом DC.relation), предпочтительно альтернативное представление элементом XHTML <link>, как показано в следующем шаблоне:

<link rel="имяСвойства" href="ссылкаНаРесурс" />

Пример:

<link rel="DC.relation" href="http://www.example.org/" />
<link rel="DCTERMS.references" href="http://www.example.org/publications/2002/176459.pdf" />

В некоторых случаях удобно кодировать список ссылочных типов DCMI и других стандартов [XHTMLLINK], например:

<link rel="DC.rights copyright" href="http://www.example.org/rights.html" />
<link rel="DCTERMS.tableOfContents contents" href="http://www.example.org/toc.html" />

2.5. Язык значения

Язык значения указывается при помощи атрибута xml:lang элемента <meta> и/или атрибута hreflang элемента <link>:

<meta name="DC.subject" xml:lang="en-GB" content="seafood" />
<meta name="DC.subject" xml:lang="fr" content="fruits de mer" />
<meta name="DC.subject" xml:lang="ru" content="дары моря />

<link rel="DC.relation" hreflang="en" href="http://www.example.org/en/" />
<link rel="DC.relation" hreflang="de" href="http://www.example.org/de/" />
<link rel="DC.relation" hreflang="ru" href="http://www.example.org/ru/" />

2.6. Повторяющиеся элементы и уточнения элементов

Множественные значения свойства должны представляться повторением элемента <meta> для этого свойства:

<meta name="DC.title" content="Первый заголовок" />
<meta name="DC.title" content="Второй заголовок" />

Заметьте, что сохранение порядка повторяющихся элементов и уточнений элементов в различных программах не гарантируется.

2.7. Обсуждения пространств имен и профилей

Префиксы DC. и DCTERMS. в имени свойства используются для обозначения пространства имен [DCNS], из которого взято свойство. Пространство имен URI должно кодироваться в элементе XHTML <link> [RELSCHEMA]:

<link rel="schema.ПРЕФИКС" href="ссылкаНаПространствоИмен" />

Пример:

<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />

Хотя в качестве префикса может использоваться любая строка, рекомендуется использовать DC. и DCTERMS..

Чтобы чтобы указать целевому ПО профиль XHTML, использованный для кодирования метаданных DCMI, атрибут profile элемента <head> должен использоваться для предоставления URI этой рекомендации (нормативного англоязычного оригинала):

<head profile="http://dublincore.org/documents/dcq-html/">

3. Совместимость с другими рекомендациями DCMI

Отметим, что прежние версии этого документа (и другие документы DCMI по представлению метаданных в HTML) давали некоторые рекомендации, отличающиеся от тех, что излагаются здесь:

  1. Предлагалось использовать верхний регистр для имен элементов DCMES, например, Title вместо title.
  2. Уточняемый элемент предшествовал уточнению, например, DC.Date.modified вместо DCTERMS.modified.
  3. Не указывались префиксы пространств имен для схем кодирования, например, URI вместо DCTERMS.URI.
  4. Свойства со значениями, являющимися URI, не представлялись элементом HTML/XHTML <link>.

Эти формы представления приемлемы, но более не являются предпочтительными.

В целом, любые приложения, которые используют записи DC в веб-страницах, должны игнорировать регистр префиксов пространств имен, имен элементов, имен уточнений элементов. Например, следующие формы должны считаться равнозначными:

<meta name="DC.date" content="2001-07-18" />
<meta name="DC.Date" content="2001-07-18" />
<meta name="dc.date" content="2001-07-18" />

ровно как и

<meta name="DC.Date.modified" content="2001-07-18" />
<meta name="DCTERMS.modified" content="2001-07-18" />

и

<meta name="DC.Date" scheme="W3CDTF" content="2001-07-18" />
<meta name="dc.date" scheme="dcterms.W3CDTF" content="2001-07-18" />

Все приложения должны генерировать метаданные в соответствии с изложенными выше рекомендациями.

4. Совместимость с прежними версиями HTML

Все примеры этого документа совместимы с XHTML 1.1. Рекомендации в этом документе могут применяться к версиям HTML до XHTML 1.0 (например, HTML 4.01 [HTML401]), но синтаксис будет несколько иным, потому как предыдущие версии HTML не требовали «/» перед закрывающим «>» в элементах <meta> и <link>. Кроме того, в HTML 4.01 и более ранних версиях для указания языка значения должен использоваться атрибут lang, а не xml:lang. В XHTML 1.0 Transitional (то есть, в совместимой с HTML версии) должны использоваться как lang, так и xml:lang, в то время как другие версии XHTML (такие как 1.1) допускают применения только xml:lang.

5. Использование метаданных DC с другими схемами

Метаданные DC можно смешивать с другими метаданными в элементах HTML/XHTML <meta>. Следующий пример включает DC, AGLS [AGLS] и неопределенные свойства в одной веб-странице:

<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
<link rel="schema.AGLS" href="http://www.naa.gov.au/recordkeeping/gov_online/agls/1.2" />

<meta name="DC.title" content="Услуги для правительства" />
<meta name="AGLS.Function" scheme="AGIFT" content="recordkeeping standards" />
<meta name="keywords" content="архивы, управление информацией,
общественное администрирование" />

Обратите внимание, что соглашения DCMI об именовании свойств и схем кодирования могут не применяться к элементам метаданных, не относящимся к DC.

6. Пример

Подходящая к этому документу запись метаданных DC показана ниже.

…
<head profile="http://dublincore.org/documents/dcq-html/">
<title>Передача метаданных Dublin Core в элементах HTML/XHTML
meta и link</title>
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />

<meta name="DC.title" lang="ru" content="Передача метаданных
Dublin Core в элементах HTML/XHTML meta и link" />
<meta name="DC.creator" content="Алексей Бешенов" />
<meta name="DCTERMS.issued" scheme="DCTERMS.W3CDTF" content="2007-07-29" />
<meta name="DC.identifier" scheme="DCTERMS.URI"
content="http://beshenov.ru/dcq-html.html" />
<meta name="DCTERMS.abstract" content="Этот документ объясняет, как записи
метаданных Dublin Core могут включаться в веб-страницы HTML/XHTML при
помощи элементов &lt;meta&gt; HTML/XHTML" />
<meta name="DC.format" scheme="DCTERMS.IMT" content="text/html" />
<meta name="DC.type" scheme="DCTERMS.DCMIType" content="Text" />
</head>
…

7. Благодарности

Этот документ основан на существующих рекомендациях по представлению метаданных Dublin Core в [RFC2731], предыдущей версии этого документа за авторством Саймона Кокса, Эрика Миллера и Энди Пауэлла, текущем сетевом опыте и последних версиях спецификаций HTML/XHTML.

8. Ссылки

[DCMI]
Dublin Core Metadata Initiative
http://dublincore.org/

[HTML]
HyperText Markup Language (HTML)
http://www.w3.org/MarkUp/

[DCRDF]
Expressing Simple Dublin Core in RDF/XML
Dave Beckett, Eric Miller, Dan Brickley, 2001
http://dublincore.org/documents/dcmes-xml/

[QDCRDF]
Expressing Qualified Dublin Core in RDF / XML
Stefan Kokkelink, Roland Schwdnzl, 2002
http://dublincore.org/documents/dcq-rdf-xml/

[DCXML]
Guidelines for implementing Dublin Core in XML
Andy Powell, Pete Johnston
http://dublincore.org/documents/dc-xml-guidelines/

[DCMES]
Dublin Core Metadata Element Set, Version 1.1: Reference Description
http://dublincore.org/documents/dces/

[DCTERMS]
DCMI Metadata Terms
http://dublincore.org/documents/dcmi-terms/

[XHTML11]
XHTML 1.1: Module-based XHTML
W3C Recommendation, May 2001
http://www.w3.org/TR/xhtml11

[DCNS]
Namespace Policy for the Dublin Core Metadata Initiative (DCMI)
http://dublincore.org/documents/dcmi-namespace/

[RELSCHEMA]
A Proposed Convention for Embedding Metadata in HTML
http://www.w3.org/Search/9605-Indexing-Workshop/ReportOutcomes/S6Group2.html

[HTML401]
HTML 4.01 Specification
Dave Raggett, Arnaud Le Hors, Ian Jacobs, 1999
http://www.w3.org/TR/html40/

[AGLS]
AGLS Metadata Standard
http://www.naa.gov.au/recordkeeping/gov_online/agls/summary.html

[RFC2731]
Encoding Dublin Core metadata in HTML
John Kunze, 1999
http://www.ietf.org/rfc/rfc2731.txt