当前位置:网站首页>XSLT – 服务器端概述
XSLT – 服务器端概述
2022-08-03 23:34:00 【nginx】

跨浏览器解决方案在前面的章节,我们讲解过如何在浏览器中使用 XSLT 来完成 XML 到 XHTML 的转化。我们创建了一段使用 XML 解析器来进行转换的 javaScript。JavaScript 解决方案无法工作于没有 XML 解析器的浏览器。
为了让 XML 数据适用于任何类型的浏览器,我们必须在服务器上对 XML 文档进行转换,然后将其作为 XHMTL 发送回浏览器。
这是 XSLT 的另一个优点。XSLT 的设计目标之一是使数据在服务器上从一种格式转换到另一种格式成为可能,并向所有类型的浏览器返回可读的数据。
XML 文件和 XSLT 文件请看这个在前面的章节已展示过的 XML 文档:
以及附随的 XSL 样式表:
<?xml version="1.0" encoding="UTF-8"?><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="UTF-8"?><xsl:stylesheet version="1.0"xmlns:xsl="<h2>My CD Collection</h2><table border="1"><tr bgcolor="#9acd32"><th style="text-align:left">Title</th><th style="text-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></xsl:template></xsl:stylesheet>
重要事项:上面这句话意味着,XML 文件可使用多个不同的 XSL 样式表来进行转换。
在服务器把 XML 转换为 XHTML这是用于在服务器上把 XML 文件转换为 XHTML 的源代码:
使用 PHP 代码转换
使用 ASP 代码转换
<?php// 载入 XML 文件$xml = new DOMDocument;$xml->load('cdcatalog.xml');// 载入 XSL 文件$xsl = new DOMDocument;$xsl->load('cdcatalog.xsl');// 设置转换$proc = new XSLTProcessor;// 添加 xsl 规则$proc->importStyleSheet($xsl);echo $proc->transformToXML($xml);?>
第一段代码创建了微软的 XML 解析器(XMLDOM)的一个实例,并把 XML 文件载入了内存。第二段代码创建了解析器的另一个实例,并把这个 XSL 文件载入了内存。最后一行代码使用 XSL 文档转换了 XML 文档,并把结果作为 XHTML 发送到您的浏览器。太好了!
<%'载入 XML 文件set xml = Server.CreateObject("Microsoft.XMLDOM")xml.async = falsexml.load(Server.MapPath("cdcatalog.xml"))'载入 XSL 文件set xsl = Server.CreateObject("Microsoft.XMLDOM")xsl.async = falsexsl.load(Server.MapPath("cdcatalog.xsl"))'转换文件Response.Write(xml.transformNode(xsl))%>
它是如何工作的。
原文来自:
边栏推荐
- The "interaction design" battle of the smart cockpit
- Why Flutter Flutter of tutorials is the best choice for business?
- Kotlin - 扩展函数和运算符重载
- ros mavros stereo读取rosbag并记录IMU和图片到文件夹
- ts用法大全
- (PC+WAP)织梦模板螺钉手柄类网站
- curl使用指南
- Software testing is seriously involution, how to improve your competitiveness?
- 逆波兰表达式求值
- 一文搞定 SQL Server 执行计划
猜你喜欢
随机推荐
一文搞定 SQL Server 执行计划
YOLOv7改进之二十二:涨点神器——引入递归门控卷积(gnConv)
AOSP CameraLatencyHistogram的原理与使用
ML之interpret:基于titanic泰坦尼克是否获救二分类预测数据集利用interpret实现EBC模型可解释性之全局解释/局部解释案例
【OpenCV图像处理】 图像拼接技术
CAS: 178744-28-0, mPEG-DSPE, DSPE-mPEG, methoxy-polyethylene glycol-phosphatidylethanolamine supply
简单了解下 TCP,学习握手和挥手以及各种状态到底是怎么样的
libnet
二叉搜索树解决落叶问题
Pytest learn-setup/teardown
RSS订阅微信公众号初探-feed43
Creo 9.0二维草图的诊断:着色封闭环
BPF 可移植性和 CO-RE(一次编译,到处运行)
HNUCM 您好中国
V8中的快慢数组(附源码、图文更易理解)
Code Casual Recording Notes_Dynamic Programming_416 Segmentation and Subsetting
Interpretation of ML: A case of global interpretation/local interpretation of EBC model interpretability based on titanic titanic rescued binary prediction data set using interpret
ts用法大全
Kotlin - extension functions and operator overloading
软件测试内卷严重,如何提升自己的竞争力呢?









