无法递归的五点半

for_each(day.begin(),day.end(),bind2nd(Add(),me))

导航

<2007年10月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

统计

常用链接

留言簿(4)

随笔分类

随笔档案

文章分类

相册

收藏夹

C++

Unix/Linux

个人主页

其他

软件工程

网络管理

综合

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜

开源XSL C++开发包

    可能因为微软、IBM这样的商业公式和开源社区在数据表达方面的不谋而合,以及再加上W3C推波助澜XML的相关技术总是和应用结合得非常紧密。XML从产生就不乏优秀的工具。在最近一个项目中,我们就使用了原生的XML存储数据库Berkely DBXML(BDB)。
其实,DBXML使用了大量优秀的开源工具来实现,其中数据存储使用Berkely DB,XML解析使用XercesC,XPath的实现使用Pathan(2.3以前),XQilla(2.3以后)。关于这几个库,我将官方网站的介绍摘录如下:
  1. Xerces-C++ is a validating XML parser written in a portable subset of C++. Xerces-C++ makes it easy to give your application the ability to read and write XML data. A shared library is provided for parsing, generating, manipulating, and validating XML documents.
  2. Pathan is a open source library which allows developers using Xerces-C to parse and evaluate XPath expressions for XML node selection.
  3. XQilla is an XQuery and XPath 2 library and command line utility written in C++ , implemented on top of the Xerces-C. XQilla is originally based on an open source project called Pathan, that was hosted by Decisionsoft and implemented XPath 2. However, XQilla has been developed and improved considerably from the Pathan code base.
  4. Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML document types
    在接下来的工作中,我们希望把存储的XML表达出来。我们通过XSL来实现XML的表达,有趣的是XSL
本身也是XML,又是一个有趣的递归。
把DBXML与XSL联系起来。我们找到了一个DBXML API中函数,他可以将XML Node 以Xerces DOMDocument 方式返回:
xercesc_2_6::DOMDocument *XmlDocument::getContentAsDOM() const;

    我们要还要引入一个库Xalan C++。Xalan C++可以将生成的结果存储在一个Xerces DOMDocument中;可以使用TransformToXercesDOM将XercesDOM作为转换的源。

    在XML开源软件中还有一支,那就是来自MIT的xmlsoft.org。其中最著名的libxml2和基于libxml2的libxslt,均应用到gnome上。这些都是C的API包,在此基础上有C++绑定,PHP绑定,perl绑定等等。debian下的php-mod-xml就源自这里。
    openoffice的OpenDocument基于XML,xml.openoffice.org上也有一些实现,同样值得关注。

posted on 2007-04-29 11:24 五点半 阅读(1998) 评论(1)  编辑 收藏 引用 所属分类: 学习笔记

评论

# re: 开源XSL C++开发包 2009-03-20 15:05 浪迹天涯

博主,你好,想和你请教xslt的一些相关知识,我msn:qj-qiujian@sohu.com
,谢谢!  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理