Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 如何检查XSLT中是否存在值_Xml_Xslt_Xslt 1.0 - Fatal编程技术网

Xml 如何检查XSLT中是否存在值

Xml 如何检查XSLT中是否存在值,xml,xslt,xslt-1.0,Xml,Xslt,Xslt 1.0,我有一些像这样的xml <formErrors> <value>address_1</value> <value>address_2</value> //.. etc 地址1 地址2 //.. 等 在XSL模板中,我将$formErrors作为变量,我想检查是否存在一个值。如果有一个PHP等价物,那么我需要一个in_array()函数。如何在XSLT中实现这一点? <xsl:if test="count(fo

我有一些像这样的xml

<formErrors>
    <value>address_1</value>
    <value>address_2</value>
//.. etc

地址1
地址2
//.. 等
在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>

我想检查一下地址_1是否出现在$formErrors中。
[xslt] : Warning! Value with text address_1 : exists!