0

即使没有明确的文本输出,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>

但是,没有输出(甚至没有空文件)。也没有任何错误信息。

可能是什么问题?

4

2 回答 2

2

转换完全有可能 100% 正确但不产生任何输出。这是一个示例样式表,它就是这样做的:

<xsl:template match="/"/>

所以推测是你的代码中有一个错误,如果你想让我们帮你找到它,你需要向我们展示你的代码。

于 2011-06-10T09:35:52.123 回答
1

这可能是一个错误或“权限不足”的问题。

当文件1.xml2.xslTransform.exe位于桌面时,输出没有问题。

但是当文件在时C:\,它会给出一条错误消息:

无法创建输出文件 file:/c://3.html: 访问路径 'c:\3.html' 被拒绝。

然而由于某种原因,当文件在 中时C:\Program Files\Saxonica\SaxonHE9.3N\bin没有输出 也没有错误消息。

于 2011-06-11T08:49:22.753 回答