1
我想检查模板匹配中的变量,有可能吗?我可以在XSLT中检查模板匹配中的条件吗?
,如:
<xsl:template match="*:Item and $MODE='PURCHASE'">
所以模板不应该在XSLT 1.0检查变量$MODE='PURCHASE'
以及
我想检查模板匹配中的变量,有可能吗?我可以在XSLT中检查模板匹配中的条件吗?
,如:
<xsl:template match="*:Item and $MODE='PURCHASE'">
所以模板不应该在XSLT 1.0检查变量$MODE='PURCHASE'
以及
。
在XSLT 2.0中,可以使用变量引用 - 在模板匹配模式的谓词中。
例如:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:param name="MODE" select="'PURCHASE'"/>
<xsl:template match="*:Item[$MODE='PURCHASE']">
<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>
当该变换被此XML文档上施加:
<t xmlns:x="some:x">
<x:Item>someText</x:Item>
</t>
有用,正确的结果产生:
someText
虽然有些XSLT 1.0处理器(我相信Xalan就是其中之一),XSLT 1.0并不支持它。然而,你使用'和'的语法是你自己的发明,并且与规范中的任何东西都无关。 –