XSLT专业站 - 提供xslt和xml相关的资料书籍和教程  
XSLT专业站 - 提供xslt和xml相关的资料书籍和教程
网站地图  收藏本站
首页 | 热门文章 | 精彩实例 | 经典教程 | XSLT语法详解 | 资料下载 | 休闲天地 | 交流论坛
  当前位置:首页>经典教程>文章内容
XSLT的处理模型(2)
来源:XSLT.org.cn 作者:XSLT专业站 发布时间:2007-08-04  
XSLT的处理模型(2)

       在浏览器下得到的显示结果等价与上述的html代码,这里涉及到了3个文档,即原来的XML文档,附加在XML文档之上的XSLT文档以及最终浏览器处理的HTML文档,2个处理器即
将XML转换成HTML的XSLT处理器和浏览器,在这里浏览器不在我们的讨论范围之内,我们将重点研究XSLT处理器怎样在XSLT文档的引导下,将XML文档转换成XHTML文档。XHTML,
不是HTML吗,怎么变成了XHTML,是的,转换的结果其实都是XHTML,而不是HTML,之所以写成HTML是出于简单的考虑,并且在实际上,除了语法上更严谨意外XHTML和HTML没有
什么不同。

      注意刚才提到"XSLT处理器在XSLT的引导下将XML文档转换成HTML文档"。这非常准确地说明了(不知道怎样算不算自吹自擂)XSLT文档的作用。XSLT文档实际上扮演了这样一个
角色,它规定XSLT处理器对XML文档按它的规定作处理,比如上述的文档中代码<xsl:template match="/root">,就表示XSLT处理器在遇到XML文档的根元素时按照该元素规定
的方式处理。这样看来XSLT文档具有"领导"的某些性质(可以"光说不做"),具有这种性质的语言称为声明性的(declarative)语言,它具有如下的两个好处:

     (1) 处理和对处理的描述分离
     (2) 表现(处理后的结果)和内容(处理前的数据)分离

      这里提到的"处理"具有强大无比的能力,它可以是任意形式的变换,一个经常出现的情况是XML文档经过XSLT的处理以后变得面目全非。

      接下来再看一下XSLT处理器的输入和输出是什么?
      初看起来这个问题很简单,XSLT处理器的输入当然是XML文档,输出是HTML文档。但实际上不尽然,因为在不同的角度看XML文档会有不同的结果,最低层的,XML文档是二进制数据流,在高一点,XML文档是纯文本,如果站得更高,就可以说XML文档是一些想要表达的信息的集合。对于领导来说,站得位置当然要高一些更高一些,因此在XSLT文档来看,需要转换的XML是一些信息的集合,并且XSLT文档将它们看成一个具有树形结构的信息集合,这对于XML这种半结构化的文档来说最适合不过了,同时组织成树形结构也有利于领导找到某些它感兴趣的东西(比如说某个元素或者某个属性)。这颗树就称为源树。XSLT处理器的所有后续处理都以这个源树作为它的输入。这样原来的XML就消失了,XML文档的逻辑结构也消失了,取而代之的是节点。

      在XSLT的处理模型中,XML文档中的各个逻辑部分分别对应于不同类型的节点,例如元素节点、属性节点、文本节点等。XSLT文档则规定了后续处理的细节,任何XSLT文档中的声明性语句都是针对这个逻辑视图而言的,也就是说XSLT的编写者面对的XML文档是并仅仅是一个源树,而XSLT文档的作用在于规定从这个树中如何得到和得到什么样的信息并将这些信息以什么样的方式输出。这样看来,XSLT的输出是什么也是很显然的,对了,XSLT处理器的输出也是一棵树,这颗树称为结果树(result tree)。按照XSLT规范的说法,就是"XSLT文档表达了源树怎样转换到结果树"。我们用下图表示整个转换过程:



标题: XSLT的处理模型(2)
关键字:处理模型 文档 XSLT XML 处理器 HTML 转换
上一篇:XSLT的处理模型(1)   下一篇:XSLT的处理模型(3)
  经典教程热点文章
·XSLT的处理模型(1)
·XSL基础教程(一)
·XSLT的处理模型(3)
·XSLT的处理模型(4)
·XSLT的处理模型(5)
·XSLT的处理模型(6)
·XSLT的处理模型(7)
·XSLT的处理模型(8)
·XSLT的处理模型(9)
·XSLT的处理模型(10)
·XSL基础教程(二)
·XSL基础教程(三)
  经典教程相关文章
·XSLT的处理模型(1)
·XSLT的处理模型(3)
·XSLT的处理模型(4)
·XSLT的处理模型(5)
·XSLT的处理模型(6)
·XSLT的处理模型(7)
·XSLT的处理模型(8)
·XSLT的处理模型(9)
·XSLT的处理模型(10)
·XSL基础教程(一)
·XSL基础教程(二)
·XSL基础教程(三)
Copyright© 2007 xslt.org.cn All rights reserved.