RDF
RDF就是定义了一种通用的框架,即资源—属性—值的三元组,一不变应万变,来描述Web上的各种资源。
资源(Resource):所有在Web上被命名、具有URI(UnifiedResourceIdentifier统一资源描述符)的东西。如网页、XML文档中的元素等;
描述(Decription):对资源属性(Property)的一个陈述(Statement),以表明资源的特性或者资源之间的联系;
框架(Frameword):与被描述资源无关的通用模型,以包容和管理资源的多样性、不一致性和重复性。
1、技术概述
综合起来,RDF就是定义了一种通用的框架,即资源—属性—值的三元组,一不变应万变,来描述Web上的各种资源。
一个简单的RDF的例子:
(指明被描述资源的URI)
TimBray(被描述资源有一个叫Author即作者的属性,其值是TimBray)
(被描述资源有一叫Home-Page即主页的属性,其值指向另一资源)
(结束标志)
2、两大关键技术
RDF有两大关键技术——URI和XML。URI是Web资源的唯一标识,它是更常用的统一资源定位符URL的超集,除了网页以外,它还可以标识页面上的元素、书籍、电视等资源,甚至可以标识某一个人。在RDF中,资源无所不在,资源的属性是资源,属性的值可以是资源,甚至于一个陈述也可以是资源,也就是说,所有这些都可以用URI标识,可以再用RDF来描述。那RDF怎样放在网络上让人使用呢?XML作为一种通用的文件格式承担了这个责任,它定义了RDF的表示语法,这样就可以方便的用XML来交换RDF的数据。
3、contents.rdf文件
我们先抛开那些形式上的目录结构,了解一下最重要的东西。
content,locale,skin这三个目录都被称为包(package),那么什么是包呢?在Mozilla下,包(package)就是一组文件集合,它的内容和功能就像上面对content,locale,skin等目录描述的那样。包可以被注册到Mozilla系统下,并且一旦被注册,它其中的文件就可以通过一种被称为chrome的地址协议进行访问。包可以包含任意类型的文件,这些文件可以被分别放置于不同的子目录下。包的表现形式既可以是目录也可以是JAR文件,但常以JAR做为表现形式,同时contents.rdf文件是必须的。那么,contents.rdf的确切功能又是什么呢?contents.rdf文件就是用来分别描述这些包的,它描述了每种包的结构和负责完成的功能。确切的说,它其中的信息是为包的注册服务的。扩展在安装时,负责安装扩展的程序会分析它的内容,并将包注册到Mozilla系统中。只有在包被注册到Mozilla系统之后,它才可以进行正常的工作,才可以被通过chrome地址协议进行访问。本章的后面将对chrome地址协议和扩展的安装原理做更一步的解释,现在只说明contents.rdf文件的结构。再有,由于基于Gecko1.8内核的Mozilla程序采用一种新的方式来进行包的注册,所以contents.rdf其实已经被废弃掉了。新方式通过一个位于扩展*目录的chrome.manifest文件来完成同样的功能,它是一个格式十分简单的纯文本文件。但为了保证扩展能够兼容Gecko1.8以前的版本,我们还要在扩展中使用contents.rdf文件格式,直到它真正的被废弃掉。我们已经了解到,contents.rdf的文件格式是RDF/XML格式的,它是一种通过XML描述的RDF格式。RDF(ResourceDescriptionFramework,译为“资源描述框架”)主要用来描述资源之间的关系,并且可以用许多格式来表示,但常用XML格式进行表示。Mozilla也只是应用了这样一种格式来描述它的包资源。前面提到的3个包属于3种不同类型的资源,所以在进行描述时也会有所区别。并且这些包的描述格式是相对固定的,你完全可以通过修改下面的模板文件来生成你的contents.rdf文件。
适用于content包的contents.rdf文件
推荐阅读