为什么 Saxon 不产生任何文件输出?
即使没有明确的文本输出,XSLT 解析器也应该生成一个空文件。但是,我遇到的情况是 Saxon-HE 9.3 根本不产生任何文件输出。
我使用以下命令编译文件:
Transform -s:1.xml -xsl:2.xsl -o:3.html
其中 1.xml 的内容是:
<?xml version="1.0"?>
<!-- greeting.xml -->
<x>
<greeting>1</greeting><greeting>2</greeting>
</x>
2.xsl 的内容是:
<?xml version="1.0"?>
<!-- greeting3.xsl -->
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/"/>
</xsl:stylesheet>
但是,没有输出(甚至没有输出)空文件)。 也没有任何错误消息。
可能是什么问题?
XSLT parsers should produce an empty file even if there is no explicit text output. However, I have a situation where Saxon-HE 9.3 does not produce any file output at all.
I compiled the files using this command:
Transform -s:1.xml -xsl:2.xsl -o:3.html
Whereby the contents of 1.xml is:
<?xml version="1.0"?>
<!-- greeting.xml -->
<x>
<greeting>1</greeting><greeting>2</greeting>
</x>
And the contents of 2.xsl is:
<?xml version="1.0"?>
<!-- greeting3.xsl -->
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/"/>
</xsl:stylesheet>
However, there is no output (not even an empty file). Neither is there any error message.
What could have been the problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
转换完全有可能 100% 正确但不产生任何输出。下面是一个示例样式表,它就是这样做的:
因此推测您的代码中存在错误,如果您希望我们帮助您找到它,您需要向我们展示您的代码。
It's perfectly possible for a transformation to be 100% correct and yet produce no output. Here's an example stylesheet that does just that:
So the conjecture is that there's a bug in your code, and if you want us to help you find it, you'll need to show us your code.
这可能是一个错误或“权限不足”问题。
当文件 1.xml、2.xsl 和 Transform.exe 位于桌面时,输出没有问题。
但是当文件位于
C:\
中时,它会给出错误消息:但由于某种原因,当文件位于
C:\Program Files\Saxonica\SaxonHE9.3N\bin
中时,没有输出并且 <没有错误消息。It's likely to be a bug or an "insufficient privileges" problem.
When the files 1.xml, 2.xsl, and Transform.exe are located in the desktop, there are no problems with the output.
But when the files are in
C:\
, it gives an error message:Yet for some reason, when the files are in
C:\Program Files\Saxonica\SaxonHE9.3N\bin
, there's no output and no error message.