循环中的XSLT错误消息

时间:2016-02-17 18:32:18

标签: xml xslt

我想在找不到名字和姓氏时打印一行错误消息:

<xsl:for-each select="Users/User_Detail">
  <xsl:sort select="title" order="ascending" />
  <xsl:sort select="last_name" order="ascending" />
  <xsl:variable name="firstname" select="first_name" />
  <xsl:variable name="lastname" select="last_name" />
  <xsl:choose>
    <xsl:when test="$lname!='' and $fname !=''">
      <xsl:if test="not(contains($firstname,$fname))">
        <xsl:if test="not(contains($lastname,$lname))">
          error
        </xsl:if>
      </xsl:if>
    </xsl:when>
  </xsl:choose>    
</xsl:for-each>

2 个答案:

答案 0 :(得分:1)

首选方法是使用xsl:message对处理时间进行错误处理,如果需要也可以终止处理:

<xsl:if test="contains($lastname,$lname)">
  <xsl:message terminate="no">
    An error occured
  </xsl:message>
</xsl:if>

答案 1 :(得分:0)

<xsl:if test="not(contains($firstname,$fname))">
    <xsl:if test="not(contains($lastname,$lname))">
<xsl:message terminate="yes">
An error occurred
  </xsl:message>
      error
    </xsl:if>
  </xsl:if>