Filterbedingungen, die von nativen REST-Filtern unterstützt werden

Der Implementierer des Reportable REST Service optimiert die Informationen, die vom nativen Filter zurückgegeben werden. Der Filter wird als XPath-Filter im Feldargument angegeben.

Informationen mit mehrstufiger Filterung extrahieren

Verwenden Sie den Filter, um die XML-Elemente, die von den gefilterten untergeordneten Elementen eingeschlossen werden, zu begrenzen. Alle Felder im Filter sind Werte der XML-Elemente, die direkt im übergeordneten Element enthalten sind. Sie können die XPath-Syntax verwenden, um Elemente abzurufen, die sich tiefer in der Hierarchie befinden. Sie können bestimmte Informationen mit den folgenden Methoden extrahieren:
Filter können auf mehreren Stufen angegeben werden. Das folgende Beispiel zeigt den Parameter PRRequirement, der mit dem Feldargument zurückgegeben wird.
fields=Project/Requirements/PRRequirement[Stability = 'High']/(FullTag|Priority|Status|TracesTo/Relationship[Suspect='true']/*).

Diese Filterbedingung extrahiert die Geräte, die von einem bestimmten Hersteller erzeugt werden, zusammen mit zusätzlichen Informationen, die alle verdächtigen Beziehungen vom Typ TracesTo enthalten, an. Das folgende Beispiel zeigt die Ergebnisse des Filters:

<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>
[… Weitere übereinstimmende Beziehungen]
</TracesTo>
</PRRequirement>

Informationen mit einer Einstellung für mehrere Pfaden extrahieren

Sie können die XPath-Syntax verwenden, um Elemente abzurufen, die sich tiefer in der Hierarchie befinden. Sie können jedoch nur einen Wert angeben, der vom Filter ausgewertet werden soll. Wenn Sie mehrere Werte angeben, gilt der Ausdruck als nicht definiert. Beispiel: Der Parameter PRRequirement hat ein zugehöriges Dokument. Dieser Ausdruck ist im Schema wie folgt definiert:

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

Da nie mehr als ein zugehöriges Dokument vorhanden sein kann, kann der Ausdruck ausgewertet werden. Wenn kein zugehöriges Dokument vorhanden ist, gibt es auch keine Übereinstimmung. Der Feldausdruck für die Einstellung für mehrere Pfade lautet wie folgt:

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

XML-Attribute in einem Filter verwenden

Sie können Informationen mit den XML-Attributwerden in einer Filterbedingung extrahieren. Das folgende Beispiel zeigt, wie die Attribute verwendet werden:
fields=Project/Requirements/PRRequirement[attribute::Stability = 'High']/(FullTag|Priority|Status).
fields=Project/Requirements/PRRequirement[@Stability = 'High']/(FullTag|Priority|Status).
Beide Formate der Attributachse attribute:: und @ werden unterstützt. Die XML-Ergebnisse sind identisch, da das Element "Stability" in den Ergebnissen nicht enthalten ist.

Feedback