请问有没有办法用js对xhtml的某一个片段进行xslt变换?(要求兼容IE6和Firefox1.0)
我希望实现的效果类似这样:
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="gb2312">
<head>
<script type="text/javascript">
function sortDiv()
{
var oChioce=document.getElementById('choice');
var sXslt='<!--Some XML here-->';
//创建xml有关对象,读取字符串sXslt,在sXslt已中用<xsl:sort>声明了对choice中的<div>进行按内容进行排序
//使用xml对象对choice片段进行XSLT变换,把结果输出到名为oSortedChoice的HTMLDivElement。
//oSortedChoice的innerHTML应该是这样的:<div>Apple</div><div>Banana</div><div>Cat</div><div>Dog</div>
}
</script>
</head>
<body onload="sortDiv();">
<div id="choice">
<div>Banana</div>
<div>Dog</div>
<div>Apple</div>
<div>Cat</div>
</div>
</body>
</html>
请问sortDiv()应该怎么写?要求完全在客户端完成操作,并且兼容IE6和Firefox1.0。
其实这个问题主要头痛的是:
1.js没有内置的xml对象,那就必须调用外部xml对象,需要做到好的浏览器兼容性很难。
2.IE6的DOM是不符合规范的,读取出来的innerHTML里面对属性没有使用双引号括起来,是不能够直接当作xhtml进行transform的。