У меня есть программа, которая получает набор узлов из функции в exslt. Он содержит повторяющиеся узлы (Том Уэйтс появляется дважды):Отличительные значения в узле exslt
<xsl:template name="giveMeHeroes">
<person>
<lastName>Waits</lastName>
<firstName>Tom</firstName>
</person>
<person>
<lastName>Everett</lastName>
<firstName>Mark</firstName>
</person>
<person>
<lastName>Hickey</lastName>
<firstName>Rich</firstName>
</person>
<person>
<lastName>Waits</lastName>
<firstName>Tom</firstName>
</person>
</xsl:template>
<xsl:template match="/">
<xsl:variable name="someHeroes">
<xsl:call-template name="giveMeHeroes"></xsl:call-template>
</xsl:variable>
<xsl:apply-templates select="ext:node-set($someHeroes)/person"/>
</xsl:template>
<xsl:template match="person">
<xsl:value-of select="concat('Long live',firstName,' ',lastName,'!!!')"/>
<br/>
</xsl:template>
Этот пример дает (разобран в браузере):
Long live Tom Waits!!!
Long live Mark Everett!!!
Long live Rich Hickey!!!
Long live Tom Waits!!!
Я знаю, что я должен быть в состоянии для фильтрации результатов с помощью set: distinct (nodeset), может быть, что-то в строках <xsl:apply-templates select="set:distinct(ext:node-set($someHeroes)/person)"/>
, но почему-то я не могу найти способ сделать это. Любая помощь будет оценена по достоинству.
Действительно, это не проблема возникает только в PhpStorm XSLT плагин двигателя .... ошибка: ошибка: '-1' [ERROR]: java.lang.ArrayIndexOutOfBoundsException: -1 Но почему это так это другой вопрос .. – Peter