Conditions de filtre prises en charge par les filtres natifs REST

L'implémenteur des services REST rapportables optimise les informations renvoyées par le filtre natif. Le filtre est spécifié comme filtre XPath sur l'argument fields.

Extraction d'informations à l'aide d'un filtrage multi-niveau

Utilisez le filtre pour limiter les éléments XML inclus par les éléments enfant filtrés. Toutes les zones du filtre correspondent aux valeurs des éléments XML qui se trouvent directement dans l'élément parent. Toutefois, vous pouvez utiliser la syntaxe XPath pour extraire des éléments plus profonds dans la hiérarchie. Vous pouvez extraire des informations spécifiques à l'aide des méthodes suivantes :
Les filtres peuvent être spécifiés à plusieurs niveaux. L'exemple ci-après illustre le PRRequirement renvoyé avec l'argument fields.
fields=Project/Requirements/PRRequirement[Stability = 'High']/(FullTag|Priority|Status|TracesTo/Relationship[Suspect='true']/*).

Cette condition de filtre extrait les dispositifs fabriqués par un fabricant spécifique, ainsi que des informations supplémentaires, en sélectionnat toutes les relations TracesTo suspectes. L'exemple suivant illustre les résultats du filtre :

<PRRequirement>
<FullTag>PR1</FullTag>
<Priority>Medium</Priority>
<Status>Incorporated</Status>
<TracesTo>
<Relationship>
<Suspect>true</Suspect>
<RelationshipType>Traceability</RelationshipType>
<Direction>TracesTo</Direction>
<RelationshipID>{10C4D0CE-24CF-4C80-8167-E5A849FC821B}16{10C2D0CE-84CF-4C80-9166-E5A849FC821B}1RelationshipID>{10C2D0CE-84CE-4C80-9166-E5A849FC821B}16{10C2D0CE-84CF-4C80-9166-E5A849FC821B}1</RelationshipID>
<RelatedRequirement/>
</Relationship>
[… More matching relationships]
</TracesTo>
</PRRequirement>

Extraction des informations à l'aide d'un paramètre multi-accès

Vous pouvez utiliser la syntaxe XPath pour extraire les valeurs qui se trouvent plus loin dans la hiérarchie. Toutefois, vous ne pouvez fournir qu'une valeur pour le filtre à évaluer. Si vous fournissez plusieurs valeurs, l'expression est considérée comme non définie. Par exemple, le PRRequirement est associé à un document. Cette expression est définie comme suit dans le schéma :

xs:element maxOccurs="1" name="Document" type="ReqDocument" minOccurs="0".

Comme il ne peut jamais y avoir plusieurs documents associés, l'expression peut être évaluée. S'il n'existe pas de document associé, il n'existe pas de correspondance. L'expression fields du paramètre multi-accès est la suivante :

fields=Project/Requirements/PRRequirement[Document/Extension=prd]/(*|Document/*.

Utilisation des attributs XML dans un filtre

Vous pouvez extraire des informations à l'aide des valeurs d'attribut XML d'une condition de filtre. L'exemple suivant montre comment les attributs sont utilisés :
fields=Project/Requirements/PRRequirement[attribute::Stability = 'High']/(FullTag|Priority|Status).
fields=Project/Requirements/PRRequirement[@Stability = 'High']/(FullTag|Priority|Status).
Les deux formes de l'axe d'attribut attribute:: et @ sont prises en charge. Les résultats XML sont identiques, car Stability n'est pas inclus dans les résultats.

Commentaires