分享
 
 
 

Saxon - XSLT与XQuery处理器

王朝c#·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

Saxon - XSLT与XQuery处理器

Saxon 是由英国的Michael Kay开发的XSLT与XQuery处理器,自从1999年以开源产品发布,引导着XSLT处理器技术,并赢得较高声誉。迄今依然是仅有的XSLT2.0规范草案的实现,在很大程度上推动了XSLT语言的普及。

从2003年中发布的7.6版开始,Saxon增加了对XQuery的支持。两种语言的运行期代码是相同的,这说明,事实上它们有非常相似的语义。Saxon中的XQuery支持本质上由一个XQuery解析器(也是XPath解析器的扩展)组成;解析器与XSLT处理器一样,生成相同的内部可解释的代码。

XQuery处理器没有提供图形用户界面,可以从操作系统的命令行调用,也可以通过Java应用程序的API调用。

Saxon是一个内存处理器。无论使用XSLT还是XQuery,Saxon被设计来处理在内存中装配好的源。

Saxon也是仅有的在一个集成包中提供XSLT和XQuery的产品,可以使用每种语言以获得最好的效果。两个接口是互补的:你可以在XQuery中写一个函数库,并在XSLT样式表中调用此函数。

Saxon介绍

版本8.1.1是最新的Saxonica的对XPath2.0、XSLT2.0和XQuery1.0的实现。这个版本实现了这些语言的模式敏感(schema-aware)的特性,也包含一个自立的符合XML Schema1.0的模式处理器。

Saxon 8.1 是在与Stylus Studio合作下开发的。Stylus Studio版本6利用了8.1版Saxon引入的新特性,而支持样式表和查询调试。Saxonica乐于推荐Stylus Studio作为一个领先的XML、XSLT和XQuery开发环境。

Saxon 8.1 提供新的功能,改良的性能,和更好的程序诊断。Saxon-SA 的特许样式也更加灵活,在不同的价格层次提供不同的特性组合。

产品已经按照2004年6月发布的工作草案调整,虽然少数特性尚未实现,自从草案发布,改变已经列入实现结果。

Saxon 8.1现有两个版本。Saxon-B 8.1是一个无模式的处理器,并且作为开源产品免费在SourceForge(http://saxon.sf.net/)上提供。它遵照XSLT2.0的基本一致性,也遵循XQuery1.0。Saxon-SA 8.1 是程序包的模式敏感(schema-aware)版本,在Saxonica有限公司(http://www.saxonica.com/)以商业配套产品提供。许可证选项有XSLT、XQuery、模式验证,全部证书就可获得全部功能。

Saxon 8.1.1是一个维护版本,更正了8.1中的几个错误。

请注意:帮助文档在Saxonica站点和下载文件中都有。有时在线版本会更新一些。下载文件也包括全部的API文档,在doc/api目录中。

当前版本的Java文档API详细说明在http://www.saxonica.com/documentation/javadoc/index.html提供

全部变更记录在changes.html中提供。

Saxon 8.0 已经被许多用户用来开发应用程序。代码提供稳定可靠。但是你要清楚,规范还在改动,新的Saxon版本将跟踪规范改动,不保证向后兼容。

如果你期待完全的稳定性,优先选用版本是Saxon 6.5.3,它实现了XSLT1.0和XPath1.0。

Saxon 8.1 要求Java JDK 1.4。尽管由于在DOM接口不兼容而不能在JDK1.5下编译源码,确信在JDK1.5下也没有问题。

什么是Saxon?

Saxon程序包是一个处理XML文档的工具集。主要组成有:

· XSLT 2.0处理器,可以从命令行使用,或者使用标准JAXP应用程序接口从Java应用程序调用。Saxon可以用JAXP应用程序接口与Java应用程序结合,这意味着一个Java应用程序可以在不改变应用程序代码的情况下,在不同的XSLT处理器之间切换。Saxon既精密的符合XSLT 2.0规范,还提供了大量强大的扩展。

· XPath 2.0处理器,Java应用程序可以通过一个应用程序接口访问。

· XQuery 1.0处理器,可以从命令行使用,或者使用一个API从Java应用程序调用。

· XML Schema 1.0处理器,可以单独使用来验证一个模式的正确性,或者对比一个模式中的定义来验证一个源文档。也用来支持XSLT和XQuery处理器的模式敏感(schema-aware)功能。

你可以通过写XSLT样式表、写XQuery查询、写Java应用程序、或者组合这些方法来使用Saxon处理XML。

Saxon完全实现了XSLT 1.0 推荐标准,包括XPath 1.0, Saxon 8.0 也实现了在XSLT 2.0、XPath 2.0和Query 1.0工作草案中定义的几乎所有的特性。超出XSLT 1.0以外的新特性包括:

· 使用xsl:result-document对多个输出文件的支持

· 临时树(以前通常所说的结果树片段)的完全处理能力

· 支持节点序列和简单值

· 功能组合

· 正则表达式处理

· 支持新的XPath结构比如if、 for、 some 和 every

· 支持指定的排序序列

· 许多新函数和运算符

· 支持新的数据类型,如日期(dates)、时间(timews)和持续时间(durations)

另外,Saxon提供了一个广泛的扩展元素和扩展函数库,所有的实现与XSLT推荐标准保持一致,以确保能够写出可移植的样式表。这些包括EXSLT扩展库common、 sets、 math、和 dates-and-times 。很多这类扩展都是Saxon首先采用的。

这些扩展功能通常在XQuery中也可以使用,除了那些依赖样式表信息的。

Saxon还提供了一个API允许Java应用程序执行XPath 表达式并处理结果。XQuery使用一个单独的API,不同表现在设置的上下文的方式。

可扩展性及功能扩展

Saxon提供了功能扩展机制,可以通过增加扩展函数和其他挂钩(hook)对Saxon XSLT样式表和XQuery查询的性能进行扩展

Saxon XQuery 实现允许调用Java方法作为外部函数,函数不需要声明。使用命名空间声明如下: declare namespace math=java:java.lang.Math,就可以调用此方法,如: math:sqrt(2)。

Saxon 包括一套扩展组件,提供了对SQL数据库的访问。这些不打算作为产品的必要属性(在设计中有许多局限性),更多的用以说明扩展组件如何增强处理器的性能。

在一个样式表中使用SQL扩展,需要在元素xsl:stylesheet的扩展元素前缀属性中定义一个命名空间前缀(如“sql”),并把这个前缀映射到以“/net.sf.saxon.sql.SQLElementFactory”为结果的命名空间URI上。

这个扩展定义了5个新的样式表元素: sql:connect、 sql:query、 sql:insert、 sql:column和 sql:close。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有