利用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>