`
webdev2014
  • 浏览: 679245 次
文章分类
社区版块
存档分类
最新评论

xsl实例

 
阅读更多
XSL简介
是XML的样式表语言
XSL由三部分组成
XML文档转换:XSL Transformation,又叫XSLT
XSLT是一种比CSS强大很多的语言,可以将XML文档转换成其他格式的文档
模式匹配语法:a pattern matching syntax,又叫XPath
XPath是一种用于标识XML文档各个部分的语言
格式化对象:a formatting object interpretation,XSL FO
XSLT简介
XSL中最重要的部分就是XSLT
XSLT将XML文档转换为XHTML文档或者其他XML文档
通过XSLT,你可以从已输出的文件里添加/移除元素和属性,也可以把元素重新排列和分类,实现更多功能
XSLT与CSS比较
二者都可以格式化XML文档
但是相较于XSLT,CSS有以下缺点
不能重新排序文档中的元素
不能判断和控制哪个元素被显示,哪个不显示
不能统计、计算元素中的数据
CSS适合输出较固定的最终文档,简洁,消耗资源少
将CSS和XSLT结合起来使用:服务器端使用XSLT处理文档,在客户端使用CSS控制显示
----------------------------------xml----------------------------
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="student.xsl"?>
<classes>
<student>
<sid>001</sid>
<sname>张三</sname>
<sage>78</sage>
</student>
<student>
<sid>002</sid>
<sname>李四</sname>
<sage>38</sage>
</student>
<student>
<sid>003</sid>
<sname>王五</sname>
<sage>43</sage>
</student>
<student>
<sid>004</sid>
<sname>朱六</sname>
<sage>8</sage>
</student>
</classes>
-------------------------------------xsl-------------------------------
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head><title>学生列表</title></head>
<body>
<table width="400px">
<tr>
<th>学号</th>
<th>姓名</th>
<th>年龄</th>
</tr>
<xsl:for-each select="classes/student">
<xsl:sort select="sage" order="descending"/>
<tr>
<td align="center"><xsl:value-of select="sid"></xsl:value-of></td>
<td align="center"><xsl:value-of select="sname"></xsl:value-of></td>
<td align="center"><xsl:value-of select="sid"></xsl:value-of></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>---------------------------------------------------------------------
元素语法
xsl:template和xsl:apply-templates
xsl:value-of
xsl:for-each
xsl:if
xsl:choose、when、otherwise
xsl:sort
xsl:template
XSLT文件就是由一个个的模板组成
模板分两部分
匹配模式(match pattern):定义XML源文档中哪一个节点将被模板处理
执行:定义输出的是什么格式
语法
<xsl:template match=pattern name=qname priority=number mode=qname>
<!– 执行内容 -->
</xsl:template>
示例
如,我们处理一个包含章节和段落的文档,用para元素定义段落,用chapter元素定义章节
下面语句中模板匹配所有的para元素
<xsl:template match=“para”></xsl:template>
下面语句中模板匹配所有para元素和所有chapter元素
<xsl:template match=“(chapter|para)”></xsl:template>
下面语句中模板匹配所有父节点为chapter元素的para元素
<xsl:template match=“chapter/para”></xsl:template>
下面语句中模板匹配根节点
<xsl:template match=“/”></xsl:template>
xsl:apply-templates
表示处理哪一个节点,被包含在xsl:template中
语法
<xsl:apply-templates select=node set-expression mode=qname>
</xsl:apply-templates>
示例
<xsl:template match=“/”>
<xsl:apply-templates select=“para”/>
</xsl:template>
上面代码表示模板匹配整个文档(根节点),具体执行时处理根节点下的所有para元素
<xsl:template match=“para”>
<p><xsl:apply-templates /></p>
</xsl:template>
表示模板匹配para节点,所有para的子元素都被处理
xsl:value-of
用来将源文档中元素的文本值写到输出文档中
<xsl:value-of select=“节点名称”/>
xsl:for-each
可以循环处理被选择的节点
<xsl:for-each select=“节点名称”>
其它内容
</xsl:for-each>
xsl:if
类似普通程序语言的if条件语句,允许设定节点满足某个条件时,被模板处理
<xsl:if test=布尔表达式>
其它内容
</xsl:if>
xsl:choose
在xsl:if语法中没有else的属性,如果需要进行多项选择,可以使用xsl:choose/xsl:when/xsl:otherwise系列流程控制语法
<xsl:choose>
<xsl:when test=“”>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
xsl:sort
在XSLT中可以对XML源文档的元素进行重新排序
<xsl:sort select=“排序的元素” order=“ascending/descending”/>
分享到:
评论

相关推荐

    简单的xml与xsl实例

    简单的xml与xsl实例简单的xml与xsl实例简单的xml与xsl实例简单的xml与xsl实例简单的xml与xsl实例

    XSL学习教程实例+实例

    随着Internet的发展,越来越多的信息进入互联网,信息的交换、检索、保存及再利用等迫切的需求使HTML这种最常用的标记语言已越来越捉襟见肘。HTML将数据内容与表现融为一体,可修改性、数据可检索性差,而XML借鉴了...

    xml与xsl的小实例

    xml与xsl的小实例,对你学习xml没什么用,不过交一次作业嘛。。。。

    在xml中使用CSS和XSL

    XSL实例 博文链接:https://it-ming-java.iteye.com/blog/1703464

    xsl与xml转化的实例

    多个关于xsl与xml转化的实例,做web开发的人值得学习下。。。

    xsl的实例.rar_Table_XsL table_xsl

    用xml 调用xsl实现 table界面的设计思想,适合初级学员学习的经典范例

    xsl的实例1.rar_Table_xsl

    xsl的基本实现方法,其中包括滚动字和table的实现

    xml与xsl制作表格实例

    仅仅是个实例,颜色动态等还需自己动手,好好看看吧!非常管用

    O r a c l e与X M L

    为帮助你建立具有XML功能的应用,我们在合适之处介绍了大量不同的应用背景、特定的代码实例以及XML和XSL实例文件。你可以自由地使用这些代码,我们希望它可以引导你有效地使用XML来增强你的应用。注意 如果你对本书...

    xsl学习笔记,入门知识

    xsl 简单实例,入门知识,xsl的简单语法介绍,适合初学者了解xsl使用。

    JSON解析xml 带xsl样式

    JSON解析xml 带xsl样式,有多个实例,可自行学习

    stat.xslnginx-rtmp-module-stat.xsl

    stat.xslnginx-rtmp-module-stat.xsl conf/nginx.conf 为配置文件实例 RTMP监听 1935 端口,启用live 和hls 两个application HTTP监听 8080 端口, * :8080/stat 查看stream状态 * :8080/index.html 为一个...

    web开发之xml,xsl,Dom技术讲解

    学习xml xsl 以及dom的好帮手 5.1 XML 基础 5.2 XML文档的基本结构 5.3 用CSS在浏览器中...5.7 XML DOM及其编程实例 5.8 XML文档的安全性 5.9 XPATH、XLINK和XPOINTER简介 5.10 XML与数据库 5.11 XML的应用和发展前景

    javascript网页特效实例大全(13-19)

    实例353 使用XSL显示XML文档 562 实例354 使用IE XML数据岛输出XML文档 564 14.3 操作XML 565 实例355 用JavaScript控制XML文档的分页显示 565 实例356 通过操作XML数据岛实现添加、删除留言信息 567 第15...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很...

    C#实现XSL转换的方法

    本文实例讲述了C#实现XSL转换的方法。分享给大家供大家参考,具体如下: xsl 可方便的将一种格式的xml,转换成另一种格式的xml,参考下面的代码: using System; using System.IO; using System.Text; using System...

    XML笔记与实例讲解

    这里收录了一大批XML程序,包括DTD,XSL,XML等文件,还有一些笔记说明,对于学习XML的您来说不妨看看,应该对你有帮助

    XML应用实例建立电子商务应用

    资源名称:XML应用实例 建立电子商务应用 内容简介:本书循序渐进地介绍了如何建立完整的XML电子商务应用程序。通过对本书的学习,读者可以理解DOM(文档对象模型)的关键作用,并看到XML在高级电子商务应用程序中...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。.. 本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很...

Global site tag (gtag.js) - Google Analytics