2017-08-27 22 views
1

爲什麼爲什麼不同值不會產生在非霧化的序列

(<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>, 
<benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate>)/distinct-values(.) 

收率20170101 20170301 20170101 20170501(即重複未消除)

不同的值,但將它應用到的霧化版本序列

distinct-values((20170701,20170301,20170701,20170501))產生

+0

我知道一個解決方案是在應用distinct-值。我的問題是爲什麼我必須首先這樣做。 –

+0

=>與原子化無關,您沒有將序列傳遞給distinct-values(。) – michael

回答

3
(
    <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> 
) 

後者回報元素的序列的不同值。

你的代碼返回這些元素的不同的值,就好似叫:

(
    distinct-values(<benefitStartDate>20170101</benefitStartDate>), 
    distinct-values(<benefitEndDate>20170301</benefitEndDate>), 
    distinct-values(<benefitStartDate>20170101</benefitStartDate>), 
    distinct-values(<benefitEndDate>20170501</benefitEndDate>) 
) 

另一個變種,它返回你所期望的結果是:

(
    <benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170301</benefitEndDate>, 
    <benefitStartDate>20170101</benefitStartDate>,<benefitEndDate>20170501</benefitEndDate> 
) => distinct-values() 

最佳

Michael

相關問題