zoukankan      html  css  js  c++  java
  • XSLT简介

    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中可以包括两种模式。


    关于作者:
    作者是GrapeCity开发人员。
  • 相关阅读:
    django 一对多操作
    django 单表常用操作
    element-ui
    vue与后台交互之post用法
    pip换国内源
    TCP/UDP的理解
    进程/线程/协程的理解
    《手牵手带你走进python世界》系列四
    《手牵手带你走进python世界》系列五
    《手牵手带你走进python世界》系列三
  • 原文地址:https://www.cnblogs.com/huqingyu/p/310409.html
Copyright © 2011-2022 走看看