У меня есть XML, как этотПринимая значение сгруппированных elemnts как через запятую внутри для каждого цикла в XSLT
<filters>
<ISP_WebItem FILTER="Type" FILTERNAME="Farvet" UNITCODE="" />
<ISP_WebItem FILTER="Antal i pakke" FILTERNAME="1" UNITCODE="Farvepatro" />
<ISP_WebItem FILTER="Farve" FILTERNAME="Rød" UNITCODE="" />
<ISP_WebItem FILTER="Farve" FILTERNAME="Blå" UNITCODE="" />
<ISP_WebItem FILTER="Farve" FILTERNAME="Gul" UNITCODE="" />
<ISP_WebItem FILTER="Printer mærke" FILTERNAME="HP" UNITCODE="" />
</filters>
я хочу, чтобы преобразовать этот XML в к HTML-то вроде этого
Type = Farvet
Antal i pakke = 1
farve =Rød,Blå,Gul etc
Printer mærke =HP
вы можете видеть, что есть три атрибута «FILTER» с одинаковым значением «Farve». В моем HTML I хочу, чтобы они были разделены запятыми. как первый шаг для этого, я сгруппировал элементы этого XML с помощью Muenchian_grouping, так что если два или более атрибута FILTER одинаковы, они будут смежными.
тогда я сделал некоторые вещи, как этот
<xsl:for-each select="$filt-grouped-formatted//ISP_WebItem[position() = 1 or @FILTER != preceding-sibling::*[1]/@FILTER ]">
<xsl:variable name="current_filter" select="@FILTER" />
<tr>
<td width="200px">
<xsl:value-of select="$current_filter"/>:
</td>
<td>
<xsl:value-of select="@FILTERNAME"/>
<xsl:if test="@UNITCODE != ''">
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITCODE"/>
</xsl:if>
<xsl:variable name="current_grouped_filter" select="$filt-grouped-formatted[@FILTER = $current_filter]" />
<xsl:if test="count($current_grouped_filter) > 0">
<textarea>
<xsl:copy-of select="$current_grouped_filter"/>
</textarea>
<xsl:text>, </xsl:text>
<xsl:for-each select="$current_grouped_filter">
<xsl:value-of select="@FILTERNAME"/>
<xsl:if test="@UNITCODE != ''">
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITCODE"/>
</xsl:if>
<xsl:if test="count($current_grouped_filter) > position()">,</xsl:if>
</xsl:for-each>
</xsl:if>
</td>
</tr>
</xsl:for-each>
Единственное, что я не могу добиться того, сгруппированные элементы не coming.can какой-либо один предложить мне изменить в коде.
: спасибо за отличную помощь – Athul