Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml XPath不显示重复值(递归查询)_Xml_Xslt_Xpath_Xslt 1.0_Xslt 2.0 - Fatal编程技术网

Xml XPath不显示重复值(递归查询)

Xml XPath不显示重复值(递归查询),xml,xslt,xpath,xslt-1.0,xslt-2.0,Xml,Xslt,Xpath,Xslt 1.0,Xslt 2.0,在我的情况下,我有一个具有递归部分(.//)的查询。在XML-XSLT(使用Xpath)的结果中,我只希望看到唯一的值。我与Altova Stylevision合作来建立这个XSLT 我的XML: <Subject> <Subject> <L2 Name="Asset 1"> <IDR3 Name="IDR A" /> </L2>

在我的情况下,我有一个具有递归部分(.//)的查询。在XML-XSLT(使用Xpath)的结果中,我只希望看到唯一的值。我与Altova Stylevision合作来建立这个XSLT

我的XML:

<Subject>
<Subject>
        <L2 Name="Asset 1">
          <IDR3 Name="IDR A" />
        </L2>
        <L2 Name="Asset 2">
          <IDR3 Name="IDR B" />
        </L2>
</Subject>  
<Subject>
        <L2 Name="Asset 3">
          <IDR3 Name="IDR B" />
        </L2>
        <L2 Name="Asset 4">
          <IDR3 Name="IDR B" />
        </L2>
    <Subject>
            <L2 Name="Asset 5">
              <IDR3 Name="IDR A" />
            </L2>
            <L2 Name="Asset 2">
              <IDR3 Name="IDR B" />
            </L2>
    </Subject>      
</Subject>          
<Subject>
    <Subject>
        <Subject>
            <L2 Name="Asset 7">
              <IDR3 Name="IDR C" />
            </L2>
            <L2 Name="Asset 8">
              <IDR3 Name="IDR B" />
            </L2>
        </Subject>
    </Subject>      
</Subject>      
我尝试了多种解决方案,包括
previous::sibling
不同的值
,但我无法解决这个问题,因为我必须处理递归性(向下/向上)。我真的希望有人能帮我做这件事

问候语

为什么不简单地说:

distinct-values(//IDR3/@Name)

演示:

谢谢,效果很好。
distinct-values(//IDR3/@Name)