如何检查XML元素是否具有XSLT的特定属性

时间:2013-09-03 19:28:23

标签: xml xslt transform

我继承了一个XSLT转换项目,这是我第一次使用这项技术。说我有这个XML:

<report>
    <data>
        <group>
            <row>
                <cell email="true">
                    <stuff>Testing@testing.com</stuff>
                </cell>
                <cell>
                    <stuff>Not an email</stuff>
                </cell>
            </row>
        </group>
    </data>
</report>

如何在XSLT中测试单元格是否具有电子邮件属性,和/或是否设置了属性?

1 个答案:

答案 0 :(得分:1)

//cell[@email]

表示你的xpath expresssion。将它用作模板中的模式,其中包含一些指令,如...

<xsl:if test=".[@email]">
    <!-- structures to generate / further processing -->
</xsl:if>

<xsl:if test=".[@email = 'true']">
    <!-- structures to generate / further processing -->
</xsl:if>

测试表达式也可能包含类似于user1759572注释的模式 - 它都依赖于您要执行测试的上下文以及您希望获得的转换结果。