Podmínky filtru podporované nativními filtry REST

Implementátor služby typu Reportable REST optimalizuje informace vracené nativním filtrem. Filtr je určen jako filtr XPath nad argumentem fields.

Extrakce informací pomocí víceúrovňového filtrování

Pomocí filtru můžete omezit zahrnuté prvky XML prostřednictvím filtrovaných podřízených prvků. Všechna pole ve filtru jsou hodnotami prvků XML, které jsou přímo obsaženy v nadřízeném prvku. Pomocí syntaxe XPath však můžete načíst prvky z hlubších vrstev hierarchie. Specifické informace můžete extrahovat pomocí následujících metod:
Filtry je možné určit na více úrovních. Následující příklad ukazuje PRRequirement vracený s argumentem fields.
fields=Project/Requirements/PRRequirement[Stability = 'High']/(FullTag|Priority|Status|TracesTo/Relationship[Suspect='true']/*).

Tato podmínka filtru extrahuje zařízení vyrobená specifickým výrobcem, spolu s dalšími informacemi a vybírá všechny vztahy TracesTo, které jsou podezřelé. Následující příklad ukazuje výsledky použití tohoto filtru:

<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>
[… Další odpovídající vztahy]
</TracesTo>
</PRRequirement>

Extrakce informací pomoc nastavení s více cestami

Pomocí syntaxe XPath můžete načíst hodnoty z hlubších vrstev hierarchie. Zadat však můžete pouze jednu hodnotu, kterou má filtr vyhodnotit. Pokud zadáte více hodnot je výraz považován za nedefinovaný. Například PRRequirement má související dokument. Tento výraz je ve schématu definován jako:

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

Protože nemůže být více souvisejících dokumentů, je možné výraz vyhodnotit. Pokud žádný související dokument neexistuje, neexistuje žádná shoda. Výraz fields pro nastavení s více cestami je:

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

Použití atributů XML ve filtru

Informace je možné extrahovat pomocí hodnot atributů XML v podmínce filtru. Následující příklad ukazuje, jak se tyto atributy používají:
fields=Project/Requirements/PRRequirement[attribute::Stability = 'High']/(FullTag|Priority|Status).
fields=Project/Requirements/PRRequirement[@Stability = 'High']/(FullTag|Priority|Status).
Podporovány jsou obě formy osy atributu attribute:: and @. Výsledky XML jsou stejné, protože ve výsledcích není zahrnuta Stabilita.

Zpětná vazba