设置手风琴中每个部分的计数
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>
我是 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>