REST 本机过滤器支持的过滤条件

可报告 REST 服务实现者优化了本机过滤器所返回的信息。该过滤器指定为字段参数上的 XPath 过滤器。

使用多层过滤来抽取信息

使用该过滤器来限制所过滤子元素中包含的 XML 元素。过滤器中的所有字段都是父元素所直接包含的 XML 元素的值。但是,可以使用 XPath 语法来检索层次结构中层次更深的元素。可以使用下列方法来抽取特定信息:
可以在多个层次指定过滤器。以下示例显示随字段参数返回的 PRRequirement
fields=Project/Requirements/PRRequirement[Stability = 'High']/(FullTag|Priority|Status|TracesTo/Relationship[Suspect='true']/*)

此过滤条件会抽取由特定制造商制造的设备,以及有关如何选择所有可疑 TracesTo 关系的其他信息。以下示例显示过滤结果:

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

使用多路径设置来抽取信息

可以使用 XPath 语法来检索层次结构中层次更深的值。但是,只能提供一个值供过滤器进行计算。如果您提供多个值,那么表达式视为未定义。例如,PRRequirement 具有相关文档。此表达式在模式中定义为:

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

因为不可能存在多个相关文档,所以表达式可以计算。如果没有相关文档,那么不存在匹配项。多路径设置的字段表达式是:

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

在过滤器中使用 XML 属性

可以在过滤条件中使用 XML 属性值来抽取信息。以下示例显示如何使用这些属性:
fields=Project/Requirements/PRRequirement[attribute::Stability = 'High']/(FullTag|Priority|Status)
fields=Project/Requirements/PRRequirement[@Stability = 'High']/(FullTag|Priority|Status)
支持属性轴的两种形式 attribute:: 和 @。XML 结果相同,因为结果中不含稳定性。

反馈