Saxon XSLT 可以将 XML 保存到 eXist-db 吗?

问题描述 投票:0回答:1

Saxon XSLT 可以将 XML 保存到 eXist-db 吗?我搜索了文档和论坛,但找不到任何明确记录的内容。我可以使用

doc('http://localhost:8080/exist/rest/db/winequest/mysave.xql')
从 eXist-db 中读取数据,但没有看到编写 XML 的显式方法。我已经尝试过这个,但它默默地不执行 mysave.xql。

<xsl:result-document href="http://localhost:8080/exist/rest/db/mysave.xql">
    <xsl:sequence select="$node"/>
</xsl:result-document>

我猜 Saxon 不认为 http: 作为可行的结果文档目的地,即通过 POST。或者换句话说,我希望将 XML 内容的 http POST 发送到 eXist-db 上的 Xquery,以便它可以存储该 XML。我也许可以使用

doc($url)
对一些 XML 进行 URL 编码,但这很快就会遇到限制。

那么 Saxon XSLT 将 XML 保存到 eXist-db 的首选机制是什么?

saxon exist-db
1个回答
0
投票

当您从 Java 调用 Saxon 时,您可以调用

Xslt30Transformer.setResultDocumentHandler(...)
来提供回调函数,该函数将被调用来处理
xsl:result-document
指令的输出。回调函数提供了一个 URI,并返回 Saxon 将写入的
Destination
Destination
可以是您喜欢的任何内容;您可以在此处实现逻辑,将结果文档写入 eXist 数据库。

© www.soinside.com 2019 - 2024. All rights reserved.