你能帮我解决一下这段代码吗?我在输出中只得到一个数字,我不知道这是怎么发生的,并且有一个似乎没有在任何地方使用过的变量。
PS:我没有编写代码,但我需要修改它,但我不知道它是如何工作的。
<xsl:template match="DATA">
<xsl:variable name="cat" select="@code"/>
<xsl:variable name="con" select="@print"/>
<xsl:choose>
<xsl:when test="string-length($con) = 0">
<xsl:text>0|0</xsl:text>
</xsl:when>
<xsl:when test="$con = 'Somthing1'">
<xsl:text>1|0</xsl:text>
</xsl:when>
<xsl:when test="$con = 'Somthing2'">
<xsl:text>2|7</xsl:text>
</xsl:when>
<xsl:when test="$con = 'Somthing3'">
<xsl:text>5|3</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>0|0</xsl:text>
<xsl:call-template name="create">
<xsl:with-param name="n1" select="'0'"/>
<xsl:with-param name="n2" select="'0'"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="create">
<xsl:param name="n1"/>
<xsl:param name="n2"/>
<n1>
<xsl:value-of select="$n1"/>
</n1>
<n2>
<xsl:value-of select="$n2"/>
</n2>
</xsl:template>
输出如下:
<n1>0</n1>
<n2>0</n2>
<n1>2</n1>
<n2>7</n2>
<n1>1</n1>
<n2>0</n2>
<n1>5</n1>
<n2>3</n2>