0

我有以下查询,如下所示 e 有一个条件

<xsl:if test="./Id='AAA' and ./Role='YYY'">
<xsl:value-of select=" 'true'"/>
</xsl:if>

现在我想通过设置另一个条件来扩展它,它也应该允许 id BBB 和角色 ZZZ ,请告知如何实现这一点

4

2 回答 2

0
<xsl:if test="(./Id='AAA' and ./Role='YYY') or (./Id='BBB' and ./Role='ZZZ')">
    <xsl:value-of select=" 'true'"/>
</xsl:if>
于 2013-06-07T04:48:46.830 回答
0

如果您必须定义更多的 Id 和 Roles,那么定义这样复杂的条件会有点笨拙。您还可以使用允许的组合制作特殊变量,例如

<xsl:variable name="AllowedUsers">
    <User id="AAA" role="ZZZ" />
    <User id="BBB" role="YYY" />
</xsl:variable>

然后只需检查它是否包含有关已测试 ID 和角色的记录。

<xsl:variable name="CurrentElement" select="." />
<xsl:if test="$AllowedUsers/User[@id = $CurrentElement/Id and @role = $CurrentElement/Role]">
    <xsl:value-of select="true" />
</xsl:if>

这只是一个想法,@Tom 绝对正确。

于 2013-06-07T08:41:14.507 回答