如何检查XML有一个节点,或者它是一个使用XSLT的空文件?

时间:2011-02-16 15:27:30

标签: xslt

请帮助解决这个问题。

我想检查XML是否包含节点[OR]它是一个使用XSLT的空文件。

我的XML是:

<mynode>
   <node1>testing</node1>
</mynode>

我想编写类似这样的XSLT代码:

<xsl:choose>
  <xsl:when test="document('')/mynode">
    file is empty
  </xsl:when>
  <xsl:otherwise>
    file has nodes
  </xsl:otherwise>
</xsl:choose>

任何人都可以帮助我......

1 个答案:

答案 0 :(得分:3)

如果文件不包含元素,则它不是XML文件,因此XML解析将失败。不同的XSLT 1.0处理器对此有不同的反应(如规范所允许)。在XSLT 2.0中,您可以使用doc-available()来保护自己,但这在1.0中不可用。事实上,在没有了解特定XSLT处理器细节的情况下,您无法在1.0中做到这一点。