XML对数据岛数据实现动态排序二法(2)

2、直接通过DOM实现,灵活性欠缺:

<html>
<body>
<table DATASRC="#catalogs" border=1>
  <tr>
    <td οnclick="sort('catalogs','xstyle','TITLE');">TITLE</td> 
    <td>ARTIST</td>
    <td>COUNTRY</td>
    <td>COMPANY</td>
    <td>PRICE</td>
    <td>YEAR</td>
  </tr> 
  <tr>
    <td ><div DATAFLD="TITLE"></div></td>
    <td ><div DATAFLD="ARTIST"></div></td>
    <td ><div DATAFLD="COUNTRY"></div></td>
    <td ><div DATAFLD="COMPANY"></div></td>
    <td ><div DATAFLD="PRICE"></div></td>
    <td ><div DATAFLD="YEAR"></div></td>
  </tr>
</table>

<xml id='catalogs'>
<CATALOG>
<CD>
  <TITLE>Empire Burlesque</TITLE>
  <ARTIST>Bob Dylan </ARTIST>
  <COUNTRY>USA</COUNTRY>
  <COMPANY>Columbia</COMPANY>
  <PRICE>10.90</PRICE>
  <YEAR>1985</YEAR>
</CD>
<CD>
  <TITLE>Burlesque</TITLE>
  <ARTIST>Dylan </ARTIST>
  <COUNTRY>UA</COUNTRY>
  <COMPANY>umbia</COMPANY>
  <PRICE>1.90</PRICE>
  <YEAR>1987</YEAR>
</CD>
<CD>
  <TITLE>Empire</TITLE>
  <ARTIST>Bob </ARTIST>
  <COUNTRY>US</COUNTRY>
  <COMPANY>bia</COMPANY>
  <PRICE>12.90</PRICE>
  <YEAR>1995</YEAR>
</CD>
</CATALOG>
</xml>

<xml id="xstyle">
<CATALOG>
<xsl:for-each select="CD" order-by="+TITLE" xmlns:xsl=" http://www.w3.org/TR/WD-xsl">
<CD>
  <TITLE><xsl:value-of select="TITLE"/></TITLE>
  <ARTIST><xsl:value-of select="ARTIST"/></ARITST>
  <COUNTRY><xsl:value-of select="COUNTRY"/></COUNTRY>
  <COMPANY><xsl:value-of select="COMPANY"/></COMPANY>
  <PRICE><xsl:value-of select="PRICE"/></PRICE>
  <YEAR><xsl:value-of select="YEAR"/></YEAR>
</CD>
</xsl:for-each>
</CATALOG>
</xml>

<script language="javascript">
function sort(xmlObj, xslObj, sortByColName)
{
    var xmlData=eval("document.all."+xmlObj).XMLDocument;
    var xslData=eval("document.all."+xslObj).XMLDocument;
    var nodes=xslData.documentElement.selectSingleNode("xsl:for-each");
    nodes.selectSingleNode("@order-by").value=sortByColName;

    xmlData.documentElement.transformNodeToObject(xslData.documentElement,xmlData);
}
</script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值