2011-01-21 56 views
2

我有一個XML feed數據,需要使用XSL v1.0進行鏈接...這可以工作,但TYPE值需要小寫,以便鏈接正常工作:XSL變量爲小寫

<a href="http://www.mysite.com/{TYPE}={ID}" target="_blank"> 
    <img src="{IMAGE}" /> 
</a> 

於是,我試着這樣做,但它給我的錯誤,我發現很難排查的錯誤回來爲「XSLT在(1991)編譯錯誤。請參閱的InnerException瞭解詳細信息。」 (下面只是一個片段)。

<xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" /> 
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" /> 

<xsl:element name="a"> 
    <xsl:attribute name="href"> 
    <xsl:value-of select="concat('http://www.mysite.com/', translate(TYPE, $uppercase, $smallcase),'=',ID)"/> 
    </xsl:attribute> 
    <xsl:attribute name="target"> 
    <xsl:text>_blank</xsl:text> 
    </xsl:attribute> 
    <xsl:text><img src="{IMAGE}" /></xsl:text> 
</xsl:element> 

那裏有一些明顯的錯誤,我失蹤了嗎?或者也許更簡單的方法?

+0

@fidgey:檢查我的回答對一個清晰的解決方案。 – 2011-01-21 17:53:40

回答

4

更清潔:

<a href="http://www.mysite.com/{translate(
            TYPE, 
            $uppercase, 
            $smallcase)}={ID}" 
    target="_blank"> 
    <img src="{IMAGE}" /> 
</a> 
+0

是的,好得多謝謝:) – Mottie 2011-01-22 03:45:45

2
<xsl:text><img src="{IMAGE}" /></xsl:text> 

應該只是

<img src="{IMAGE}" /> 
+0

Duh ...謝謝!! – Mottie 2011-01-21 16:41:17