|
这三个目标实际上有相互重叠的地方。对于不用在一个平台上传递的 Web 页面和视力减弱的用户能方便地理解的 Web 页面来说,文本语音翻译器读出 Web 页面中的内容仍然具有意义。XHTML 2 工作草案(XHTML 2 Working Draft)中提到:
各种新设备出现在网络上,如电话、PDA、写字板、电视等等,这意味着需要有一种设计,允许我们创作一次然后在不同的设备上以不同的方式呈现,而不是为每种类型的设备都创作一种新版本的文档。 发布者不需要从未来考虑其价值。设备独立使它们中的很多在 XML 发明之前应用于 SGML,因为它让这些设备以打印的方式,在 Web 页面上以及在 CD-ROM 上发布相同的内容,只要该内容的编辑版本中存储有足够的结构和语义信息,从而使自动例程把它转换成各自的格式。我记得十一年之前当我们的竞争者要把内容的编辑版本存储为 HTML 时,我的前老板的办公室中充斥着窃笑声;使用 XHTML 2 就不再是一个疯狂的想法了。
如果 XHTML 2 元素中已有的语义对你来说还不够的话,新加入的 role 属性(可以被加入到任何元素中)可以告诉你元素更多的用途。XHTML 2 规范为这个属性指定了九个可能的值:banner、note、contentinfo、search、definition、secondary、 main、seealso 和 navigation。角色值,如 banner 和 navigation,显然更加面向表示,但是对于 definition 和 note 之类的值,其中的语义在为多媒体准备内容的发布环境中更具实用性。您甚至还可以构造自己的 role 值,只要它们处于自己的名称空间就即可。
更易于添加元数据
W3C RDF 标准让我们把元数据指派给任何能够使用 URL 识别的内容。这一操作的标准 RDF/XML 语法出现于 1999 年,它的复杂和困难程度吓退了许多人。通过使用已有的 HTML 属性和加入一些新属性,XHTML 2 让我们使用新的、更简单的 RDFa 语法添加有关文档和文档组件的元数据(可以使用一个 about 属性识别它们)。清单 3 中的一些例子中,span 元素存储了嵌入主谓宾三重结构所需的附加信息(当作宾语 ID-attribute name-attribute 值三重结构可能会更容易),用于表示 RDF 元数据。
清单 3. 使用 span 元素编码元数据
<section> <span property="dc:subject" content="recipe"/> <span property="fb:workflowStage" content="3a"/>
<h><span property="dc:title"> Carrion, My Wayward Son </span></h> <p><span property="dc:date" content="2007-05-15" datatype="xs:date> May 15, 2007 </span></p> </section> </blockcode> </section> 因为 清单 3 中的 RDFa 标记并没有使用任何 about 属性来命名主语,因此 RDFa 处理器会假定文档本身就是各个三重结构的主语,这正是我们所希望的 — 它们是关于文档本身的元数据。
假设前缀 dc 声明表示 Dublin Core 名称空间 http://purl.org/dc/elements/1.1/,fb 表示虚拟 FooBar Company 的 http://www.foobarco.com/ns/vocab# 名称空间,清单 3 中的 RDFa 标记使我们可以在 RDF triples 的数据库中提取和加载如下语句:
这个文档拥有一个 Dublin Core 主语 “recipe”。
这个文档的 workflowStage 值(创建该文档的公司的自定义的元数据)为 “3a”。 这个文档的 Dublin Core 标题为 “Carrion, My Wayward Son”。对于这个语句来说,元数据值,或者该 triple 的宾语,是当前 Web 页面的一部分,并且没有像其他的 span 元素一样存储在 content 属性中。不需指定单独的宾语并且让文档本身充当主语,我们在文档中添加了一个实用的三重元数据,其中 span 元素只有一个属性。
|
| 共5页: 上一页 [1] [2] [3] 4 [5] 下一页 |
评论加载中…