我正在使用XSL,我想把c:if if into into my generated,
<c:if test="${value=='yes'}">
但是标签的test =“”部分被解释为解析的XslPath和fials ......
有没有办法逃避或禁用它的测试部分作为XslPath
答案 0 :(得分:0)
问题是由于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'}"/>