Xml XSLT1.0如何在条件为真时生成空结果和/或中止转换
如果HeaderInformation/InvoiceType=CreditNote,如何中止xslt转换 XML:Xml XSLT1.0如何在条件为真时生成空结果和/或中止转换,xml,xslt,xslt-1.0,Xml,Xslt,Xslt 1.0,如果HeaderInformation/InvoiceType=CreditNote,如何中止xslt转换 XML: 1234 5678 2019-01-11:09:16:43 不 123584 1. 信用证 取决于“中止”的含义: 您可以像这样使用: <xsl:if test="HeaderInformation/InvoiceType='CreditNote'"> <xsl:message terminate="yes"/> </xsl:if>
1234
5678
2019-01-11:09:16:43
不
123584
1.
信用证
取决于“中止”的含义:
您可以像这样使用
:
<xsl:if test="HeaderInformation/InvoiceType='CreditNote'">
<xsl:message terminate="yes"/>
</xsl:if>
这将以错误结束
如果你只是不想出错,你也可以这样做:
<xsl:template match="/">
<xsl:if test="SALESINVOICE[not(Interchange/HeaderInformation/InvoiceType='CreditNote')]">
<!-- Here goes your XSLT code -->
<xsl:apply-templates/>
</xsl:if>
</xsl:template>
如果找到值为
CreditNote
的
,则将输出空文档。取决于您所说的“中止”:
您可以像这样使用
:
<xsl:if test="HeaderInformation/InvoiceType='CreditNote'">
<xsl:message terminate="yes"/>
</xsl:if>
这将以错误结束
如果你只是不想出错,你也可以这样做:
<xsl:template match="/">
<xsl:if test="SALESINVOICE[not(Interchange/HeaderInformation/InvoiceType='CreditNote')]">
<!-- Here goes your XSLT code -->
<xsl:apply-templates/>
</xsl:if>
</xsl:template>
如果找到值为CreditNote
的
,这将输出一个空文档。这里有一种方法(多种方法中的一种):
这里有一种方法(多种方法中的一种):
事实上,我不得不编辑我的答案–@michael-hor257k比我更正确地进行了XPath测试。另外,他在没有
的情况下做这件事的方式可能更惯用XSLT。实际上,我必须编辑我的答案-@michael-hor257k的XPath测试比我“更正确”。另外,他在不使用
的情况下使用XSLT的方式可能更为惯用。