利用XSLT参数赋值机制对输入参数进行加工

在XSLT模板中,定义了一个参数nodeId格式如下:

<xsl:param name="nodeId"/>

一般情况下参数nodeId的值为****形式,运用此参数也没有错误,可是有些特殊情况下,传入的nodeId参数格式为****,****形式,这种情况下,又需要只抓取nodeId中第一个分隔符之前的内容。寻来寻去,终于找到文件的解决办法,即在再定义一个参数,并且将nodeId值赋给此参数,并且在赋值过程中进行加工即可。如下面所示:

<xsl:variable name="arrayNodeId" select="substring-before($nodeId,',')"/>

XSLT编程过程中,只需要对arrayNodeId进行判断即可搞定,如下所示:

 <xsl:choose>
         <xsl:when test="$arrayNodeId != ''">
                 <xsl:value-of select="$arrayNodeId"/>
          </xsl:when>
           <xsl:otherwise>
                   <xsl:value-of select="$nodeId"/>
           </xsl:otherwise>
  </xsl:choose>

  

原文地址:https://www.cnblogs.com/jizhong/p/2857060.html