申请我使用XSL改造中,促进,Sarissa。它是一个交叉浏览器库,它包含了不同浏览器的xml apis。
对于您可以直接前往howto page 与萨里沙长枪一改造中的一个例子,但它是与此类似:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>sarissa test1</title>
<script type="text/javascript" src="sarissa.js"></script>
</head>
<body>
<script type="text/javascript">
function loadXMLDoc(dname) {
xhttp = new XMLHttpRequest();
xhttp.open("GET",dname,false);
xhttp.send("");
return xhttp.responseXML;
}
var processor = new XSLTProcessor();
var theXML = loadXMLDoc('xml.xml');
var theXSL = loadXMLDoc('xsl.xsl');
// prepare the processor
processor.importStylesheet(theXSL);
var theResult = processor.transformToDocument(theXML);
// now you have a DomDocument with the result
// if you want to serialize (transform to a string) it you van use
document.write(new XMLSerializer().serializeToString(theResult));
</script>
</body>
</html>
快速,简单,编程和维持,你可以关注你的努力给XSL创作,而不是比努力克服浏览器差异。
单毛刺,对我来说是一个加号,但有人可能会认为这是一个限制,代码GPL 2.1下发布或更高,或者,如果你喜欢Apache许可证2.0或更高
编辑:矿错误,我发布了一个旧的(和错误的代码),而没有检查它。在firefox,chrome,ie8,ie7上创建了一个模拟脚本的新版本(并对其进行了测试),它的工作无懈可击。我使用了谷歌搜索中找到的前两个xsl/xml(我在下面报告它们的完整性为 )。按照原样并使用xsl/xml尝试代码。如果出现问题,也会报告故障(我们可以通过比更深的错误描述更有效 - 不起作用 -)。代码行为不当时会发生什么? (浏览器冻结,报告错误,返回空白结果)
XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--?xml-stylesheet type="text/xsl" href="xsl.xsl"?-->
<tutorials>
<tutorial>
<name>XML Tutorial</name>
<url>http://www.quackit.com/xml/tutorial</url>
</tutorial>
<tutorial>
<name>HTML Tutorial</name>
<url>http://www.quackit.com/html/tutorial</url>
</tutorial>
</tutorials>
的xsl:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- try to enable/disable the xsl:output -->
<!-- xsl:output method="xml"
version="1.0"
encoding="iso-8859-1"
indent="yes"/-->
<xsl:template match="/">
<html>
<head>
<title>XML XSL Example</title>
<style type="text/css">
body
{
margin:10px;
background-color:#ccff00;
font-family:verdana,helvetica,sans-serif;
}
.tutorial-name
{
display:block;
font-weight:bold;
}
.tutorial-url
{
display:block;
color:#636363;
font-size:small;
font-style:italic;
}
</style>
</head>
<body>
<h2>Cool Tutorials</h2>
<p>Hey, check out these tutorials!</p>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="tutorial">
<span class="tutorial-name"><xsl:value-of select="name"/></span>
<span class="tutorial-url"><xsl:value-of select="url"/></span>
</xsl:template>
</xsl:stylesheet>
这组代码也无法正常工作的Internet Explorer .... 。 Plz检查它并帮助我。 谢谢 – 2010-06-11 09:45:42