javascript xslt 处理xml备忘录。支持firefox。
参考:
w3school XSLT - 客户端
http://www.w3school.com.cn/xsl/xsl_client.asp
如何使用Javascript XSLT 处理XML文件
http://java.chinaitlab.com/advance/533787.html
1.xml文件,cdcatalog.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited with XML Spy v2007 (http://www.altova.com) -->
<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>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
</catalog>
2.xsl文件,cdcatalog.xsl
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited with XML Spy v2007 (http://www.altova.com) -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes'/>
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th align="left">Title</th>
<th align="left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
3.html文件,index.html
<html>
<body>
<script type="text/javascript">
var xml;
var xsl;
if(typeof window.ActiveXObject != 'undefined') {
xml = new ActiveXObject("Microsoft.XMLDOM");
xsl = new ActiveXObject("Microsoft.XMLDOM");
} else if(document.implementation && document.implementation.createDocument) { //mozilla
xml = document.implementation.createDocument("", "", null);
xsl = document.implementation.createDocument("", "", null);
}
// Load XML
xml.async = false;
xml.load("cdcatalog.xml");
// Load XSL
xsl.async = false;
xsl.load("cdcatalog.xsl");
// Transform
if(typeof window.ActiveXObject != 'undefined') {
document.write(xml.transformNode(xsl));
} else if(document.implementation && document.implementation.createDocument) { //mozilla
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
// transformToDocument方式
var result = xsltProcessor.transformToDocument(xml);
var xmls = new XMLSerializer();
document.write(xmls.serializeToString(result));
}
</script>
</body>
</html>
posted on 2008-05-18 19:02
流浪汗 阅读(787)
评论(1) 编辑 收藏 所属分类:
HTML