【发布时间】:2013-02-27 06:02:56
【问题描述】:
我有以下 XML 文档(由另一方提供)
<transactions>
<transaction TaxAType="11" TaxAValue="111" TaxBType="2" TaxBValue="222" TaxCType="3" TaxCValue="333"/>
<transaction TaxAType="11" TaxAValue="111" TaxBType="2" TaxBValue="222" TaxCType="3" TaxCValue="333"/>
</transactions>
例如,如果相应的 Tax*Type = '11',我想编写一个 XSLT 文档来转换这些行并总结 Tax*Value。
如果不使用模板,这可能吗?
XQuery 中的name()、substring() 等函数? 您对此有何看法?
【问题讨论】:
-
结果应该是什么样的?只有一个号码?一些带有总数的 XML?例如,您说“Tax*Type = '11'”。这是否意味着在您的示例 XML 中,TaxBValue 和 TaxCValue 不会相加?
-
这个想法是,我会将类型为 10 的所有值的总和存储在转换后的文档的属性中。例如
转换交易元素 -
这并不能说明问题。这次“10”型是从哪里来的?您是如何得出结果 5433 的?你能详细描述你想做什么吗?鉴于您在问题中提出的示例 XML,输出应该是什么?
-
因此,如果 GST 等于税款 11,则 gstAmount 将为 222。问题是税款 11 可以存储在 TaxAType 和/或 TaxBType 和/或 TaxCType 中
-
我现在明白了。谢谢你的澄清。如果您有兴趣,我在下面发布了一个通用解决方案。