`

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 来定义图形
分享到:
评论

相关推荐

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

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

    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更受...

    Excel批量导入导出

    若需要减少文件大小,可以选择保存为XLS或XLST(老版本Excel格式)。 3. 数据连接:Excel的“获取和转换数据”功能,可以建立与外部数据源的实时连接,如数据库、文本文件、Web数据等。这样,每次打开工作簿时,...

    IMG_20250415_160847.jpg

    IMG_20250415_160847.jpg

    big_dripleaf_stem.png

    big_dripleaf_stem

    计算机求职面试内容与技巧分享-针对应届毕业生的华为、腾讯技术岗位准备指南

    内容概要:本文详细介绍了针对国内顶级科技公司(如华为、腾讯)的计算机求职面试内容与技巧。文章首先概述了技术能力考察的重点领域,包括数据结构与算法、操作系统、计算机网络、数据库以及特定编程语言的深入知识点。接着阐述了项目经验和系统设计方面的考察标准,强调了STAR法则的应用和具体的设计案例。此外,还分别描述了两家公司在面试流程上的不同之处,提供了具体的面试技巧,如代码编写的注意事项、项目回答的数据支持方法、系统设计的关键考量因素以及反问面试官的有效问题。最后,给出了避坑指南和资源推荐,帮助求职者更好地准备面试。 适合人群:即将或计划进入华为、腾讯等大型科技企业工作的应届毕业生和技术人员。 使用场景及目标:①帮助求职者了解并准备好技术面试所需的知识点;②指导求职者如何有效地展示自己的项目经验;③提供系统设计题目的解答思路;④传授面试过程中需要注意的行为规范和沟通技巧。 阅读建议:由于文中涉及大量专业知识和技术细节,建议读者在阅读时结合自身背景有选择地进行重点复习,并利用提供的资源链接进一步深化理解。同时,在准备过程中要注意将理论知识与实际操作相结合,多做练习以增强信心。

    基于SpringBoot的课程设计选题管理系统(源码+数据库+万字文档+ppt)525

    基于SpringBoot的课程设计选题管理系统,系统包含三种角色:管理员、用户,教师主要功能如下。 【用户功能】 系统首页:浏览课程设计选题管理系统的信息。 个人中心:管理个人信息,查看选题进展和历史记录。 课题信息管理:浏览已有的课题信息。 选题信息管理:查看已选择的选题信息。 自拟课题管理:提出和管理个人自拟的课题,。 系统管理:修改个人密码。 【管理员功能】 系统首页:查看系统整体概况。 个人中心:管理个人信息。 学生管理:审核和管理注册学生用户的信息。 教师管理:审核和管理注册教师用户的信息。 课题信息管理:监管和管理系统中的课题信息,包括发布、编辑、删除等。 课题分类管理:管理课题的分类信息。 选题信息管理:查看学生已选题目的情况,包括审批和管理选题流程。 自拟课题管理:审批和管理学生提出的自拟课题。 系统管理:管理系统的基本设置。 【教师功能】 系统首页:查看系统。 个人中心:管理个人信息。 课题信息管理:浏览已有的课题信息。 课题分类管理:管理课题的分类信息。 选题信息管理:查看学生已选题目的情况。 自拟课题管理:提出和管理个人自拟的课题。 系统管理:校园资讯管理。

    橡胶履带牵引车辆改进设计(无极自动变速器方案设计).rar

    橡胶履带牵引车辆改进设计(无极自动变速器方案设计).rar

    1-剑桥大学发布GVAR数据集-社科数据.rar

    剑桥大学发布的GVAR(Global Vector Autoregressive)数据集是用于全球宏观经济分析的重要社科数据资源。该数据集基于GVAR模型开发,旨在量化宏观经济发展对金融机构的影响,并分析全球经济互动。GVAR模型通过处理高维系统中的相互作用,解决了“维度诅咒”问题,适用于国家、地区、行业等多层次的经济分析。数据集包含1979-2016年33个国家的季度数据,可用于冲击情景分析、预测及政策评估。配套的GVAR工具箱(GVAR Toolbox)提供了用户友好的界面,支持MATLAB和Excel操作,便于研究人员开展实际应用。该数据集为经济学、金融学及相关领域的学术研究和政策制定提供了有力支持。

    某汽车联合车间工艺布置图.zip

    某汽车联合车间工艺布置图.zip

    在stm32f407zgt上通过标准库实现w5500tcpserver和client

    在stm32f407zgt上通过标准库实现w5500tcpserver和client,可以ping通速率不快

    基于Python的微信跳一跳游戏程序.zip

    基于Python的微信跳一跳游戏程序

    white_concrete.png

    j

    ElectLines.py

    ElectLines.py

    【Python测试开发】算法能力测试卷:涵盖选择题、填空题、编程题及综合题的全面考核

    内容概要:本文档是一份针对Python测试开发工程师的算法能力测试卷,涵盖选择题、填空题、编程题和综合题四个部分。选择题考察Python基础知识、数据结构与算法、HTTP协议等;填空题涉及递归、排序、设计模式、HTTP请求方法、测试框架等具体知识点;编程题要求完成字符串反转、链表环检测、二叉树最大深度、两数之和及单元测试类的编写;综合题则包括设计自动化测试框架和实现测试报告生成器,旨在评估考生对Python编程和测试开发的全面掌握程度。 适合人群:具备Python编程基础,从事或计划从事测试开发工作的工程师。 使用场景及目标:①作为招聘流程中的技术考核工具;②帮助工程师自测和提升Python测试开发技能;③为企业内部培训提供标准化的评测标准。 阅读建议:此测试卷不仅考察语法和算法,更注重实际编程能力和解决问题的思路。建议考生在准备过程中多动手实践,熟悉常见的算法和数据结构,并掌握常用的测试框架和工具,如pytest、coverage等。同时,理解每个题目背后的设计意图,有助于更好地应对实际工作中的挑战。

    一级减速器成套CAD图【22CAD】.rar

    一级减速器成套CAD图【22CAD】.rar

    beetroots_stage2.png

    beetroots_stage2

    IMG_20250415_104619.jpg

    IMG_20250415_104619.jpg

    吴萌2262040206.zip

    吴萌2262040206.zip

    Android开发banner效果demo源码

    Android开发banner效果,用的是youthbanner的库,你们也可以去找原库demo

Global site tag (gtag.js) - Google Analytics