2017-04-18 42 views
1

以下@color可以是顏色名稱或十六進制值。 xslt有沒有辦法在測試中將它們分開?像某種內置函數或其他東西?xsl檢查顏色是否是名稱或十六進制

<xsl:when test="/path/@color" /> 

可以redff0000

我需要知道是否以連接#符號,如果它是一個十六進制值。

+0

請提供兩者的示例,並說明您是否可以使用XSLT 2.0。 –

+0

我僅限於xslt-1.0 – Rod

回答

2

我相信你可以使用:

<xsl:if test="translate(/path/@color, '123456789abcdef', '000000000000000')='000000'"> 

這是假設十六進制顏色是小寫並填充爲6位數字。

但是,仍然存在誤報的可能性很小 - 例如,如果顏色恰好被命名爲「facade」,則無法通過#facade十六進制值來告訴它。

相關問題