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

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

本文将给出 DOAP 词汇表的初步草案,和一些项目的示例描述。本文中包含大量的例子,建议在阅读的过程中练习创建自己的DOAP 描述。

概述

我将使用 RDF 模式语言讨论 DOAP。虽然 DOAP 很容易作为 XML 使用,但是您将看到它从根本上是一个 RDF 词汇表。要注意本文中使用的两个 RDF 模式概念: 类和 属性。在 RDF 中,类是一种资源类型,就像在 Java 编程语言中类是对象的类型一样。属性是资源和其他资源或者文字值的联系。其他介绍 RDF 的developerWorks文章请参阅 参考资料.

在开始介绍 DOAP 词汇表的术语之前,先看一看这个简单的示例 DOAP 文件,清单 1 是 DOAP 项目本身的最小化描述:

清单 1. 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>

从 清单 1可以看到编写 DOAP 文件的一些一般规则:

类用首字母大写的词汇标记,如“Project”和“Person”。这是编写 RDF 词汇表的一般约定,它似乎工作得很好。属性用小写书写。

DOAP 文档的最外层元素是 <Project> 。2004 年 2 月的RDF 语法规范(请参阅 参考资料)允许省略 <rdf:RDF> 容器,描述可以用外层节点编写。

朋友的朋友(Friend-of-a-Friend ,FOAF)词汇表用于描述人。我曾对此写过几篇文章(请参阅 参考资料)。

DOAP 名称空间是 http://usefulinc.com/ns/doap# 。

标准属性 xml:lang 表示文本属性的语言。

DOAP 词汇表目前包括三个类:

Project:主项目资源

Version:发布软件的实例

Repository:源代码资料库

事实上,Repository 有几个子类,后面将说明。现在我们来依次分析各个类。

时间: 2024-08-04 04:41:51

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

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

在本系列的前面三篇文章中,我论述了 XML/RDF 词汇表 DOAP 的开发,DOAP 用于描述开发源代码项目以及相关的一些资源.通过使用 DOAP,软件维护人员不再需要在多个 Web 站点注册他们的程序.相反,他们可以简单地给出 DOAP 描述的 URL.随着更多的应用程序成为 DOAP 感知的应用程序,参与和管理开放源代码项目开启了新的可能性. 为达到这些目标,除了创建词汇表外,还要做更多的事情,这一点很重要.在这篇总结性的文章中,我从文档.工具和社区这几个方面考察了采用 DOAP 所需要的

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