我正在一个我没有构建的应用程序内部工作。
应用程序需要True/False
来自 XSLT 文件的排序,如果 XSLT 返回任何内容,则为真,如果不返回任何内容,则为假。应用程序使用它来决定是否将 XML 发布到 Web 服务。
所以我首先开始
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:choose>
<xsl:when test="{{if this is true I don't want anything returned}}">
</xsl:when>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
{我认为这可以解决问题,但我错了它仍在返回。如果我在它不存在时尝试,应用程序仍然会发布我不希望它发布的 XML。}
所以我尝试了
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:choose>
<xsl:when test="{{if this is true I don't want anything returned}}">
<xsl:message terminate="yes" />
</xsl:when>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
它终止了转换,向应用程序发送了一个错误,该错误被应用程序捕获,并阻止了下一个 XML 通过发布过程。
我需要的是阻止 XSLT 文件在命令上返回结果。
也许我不完全理解 XSLT 的功能,我做错了什么。