我正在尝试使用 Saxon 的 sql-connect 语句来访问保存在我的数据库中以执行XML转换的数据映射。
我在博客中读到" XSLT"作者Doug Tidwell(第334页),以下内容: "为了进一步复杂化,用户名必须与数据库模式的名称匹配。"
这是否意味着,在使用Saxon的开源版本时,我不能使用户名和数据库架构名称不同?或者以某种方式这可能吗?
我是否还将 saxon9.jar 和 saxon9-sql.jar 包含在我的Java程序中以使其正常工作?
感谢您的帮助。
答案 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"
在样式表标签中。