开源的Java XSLT 2.0 实现?

21

我目前在研究使用XSLT 2.0,但是我找不到任何开源的java实现(Saxon-B似乎符合要求,但不支持架构感知)。

我有遗漏什么吗?


xsl-list上搜索或提问此问题。Michael Kay可能会亲自回答。 - dacracot
2
五年过去了,仍然没有开源的Schema-aware、XSLT 2.0和XPath 2.0处理器?真是让人失望啊... - FGreg
4个回答

7

是的,我在回答自己2.5年前的问题:

我还没有尝试过,但我刚刚偶然发现了Eclipse PsychoPath,这是(根据文档)一个XPath 2.0 XML Schema Aware处理器,通过了96%的XPath 2.0测试套件(版本1.1M1)。


3
在你的问题中,你要求一个XSLT 2.0处理器。但是这个答案是关于XPath 2.0处理器的。 - mzjn
2
感谢您发现了这个问题,mzjn。我实际上需要两者,但把它们搞混了。 我已经取消了对自己答案的采纳标记。 - otto.poellath

3

唯一可用的是Saxon-HE:

Saxon-HE

W3C为测试托管了在线版本:

W3C Jigsaw XSLT 2.0 Service

还有类似JSFiddle的版本:

xsltransform.net

Frameless项目提供了JavaScript版本的XSLT Fiddle:

XSLT Fiddle

还有一个使用它的App Engine项目:

XSLT App Engine Test Harness

除此之外,还有一个不完整的Xerces扩展,实现了XPath 2.0:

Xerces XPath 2.0 Extension

一个Eclipse扩展,实现了XPath 2.0:

WTP XPath2.0 Processor

一个不完整的Xalan-J分支,部分实现了XSLT 2.0:

在2003年,Xalan-J解释器进行了一些XSLT 2.0的原型工作,但后来就不了了之。这些原型工作仍然可以在xslt20分支上找到http://svn.apache.org/repos/asf/xalan/java/branches/xslt20/, 但自那以后没有人站出来继续进行初始的原型设计,并且Xalan PMC没有制定任何XSLT 2.0支持计划。

除了可以在Nashorn/Avatar.js上运行的Saxon-CE的服务器端实现:

xslty

参考资料


2

关于档案存档,还有一个名为AltovaXML的免费、支持模式感知的XSLT 2.0引擎可供使用,XMLSpy等软件都在使用它。

不幸的是,像XMLSpy一样,它只能在Windows系统上运行。


看起来现在它被称为Raptor-XML,不再是开源的了。 - FGreg

0

你确定你真的需要一个schema aware processor吗?它可能会帮助更快地发现样式表中的错误,但成本可能会超过收益(无论是在金钱上还是许可证方面)。

Saxon-SA是Saxon B的schema-aware版本。它完全包括了开源的Saxon B(根据Mozilla Public License发布)。只有“schema-aware”部分是闭源的,因此大部分仍然是自由软件(尽管只是言论自由的自由..)。


2
嗯,当我实现Web服务时,我经常使用命名空间,并且不能假装它们不存在。我知道Saxon-SA和Saxon-B,但我想知道是否真的没有开源替代品。特别是XSLT 2.0并不是全新的技术。 - otto.poellath
很遗憾,但事实如此,我还没有找到一个好的解决方案。而且我使用过的Oracle(专有软件)也不好。希望有人能提供帮助。 - Overflown

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接