1
我使用XSL,我希望把AC:如果伸到我生成的HTML,預防的C XslPath解析:如果測試字符串
<c:if test="${value=='yes'}">
但測試=「」標記的一部分被解釋作爲XslPath和fials在解析...
有沒有辦法逃避或禁用此測試部分爲一個XslPath
我使用XSL,我希望把AC:如果伸到我生成的HTML,預防的C XslPath解析:如果測試字符串
<c:if test="${value=='yes'}">
但測試=「」標記的一部分被解釋作爲XslPath和fials在解析...
有沒有辦法逃避或禁用此測試部分爲一個XslPath
問題是由於這樣的事實:一對內的大括號屬性被XSLT視爲AVT(屬性值模板)的規範。
爲了指定真正的大括號,它必須加倍。
使用:
<c:if test="${{value=='yes'}}">
這是一個完整的轉型:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:c="some:c" exclude-result-prefixes="c">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="node()|@*">
<c:if test="${{value=='yes'}}"/>
</xsl:template>
</xsl:stylesheet>
當這種轉變是在任何XML文檔(在本演示中未使用)應用,通緝,生成正確的結果:
<c:if xmlns:c="some:c" test="${value=='yes'}"/>
Thanl你!這解決了它,我推測我是一個小小的調整,但只是沒有;不知道哪一個! –
好吧,我嘗試了它在xsl:text標籤內部和外部,我嘗試過使用!CDATA和$#nnn;編碼等..沒有固定它.. –