我正在阅读XML文件,基于某些条件,我必须找到一些元素,如果找到则添加它们,以便输出中只有1个元素。我必须在XSLT 1.0中找到它
请查看有效载荷和条件。
<processVoucherDetail>
<glDistribution>
<amountDomestic>555.50</amountDomestic>
<glAccount>
<businessUnit>123</businessUnit>
<objectAccount>999</objectAccount>
</glAccount>
</glDistribution>
<glDistribution>
<amountDomestic>555.50</amountDomestic>
<glAccount>
<businessUnit>1234</businessUnit>
<objectAccount>9998</objectAccount>
</glAccount>
</glDistribution>
<glDistribution>
<amountDomestic>555.50</amountDomestic>
<glAccount>
<businessUnit>123</businessUnit>
<objectAccount>999</objectAccount>
</glAccount>
</glDistribution>
<voucher>
<amountGrossDomestic>138.88</amountGrossDomestic>
<amountTaxDomestic>27.78</amountTaxDomestic>
<amountTaxableDomestic>111.10</amountTaxableDomestic>
<payee>
<entityId>4444</entityId>
</payee>
<taxExplanationCode>test</taxExplanationCode>
<taxRateAreaCode>test</taxRateAreaCode>
</voucher>
<voucher>
<amountGrossDomestic>138.88</amountGrossDomestic>
<amountTaxDomestic>27.78</amountTaxDomestic>
<amountTaxableDomestic>111.10</amountTaxableDomestic>
<payee>
<entityId>5555</entityId>
</payee>
<taxExplanationCode>hello</taxExplanationCode>
<taxRateAreaCode>hello</taxRateAreaCode>
</voucher>
<voucher>
<amountGrossDomestic>138.88</amountGrossDomestic>
<amountTaxDomestic>27.78</amountTaxDomestic>
<amountTaxableDomestic>111.10</amountTaxableDomestic>
<payee>
<entityId>6666</entityId>
</payee>
<taxExplanationCode>test</taxExplanationCode>
<taxRateAreaCode>test</taxRateAreaCode>
</voucher>
</processVoucherDetail>
现在在这个有效负载中,我必须将glaccount的businessUnit和objectAccount的值与其他businessUnit和glaccount的objectAccount进行比较,如果找到(在上面的有效负载1 glaccount与第三个glaccount匹配),那么我必须找到amountTaxableDomestic的凭证元素与glaccount的amountDomestic匹配的值,我找到了1个以上的凭证元素,然后我需要在上面的凭证数量中比较taxExplanationCode和taxRateAreaCode的值。如果我发现任何2个或更多的凭证具有相同的taxExplanationCode值和另一个凭证的taxRateAreaCode(第一个凭证与第三个凭证匹配)和amountTaxableDomestic值以及glaccount的amountDomestic,那么我必须根据上述条件添加所有glaccount的amountDomestic值并且还根据上述条件添加了我所获得的所有凭证的amountTaxDomestic值。
我的标准非常复杂。如果有人想要更多解释,请告诉我。
我是XSLT的新手,因此示例代码将非常有用。
提前谢谢。