2015-01-15 20 views
0

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

的如何設置$計數或只設置了一些變量,將不勝感激,當我試着用搜索引擎,我不能工作,如何將其應用到我所做的任何幫助。提前致謝。

回答

0

如何是這樣的:(!良構校正)

<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