我正在尝试按日期排序,并收到有关无法加载样式表的错误消息
我找到了其他人的建议答案,但它对我不起作用
这是它应该排序的地方。注释掉的行是排序的位置
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template name="hoo" match="/">
<html>
<head>
<title>Registered Festival Organisers and Festivals</title>
<link rel="stylesheet" type="text/css" href="userfestival.css" />
</head>
<body>
<h1>Registered Festival Organisers and Festivals</h1>
<xsl:for-each select="folktask/member">
<xsl:if test="user/account/userlevel='3'">
<!--<xsl:sort select="concat(substring(festival/event/datefrom,1,4),substring(festival/event/datefrom, 6,2),substring(festival/event/datefrom, 9,2))" data-type="number" order="ascending"/>-->
XML的示例节点
<festival id="1">
<event>
<eventname>Oxford Folk Festival</eventname>
<url>http://www.oxfordfolkfestival.com/</url>
<datefrom>2010-04-07</datefrom>
<dateto>2010-04-09</dateto>
<location>Oxford</location>
<eventpostcode>OX1 9BE</eventpostcode>
<coords>
<lat>51.735640</lat>
<lng>-1.276136</lng>
</coords>
</event>
</festival>
答案 0 :(得分:3)
无需进行复杂的字符串操作即可将<datefrom>
转换为数字。 yyyy-mm-dd
格式的日期与文本完全匹配。
<xsl:for-each select="folktask/member[user/account/userlevel='3']">
<xsl:sort select="festival/event/datefrom" />
<!-- ... -->
</xsl:for-each>