首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >分组项目的XSLT全局计数

分组项目的XSLT全局计数
EN

Stack Overflow用户
提问于 2009-12-15 00:06:43
回答 1查看 770关注 0票数 0

我有一组项目,我正在使用muenchian方法使用键对它们进行分组。这很有效,但是当我尝试用前x个项目做事情时,它是在每个组的x个项目上执行的,而不是整个结果集。我如何获得每个项目在整个集合中的单独位置?

代码语言:javascript
代码运行次数:0
运行
复制
    <xsl:key name="pictures-by-productid" match="/dsQueryResponse/Rows/Row" use="@ProductId" />


<xsl:template match="/">
    <div style="border:1px solid red; float:left;">
        <xsl:apply-templates select="/" mode="sub">

        </xsl:apply-templates>
    </div>
</xsl:template>

和第二个模板

代码语言:javascript
代码运行次数:0
运行
复制
    <xsl:template match="/" mode="sub">    <xsl:for-each select="/dsQueryResponse/Rows/Row[count(. | key('pictures-by-productid', @ProductId)[1]) = 1]">
        <xsl:for-each select="key('pictures-by-productid', @ProductId)">            
            <xsl:sort select="@PictureType" />                  
            <div style="float:left; margin:2px;">
            <img src="{@ThumbNailUrl}" width="58" /> <br />             
            Download            
            <xsl:number value="position()" format="1. " />
            <xsl:value-of select="." />
            </div>

        </xsl:for-each>
    </xsl:for-each>
</xsl:template> 
EN

回答 1

Stack Overflow用户

发布于 2009-12-15 00:32:16

代码语言:javascript
代码运行次数:0
运行
复制
<xsl:key 
  name="pictures-by-productid" 
  match="/dsQueryResponse/Rows/Row" 
  use="@ProductId"
/>

<xsl:template match="/">
  <div style="border:1px solid red; float:left;">
    <!-- iterate the group, sorted by PictureType… -->
    <xsl:for-each select="/dsQueryResponse/Rows/Row[
      count(. | key('pictures-by-productid', @ProductId)[1]) = 1
    ]">
      <xsl:sort select="@PictureType">
      <!-- …and output only if among the fist 6 items -->
      <xsl:if test="position() &lt;= 6">
        <xsl:apply-templates 
          mode="picture"
          select="key('pictures-by-productid', @ProductId)" 
        />
      </xsl:if>
    </xsl:for-each>
  </div>
</xsl:template>

<xsl:template match="/dsQueryResponse/Rows/Row" mode="picture">
  <div style="float:left; margin:2px;">
    <img src="{@ThumbNailUrl}" width="58" /> <br />                         
    <xsl:text>Download </xsl:text>
    <xsl:number value="position()" format="1. " />
    <xsl:value-of select="." />
  </div>
</xsl:template>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1901801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档