W3C公司

CURIE语法1.0

表示URI的紧凑语法

附注2005年10月27日

此版本:
居里
最新版本:
2005年10月27日
以前的版本:
编辑:
Mark Birbeck,x-port.net有限公司。<Mark.Birbeck@x-port.net>

摘要

本文档的目的是概述用缩写语法表示URI的语法。

本文件的状态

这是由HTML中的RDF生成的内部草稿工作队[RDFHTML],一个联合工作队语义Web最佳实践和部署工作[SWBPD-WG]和HTML工作组[HTML-WG].

上次修改时间:2005-10-27

目录

1动机
    1.1CURIE的现有用途
        1.1.1维基
2用法
    2.1示例
    2.2CURIE和URI之间的歧义
参考文献


1动机

URI可以使用QNames以XML表示。由于QNames是总是比它们表示的URI短,这显然是一个非常有用的设备。然而,a主要问题是限定名[姓名-输入-XML-QNAMES]是这样的吗它不允许所有可能的URI表达。(用于XML模式的定义QNames的数据类型请参见[XML-SCHEMA-QNAME].)

IPTC提供了这一问题的具体示例[国际警察组织].他们希望能够在标记中使用属性在文档中携带元数据,因此试图广泛使用QNames,以使传输的数据量尽可能少。换句话说,QNames被用来缩写URI,而不是发送大量的长URI。然而,XML中QNames的目的是为XML元素提供一种方式包含要解释为具有不同名称的元素的冒号(请参见[姓名-输入-XML-QNAMES]). 因此,定义如下:冒号后面的部分必须是有效的元素名,示例如下无效:

网络电话:10112244

这不是有效的QName,因为“10112244”不是有效的元素名。然而,在第一种情况下使用QName的全部原因位置是缩写URI,并且以创建命名空间限定的元素名称。这引发了一个有趣的问题;QName的定义坚持使用有效的XML元素名字,但越来越常见使用的QNames是缩写URI的一种方式,不幸的是,这两者与彼此。

本说明建议我们通过简单地创建一个新的数据类型来克服这一问题,该数据类型的目的是专门允许以这种方式缩写URI。这种类型称为“CURIE”或“Compact URI”,QNames是其中的一个子集。

1.1 CURIE的现有用途

尽管它们目前不被称为CURIE,但这里描述的技术正在广泛使用。然而,从字面上看,QNames不支持我们“在野外”发现的许多示例——事实上,它们支持的主要原因是系统作者对QNames采取了非常宽松的方法。

换句话说原理在QNames中使用——用名称空间前缀替换URI,从而生成更长的URI——被广泛使用,但很少使用对元素部分进行检查,以确保字符串是有效的元素名。然而,这确实意味着CURIE可以在许多地方轻松使用,因为已经有了大量的“思想共享”。目前的用途包括:

1.1.1维基

许多Wiki都支持一种功能,其中前缀如下印度标准银行可以替代如下内容:

http://www.amazon.com/?isbn=

或:

http://www.barnesandnoble.com/?q=

当Wiki作者想要使用此功能时,只需输入:

去买T.V.Raman的[[isbn:0321154991][XForms]]。

Wiki软件将自动生成:

去买T.V.Raman的http://www.amazon.com/?isbn=0321154991“>关于XForms的书籍。

注:

从技术上讲,这不是潜意识广告,因为广告仍然在你的屏幕上。

2使用

CURIE的使用方式与QNames完全相同是,修改后的冒号前后的字符串比较松散。总共如果解析的CURIE将生成URI。但是解析过程包括替换名称空间由前缀的名称空间前缀表示然后简单地将该部分附加到冒号。还有一条附加规则;如果没有存在冒号,则为当前默认的XML命名空间已预先添加。随着示例。

2.1示例

以下所有都是有效的CURIE(尽管它们不是有效的QName),并且它们利用了冒号后面的部分不再需要符合元素名称的规则:

home:#开始约瑟基:谷歌:xforms或“xml表单”

冒号之前的部分不能像后面的部分那样松散,因为它必须符合命名空间前缀。然而,考虑到发生了简单的字符串替换,下面也是全部有效:

:#开始::xforms或“xml表单”

注意如何“:“作为默认的XML命名空间.

2.2 CURIE和URI之间的歧义

在某些情况下,属性最好能够同时包含这两者CURIE和URI。例如,在XHTML中href公司属性允许指定URI将根据用户操作进行导航,但使用简洁的语法。然而,问题是不可能完全确定您有一个CURIE或URI。例如,指向电子邮件地址的链接可以这样表示:

为什么不<a href=“smtp:联系人@example.com“>给我们写信</a>。

无法确保这是一个正常的URI或CURI。因此如果存在任何可能的歧义,则将CURIE包含在方括号,如下例所示:

<html xmlns:wiki=“http://en.wikipedia.org/wiki/"><头部></头部><body><p>了解更多关于泰雷兹的信息。</p></body></html>

注:

这不仅缩写了URI,而且它还可以更改整个URI组以指向其他源,只需更改名称空间定义。例如,考虑以下标记:

<html xmlns:wiki=“http://en.wikipedia.org/wiki/"><头部></头部><body><p>泰勒斯对其他希腊思想家产生了深远的影响,因此也影响了西方历史。一些人认为阿纳克西曼德是泰勒斯的学生。早期有消息称,阿纳克西曼德的一个更著名的学生,毕达哥拉斯年轻时访问了泰勒斯建议他去埃及进一步学习哲学和数学。</p></body></html>

假设对Wiki条目的所有引用都基于中定义的命名空间xmlns:wiki,然后,只需更改此名称空间即可更改文档中所有Wiki引用的基础。不是这样的很难理解,通过扩展这一原则,用户可以开始控制自己的浏览体验。例如,文档可能包含对公司的引用,并带有指向有关公司、财务信息和主要董事的详细信息。通过使用CURIE来表达这些链接可以对信息、事件使用不同的源,以覆盖它们用户:

<html xmlns:finance=“…”xmlns:news=“…”xmlns:people=“…”><头部></头部><body><p>鲍尔默告诉德国出版物《经理人》,之前关于合作谈判的报道与时代华纳公司合作-<a href=“news:TWX”>新闻谣言”,但软件利维坦确实渴望扩大其互联网业务。</p></body></html>

3参考文献

RDF语法
RDF/XML语法和语法(请参阅http://www.w3.org/TR/rdf-syntax-grammar/.)
XML模式-QNAME
XML模式第2部分:数据类型秒版本:第3.2.18节QName(参见http://www.w3.org/TR/xmlschema-2/#QName.)
名称-IN-XML-QNAMES
XML中的命名空间:第3节:限定名称(请参阅http://www.w3.org/TR/REC-xml-names/#dt-q名称.)
国际警察组织
国际新闻电信理事会(参见网址:http://www.iptc.org/.)
RDFHTML公司
HTML中的RDF任务组(请参阅http://w3.org/2001/sw/BestPractices/HTML/.)
SWBPD-WG公司
语义Web最佳实践和部署工作组(请参阅http://w3.org/2001/sw/BestPractices网站/.)
HTML-WG公司
HTML工作组(请参阅http://w3.org/MarkUp/Group/.)