大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> XML专区 -> XSLT轻松入门第二章:XSLT的实例

XSLT轻松入门第二章:XSLT的实例

时间: 2021-07-31 作者:daque

2. xslt的范例 2.1 xslt怎样变换xml 2.2 一个范例 2.3 进程领会 2.4 xslt的用处 2.1 xslt怎样变换xml咱们打个风趣的比如,你玩过橡皮泥吧,用各别的模型按上去,就不妨做出须要的形势。即使咱们假如xml数据文书档案是一块大橡皮泥,xslt就象是一个模型,使劲一按,就做出须要的形势来---适合各别须要的html文书档案。 简直看底下的进程表示图: 咱们将xml原文书档案输出,用xsl动作沙盘,经过变换引擎,最后输入须要的html文书档案。个中的变换引擎即是比方中"使劲一按"的进程。在简直运用中,有特意的软硬件来实行这个变换进程,名为xml processor。暂时仍旧有很多 processor 软硬件(底下将精细提到),在ie5.第5中学也仍旧内嵌了xml processor。

2.2 一个范例

 

此刻咱们来看一个大略的xslt本质运用例子,赢得少许感觉器官上的看法。很多网页安排师看到一致html的代码才会释怀,代码是那么的关心和熟习。

 

例子1: "hello, world!"hello world动作第一个教程仍旧是步调谈话中的常规了。咱们也按照这个常规,看看怎样运用xslt来表露"hello world"。固然这个例子没有什么本质用处,然而请大师不要急,反面再有更精细的例子。第一步:创造要输出xml文书档案hello.xml。

 

<?xml version="1.0" encoding="iso-8859-1"?><greeting>hello, world!</greeting>

 

这是一个很大略xml文书档案,只包括一个节点的xml构造树。第二步:创造xslt文书档案hello.xsl。提醒:默许的xslt文献的后缀名为.xsl。

 

<?xml version="1.0" encoding="iso-8859-1"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/tr/wd-xsl"><xsl:template match="/"><html><head><title>first xslt example</title></head><body><p><xsl:value-of select="greeting"/></p></body></html></xsl:template></xsl:stylesheet>

 

你此刻不妨用ie5.0之上本子欣赏器翻开这个hello.xsl文献,看到xsl的构造树。第三步:在xml中挪用这个xsl文献。窜改hello.xml的代码为:

 

<?xml version="1.0" encoding="iso-8859-1"?><?xml-stylesheet type="text/xsl" href="hello.xsl"?><greeting>hello, world!</greeting>

 

ok,到这一步道理上仍旧实行了一切的代码,接下来只有用一个xslt的处置器(xml processor)来实行hello.xml就不妨看到"hello world"的表露截止了。时髦的处置器软硬件有以次几种:(1).james clark的xt。载入网址:http://www.jclark.com/xml/xt.html(2).ibm的xml for java软硬件包,名为lotusxsl。载入网址:www.alphaworks.ibm.com/tech/xml4j(3).saxon。载入网址:http://www.wrox.com(4).微软的msxml3。载入网址:http://www.microsoft.com/xml

 

有网友要问,我想在欣赏器中看到"hello world"的功效该当如何做?在微软的ie5.5内嵌了msxml3证明器,你不妨用ie5.5翻开hello.xml文献,就不妨看到截止。即使只看到xml构造树,不是独立的"hello world"字样,证明你的欣赏器没有安置msxml3本子。即使没有安置又想看功效如何办?那仍旧用咱们在xml教程中的老方法,沿用js实行。(这仍旧胜过了正文要讲的范畴,但为了越发直觉,便于领会,咱们在这边供给范例代码。)底下是一种实行的代码,不妨生存为hello.htm,和上头的hello.xml,hello.xsl放在同一目次底下。结果用ie5.0之上本子翻开hello.htm就不妨看到功效了。

 

<html><head><script language="javascript" for="window" event="onload">var xmldoc = new activexobject("microsoft.xmldom");xmldoc.async="false";xmldoc.load("hello.xml");nodes = xmldoc.documentelement.childnodes;greeting.innertext = nodes.item(0).text;</script><title>first xslt example</title></head><body bgcolor="#ffffff"><span id="greeting"></span><br></body></html>

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:stylesheetxmlns:xsl="http://www.w3.org/1999/xsl/transform"version="1.0">

xslt轻松入门第二章:xslt的实例

 

这是规范的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是处置一致处事的理念东西。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.