网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > XHTML > 正文
XSLT轻松入门第二章:XSLT的实例(3)
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/12/14
下载{$ArticleTitle}原创论文样式

2.3 过程解析


如果你成功的看到效果,你也许想知道这些代码的具体含义,我们来详细解说:看hello.xsl文件


<?XML version="1.0" encoding="iso-8859-1"?>


这是标准的XML文档的首行代码,因为XSLT本身也是XML文档。encoding属性用来定义文档使用的编码形式,iso-8859-1主要支持西欧和北美的语言编码。如果你想使用简体中文,那么就应该写成:


<?xml version="1.0" encoding="GB2312"?>


接下去的代码是:


<xsl:stylesheet

xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

version="1.0">


这是标准的XSLT文件首行代码。xsl:stylesheet代码的意思是将文档作为一个样式表来(stylesheet)处理。xmlns:xsl属性是一个名字空间声明,和XML中的名字空间使用方法一样,用来防止元素名称重复和混乱。其中前缀xsl的意思是文档中使用的元素遵守W3C的XSLT规范。最后的version属性说明样式表只采用XSLT
1.0的标准功能,这也是目前仅有的标准。


<xsl:template match="/">


一个<xsl:template>元素定义一个模板规则。属性match="/"说明XML源文档中,这个模板规则作用的起点。"/"是一种XPath语法,我们在后面将详细讲述,这里的"/"代表XML结构树的根(root)。


接下去的代码是:


<html>

<head>

<title>First XSLT Example</title>

</head>

<body>

<p><xsl:value-of select="greeting"/></p>

</body>

</html>


说明:当模板规则被触发,模板的内容就会控制输出的结果。例子中,模板大部分内容由HTML元素和文本构成。只有<xsl:value-of>元素是XSLT语法,这里<xsl:value-of>的作用是拷贝原文档中的一个节点的值到输出文档。而select属性则详细指定要处理的节点名称。这是XPath语法,"greeting"的意思就是寻找根节点名为greeting的元素,并用模板来处理这个节点。具体的就是找到<greeting>元素,然后将元素的值"hello
world"按模板样式拷贝到输出文件。

提示:由于XML文档是严格的层级结构(用IE5查看XML文件,会看见XML文档类似多级关联菜单),所以我们形象的称XML文档为文档树,其中每一对元素称作树的一个节点。根元素就是根节点。


最后关闭所有元素:


</xsl:template>

</xsl:stylesheet>


好,例子解说完毕。你是否想过为什么要用这么复杂的方法来显示"hello world"呢?

关键不在表面,而在于实质:用这种方法,hello world可以从XML文档中被提取出来,并用各种不同的XSLT模板处理,来输出不同需求的文档。我们来看看XSLT的主要用途:



2.4 XSLT的用途


XSLT的主要用途就是数据转换应用。

由于以XML为基础的电子商务广泛普及,XSLT作为数据转换的角色也越来越重要。例如直接将电视新闻的数据格式转换成报纸新闻需要的数据格式;将股票数据直接转换成图片显示在网页上;对EDI(电子数据交换)数据进行统计,排序等等。

XSLT是处理类似工作的理想工具。


(责任编辑:admin)

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号