2012-08-03 58 views
0

我現在非常喜歡新手,但是我已經使用xsl來格式化xml feed,並將其放到我網站的html中。但是,我想進一步將一些輸出文本轉換爲html鏈接。根據條件將xsl的輸出轉換爲url

是否有任何教程可以幫助?

爲了給出更好的上下文,輸出結果是一個足球聯賽表,我想讓這些隊名自動鏈接到一個url。所以如果名字='朴茨茅斯',那麼我想讓朴茨茅斯成爲一個我會確定的鏈接。我如何格式化下表,爲所有可能不同的團隊名稱執行此操作?

<xsl:for-each select="team"> 
<tr> 
<td><xsl:value-of select="position"/></td> 
<td><xsl:value-of select="name"/></td> 
<td><xsl:value-of select="played"/></td> 
<td><xsl:value-of select="won"/></td> 
<td><xsl:value-of select="drawn"/></td> 
<td><xsl:value-of select="lost"/></td> 
<td><xsl:value-of select="for"/></td> 
<td><xsl:value-of select="against"/></td> 
<td><xsl:value-of select="goalDifference"/></td> 
<td><xsl:value-of select="points"/></td> 

</tr> 

`

+0

如果我的回答幫助你出來了,請把它標記爲答案。 – james31rock 2012-08-04 17:24:07

回答

0

如果要有條件地輸出一個標籤,你可以做到以下幾點。

<xsl:template match="/"> 
    <xsl:apply-templates select="//team"/> 
    </xsl:template> 

    <xsl:template match="team"> 
    <td> 
     <xsl:value-of select="position"/> 
    </td> 
    <td> 
     <xsl:choose> 
     <xsl:when test="name='Portsmouth'"> 
      <a> 
      <xsl:attribute name="href"> 
       <xsl:value-of select="concat('someurl.com?name=',name)"/> 
      </xsl:attribute> 
      </a> 
     </xsl:when> 
     <xsl:otherwise> 
      <xsl:value-of select="name"/> 
     </xsl:otherwise> 
     </xsl:choose> 

    </td> 
    <td> 
     <xsl:value-of select="played"/> 
    </td> 
    <td> 
     <xsl:value-of select="won"/> 
    </td> 
    <td> 
     <xsl:value-of select="drawn"/> 
    </td> 
    <td> 
     <xsl:value-of select="lost"/> 
    </td> 
    <td> 
     <xsl:value-of select="for"/> 
    </td> 
    <td> 
     <xsl:value-of select="against"/> 
    </td> 
    <td> 
     <xsl:value-of select="goalDifference"/> 
    </td> 
    <td> 
     <xsl:value-of select="points"/> 
    </td> 
    </xsl:template> 

使用apply-templates代替foreach循環。

如果球隊之一是朴茨茅斯,輸出會

<td><a href="someurl.com?name=Portsmouth"/></td> 

如果你想每隊有一個網址,然後簡單地刪除選擇語句,並留下

<td> 
      <a> 
      <xsl:attribute name="href"> 
       <xsl:value-of select="concat('someurl.com?name=',name)"/> 
      </xsl:attribute> 
      </a> 
    </td> 
+0

謝謝,現在做一個夢:-) – 2012-08-04 14:49:32

+0

如果它的作品投票礦作爲答案請。 – james31rock 2012-08-04 17:18:02