2
我有这样的xml;如何检查XSLT中存在的值
<formErrors>
<value>address_1</value>
<value>address_2</value>
//.. etc
而在XSL模板中,我有$ formErrors作为变量,我想检查一个值是否存在。如果有一个PHP的等价物,我想要一个in_array()函数。我怎样才能在XSLT中做到这一点?
我有这样的xml;如何检查XSLT中存在的值
<formErrors>
<value>address_1</value>
<value>address_2</value>
//.. etc
而在XSL模板中,我有$ formErrors作为变量,我想检查一个值是否存在。如果有一个PHP的等价物,我想要一个in_array()函数。我怎样才能在XSLT中做到这一点?
<xsl:if test="count(formErrors/value) > 1">
Show Errors
</xsl:if>
<!-- Test if value exists -->
<xsl:if test="formErrors/value ='address_1'">
Show Errors
</xsl:if>
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:variable name="check">address_1</xsl:variable>
<xsl:if test="count(/formErrors[value/text() = $check]) > 0">
<xsl:message terminate="no">Value with text <xsl:value-of select="$check"/> : exists!</xsl:message>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
输出:
[xslt] : Warning! Value with text address_1 : exists!
我想检查,如果说ADDRESS_1出现在$ formErrors。已更新 – Kevin
。我希望它能起作用 – a1ex07