我有一个地方列表,但是这些地方的一些地方前面有'the'这个词。我需要帮助通过丢弃'the'按字母顺序对这些地方进行排序。例如山脉,应该只是山脉。我可以删除单词'the'以使用子字符串显示名称但是排序似乎无法读取它。
到目前为止,我有这个。
<xsl:sort data-type="text" order="ascending" select="@places" />
回来的例子:
阿尔法
西格玛
测试版
希望它回来:
阿尔法
公测
西格玛
这只是我如何从名称中删除它的一个例子:
<xsl:choose>
<xsl:when test="substring((@places), 0, 4) = 'The'">
<xsl:value-of select="substring(
(@places),
4,
string-length(@places)
)" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@places" />
</xsl:otherwise>
</xsl:choose>
答案 0 :(得分:1)
使用:
<xsl:sort select="substring(@places, 5 * starts-with(@places,'the ')" />
注意:您还可以使用translate()
函数来区分大小写。