XSLT - 在服务器端

XSLT - 在服务器端

因为并不是全部的浏览器都支持 XSLT,另外一种解决方案是在服务器上完成 XML 至 XHTML 的转化。 html

跨浏览器解决方案

在前面的章节,咱们讲解过如何在浏览器中使用 XSLT 来完成 XML 到 XHTML 的转化。咱们建立了一段使用 XML 解析器来进行转换的 JavaScript。JavaScript 解决方案没法工做于没有 XML 解析器的浏览器。

为了让 XML 数据适用于任何类型的浏览器,咱们必须在服务器上对 XML 文档进行转换,而后将其做为 XHMTL 发送回浏览器。 浏览器

这是 XSLT 的另外一个优势。XSLT 的设计目标之一是使数据在服务器上从一种格式转换到另外一种格式成为可能,并向全部类型的浏览器返回可读的数据。 服务器

XML 文件和 XSLT 文件

请看这个在前面的章节已展现过的 XML 文档: async

<?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
.
.
</catalog>

查看 XML 文件学习

以及附随的 XSL 样式表: url

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<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>

查看 XSL 文件spa

请注意,这个 XML 文件没有包含对 XSL 文件的引用。 .net

重要事项:上面这句话意味着,XML 文件可以使用多个不一样的 XSL 样式表来进行转换。 设计

在服务器把 XML 转换为 XHTML

这是用于在服务器上把 XML 文件转换为 XHTML 的源代码: orm

<%
'Load XML
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(Server.MapPath("cdcatalog.xml"))

'Load XSL
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(Server.MapPath("cdcatalog.xsl"))

'Transform file
Response.Write(xml.transformNode(xsl))
%>

提示:假如您不了解如何编写 ASP,您能够学习咱们的 ASP 教程

第一段代码建立了微软的 XML 解析器(XMLDOM)的一个实例,并把 XML 文件载入了内存。第二段代码建立了解析器的另外一个实例,并把这个 XSL 文件载入了内存。最后一行代码使用 XSL 文档转换了 XML 文档,并把结果做为 XHTML 发送到您的浏览器。太好了!

它是如何工做的


原文地址:http://www.w3cschool.cc/xsl/xsl-server.html

更多内容请查看:w3cschool菜鸟教程

相关文章
相关标签/搜索