您的位置:首页 > 编程语言 > Java开发

java-web 之 第三讲 xml 文件之 XSLT

2015-05-18 00:19 176 查看

XSL

ExTensible Stylesheet Language -- 可扩展样式表语言 用于将 XML 文件转换为另外的文档(html 等),以及定义转换后文档显示的外观。

实际上包含了三种语言: XSL转换(XSL Transformations XSLT),XML路径语言(XPath),和 XSL格式化对象:XSL-FOXSLT: 将一个 xml 文档转换成为其他的文档类型***核心部分XPath:识别 选择 匹配xml文档中的各个组成部分,包括元素 属性 文本等 **比较重要XSL-FO:用于显示,可以将XML 转换为 PDF

1.1 XSL 概述

xml 信息主要用于传递数据并对数据进行表示,而要显示 xml 数据 就需要给xml 文档添加样式信息,一种是使用 css  另一种就是使用 XSLT
XSLT 比 CSS 复杂的多,功能也更为强大,XSLT可以对数据进行计算,整理和排序。
例如:<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" href="welcome.xsl"?>   <!-- 表示该xml文档关联了一个 XSLT 样式表文档 浏览器处理时会自动转换 -->
<欢迎词>
<标题>你好我是标题</标题>
<内容>我是内容</内容>
</欢迎词>
<?xml version="1.0" encoding="GB2312"?>
<!-- XSLT文档的根元素 有两个必须的属性: version 和 xmlns:xsl  这里的version 是 XSLT 的版本  xsl为空间前缀,当然不是必须
这里的根元素 xsl:stylesheet 还有另外一个可供选择的元素为 <xsl:transform>
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">	<!-- 根节点 -->
<html>
<xsl:apply-templates/>
</html>
</xsl:template>

<xsl:template match="欢迎词">
<head><title>
<xsl:value-of select="标题"/>
</title></head>
<body>
<xsl:value-of select="内容"/>
</body>

</xsl:template>
</xsl:stylesheet>
上面的例子在浏览器中测试的结果为 :
XSLT 构造的XML 有7种类型的节点:
1:根节点  2:元素节点  3:文本节点    4:属性节点:附属于元素节点  5:名称空间节点   6:处理指令节点  7:注释节点

1.2 Xalan 处理器

Apache XML 工程下的一个子工程,实现了 W3C XSLT 1.0 和 XPath 1.0 规范,是一个开放源代码的 XSLT 处理器,提供了 java 和 c++ 版本
Xalan 处理器的运行类是 org.apache.xalan.xslt.Process
命令格式为:
	上述命令的意思是:将 welcome.xsl 样式表文档应用到 welcome.xml 中并将结果输出到 welcome.out 中

1.3 模板规则

XSLT 样式表由 一组模板规则(template rules)组成 
模板包含了两个部分:
	模式:pattern  用于在原文档树中匹配节点
	模板:template	定义节点的处理规则 

1.4 <xsl:apply-templates> 元素

用于告诉处理器处理当前节点的所有子节点
	如果下面有子节点 需要添加  <xsl:apply-templates select="name"/> name值为子节点的key

1.5<xsl:value-of> 元素

<xsl:value-of> 用于在结果树中创建一个文本节点

2:XPath 语言

2.1 Xpath 上下文

主要用于识别,选择,匹配XML 文档中的各个组成部分 包括 元素 属性 和文本等,

2.2 核心类库


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: