函数result-document()使文件保持打开状态

时间:2013-08-26 11:32:19

标签: java xml xslt xslt-2.0 saxon

我有一个简单的问题:

我使用SAXON进行XSLT 2.0转换。 作为此转换的一部分,使用xsl:result-document函数将一些信息写入文件。

转换完成后,此结果文件将被复制到另一个目录,然后应该删除,但这并不总是成功。

来自大西洋彼岸的同事对复制/删除机制负责,并确信XSLT transforamtion(我提供的)会使结果文件保持打开/锁定状态,因此无法删除。

我认为他们在复制后无法以某种方式关闭文件。

话虽如此,这对我提出了一个明显的问题:

问题:

此函数是否可能创建文件但在转换后保持打开/锁定?我无法在互联网上找到任何相关信息。

非常感谢!

1 个答案:

答案 0 :(得分:0)

我认为Saxon XSLT Transformation: How to close outputstream when failing during transformation表示如果在XSLT转换期间发生动态错误,可能无法正确关闭文件。还有一个建议“您可以通过注册自己的OutputURIResolver(可能基于标准的)来解决问题,它可以跟踪所有打开的输出流,并且能够被应用程序直接调用以在最后关闭它们“。解决问题。