为什么不同的值在非原子化序列上不产生不同的值
Why does distinct-values not yield distinct values on a non-atomized sequence
为什么
(<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>,
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate>)/distinct-values(.)
产量 20170101 20170301 20170101 20170501(即不消除重复项)
但将其应用于序列的原子化版本
distinct-values((20170701,20170301,20170701,20170501))
产量
20170701 20170301 20170501
(
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>,
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate>
)/distinct-values(.)
不等于:
distinct-values(
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>,
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate>
)
后者 returns 元素序列的不同值。
您的代码 returns 每个元素的不同值,就像调用:
(
distinct-values(<benefitStartDate>20170101</benefitStartDate>),
distinct-values(<benefitEndDate>20170301</benefitEndDate>),
distinct-values(<benefitStartDate>20170101</benefitStartDate>),
distinct-values(<benefitEndDate>20170501</benefitEndDate>)
)
另一种变体,returns 您期望的结果是:
(
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>,
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate>
) => distinct-values()
最佳
迈克尔
为什么
(<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>,
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate>)/distinct-values(.)
产量 20170101 20170301 20170101 20170501(即不消除重复项)
但将其应用于序列的原子化版本
distinct-values((20170701,20170301,20170701,20170501))
产量
20170701 20170301 20170501
(
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>,
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate>
)/distinct-values(.)
不等于:
distinct-values(
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>,
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate>
)
后者 returns 元素序列的不同值。
您的代码 returns 每个元素的不同值,就像调用:
(
distinct-values(<benefitStartDate>20170101</benefitStartDate>),
distinct-values(<benefitEndDate>20170301</benefitEndDate>),
distinct-values(<benefitStartDate>20170101</benefitStartDate>),
distinct-values(<benefitEndDate>20170501</benefitEndDate>)
)
另一种变体,returns 您期望的结果是:
(
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>,
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate>
) => distinct-values()
最佳
迈克尔