在本系列的前面三篇文章中,我论述了 XML/RDF 词汇表 DOAP 的开发,DOAP 用于描述开发源代码项目以及相关的一些资源。通过使用 DOAP,软件维护人员不再需要在多个 Web 站点注册他们的程序。相反,他们可以简单地给出 DOAP 描述的 URL。随着更多的应用程序成为 DOAP 感知的应用程序,参与和管理开放源代码项目开启了新的可能性。
为达到这些目标,除了创建词汇表外,还要做更多的事情,这一点很重要。在这篇总结性的文章中,我从文档、工具和社区这几个方面考察了采用 DOAP 所需要的一些东西。
查看 DOAP
为了唤起您的记忆,这里有一个简单的 DOAP 文件 -- 清单 1 展示了用于 DOAP 项目本身的一个很小的 DOAP 文件。
清单 1. DOAP 项目本身的简单 DOAP 描述
<Project xmlns="http://usefulinc.com/ns/doap#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf="http://xmlns.com/foaf/0.1/">
<name>DOAP</name>
<homepage rdf:resource="http://usefulinc.com/doap" />
<created>2004-05-04</created>
<shortdesc xml:lang="en">
Tools and vocabulary for describing community-based
software projects.
</shortdesc>
<description xml:lang="en">
DOAP (Description of a Project) is an RDF vocabulary and
associated set of tools for describing community-based software
projects. It is intended to be an interchange vocabulary for
software directory sites, and to allow the decentralized
expression of involvement in a project.
</description>
<maintainer>
<foaf:Person>
<foaf:name>Edd Dumbill</foaf:name>
<foaf:homepage rdf:resource="http://usefulinc.com/edd" />
</foaf:Person>
</maintainer>
</Project>
DOAP 用户的最先需求也是最基本的需求是,获得该数据的一个用户友好的视图。如果不存在其他的编辑机制,那么可以手工编辑一个文件,然后使用查看器检查该文件 -- 很多 Web 站点都采用这种古老而又公认有问题的方法创建。创建查看器最快捷的方法可能是编写一个 XSLT 样式表,以便将传入的 RDF/XML 转换成 HTML。
然而,DOAP 不仅仅是一个 XML 词汇表,也就是说,使用 XSLT 并不是一个简单的决定。查看器可以用于不止一个目的:它不仅提供对 DOAP 数据的查看,而且还是 DOAP 处理应用程序的第一个例子。于是,很多第一次接触 DOAP 的实现者都拿它作为一个例子。因此,如果 DOAP 查看器是一个 RDF 感知的应用程序,那么它就很有帮助。
为了创建一个查看器,我使用 Redland RDF Application 库将 DOAP 文件读到一个驻留在内存中的 RDF 存储中,并从该存储中提取数据到 XML 中,然后用 XSLT 格式化该 XML。这种中间 XML 表示可以转换成服务器端应用程序上的 HTML,或者可以用来驱动客户端 DOAP 查看器的图形用户界面。图 1 展示了来自查看器的经过转换的 HTML 输出。
图 1. 转换后的 DOAP 输出