手风琴中每个部分的设置计数

问题描述:

我对xslt非常陌生,而且我似乎陷入了困境。我在一个网站上创建了一系列帖子,其中的信息来自xml文件。在我的xml文件中,我有多个博客帖子,但没有设定的帖子数量 - 这是我卡住的地方。我相信我想用我的xsl文件中的每个部分分配一个数字,但我不确定如何设置计数器。 我的XML文件概述以防万一它是任何使用的是手风琴中每个部分的设置计数

<blog> 
<blogPost> 
    <information></information> 
</blogPost> 
<blogPost> 
    <information></information> 
</blogPost> 
<blog> 

我使用模板来提取信息,这是工作,但要形成“手风琴”我需要设置一个ID为每个部分。

<xsl:template match="blogPost"> 


<article> 

    <div class="accordion vertical"> 
     <section id=""> 

      <h2><xsl:apply-templates select="postTitle"/></h2> 
      <p><xsl:apply-templates select="postText"/></p> 
      <p><xsl:apply-templates select="postImage"/></p> 
      <p><xsl:apply-templates select="postQuote"/></p> 
      <p><xsl:apply-templates select="postLink"/></p> 
      <p><xsl:apply-templates select="postAudio"/></p> 
      <p><xsl:apply-templates select="postVideo"/></p> 
      <p><xsl:apply-templates select="postChat"/></p> 

      <b><p><xsl:apply-templates select="postDate"/></p> 
      <p><xsl:apply-templates select="postTags"/></p></b> 
     </section> 
    </div> 
</article> 
</xsl:template> 

的如何设置$计数或只设置了一些变量,将不胜感激,当我试着用搜索引擎,我不能工作,如何将其应用到我所做的任何帮助。提前致谢。

如何是这样的:(!良构校正)

<xsl:template match="/blog"> 
    <body> 
     <xsl:apply-templates select="blogPost"/> 
    </body> 
</xsl:template> 

<xsl:template match="blogPost"> 
    <article> 
     <div class="accordion vertical"> 
      <section id="{position()}"> 
       <!-- ... --> 
      </section> 
     </div> 
    </article> 
</xsl:template> 

适用于您的输入例如结果是:

<body> 
    <article> 
     <div class="accordion vertical"> 
     <section id="1"/> 
     </div> 
    </article> 
    <article> 
     <div class="accordion vertical"> 
     <section id="2"/> 
     </div> 
    </article> 
</body> 
+0

可爱的感谢,这正是我寻找,它是如此简单! – Navvy 2015-01-15 16:16:30