Filtres et modèles de filtre
Des contraintes et branchements peuvent être appliqués à n'importe quelle collection par l'ajout d'une clause de filtre, [modèle], à la collection. Le filtre est analogue à la clause SQL WHERE. Le filtre contient un modèle appelé le modèle de filtre. Le modèle de filtre est évalué en une valeur booléenne et testé pour chaque élément de la collection. Tous les éléments de la collection qui ne correspondent pas au modèle de filtre sont omis de la collection résultat.
Pour une question de commodité, si une collection est placée dans le filtre, un VRAI booléen est généré si la collection contient des membres et un FAUX est généré si elle est vide. Une expression telle que author/degree
implique une fonction de conversion de collection vers booléen qui a pour valeur TRUE s'il existe un élément <author>
avec un élément enfant appelé <degree>
.
Notez qu'un nombre quelconque de filtres peuvent apparaître à un niveau donné d'une expression. Les filtres vides ne sont pas autorisés.
Les filtres sont toujours évalués par rapport à un contexte. Autrement dit, l'expression book[author]
signifie que, pour tout élément <book>
trouvé, il convient de tester s'il possède un élément enfant <author>
. De même, book[author = 'Bob']
signifie que, pour tout élément <book>
trouvé, il convient de tester s'il possède un élément enfant <author>
dont la valeur est Bob
. On peut aussi bien examiner la valeur du contexte en utilisant un point (.). Par exemple, book[. = 'Trenton']
signifie que, pour chaque livre trouvé dans le contexte actuel, il faut tester si sa valeur est Trenton
.
Exemples
Expression | Référence |
---|---|
|
Tous les éléments |
|
Tous les éléments |
|
Tous les éléments |
|
Tous les éléments |
|
Tous les éléments |
Voir aussi
Référence
Concepts
Exemple de fichier XML pour la syntaxe XPath (inventory.xml)