频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

XSLT介绍

来源: 作者: 出处:巧巧读书 2006-09-26 进入讨论组

  XSLT是由XSL(Extensible Stylesheet Language)发展而来的,XSLT是一种基于XML的语言,用于将一类(class)XML文档转换成另一种XML文档。

为什么要转换?
转换的目的有多种: (1)显示:比如把DataSet的XML转换成HTML(HTML可以认为是XML的特例,因为Tag集完全确定)或WML
(2)B2B中的EDI,比如<Vendor>全部变成<Supplier>,甚至数据也可以以特定的方式改变
(3)编程方面可能存在的特殊要求


XSLT与XML的关系类似HTML与CSS的关系
在CSS文件中,定义有一些专门的格式,大意是每逢某个Tag,就将其括起来的内容以某种字体或颜色来显示。XSLT有类似的功效,比如每逢一个特定的Tag就将其内容显示在表格单元中。但是XSLT还有另外一个更强的功能:转换数据(为特定的用户或者设备),其结果是:源文档中的数据,可能与结果文档中的不同,比如一些数据不要了,却出现另一些数据(如汇总数据或者WML中的特殊设置,或者字符数据发生变化)。

HTML引用CSS往往是在文件中静态联接CSS,如下例: ======Test.HTML
<HTML>
<head>
<link type="text/CSS" href=../../"StyleSheet1.CSS" rel="stylesheet" />
</head>
<body>
<h1>Header 1</h1>
This is a Test
</body>
</HTML>
==========StyleSheet1.CSS
H1
{
COLOR: red; FONT-STYLE: italic; FONT-FAMILY: Arial; FONT-VARIANT: normal
}




与此类似,XML文件中也可以指定适用的XSLT文件。但是真正有用的是动态apply不同的XSLT文件,比如:<%@ LANGUAGE = JScript %>
<%
// Set the source and style sheet locations here
var sourceFile = Server.MapPath("simple.XML");
var styleFile = Server.MapPath("simple.xsl");

// Load the XML
var source = Server.CreateObject("MSXML2.DOMDocument");
source.async = false;
source.load(sourceFile);
// Load the XSLT
var style = Server.CreateObject("MSXML2.DOMDocument");
style.async = false;
style.load(styleFile);
Response.Write(source.transformNode(style));
%>




两种转换模式:模板驱动与数据驱动
Template-driven model:类似邮件合并,根据XSLT的要求寻找源文档中的数据,找到后插入到预定的位置,最后形成一个符合模板要求的文档。

Data-driven model:根据源文档的结构,在XSLT中寻找匹配的模板片断,最终的格式类似源文档,而不是XSLT中的整体模板样式。同一个XSLT中可以包括两种模式。正文:http://www.qqread.com/dotnet/k230366.html进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章