REST natív szűrők által támogatott szűrőfeltételek

A Jelenthető REST szolgáltatás megvalósító optimalizálja a natív szűrő által visszaadott információkat. A szűrőt XPath szűrőként kell megadni a mezőargumentumban.

Információk kinyerése többszintű szűrés használatával

A szűrő használatával korlátozhatja a befoglalt XML elemeket a szűrt utódelemek alapján. A szűrőben szereplő minden mező az XML elemek értéke, amelyeket közvetlenül tartalmaz a szülő elem. XPath szintaxis használatával azonban a hierarchiában mélyebben található elemeket is lekérheti. Az alábbi módszerekkel nyerhet ki specifikus információkat:
Több szinten is meg lehet adni szűrőket. Az alábbi példa bemutatja a mezőargumentummal visszaadott PRRequirement paramétert.
fields=Project/Requirements/PRRequirement[Stability = 'High']/(FullTag|Priority|Status|TracesTo/Relationship[Suspect='true']/*).

Ez a szűrőfeltétel kinyeri egy adott gyártó eszközeit további információkkal együtt, amelyek kiválasztják az összes gyanús TracesTo viszonyt. Az alábbi példa bemutatja a szűrő eredményeit:

<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>

Információk kinyerése többútvonalas beállítás használatával

XPath szintaxis használatával lekérheti a hierarchiában mélyebben elhelyezkedő értékeket. Azonban csak egy értéket adhat meg a szűrőnek kiértékelésre. Ha több értéket ad meg, akkor a rendszer meghatározatlannak tekinti a kifejezést. Például tegyük fel, hogy a PRRequirement rendelkezik egy kapcsolódó dokumentummal. Ez a kifejezés az alábbi módon van meghatározva a sémában:

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

Mivel sosem lehet több kapcsolódó dokumentum, a kifejezés kiértékelhető. Ha nincs kapcsolódó dokumentum, akkor nincs találat. A többútvonalas beállításhoz tartozó mezőkifejezés:

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

XML attribútumok használata szűrőkben

Lehetősége van információk kinyerésére az XML attribútumértékek használatával a szűrőfeltételekben. Az alábbi példa bemutatja az attribútumok használatának módját:
fields=Project/Requirements/PRRequirement[attribute::Stability = 'High']/(FullTag|Priority|Status).
fields=Project/Requirements/PRRequirement[@Stability = 'High']/(FullTag|Priority|Status).
Az attribútum tengely mindkét formája (attribute:: and @) támogatott. Az XML eredmények azonosak, mert a Stabilitás nem szerepel az eredményekben.

Visszajelzés