手风琴中每个部分的设置计数
问题描述:
我对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>
可爱的感谢,这正是我寻找,它是如此简单! – Navvy 2015-01-15 16:16:30