distinct-values()函数在XSL中不起作用

时间:2013-09-11 15:19:48

标签: xml xslt xpath distinct-values

我正在尝试创建一个新的XML文档,使用XSLT对已有的XML文档进行转换。 我的问题是distinct-values()函数不会像我期望的那样工作。 我的XML如下:

<parlamento>
 <parlamentare cognome="Adornato" 
 partito="UDC"/>
 <parlamentare cognome="Barbato" 
 partito="IdV"/>
 <parlamentare cognome="Bondi" 
 partito="PDL"/>
 <parlamentare cognome="Casini" 
 partito="UDC"/>
 <parlamentare cognome="Bossi" 
 partito="Lega Nord"/>
 <parlamentare cognome="Cesa" 
 partito="UDC"/>
 <parlamentare cognome="Chiamparino" 
 partito="PD"/>
 <parlamentare cognome="Cicchitto" 
 partito="PDL"/>
 <parlamentare cognome="Cota" 
 partito="Lega Nord"/>
 <parlamentare cognome="Di Giuseppe" 
 partito="IdV"/>
 <parlamentare cognome="Di Pietro" 
 partito="IdV"/>
 <parlamentare cognome="Fassino" 
 partito="PD"/>
 <parlamentare cognome="Finocchiaro" 
 partito="PD"/>
 <parlamentare cognome="Lupi" 
 partito="PDL"/>
 <parlamentare cognome="Maroni" 
 partito="Lega Nord"/>
</parlamento>

我正试图做这样的事情:

distinct-values(//parlamentare/@partito)

有谁知道为什么我的评估员无法识别这一行? 非常感谢你提前!

1 个答案:

答案 0 :(得分:1)

distinct-values于2007年在XPath 2.0版中推出,只有XSLT 2.0处理器(如Saxon 9或AltovaXML或XmlPrime)才支持。 Xalan或libxslt / xsltproc等XSLT 1.0处理器或主流浏览器中的各种XSLT实现不支持该功能。因此,您需要更改为XSLT 2.0处理器,或者需要使用与Muenchian grouping不同的方法与XSLT 1.0处理器。