📄 rfc2731.txt
字号:
组织:中国互动出版网(http://www.china-pub.com/)
RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
译者:王安鹏(anpengwang anpengwang@263.net)
译文发布时间:2002-3-29
版权:本翻译文档可以用于非商业用途自由转载,但必须保留本文档的翻译及组织信息。
Network Working Group J. Kunze
Request for Comments: 2731 Dublin Core
Category: Informational Metadata Initiative
December 1999
在HTML中使用DC元数据
(Encoding Dublin Core Metadata in HTML)
本备忘录状态
本备忘录为Internet社区提供一些信息,但没有规定任何Internet标准。本备忘录的发布不受限制
版权信息
Copyright (C) The Internet Society (1999)。版权所有。
目录
1. 摘要 1
2. HTML、Dublin核心元数据及其他原数据 1
3.META标签 2
4、LINK标签 2
5、编码建议 3
6、DC元数据的实际应用 4
7、DC元素编码 4
8、安全性问题 10
9、附录——处理用META标签编码的元数据的Perl脚本程序 10
10. 作者地址 15
11、参考资料 15
12、版权声明 17
1. 摘要
Dublin核心元数据 [DC1]是描述信息资源的小的元数据元素集合,本文讨论如何在HTML文档[HTML4.0]中通过META和LINK标签表示这些元素。嵌入HTML的元数据用于描述文档本身的信息。本文通过一些例子说明了如何用现有的软件来检索、显示和处理这些元数据,软件包括附录中列出的[SWISH-E]、[freeWAIS-sf2.0]、[GLIMPSE]、 [HARVEST]、 [ISEARCH]以及Perl[PERL]脚本语言等。
2. HTML、Dublin核心元数据及其他原数据
[DCHOME]发起的Dublin核心元数据推出了一组少量的资源描述类别DC1,或者叫元数据元素(从字面上看就是关于数据的数据)。一般而言,元数据元素相对它们所描述的资源要小得多,而且如果资源格式支持可以把元数据嵌入到资源中。支持嵌入元数据的有两类资源:超文本标记语言(HTML)与扩展标记语言(XML)。HTML已经得到了广泛的应用,但是一旦标准化,XML与资源描述框架(RDF)一起有望提供对源数据进行编码的更有效的方式。RDF规范实际上描述了在HTML文档中按照一种简洁语法应用RDF的方法。
本文讲述了如何在HTML4.0中对元数据进行编码,这些元数据元素的语义在其他文档中定义。为了方便说明,文中提及了某些元数据的语义,但不应把这些语义看作是定义性的。
HTML编码允许DC元数据元素与其它元素混合使用(前提是那些元素的用法支持混合使用)。DC元素使用前缀“DC”标记,其他元素则使用另外的标记,比方说AC表示来自A-Core[AC]的元素。
3.META标签
HTML中的META标签用于已经命名的元数据元素进行编码,每个元素描述了文档或者其他信息资源的一个方面。比方说<meta name="DC.Creator" content="Simpson, Homer">,这个元素说明创作者是Homer Simpson,其中Creator是DC元素集中定义的一个元素。更一般的形式为:
<meta name = "PREFIX . ELEMENT_NAME"
content = "ELEMENT_VALUE">
大写部分表示在应用时要换成真正的标记符,在上面的例子中,ELEMENT_NAME是Creator, ELEMENT_VALUE是Simpson, Homer而PREFIX则是DC。
在META标签中,DC元素名的第一个字母要大写,但对元素值的大小写没有要求,也没有限制同时出现的META元素的个数与顺序。同一个DC元素可以出现多次,每个DC元素都是可选的。下面的例子是对一本书的说明,它有两位作者、两个标题:
<meta name = "DC.Title"
content = "The Communist Manifesto">
<meta name = "DC.Creator"
content = "Marx, K.">
<meta name = "DC.Creator"
content = "Engels, F.">
<meta name = "DC.Title"
content = "Capital">
使用META编码的所有DC元素都带有“DC”前缀,与后面的元素名之间用点号(“.”)隔开。每个非DC元素的编码都应该有相应的前缀以便于跟踪其来源和定义,前缀与元素定义之间的联系通过LINK元素来完成,参阅下一节的说明。非DC元素,比如来自AC的Email可以与DC元素混合使用:
<meta name = "DC.Creator"
content = "Da Costa, José">
<meta name = "AC.Email"
content = "dacostaj@peoplesmail.org">
<meta name = "DC.Title"
content = "Jesse "The Body" Ventura--A Biography">
这个例子还说明了特殊字符的编码,第一个元素作者名中使用HTML字符实体引用表示一个音标符号——带有重音号的字母E。类似的,最后一行中有两个双引号使用的是数字字符引用,以便于元素内容分隔符区别开。
4、LINK标签
HTML的LINK可以把元素名前缀与元素的参考定义关联在一起。如果没有LINK标签与相应的定义文档关联,只有META标签描述的资源是不完整的。前面的例子再加上以下两个元素就可以认为是完整的了:
<link rel = "schema.DC"
href = "http://purl.org/DC/elements/1.0/">
<link rel = "schema.AC"
href = "http://metadata.net/ac/2.0/">
一般来说这种联系通常采用如下的形式:
<link rel ="schema.PREFIX" href = "LOCATION_OF_DEFINITION" >
其中的PREFIX要代换为实际使用的前缀,LOCATION_OF_DEFINITION则是定义文档的URL或URN。嵌入在HTML文档HEAD部分的LINK和META序列,描述的是该HTML文档自身的信息。下面是带有描述信息的一个完整的HTML文档。
<html>
<head>
<title> A Dirge </title>
<link rel = "schema.DC"
href = "http://purl.org/DC/elements/1.0/">
<meta name = "DC.Title"
content = "A Dirge">
<meta name = "DC.Creator"
content = "Shelley, Percy Bysshe">
<meta name = "DC.Type"
content = "poem">
<meta name = "DC.Date"
content = "1820">
<meta name = "DC.Format"
content = "text/html">
<meta name = "DC.Language"
content = "en">
</head>
<body><pre>
Rough wind, that moanest loud
Grief too sad for song;
Wild wind, when sullen cloud
Knells all the night long;
Sad storm, whose tears are vain,
Bare woods, whose branches strain,
Deep caves and dreary main, -
Wail, for the world's wrong!
</pre></body>
</html>
5、编码建议
与这里推荐的元数据编码方式相比,在原理上和实际应用中HTML对元数据编码的要求更加宽松,不过稍加限制更有助于元数据解码和处理软件的开发。在目前的发展阶段,一些简单的原型和试验促进了实用标准的开发。
因此最好按照本文以下所举例子的标记方法在HTML中书写元数据:前缀及元素名用大写、属性值用双引号括起来,一行中最多只有一个META元素。当然实际编写元数据代码的伸缩性很大,不过选择并始终坚持这种风格似乎更有助于元数据的处理与编辑。下面的三个标签都符合上面的建议,内容也相同但是书写风格不一致:
<META NAME="DC.Format"
CONTENT="text/html; 12 Kbytes">
<meta
Content = "text/html; 12 Kbytes"
Name = "DC.Format"
>
<meta name = "DC.Format" content = "text/html; 12 Kbytes">
按照上述建议编码有助于使元数据被一些广泛使用的免费软件包所接受、检索和处理,比如[SWISH-E]、[freeWAIS-sf2.0]、[GLIMPSE]、[HARVEST]和[ISEARCH]。这些约定还可以与附录中的脚本,以及[DCHOME]网站上的大部分[DCPROJECTS]应用程序协同工作。支持LINK标签和修饰符约定(下一节)的软件现在还不多。
元数据元素的顺序一般是不固定的。检索并显示元数据的软件的开发者应该尽量保持同名的META标签元素的相对顺序(比方说多个文档作者),但是如果通过不明系统传输,元数据的提供者与检索程序并不能保证元数据的先后顺序保持不变。
6、DC元数据的实际应用
在实际用与资源描述时,为了表达含义上的细微差别,经常需要对DCC元素作一些修饰。虽然这些修饰符的应用原则和具体语义超出了本文的范围,为了方便日常应用,后面通过一些例子介绍修饰语法。对下述在META标签中应用元数据描述符的三种语法(可能发生变化)不再作进一步的说明。
<meta lang = "LANGUAGE_OF_METADATA_CONTENT" ... >
<meta scheme = "CONTROLLED_FORMAT_OR_VOCABULARY_OF_METADATA" ... >
<meta name = "PREFIX.ELEMENT_NAME.SUBELEMENT_NAME" ... >
据此,某部西班牙语的遗作可以写为:
<meta name = "DC.Language"
scheme = "rfc1766"
content = "es">
<meta name = "DC.Title"
lang = "es"
content = "La Mesa Verde y la Silla Roja">
<meta name = "DC.Title"
lang = "en"
content = "The Green Table and the Red Chair">
<meta name = "DC.Date.Created"
content = "1935">
<meta name = "DC.Date.Available"
content = "1939">
需要注意,本文例中所使用的修饰符语法和标签后缀(跟在元素名和点号后)仅仅反映了修饰符HTML编码的趋势,这种语法格式和后缀既非标准也不建议这么做。
7、DC元素编码
这一节针对不同的DC元素举出了相应的应用实例:
Title (给出的资源名)
-----
<meta name = "DC.Title"
content = "Polycyclic aromatic hydrocarbon contamination">
<meta name = "DC.Title"
content = "Crime and Punishment">
<meta name = "DC.Title"
content = "Methods of Information in Medicine, Vol 32, No 4">
<meta name = "DC.Title"
content = "Still life #4 with flowers">
<meta name = "DC.Title"
lang = "de"
content = "Das Wohltemperierte Klavier, Teil I">
Creator (常见内容的实体)
-------
<meta name = "DC.Creator"
content = "Gogh, Vincent van">
<meta name = "DC.Creator"
content = "van Gogh, Vincent">
<meta name = "DC.Creator"
content = "Mao Tse Tung">
<meta name = "DC.Creator"
content = "Mao, Tse Tung">
<meta name = "DC.Creator"
content = "Plato">
<meta name = "DC.Creator"
lang = "fr"
content = "Platon">
<meta name = "DC.Creator.Director"
content = "Sturges, Preston">
<meta name = "DC.Creator.Writer"
content = "Hecht, Ben">
<meta name = "DC.Creator.Producer"
content = "Chaplin, Charles">
Subject (主题或关键字)
-------
<meta name = "DC.Subject"
content = "heart attack">
<meta name = "DC.Subject"
scheme = "MESH"
content = "Myocardial Infarction; Pericardial Effusion">
<meta name = "DC.Subject"
content = "vietnam war">
<meta name = "DC.Subject"
scheme = "LCSH"
content = "Vietnamese Conflict, 1961-1975">
<meta name = "DC.Subject"
content = "Friendship">
<meta name = "DC.Subject"
scheme = "ddc"
content = "158.25">
Description (说明、小结与摘要)
-----------
<meta name = "DC.Description"
lang = "en"
content = "The Author gives some Account of Himself and Family
-- His First Inducements to Travel -- He is
Shipwrecked, and Swims for his Life -- Gets safe on
Shore in the Country of Lilliput -- Is made a
Prisoner, and carried up the Country">
<meta name = "DC.Description"
content = "A tutorial and reference manual for Java.">
<meta name = "DC.Description"
content = "Seated family of five, coconut trees to the left,
sailboats moored off sandy beach to the right,
with volcano in the background.">
Publisher (出版商、发布方)
---------
<meta name = "DC.Publisher"
content = "O'Reilly">
<meta name = "DC.Publisher"
content = "Digital Equipment Corporation">
<meta name = "DC.Publisher"
content = "University of California Press">
<meta name = "DC.Publisher"
content = "State of Florida (USA)">
Contributor (其他贡献者)
-----------
<meta name = "DC.Contributor"
content = "Curie, Marie">
<meta name = "DC.Contributor.Photographer"
content = "Adams, Ansel">
<meta name = "DC.Contributor.Artist"
content = "Sendak, Maurice">
<meta name = "DC.Contributor.Editor"
content = "Starr, Kenneth">
Date (该资源生命期中的某个时点; 推荐[WTN8601])
----
<meta name = "DC.Date"
content = "1972">
<meta name = "DC.Date"
content = "1998-05-14">
<meta name = "DC.Date"
scheme = "WTN8601"
content = "1998-05-14">
<meta name = "DC.Date.Created"
content = "1998-05-14">
<meta name = "DC.Date.Available"
content = "1998-05-21">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -