XSD检查是否所有元素出现在整个XML文件中都包含相同的值

问题描述

我正在寻找一个XSD来验证包含多次付款的文件元素的XML是否具有相同的币种。

示例:

<Payments>
    <Payment>
        <PaymentDate>2020-09-28</PaymentDate>
        <Amount>11</Amount>
        <Currency>USD</Currency>
    </Payment>
    <Payment>
        <PaymentDate>2020-09-27</PaymentDate>
        <Amount>19</Amount>
        <Currency>USD</Currency>
    </Payment>
    <Payment>
        <PaymentDate>2020-09-27</PaymentDate>
        <Amount>12</Amount>
        <Currency>USD</Currency>
    </Payment>
</Payments>

因为所有<Currency>元素都包含相同的货币信息,所以上层XML应该被视为有效。

但是,以下XML无效,因为它包含至少一笔具有不同货币信息的付款:

    <Payments>
        <Payment>
            <PaymentDate>2020-09-28</PaymentDate>
            <Amount>11</Amount>
            <Currency>USD</Currency>
        </Payment>
        <Payment>
            <PaymentDate>2020-09-27</PaymentDate>
            <Amount>19</Amount>
            <Currency>EUR</Currency>
        </Payment>
        <Payment>
            <PaymentDate>2020-09-27</PaymentDate>
            <Amount>12</Amount>
            <Currency>USD</Currency>
        </Payment>
    </Payments>

我应该为我的XSD做什么? 谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)