是否可以在Saxon XSLT的开源版本中使用sql-connect?

时间:2013-05-07 06:44:55

标签: java xslt saxon

我正在尝试使用 Saxon sql-connect 语句来访问保存在我的数据库中以执行XML转换的数据映射。

我在博客中读到" XSLT"作者Doug Tidwell(第334页),以下内容: "为了进一步复杂化,用户名必须与数据库模式的名称匹配。"

这是否意味着,在使用Saxon的开源版本时,我不能使用户名和数据库架构名称不同?或者以某种方式这可能吗?

我是否还将 saxon9.jar saxon9-sql.jar 包含在我的Java程序中以使其正常工作?

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

从Saxon邮件列表中引用Michael Kay:

“SQL扩展使用'元素可扩展性'机制,该机制仅在Saxon-PE及更高版本中可用。

但是,SQL扩展本身的代码是开源的,因此您可以自由地修改和扩展它。换句话说,它是商业产品的开源插件。这可以解释为什么你看到了明显有冲突的信息。“

所以答案是:否。没有许可证,不能使用元素可扩展性。

答案 1 :(得分:-1)

这实际上是可能的,也是我多年来一直在使用的东西。您必须从源代码编译saxon-sql.jar或找到一个jar并下载它(例如http://www.java2s.com)。将它放在与兼容的saxon.jar相同的目录中(Saxon HE工作正常),你可以在包含saxon命名空间后使用它

xmlns:saxon="http://saxon.sf.net/"
xmlns:sql="java:/net.sf.saxon.sql.SQLElementFactory"
extension-element-prefixes="saxon sql"

在样式表标签中。