我有一个简单的问题:
我使用SAXON进行XSLT 2.0转换。
作为此转换的一部分,使用xsl:result-document
函数将一些信息写入文件。
转换完成后,此结果文件将被复制到另一个目录,然后应该删除,但这并不总是成功。
来自大西洋彼岸的同事对复制/删除机制负责,并确信XSLT transforamtion(我提供的)会使结果文件保持打开/锁定状态,因此无法删除。
我认为他们在复制后无法以某种方式关闭文件。
话虽如此,这对我提出了一个明显的问题:
问题:
此函数是否可能创建文件但在转换后保持打开/锁定?我无法在互联网上找到任何相关信息。
非常感谢!
答案 0 :(得分:0)
我认为Saxon XSLT Transformation: How to close outputstream when failing during transformation表示如果在XSLT转换期间发生动态错误,可能无法正确关闭文件。还有一个建议“您可以通过注册自己的OutputURIResolver(可能基于标准的)来解决问题,它可以跟踪所有打开的输出流,并且能够被应用程序直接调用以在最后关闭它们“。解决问题。