XSLT 1.0 -更改行顺序



我想根据此节点更改cac:InvoiceLine行顺序:

cac: AdditionalItemProperty/cbc:价值

所有具有Item type=RC的InvoiceLines必须在行末为group,并且所有具有CU的必须在顶部。

如果所提到的值是您唯一关心的,那么似乎您可以按该值的字母顺序排序;参见xsl:sort。您可以将其放入处理发票行的xsl:for-eachxsl:apply-templates中:

<xsl:sort select="cac:AdditionalItemProperty/cbc:Value" />

另一方面,如果您只想输出具有上述值的行项,则可以分别选择它们。例如,假设您有一个与发票行匹配的模板,您将首先将其应用于"CU"行,然后应用于"RC"行:

<xsl:apply-templates select="cac:InvoiceLine[cac:AdditionalItemProperty/cbc:Value='CU']" />
<xsl:apply-templates select="cac:InvoiceLine[cac:AdditionalItemProperty/cbc:Value='RC']" />

最新更新