XSL如何找到2个字符串中较大的一个?

时间:2017-10-10 18:35:37

标签: xslt

如果要比较并找到2个字符串中的较大字符,请提供以下新手问题 -

<xsl:variable name="String1" select="ABC"/>
<xsl:variable name="String2" select="DEF"/>

我对两个字符串之间的比较重点是基于第一个字母大于另一个字母,所以,我这样做了 -

<xsl:variable name="String1First" select="substring($String1,1,1)"/>
<xsl:variable name="String2First" select="substring($String2,1,1)"/>

所以我有string1First&amp;中第一个字母的值String2First for comparison。

现在实际比较是问题 - 只是试图检查string1&gt; string2但是这显然没有给我正确的结果。

<xsl:variable name="Output">
<xsl:choose>
<xsl:when test="'$String1First' &gt; '$String2First'">
   <xsl:text> First string is greater </xsl:text>
</xsl:when>
<xsl:otherwise>
  <xsl:text> Second string is greater </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>

尝试使用比较功能,但这似乎不起作用。

<xsl:variable name="Output">
<xsl:choose>
<xsl:when test="(compare('$String1First', '$String2First')) = 1">
   <xsl:text> First string is greater </xsl:text>
</xsl:when>
<xsl:otherwise>
   <xsl:text> Second string is greater </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>

也尝试过:

<xsl:variable name="Alphabet" select="ABCDEFGHIJKLMNOPQRSTUVWXYZ"/>
<xsl:number name="PosNo" select="index-of-string($Alphabet,$String1First)">
<xsl:number name="PosNo2" select="index-of-string($Alphabet,$String2First)">

通过获取位置来比较数字,但是整个格式错误。

请您帮忙解决最简单的方法吗?

非常感谢您的帮助。

0 个答案:

没有答案