1

我想转换Xml位于Zip存档中的文档,在这种特殊情况下,它是Docx(OpenXML)Zip 文件存档。当我在寻找答案时,我读了几次建议的jar 协议(例如: here)。在尝试了各种组合或斜杠、反斜杠和前缀之后,我终于得到了 Saxon 输出的“文件不存在”的其他内容,即:

java -cp "C:\Program Files\SaxonHE9\saxon9he.jar" net.sf.saxon.Transform ^
    -xsl:style-transform.xslt ^
    -s:file:///c:/temp/test.docx!/word/document.xml ^
    -o:test_out.xml

输出这个:

Warning: at xsl:stylesheet on line 14 column 19 of style-transform.xslt:
  Running an XSLT 1 stylesheet with an XSLT 2 processor
Error
  I/O error reported by XML parser processing
  file:///c:/temp/test.docx!/word/document.xml:
  c:\temp\test.docx!\word\document.xml (The system cannot find the path specified)
Transformation failed: Run-time errors were reported

当我假设我没有使用对 Zip 文件资源的正确引用时,这与我之前尝试的输出完全不同。

有人知道这里可能是什么问题,或者更一般地提供了使用 Zip 存档中的 Xml 文件作为 Xml 源与 Saxon 进行转换的工作示例?

4

1 回答 1

2

例如,使用 -u 选项将文件名作为 url 传递给 Saxom

java -jar saxon9he.jar -u jar:file:./YOURINPUTARCHIVE.ods\!/content.xml YOURXSLT.xslt

这适用于我在 linux 上。

最好的,鲁普雷希特

于 2013-09-01T12:57:18.113 回答