在使用变量作为 XPath 评估的条件时,我遇到了一个问题。我有以下工作正常的模板:
<xsl:template name="typeReasonDic">
<xsl:variable name="dic" select="$schema//xs:simpleType[@name = 'type_reason_et']"/>
<!-- do something with the variable -->
</xsl:template>
但是,当我将其更改为如下所示时:
<xsl:template name="typeReasonDic">
<xsl:param name="choose_dic" select="@name = 'type_reason_et'"/>
<xsl:variable name="dic" select="$schema//xs:simpleType[$choose_dic]"/>
<!-- do something with the variable -->
</xsl:template>
它无法找到所需的节点。
我希望得到的是一个具有默认值的模板$choose_dic
,可以在必要时对其进行覆盖。
我在这里想念什么?
UPD:我发现这个链接描述了我正在尝试做的事情,但它似乎对我不起作用。