xslt - 如果其他如果其他

标签 xslt xpath

我有一种情况,我必须根据变量的内容执行排序。

在XSLT 2.0中,我这样做:

<xsl:sort select=" 
        if ($column = 'name') then name
        else if ($column = 'score') then count(//scores/score[@id=current()/@id])
        else if ($column = 'rating) then count(//ratings/rating[@id=current()/@id])
        else name"
        order={$sort}" />


但是我需要为1.0版做,我找不到其他选择。我应该怎么做?

最佳答案

您可以定义多个排序键并安排其中一些无效(通过为所有节点赋予该排序键相同的值)

<xsl:sort select="name[$column = 'name']"/>
<xsl:sort select="count(/self::node()
          [$column = 'score']/scores/score[@id=current()/@id])"/>
<xsl:sort select="count(/self::node()
          [$column = 'rating']/ratings/rating[@id=current()/@id])"/>
<xsl:sort select="name"/> 

关于xslt - 如果其他如果其他,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19713274/

相关文章:

xml - XSLT 中的日期时间分组问题

xslt - XPath 有序优先属性搜索

xml - 按键 : selecting last child of a preceding-sibling node

XSLT - 将模板应用于调用模板结果

xsl 文档中的 css

Javax Transformer 在高并发环境下失败

XSLT 连续空格

xslt - 使用 XSLT 进行数据透视

python - 当所有输入的功能相同时如何获得按钮的唯一 XPATH

java - 什么 XPath 只选择 div 内的非标记文本。 Selenium 。 java