篩選條件與篩選條件模式
藉由將篩選條件子句 [pattern] 加入至集合,可將限制和分支套用至任何集合。篩選條件類似於 SQL WHERE 子句。篩選條件內含稱為「篩選條件模式」的模式。會將篩選條件模式評估為布林值,並且會針對集合的每個項目進行測試。結果集合將略過無法通過篩選條件模式測試之集合的任何項目。
為了方便起見,若將集合放在篩選條件內部,則當集合包含任何成員時,就會產生布林值 TRUE;若集合為空白,則產生 FALSE。如果存在含子項目 <degree>
的 <author>
項目,運算式 (例如 author/degree
) 就會隱含執行評估為 TRUE 的「集合至布林值」轉換函式。
請注意,運算式的指定層級可出現任意數量的篩選條件。不允許空的篩選條件。
系統必定會根據內容評估篩選條件。換言之,運算式 book[author]
會測試每個找到的 <book>
項目是否有 <author>
子項目。同樣地,book[author = 'Bob']
會測試每個找到的 <book>
項目是否具有值 Bob
的 <author>
子項目。使用句點 (.) 字元也可以檢查內容的值。例如,book[. = 'Trenton']
會測試在目前內容中找到的每本書籍值是否為 Trenton
。
範例
運算式 | 代表意義 |
---|---|
|
至少包含一個 |
|
在 |
|
至少包含一個 |
|
至少包含一個 |
|
至少包含一個 |