WEB开发网
开发学院WEB开发Xml 查询 XML 数据库外的 XML 文档 阅读

查询 XML 数据库外的 XML 文档

 2010-10-22 17:19:23 来源:WEB开发网   
核心提示: XQuery 和 Maven POM 文件Maven POM 是位于数据库外的 XML 的一个很好示例,在大多数情况下,查询 XML 数据库外的 XML 文档(5),实际读取 POM 文件的惟一工具只是 Maven 本身,考虑一个基于 XML 的 POM 文件的可能性:它是开放的,不足之处在于这

XQuery 和 Maven POM 文件

Maven POM 是位于数据库外的 XML 的一个很好示例。在大多数情况下,实际读取 POM 文件的惟一工具只是 Maven 本身。考虑一个基于 XML 的 POM 文件的可能性:它是开放的,可以在任何平台上读取,包含大量关于您的软件项目的未用信息。但是,它很少在 Maven 之外使用。

这种情况很容易改变!使用 XQuery,只需几行代码就可以从您的 Maven POM 文件检索有价值的信息。但是,在此之前,花点时间考虑 Maven POM 文件之内隐藏了何种信息?您在日常开发过程中处理的维护问题是什么?Maven POM 文件的 XQuery 分析如何能够帮助解决这样的问题?

检索基本依赖项

如果您的公司内有多个软件项目,那么在使用库时实现某种一致性是明智的做法。例如,您知道您的项目使用的 Log4J 是何种版本吗?您可以通过查询一个 POM 文件来找到答案,如 清单 3 所示。

清单 3. 确定 Log4J 版本

declare namespace m = "http://maven.apache.org/POM/4.0.0"; 
let $doc := doc("http://krank.googlecode.com/svn/trunk/pom.xml") 
return <results>{$doc//m:dependency[m:artifactId eq 'log4j']/m:version/text()}</results> 

这个查询的结果是:

<results>1.2.131.2.13</results> 

注意:这个 POM 文件只是来自 Google Code 的一个随机文件,因为它是公开可用的。不足之处在于这个文件可能在本文发布之后可能更改或消失。如果您想要另一个示例,可以通过搜索 Google Code 中的 pom.xml 文件来轻松修复这个问题。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:查询 XML 数据库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接