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 为xsl:foreach循环中的备用表行应用备用类名_Xml_Xslt_Xslt 1.0 - Fatal编程技术网

Xml 为xsl:foreach循环中的备用表行应用备用类名

Xml 为xsl:foreach循环中的备用表行应用备用类名,xml,xslt,xslt-1.0,Xml,Xslt,Xslt 1.0,我的XML是这样的 <filters> <ISP_WebItem FILTER="Type" FILTERNAME="Malet" UNITCODE="" /> <ISP_WebItem FILTER="Mængde" FILTERNAME="500" UNITCODE="g" /> <ISP_WebItem FILTER="Anvendelse" FILTERNAME="Kaffemaskine" UNITCODE="" /> &l

我的XML是这样的

 <filters>
  <ISP_WebItem FILTER="Type" FILTERNAME="Malet" UNITCODE="" />
  <ISP_WebItem FILTER="Mængde" FILTERNAME="500" UNITCODE="g" />
  <ISP_WebItem FILTER="Anvendelse" FILTERNAME="Kaffemaskine" UNITCODE="" />
</filters>
$(document).ready(function(){
$(".pdfgrid tr:even").addClass('even');
$(".pdfgrid tr:odd").addClass('odd');
});
我在每个过滤器中循环并在单独的表行上打印,我的代码是这样的

                 <xsl:variable name="grouped-filt">
                  <xsl:for-each select="exslt:node-set($filt)/filters">
                    <xsl:apply-templates select="ISP_WebItem[generate-id() = generate-id(key('itemByFilter', @FILTER)[1])]" />
                  </xsl:for-each>
                </xsl:variable>

<xsl:template match="ISP_WebItem">
    <tr>
        <td width="200px">
            <xsl:value-of select="@FILTER" />
        </td>
        <td>
            <xsl:for-each select="key('itemByFilter', @FILTER)">
                <xsl:if test="position() &gt; 1">,</xsl:if>
                <xsl:value-of select="@FILTERNAME" />
                <xsl:if test="@UNITCODE != ''">
                    <xsl:text> </xsl:text>
                    <xsl:value-of select="@UNITCODE"/>
                </xsl:if>
            </xsl:for-each>
            <xsl:text>&#10;</xsl:text>
        </td>
    </tr>
</xsl:template>
现在我需要的是为每个tr打印替代类。 范例

谁能给我指一条路吗

注:1-上述代码用于不同目的,如分组所有过滤器。
2-我不能使用JavaScript来达到这个目的。

我认为使用这样的JavaScript是可能的

 <filters>
  <ISP_WebItem FILTER="Type" FILTERNAME="Malet" UNITCODE="" />
  <ISP_WebItem FILTER="Mængde" FILTERNAME="500" UNITCODE="g" />
  <ISP_WebItem FILTER="Anvendelse" FILTERNAME="Kaffemaskine" UNITCODE="" />
</filters>
$(document).ready(function(){
$(".pdfgrid tr:even").addClass('even');
$(".pdfgrid tr:odd").addClass('odd');
});

我认为使用这样的javascript是可能的

 <filters>
  <ISP_WebItem FILTER="Type" FILTERNAME="Malet" UNITCODE="" />
  <ISP_WebItem FILTER="Mængde" FILTERNAME="500" UNITCODE="g" />
  <ISP_WebItem FILTER="Anvendelse" FILTERNAME="Kaffemaskine" UNITCODE="" />
</filters>
$(document).ready(function(){
$(".pdfgrid tr:even").addClass('even');
$(".pdfgrid tr:odd").addClass('odd');
});
尝试:

尝试:


您可以在模板中直接使用position函数,其使用方式与在for each中的使用方式类似:


此选项选择的文档顺序中的第一个ISP_WebItem的位置为1,第二个位置为2,依此类推。

您可以在模板中直接使用position函数,使用方式与在for each中的使用方式类似:


此选项选择的文档顺序中的第一个ISP_WebItem的位置为1,第二个位置为2,依此类推。

那么有人知道如何使用xslt实现这一点吗?我也更喜欢jquery;-。但是删除唯一的。@Arun我不明白这个pdfgrid是从哪里来的?那么有人知道我们如何通过使用xslt实现这一点吗?我也更喜欢jquery;-。但是去掉唯一的。@Arun我不明白这个pdfgrid是从哪里来的?