我有這樣的XML:XSL 「下面的」 返回沒有什麼預期
<ROWSET>
<ROW>
<FLD1>P2</FLD1>
<S_VAL>1</S_VAL>
<FLD2>N2</FLD2>
</ROW>
<ROW>
<FLD1>P3</FLD1>
<S_VAL>2</S_VAL>
<FLD2>N2</FLD2>
</ROW>
<ROW>
<FLD1>P3</FLD1>
<S_VAL>3</S_VAL>
<FLD2>N2</FLD2>
</ROW>
<ROW>
<FLD1>P4</FLD1>
<S_VAL>4</S_VAL>
<FLD2>N3</FLD2>
</ROW>
<ROW>
<FLD1>P2</FLD1>
<S_VAL>5</S_VAL>
<FLD2>N3</FLD2>
</ROW>
</ROWSET>
,我已經在我的XSL 2個變量:
<xsl:variable name="only_need" select="/ROWSET/ROW[./FLD2='N2']"/>
<xsl:variable name="only_need2" select="$only_need/FLD1[not(.=following::FLD1)]"/>
在名爲 「only_need」 我收到變量記錄與S_Val IN(1,2,3)。 但是在名稱爲「only_need2」的變量中,我只收到FLD1 = P3。 爲什麼第二個變量只接收FLD1 = P3的問題?
只有10-15條記錄將在$ vOnlyNeed中。所有作品像你sed。但不完全清楚過濾器如何工作'[count(。| $ vOnlyNeed)= count($ vOnlyNeed)]' – user1705617
訣竅是XPath在節點_sets_上工作,所以當你使用'exprA |兩個表達式匹配的exprB節點只計算一次。因此,當且僅當有問題的節點('.')是集合「$ vOnlyNeed」的成員時,'[count(。| $ vOnlyNeed)= count($ vOnlyNeed)]'才爲真。 –
感謝您的詳細解答。 – user1705617