XSL学习笔记1:XSL概述

 
本质上,XSL 是 XML 的一种表现技术,其中的主要输出是 HTML 页面。XML 文档不包含任何格式设置,要完成XML到其他格式文档的转换,首先应该考虑是否可以通过XSL来实现。

XSL(eXtensible Stylesheet Language)--可扩展式样表语言,主要用于将一个XML文档转换为另外的文档(XML文档、HTML文档),以及定义转换后的文档显示外观。

XSL实际上包含了三种语言:
XSLT(XSL Transformations:XSL转换)
XPath(XML路径语言)
XSL-FO(XSL格式化对象)

XSLT 可扩展样式表语言转换 (XSLT) 是 XSL 的子集语言,它允许您在 Web 页面上显示 XML 数据,并将 XML 数据和 XSL 样式“转换”为 HTML 等形式的可读的样式化信息。
XPath主要在XSLT和Xpointer中使用,用于识别、选择、匹配XML文档中的各个组成部分,包括元素、属性、文本内容等。
XSL-FO定义了许多XML标记,这些标记描述了应如何显示内容,XSL-FO的一个主要应用就是将XML文档转换为PDF文件。

1999年11月16日,W3C组织发布了XSLT 1.0 和XPath 1.0 推荐标准。

XSLT是基于XML的语言,这意味着XSLT文档本身也是格式良好的XML文档。

XSLT文档中,有两个根元素可以使用<xsl:transform>、<xsl:stylesheet>,两者必须任选其一作为根元素。

注意:XSLT的根元素和XML树的根节点是两个不同的概念。

XSLT所构造的XML文档树有下列7中类型的节点:
根节点
元素节点
文本节点
属性节点
名称空间节点
处理指令节点
注释节点

XSLT处理器是一个程序组件,用来将XML文档那个转换为其他类型的文档。XSLT处理器在Java API已经实现,也有一些开源和收费组件的实现,比如开源Xalan等,推荐使用SUN的实现。

XSLT处理器按照指定的样式表文档,将源文档树转换为结果树的原理图如下:
XML 源数据  
            》XSLT处理器---->结果文档树
XSLT式样表

XSLT处理器对XML文档进行转换时,根据指定的样式表文档来输出结果文档。

XSLT处理器在转换过程中,可以对源文档树进行过滤、修改及添加其他的内容,且结果树的结构可以和源文档数的结构完全不同。