***——关于XSL中对元素排序的问题——***

leolee 2001-09-10 12:00:26
我有一个XHTML的文档,格式如下:
<table>
<tr><td>aa2</td><td>bb2</td><td>cc2</td></tr>
<tr><td>aa1</td><td>bb1asd</td><td>cc1ds</td></tr>
<tr><td>aa3</td><td>bb3ds</td><td>cc3fds</td></tr>
</table>

希望表格根据某列值的升序进行行排列,这个XSLT的文件该如何写呢?

输出结果如下:(按第一列排序 select="td[position=1]")
aa1 bb1asd cc1ds
aa2 bb2 cc2
aa3 bb3ds cc3fds
……

...全文
100 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
karma 2001-09-10
  • 打赏
  • 举报
回复
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="table">
<xsl:for-each select="tr">
<xsl:sort select="td[1]" />
<xsl:for-each select="td">
<xsl:value-of select="." /><xsl:text> </xsl:text>
</xsl:for-each>
<xsl:text> </xsl:text>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
karma 2001-09-10
  • 打赏
  • 举报
回复
change select="td[1]" to something else, for example, to order the data in reverse:
<xsl:sort select="position()" order="descending" />
leolee 2001-09-10
  • 打赏
  • 举报
回复
to karma:
假如我要求对第一列数据不参加排序,这个条件语句如何写呢?
xmlingo 2001-09-10
  • 打赏
  • 举报
回复
根你的名域有关系
如查你用 http://www.w3.org/1999/XSL/Transform
用<xsl:sort select="value"/>
如果你用http://www.w3.org/TD/WD-xsl
用<for-each order-by="">并支持根据XDR设定的数据类型自动按数字或字符型进行排序
leolee 2001-09-10
  • 打赏
  • 举报
回复
我知道那里出错了,sort是for-each的子元素,必须在它的下面。
很多例子里都有for-each order-by="",但是察看XSLTreferance里for-each没有这个order-by属性阿,而且解析器也不认!
leolee 2001-09-10
  • 打赏
  • 举报
回复
不会吧。


<xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
<xsl:output method = "text" />

<xsl:template match = "/" >
<xsl:text >Ascending: </xsl:text>
<xsl:apply-templates select = "//BBB" >
<xsl:sort />
</xsl:apply-templates>
<xsl:text >
Descending: </xsl:text>
<xsl:apply-templates select = "//BBB" >
<xsl:sort order = "descending" />
</xsl:apply-templates>
<xsl:text >
正常运行的!
karma 2001-09-10
  • 打赏
  • 举报
回复
这可是标准的XSLT语句啊,你的XALAN肯定很古老了
leolee 2001-09-10
  • 打赏
  • 举报
回复
to karma:
上面的代码在Xalan-java中解析时出错,错误信息是xsl:sort不允许在stylesheet中的这个位置!似呼通不过。

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧