zoukankan      html  css  js  c++  java
  • XSL基础教程(二)

    青苹果工作室编译,转自 ccidnet 网站
    2001年03月16日

    内容: 
      客户端XSL
    服务器端XSL

    XSL(eXtensible Style sheet Language),即可扩展样式表语言,是XML的亲密
    伙伴。要学习好XML,不能不掌握XSL。本文就向你全面讲述XSL的一切一切:
    客户端XSL:如何用XML解析器在客户机上将XML文档转换成HTML文档。

    一个JavaScript的解决方法
    在前文中,我们解释了如何用XSL将一个文档从XML转换成HTML。窍门就是向XML文
    件中增加一个XSL样式表,然后让浏览器来进行转换。即使这种方法能奏效,在X
    ML文件中包含一个样式表引用也并非令人满意的方法,并且在不支持XSL的浏览器
    上这种方法还不能奏效。
    一个更通用的方法应该是用一个JavaScript来进行从XML到HTML的转换。使用一个
    JavaScript,就更有以下可能性:

    允许JavaScript进行浏览器细节测试;
    根据浏览器和用户需求使用不同的样式表。
    这就是XSL的美妙之处。XSL设计目的之一就是使数据从一个格式转换成另一个格
    式成为可能,从而支持不同的浏览器和不同的用户需求。
    客户端XSL转换将成为未来浏览器工作任务的一个主要部分,我们还将看到专业化
    浏览器市场的成长,比如Braille、 发声网络、网络打印机、手持PC、移动电话
    等。

    在浏览器中将XML转换到HTML
    以下是在客户机上将XML文件转换成HTML所需要的源代码,很简单:

        <html>
        <body>
        <script language="javascript">
        // Load XML
        var xml = new ActiveXObject("Microsoft.XMLDOM")
        xml.async = false
        xml.load("cd_catalog.xml")
        // Load the XSL
        var xsl = new ActiveXObject("Microsoft.XMLDOM")
        xsl.async = false
        xsl.load("cd_catalog.xsl")
        // Transform
        document.write(xml.transformNode(xsl))
        </script>
        </body>
        </html>
    如果使用的是Internet Explorer 5.0 或更高版本,请点击这里查看结果。

    代码的第一块创建了Microsoft XML 解析器(XMLDOM)的一个例示,并将XML文档加
    载到内存中。代码的第二块创建解析器的另一个例示,并将XSL文档加载到内存中
    。代码的最后一行用XSL文档转换XML文档,将结果写入HTML 文档中。


    服务器端XSL:如何用XML解析器在服务器上将XML文档转换成HTML文档。

    服务器端XSL
    由于不是所有的浏览器都支持XML和XSL,因此就有了一个在服务器上将XML转换成
    HTML的方法。

    一个跨浏览器的解决方法
    在前面的章节中,我们解释了如何用XSL在浏览器中将XML文档转换成HTML,窍门
    就是让JavaScript使用一个XML解析器来进行转换。但是当浏览器不支持XML解析
    器时,这种方法是不奏效的。要使XML数据对所有浏览器都可用,我们就必须在服
    务器上转换XML文档,并将它作为纯HTML发送到浏览器。

    这是XSL的另一个美妙之处。XSL的设计目的之一是使得在服务器上将数据从一种
    格式转换成另一种格式成为可能,并将可读数据返回到所有未来的浏览器中。

    在服务器上进行XSL转换正在成为未来Internet信息服务器工作任务的一个主要部
    分,同时我们将看到专用浏览器市场的发展,如:Braille、有声网络、网络打印
    机、手持PC、移动电话等。

    以下是在服务器上转换XML文件所需要的简单源代码:

        <%
        'Load the XML
        set xml = Server.CreateObject("Microsoft.XMLDOM")
        xml.async = false
        xml.load(Server.MapPath("cd_catalog.xml"))
        'Load the XSL
        set xsl = Server.CreateObject("Microsoft.XMLDOM")
        xsl.async = false
        xsl.load(Server.MapPath("cd_catalog.xsl"))
        'Transform the file
        Response.Write(xml.transformNode(xsl))
        %>
    代码的第一块创建Microsoft XML解析器(XMLDOM)的一个例示,并将XML文件装载
    到内存中。代码的第二块创建解析器的另一个例示,并将XSL文档装载到内存。代
    码的最后一行用XSL文档转换XML文档,并将结果返回浏览器

  • 相关阅读:
    sql被注入,用友不能建账
    项目总帐金额翻倍
    1)123104科目的余额出现翻倍情况,经调数据库,期初余额已调平,但余额表中的数仍是未调平前的错误数。2)一月结账时提示有一科目119101的总账与个人明细账不平....
    尚有已全部暂估报销的单据未进行处理,不能进行12月的期末处理
    用友U8尚有已全部暂估报销的单据未进行处理,不能进行12月的期末处理
    用sql替换T6工作流中的操作员
    解决win7科迈登录报错RASRDP MODULE已停止工作
    sql2005 64 位 连接 sql2000 32位
    jquery选择器
    深入理解jQuery中$.get、$.post、$.getJSON和$.ajax的用法
  • 原文地址:https://www.cnblogs.com/goody9807/p/828322.html
Copyright © 2011-2022 走看看