XML观察:使用XML描述开放源代码项目 4

在本系列的前面三篇文章中,我论述了 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 输出

时间: 2024-10-31 05:20:48

XML观察:使用XML描述开放源代码项目 4的相关文章

XML观察:使用XML描述开放源代码项目 3

本系列的前两篇文章中,我分析了描述开放源代码项目的XML/RDF 词汇表的原理和设计问题.DOAP(Description of a Project,项目描述)词汇表应该能够满足项目维护者(他们发现需要在无数的网站上注册自己的软件)以及寻找并交换这类信息的人员的需要.第 1 部分列举了目前这方面的研究,定义了项目的边界.第 2 部分提出了词汇表的候选术语,并强调了一些设计问题. 本文将给出 DOAP 词汇表的初步草案,和一些项目的示例描述.本文中包含大量的例子,建议在阅读的过程中练习创建自己的D

XML观察:使用XML描述开放源代码项目 2

在本系列文章的 第 1 部分中,我提出了旨在建立 DOAP(项目的描述)的项目,一种描述开放源代码项目的 RDF/XML 词汇表.对于那些需要在无数个 Web 站点上注册软件的项目维护者,以及寻求交换这类信息的任何人而言,DOAP 将满足他们的需求.那篇文章列举了该领域已经进行的工作,并定义了这个项目的边界. 这一次,我将抽取包含在该词汇表中的一组术语,并讨论规定这类术语所固有的困难.我将说明能够在全球分享 DOAP 描述的美好目标对词汇表的设计所带来的影响. 凝炼术语 表 1 列出了对不同软件

XML观察:使用XML描述开放源代码项目 1

开放源代码项目最伟大的一点是其本质上的民主性:任何人都很容易启动自己的项目,事实上经常如此!不幸的是,用户要找到适合自己用途的软件可能比较难.这一要求在过去一直通过不同的软件注册来满足.可能最出名的也是历史最悠久的软件注册是 Freshmeat,但还有更多,通常是针对更专门化的要求.比如,Free Software Foundation 的 FSF/UNESCO Free Software Directory.GNOME Software Map 以及 BioInformatics Softwa

微软成立全资子公司 从事开放源代码项目

微软成立子公司从事开源项目[搜狐IT消息]北京时间4月13日消息,据国外媒体报道,微软当地时间周四组建了一家名为"微软开放技术公司"(Microsoft Open Technologies Inc.)的子公司,负责与开放源代码项目.开放标准组织和互操作性团队合作.微软开放技术公司的班底是微软的互操作性策略团队,员工数量在50人至75人之间,高管珍·鲍利(Jean Paoli)将担任微软开放技术公司掌门.鲍利在接受媒体采访时表示,微软现有部门将继续参与开放源代码项目,新成立的子公司能以更

开放源代码的云计算应用

微软雅黑,sans-serif; font-size:10.5pt">众所周知,Linux 和开放源代码在云计算中的应用中扮演者极为重要的角色,让我们来探索一下,Linux 和开源社区究竟是如何为其做出贡献.当然,聪明如你,可能已经猜到其中一二,但还请大家继续往下看. Software-as-a-Service SaaS(软件即服务)就是以服务的形式访问 Internet 上的软件.一种早期的 SaaS 方法是 Application Service Provider(ASP).ASP 提

Borland加强对开放源代码平台Eclipse支持

源代码 软件交付最优化解决方案厂商 -- Borland软件公司进一步加强对开放源代码开发平台 Eclipse的支持.Eclipse平台被开放源代码支持者所广为称誉,是一个支持多语言的通用部署平台.Borland 加入 Eclipse 基金会(Eclipse Foundation)的董事会后,将以策略性开发者的身份,领导推动 Eclipse 技术的发展.Borland 还将组织一支全职开发队伍,专责扩展 Eclipse 平台,在软件模型等技术领域作出贡献.事实上,软件模型技术正是 Borland

eclipse-导入javax.xml.bind.jar包后运行android项目出错

问题描述 导入javax.xml.bind.jar包后运行android项目出错 导入javax.xml.bind.jar包后运行android项目出现Conversion to Dalvik format failed with error 1,什么原因,怎么解决 解决方案 http://blog.csdn.net/androidzhaoxiaogang/article/details/6889876http://dev.wo.com.cn/docportal/doc_queryMdocDet

javascript+xml制作的随机抽奖程序源代码

javascript|xml|程序|随机|源代码|抽奖 javascript+xml制作的随机抽奖程序源代码 以下index.html源代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.o

XML入门教程:XML 浏览器支持

xml|教程|浏览器|入门教程 几乎所有的主流浏览器均支持XML和XSLT. Mozilla Firefox 从1.0.2版本开始,Firefox就已开始支持XML和XSLT(包括CSS). Mozilla Mozilla含有用于XML解析的Expat,并支持显示XML + CSS.Mozilla同时拥有对Namespaces的某些支持. Mozilla同样可做到对XSLT的执行(XSLT implementation). Netscape 自从版本8开始,Netscape开始使用Mozilla