`

XML::XML XLS之XLST三

    博客分类:
  • XML
阅读更多

XSLT - 在服务器上

由于并非所有的浏览器都支持 XSLT,另一种解决方案是在服务器上完成 XML 至 XHTML 的转化。

跨浏览器解决方案

在前面的章节,我们讲解过如何在浏览器中使用 XSLT 来完成 XML 到 XHTML 的转化。我们创建了一段使用 XML 解析器来进行转化的 JavaScript。JavaScript 解决方案无法工作于没有 XML 解析器的浏览器。为了让 XML 数据适用于任何类型的浏览器,我们必须在服务器上对 XML 文档进行转换,然后将其作为 XHMTL 发送到浏览器。

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

XML 文件和 XSL 文件

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

<?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 样式表:

<?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 文件

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

重要事项:上面这句话表明,XML 文件可使用多个不同的 XSL 样式表来进行转换。

在服务器把 XML 转换为 XHTML

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

<%
'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 解析器的一个实例,然后把 XML 文件载入了内存。第二段代码创建了解析器的另一个实例,然后把这个 XSL 文件载入了内存。最后一行代码使用 XSL 文档转换了 XML 文档,并把结果作为 XHTML 发送到您的浏览器。任务完成!

请看它如何工作

当今,XML 是非常重要的技术,并且开发项目正在使用这些基于 XML 的技术:

  • 用 XML Schema 定义 XML 的结构和数据类型
  • 用 XSLT 来转换 XML 数据
  • 用 SOAP 来交换应用程序之间的 XML 数据
  • 用 WSDL 来描述网络服务
  • 用 RDF 来描述网络资源
  • 用 XPath 和 XQuery 来访问 XML 数据
  • 用 SMIL 来定义图形
分享到:
评论

相关推荐

    xml+xlst生成html试卷)

    该文档用xml和xlst来生成试卷,实现试卷的设计和生成,大家可以下下来看看~

    java中使用xslt转换xml成为另一个xml

    在Java编程环境中,XML(可扩展标记语言)和XSLT(可扩展样式表语言转换)是处理和转换XML文档的常见工具。XSLT是一种专门用于将XML文档转换为其他XML、HTML或文本格式的语言。本文将详细介绍如何在Java中使用XSLT来...

    EXCEL文件格式类型:XLS、XLSX、XLSB、XLSM、XLST.docx

    Excel 文件格式类型:XLS、XLSX、XLSB、XLSM、XLST Excel 文件格式类型是 Microsoft Office Excel 的文件扩展名,它们之间有着不同的区别和特点。在本文中,我们将详细介绍 XLS、XLSX、XLSB、XLSM 和 XLST 等五种...

    vb6XML读写

    vb中读写XML文件实例Dim XMLDoc As DOMDocument Dim root As IXMLDOMNode Dim xlst As IXMLDOMNodeList, xlst1 As IXMLDOMNodeList Dim xn As IXMLDOMNode Dim xnf As IXMLDOMNode Dim xe As IXMLDOMElement Set ...

    XLST 小应用

    XLST(eXtensible Stylesheet Language Transformations)是一种用于转换XML文档的语言,它允许我们根据XSL样式表对XML数据进行格式化、重组或者转换。在本应用中,我们将探讨如何利用XLST来创建一个简单的参考说明...

    使用xslt转化xml数据形成word文档导出

    在处理这种需求时,有两种主要方法:一是使用Microsoft.Office.Interop.Word组件,二是通过XSLT转换XML数据。本篇文章将详细探讨如何使用XSLT将XML数据转化为Word文档。 首先,我们了解XSLT(Extensible Stylesheet...

    XLSTransformer jar

    3. **Java与XML处理**:Java提供了丰富的API来处理XML,如DOM(Document Object Model),SAX(Simple API for XML)和StAX(Streaming API for XML)。在处理大量数据时,由于内存效率问题,SAX和StAX可能比DOM更受...

    Xml+Xslt测试工具

    3. **实时预览**:在修改XML或XSLT时,可以实时查看转换结果,方便调试。 4. **调试工具**:包括步进执行、设置断点和查看变量值等功能,帮助开发者理解转换过程。 5. **性能分析**:评估XSLT转换的性能,查找可能...

    XML和XSLT,及XHTML讲解

    XML(可扩展标记语言,eXtensible Markup Language)是一种用于标记数据的语言,它被设计用来传输和存储数据,而非显示数据。XML的结构清晰、独立于软件和硬件,因此在不同系统间交换数据时非常实用。XML文档由元素...

    xslt模板转换,xml数据和模板

    3. **模式(Patterns)**:模式是XPath表达式,用于在XML文档中选择元素。XPath是XML路径语言,用于导航XML文档结构。 4. **变量和参数(Variables and Parameters)**:XSLT中的变量可以存储计算结果或XML片段,...

    XLST插入图片有问题

    在处理“XLST插入图片有问题”这一主题时,我们首先要明确XSLT(eXtensible Stylesheet Language Transformations)的用途。XSLT是一种强大的语言,用于转换XML(eXtensible Markup Language)文档。它允许我们将XML...

    序列xlst.sql

    oracle 的序列创建,我因为把数据库从一台机到另一台机老报没有序列。这个是建序列代码。

    matlab开发-XLST信号生成器

    XLST信号生成器的核心功能是读取Excel文件(如`TestCases.xls`)中的数据,并将其转化为Simulink模型中的输入信号。这使得用户可以利用Excel的便捷性和强大的数据分析能力来定义和调整输入信号的特性,如幅度、频率...

    W3School的XSLT教程

    XSLT,全称为“可扩展样式表语言转换”(eXtensible Stylesheet Language Transformations),是一种专门用于转换XML文档格式的语言。W3School的XSLT教程为学习者提供了一个全面且易于理解的平台,尤其适合XML和Web...

    hisnulMuslimDB:XML,PDF和Sqlite格式的多语言Hisnul穆斯林数据库的存储库

    去做与XLST转换兼容的XML文件。 Sqlite数据库。 PDF生成的一些方法:XLST或LaTeX。XML挑战支持多种语言。 从RTL(基于阿拉伯语的脚本)中分离LTR文本(基于拉丁语的语言)执照文件reference.pdf是其各自所有者的版权...

    XSLT中文入门 XSLT轻松入门

    总结来说,XSLT作为XML数据转换的语言,其强大之处在于它能够对XML文档进行深度处理,不仅仅是简单的样式调整,而是真正实现了数据的结构性转换。随着XML在互联网和企业信息系统中的广泛应用,XSLT成为了处理XML数据...

    XSLT从入门到精通(PDG).rar

    XSLT,全称为Extensible Stylesheet Language Transformations,是一种强大的样式表语言,用于转换XML(可扩展标记语言)文档,实现数据的呈现和重排。 在本书中,首先会介绍XSLT的基本概念,包括它的起源、目标和...

    XSLT 简单语法说明

    通过以上介绍,我们可以看出XSLT的强大之处在于能够灵活地处理和转换XML数据。无论是简单的选择还是复杂的文档重构,XSLT都能提供一套完整的解决方案。希望这些基础知识能帮助您更好地理解和应用XSLT。

    xalanjava源码-Xfactory:Xfactory-XSLT工作台和XML批处理

    xalan java源码X工厂 XML、XSL、XPATH 工具箱和批处理 Xfactory 是一个免费软件,我编写它只是为了使用 spring-boot 和 ZK 框架。 Xfactory 功能: 灵活且高性能的 xsl 批量转换 ...XML ...xlst。 批处

Global site tag (gtag.js) - Google Analytics