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

Setting count for each section in an accordion

我是 xslt 的新手,似乎被卡住了。我正在网站上创建一个帖子的手风琴,其中的信息来自 xml 文件。在我的 xml 文件中,我有多篇博文,但没有设定数量的博文 - 这就是我卡住的地方。我相信我想为我的 xsl 文件中的每个部分分配一个数字,例如计数,但我不确定如何设置计数器。 我的 xml 文件大纲是

以防万一
<blog>
<blogPost>
    <information></information>
</blogPost>
<blogPost>
    <information></information>
</blogPost>
<blog>

我使用模板来提取信息,这很有效,但要形成 'accordion' 我需要为每个部分设置一个 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>

任何有关如何设置 $count 或仅设置数字变量的帮助都将不胜感激,因为当我尝试使用谷歌搜索时,我无法弄清楚如何将它应用到我所做的事情中。提前致谢。

怎么样:

<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>