- 浏览: 13730959 次
- 性别:
- 来自: 洛杉矶
文章分类
- 全部博客 (1994)
- Php / Pear / Mysql / Node.js (378)
- Javascript /Jquery / Bootstrap / Web (435)
- Phone / IOS / Objective-C / Swift (137)
- Ubuntu / Mac / Github / Aptana / Nginx / Shell / Linux (335)
- Perl / Koha / Ruby / Markdown (8)
- Java / Jsp (12)
- Python 2 / Wxpython (25)
- Codeigniter / CakePHP (32)
- Div / Css / XML / HTML5 (179)
- WP / Joomla! / Magento / Shopify / Drupal / Moodle / Zimbra (275)
- Apache / VPN / Software (31)
- AS3.0/2.0 / Flex / Flash (45)
- Smarty (6)
- SEO (24)
- Google / Facebook / Pinterest / SNS (80)
- Tools (22)
最新评论
-
1455975567:
xuezhongyu01 写道wocan23 写道我想问下那个 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
xuezhongyu01:
wocan23 写道我想问下那个111.1是怎么得来的我也看不 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
18335864773:
试试 pageoffice 在线打开 PDF 文件吧. pag ...
jquery在线预览PDF文件,打开PDF文件 -
青春依旧:
opacity: 0.5; 个人喜欢这种方式!关于其他css特 ...
css透明度的设置 (兼容所有浏览器) -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
搞定网页打印自动分页问题
学习资源:
1. http://www.w3school.com.cn/xsl/
2. https://www6.software.ibm.com/developerworks/cn/education/xml/x-introxslt/section2.html
1.XSLT的概念
我们首先来澄清一个概念,大家可能听说过XSL(eXtensible Stylesheet
Language),XSL和我们这里说的XSLT从狭义上理解是一样的,而按照W3C的标准,XSLT的说法更严格些,因此我们在文章中统一使用
XSLT的称法。它们之间具体的关系我们会在下面讲述。
1.1 什么是XSLT
XSLT的英文标准名称为eXtensible Stylesheet Language
Transformation。根据W3C的规范说明书(http://www.w3.org/TR/xslt),最早设计XSLT的用意是帮助XML文
档(document)转换为其它文档。但是随着发展,XSLT已不仅仅用于将XML转换为HTML或其它文本格式,更全面的定义应该是:
XSLT是一种用来转换XML文档结构的语言。
1.2 为什么要用XSLT
我们已经知道,XML是一种电脑程序间交换原始数据的简单而标准的方法。它的成功并不在于它容易被人们书写和阅读,更重要的是,它从根本上解决了应用系统
间的信息交换。因为XML满足了两个基本的需求:
(1).将数据和表达形式分离。就象天气预报的信息可以显示在不同的设备上,电视,手机或者其它。
(2).在不同的应用之间传输数据。电子商务数据交换的与日俱增使得这种需求越来越紧迫。
为了使数据便于人们的阅读理解,我们需要将信息显示出来或者打印出来,例如将数据变成一个HTML文件,一个PDF文件,甚至是一段声音;同样,为了使数
据适合不同的应用程序,我们必须有能够将一种数据格式转换为另一种数据格式,比如需求格式可能是一个文本文件,一个SQL语句,一个HTTP信息,一定顺
序的数据调用等。而XSLT就是我们用来实现这种转换功能的语言。将XML转换为HTML,是目前XSLT最主要的功能。
1.3 什么是XPath
XPath是XSLT的重要组成部分,我们将在第四章讲解它的详细语法。那么XPath是什么呢?我们首先来了解一下XSL系列的"家族"关系。如下图:
XSL在转换XML文档时分为明显的两个过程,第一转换文档结构;其次将文档格式化输出。这两步可以分离开来并单独处理,因此XSL在发展过程中逐渐分裂
为XSLT(结构转换)和XSL-FO(formatting
objects)(格式化输出)两种分支语言,其中XSL-FO的作用就类似CSS在HTML中的作用。而我们这里重点讨论的是第一步的转换过程,也就是
XSLT。
另外,在学习XML时我们已经知道XML是一个完整的树结构文档。在转换XML文档时可能需要处理其中的一部分(节点)数据,那么如何查找和定位XML文
档中的信息呢,XPath就是一种专门用来在XML文档中查找信息的语言。XPath隶属XSLT,因此我们通常会将XSLT语法和XPath语法混在一
起说。
用一种比较好理解的解释:如果将XML文档看作一个数据库,XPath就是SQL查询语言;如果将XML文档看成DOS目录结构,XPath就是
cd,dir等目录操作命令的集合。
1.4 XSLT和CSS的比较
CSS同样可以格式化XML文档,那么有了CSS为什么还需要XSLT呢?因为CSS虽然能够很好的控制输出的样式,比如色彩,字体,大小等,但是它有严
重的局限性,就是:
(1) CSS不能重新排序文档中的元素;
(2) CSS不能判断和控制哪个元素被显示,哪个不被显示;
(3) CSS不能统计计算元素中的数据;
换句话说,CSS只适合用于输出比较固定的最终文档。CSS的优点是简洁,消耗系统资源少;而XSLT虽然功能强大,但因为要重新索引XML结构树,所以
消耗内存比较多。
因此,我们常常将它们结合起来使用,比如在服务器端用XSLT处理文档,在客户端用CSS来控制显示。可以减少响应时间。
(1)cdcatalog_with_xsl.xml
<?xml version="1.0" encoding="utf-8"?> <!--引用xslt转换xml--> <?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?> <catalog> <cd> <title>One night only</title> <artist>Bee Gees</artist> <country>UK</country> <company>Polydor</company> <price>10.90</price> <year>1998</year> </cd> <cd> <title>One night only</title> <artist>Bee Gees</artist> <country>UK</country> <company>Polydor</company> <price>10.90</price> <year>1998</year> </cd> <cd> <title>One night only</title> <artist>Bee Gees</artist> <country>UK</country> <company>Polydor</company> <price>10.90</price> <year>1998</year> </cd> <cd> <title>One night only</title> <artist>Bee Gees</artist> <country>UK</country> <company>Polydor</company> <price>10.90</price> <year>1998</year> </cd> <cd> <title>One night only</title> <artist>Bee Gees</artist> <country>UK</country> <company>Polydor</company> <price>10.90</price> <year>1998</year> </cd> <cd> <title>One night only</title> <artist>Bee Gees</artist> <country>UK</country> <company>Polydor</company> <price>10.90</price> <year>1998</year> </cd> <cd> <title>One night only</title> <artist>Bee Gees</artist> <country>UK</country> <company>Polydor</company> <price>10.90</price> <year>1998</year> </cd> </catalog>
(2)cdcatalog.xsl
<?xml version="1.0" encoding="utf-8" ?> <!-- 声明一个 XSL 样式表 --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <!--match 属性的值是 XPath 表达式(match="/" 表示匹配整个文档)--> <xsl:template match="/"> <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th align="left">标题</th> <th align="left">作者</th> <th align="left">国家</th> <th align="left">价格</th> <th align="left">年份</th> </tr> <!-- select="catalog/cd[country='UK'] 选取catalog根节点下cd节点下country元素值为"UK"的CD节点集合--> <xsl:for-each select="catalog/cd[country='UK']"> <!-- 按artist排序--> <xsl:sort select="artist"/> <!--判定条件 price值>8 执行 xsl:if体 --> <xsl:if test="price > 8"> <tr> <!--多重条件判定,结合 when,otherwise使用--> <xsl:choose> <xsl:when test="price > 9"> <!-- xsl:value 输出元素值--> <td bgcolor="#ff00ff"><xsl:value-of select="title"/></td> </xsl:when> <xsl:otherwise> <td><xsl:value-of select="title"/></td> </xsl:otherwise> </xsl:choose> <td><xsl:value-of select="artist"/></td> <td><xsl:value-of select="country"/></td> <td><xsl:value-of select="price"/></td> <td><xsl:value-of select="year"/></td> </tr> </xsl:if> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
发表评论
-
SASS界面编译工具——Koala的使用
2016-08-24 13:18 4665《SASS 界面编译 ... -
CSS3: 利用分层动画让元素沿弧形路径运动
2016-08-24 13:19 2582原文:Moving along a curved pat ... -
HTML5: 利用SVG动画动态绘制文字轮廓边框线条
2016-08-24 13:14 2134DEMO: 点击这里看效果 ... -
如何制作HTML5 SVG描边文字
2016-08-24 13:15 1868在很多时候,SVG是最容易在网页上做出文字特效的方法。现在S ... -
基本的SVG样式属性
2016-08-24 13:11 2488SVG的样式属性和CSS的语法非常接近,有时甚至是一样的 ... -
SVG 入门教程系列列表
2016-08-19 03:09 1057SVG 入门教程系列列表: SVG 教程 (一) ... -
CSS3: 动画循环执行(带延迟)的实现
2016-08-11 01:23 11080出处:http://www.cnblogs.com/s ... -
CSS3: 常用动画特效及4个最流行的动画库
2016-08-11 01:00 7184一、animates.css animate.css是来自 ... -
HTML5: 全局属性
2016-08-01 08:03 987出处:http://www.cnblogs.com/s ... -
CSS: 深入理解BFC和Margin Collapse (margin叠加或者合并外边距)
2016-08-01 07:57 2719BFC的理解与应用 首先我们来看看w3c规范对BFC的解释 ... -
详解CSS的盒模型(box model) 及 CSS3新增盒模型计算方式box-sizing
2016-08-01 07:55 1912W3C规范 一般来说,页面中的每一个元素都会形成一个矩形盒 ... -
CSS: div高度自动适应背景图片的高度 How to get div height to auto-adjust to background size?
2016-07-29 13:00 3961原文:CSS: div高度自动适应背景图片的高度 How t ... -
移动开发需要知道的像素知识『多图』
2016-07-29 12:48 884像素(Pixel)对于WEB开 ... -
HTML5: 两个viewport的故事(第一部分)
2016-07-29 12:45 765英文:http://www.quirksmode.org/m ... -
HTML5: 两个viewport的故事(第二部分)
2016-07-28 05:23 789英文:http://www.quirksmode ... -
CSS3 媒体查询移动设备尺寸 Media Queries for Standard Devices (包括 苹果手表 apple watch)
2016-07-28 05:18 10501. Phones and Handhelds a) ... -
CSS3: 移动端开发中 max-device-width 与 max-width 的区别
2016-07-28 05:17 11573翻译自stackoverflow.com,源地址:http: ... -
CSS:媒体查询 CSS3 Media Queries
2016-07-28 05:11 1341定义和使用 使用 @medi ... -
CSS: SASS用法指南 (附视频)
2016-07-28 05:05 966观看视频: CSS: SASS用法指南 ... -
九张 Gif 图回顾 Web 设计的 25 年历史
2016-07-27 10:51 733原文出处: fastcodesign ...
相关推荐
在《XSLT入门教程》中,我们首先会接触到**XSLT的概念**。第一章“XSLT的概念”会介绍XSLT的基本原理,包括它的主要作用——数据转换,以及与XPath的关系。XPath是XML路径语言,用于在XML文档中查找信息,它是XSLT中...
XSLT入门需要掌握XPath的基本用法,它是XSLT中用于选取XML节点的语言。XPath表达式可以选取节点集、单个节点、字符串值或数字。理解节点类型,如元素、属性、文本和命名空间,以及路径表达式和轴的概念,是使用XPath...
【XSLT中文入门 XSLT轻松入门】 XSLT,全称为eXtensible Stylesheet Language Transformation,是一种专门用于转换XML(eXtensible Markup Language)文档结构的语言。W3C(World Wide Web Consortium)定义了XSLT...
《XSLT从入门到精通》是一本针对XSLT技术深入浅出的教程,旨在帮助读者全面理解和掌握这一强大的XML转换语言。XSLT,全称Extensible Stylesheet Language Transformations,是一种用于将XML文档转换成其他形式,如...
通过学习《XSLT从入门到精通》,读者将能够熟练掌握如何使用XSLT来处理XML数据,进行复杂的结构转换,并理解如何构建高效、可维护的XSLT样式表。这本书涵盖了从基本概念到高级技巧的全面内容,适合初学者和有经验的...
《XSLT从入门到精通(上)》是一本针对初学者精心编写的教程,旨在帮助读者快速掌握XSLT这一强大的XML转换语言。XSLT全称为Extensible Stylesheet Language Transformations,它用于将XML文档转换成其他形式的XML、...
xslt从入门到精通(陈建勋)
《XSLT从入门到精通》是一本深入探讨XSLT技术的专业书籍,它涵盖了XSLT的基础知识、进阶技巧以及实际应用案例。通过学习这本书的源代码,读者可以更好地理解和掌握XSLT在XML数据转换中的强大功能。XSLT是一种用于...
##### 第一章:XSLT入门 - **基本概念**:介绍XSLT的基本概念,包括样式表、模板、选择器等。 - **简单示例**:通过一个简单的XSLT样式表来展示如何转换XML文档。 ##### 第二章:XPath简介 - **XPath语法**:讲解...
学习XSLT的前提是您对XML已经有一些了解,如果您没有学习过XML,可以先点这里(http://www.etechnic.com.cn/columns/xml_1.shtml)看我先前写的一篇文章《XML轻松入门手册》。XSLT可以说更偏向是一种程序语言,但它...
XML内容管理应用程序的...本入门教程提供了XSLT处理模型的基础,为开发者提供了重要的基本功. XSLT 是一种用于将 XML 文档转换为 XHTML 文档或其他 XML 文档的语言。 XPath 是一种用于在 XML 文档中进行导航的语言。
XSLT参考手册-新.chm,介绍xslt入门的好资料。电子书格式
### XSLT轻松入门知识点详解 #### 一、XSLT概述 **1.1 什么是XSLT** XSLT(eXtensible Stylesheet Language Transformations)是一种由W3C制定的标准语言,用于将XML文档转换为另一种格式的文档,如HTML或纯文本...
在处理XML文档时,XSLT(eXtensible Stylesheet Language Transformations)和XPath(XML Path Language)是两个重要的工具。 XSLT是用于转换XML文档的样式表语言,它的主要功能是将XML源文档转换成另一种XML格式,...
《XSLT从入门到精通(下)》是专为初学者设计的一本经典教材,主要聚焦于XML的转换技术——XSLT的深入学习。XSLT,全称为Extensible Stylesheet Language Transformations,是一种强大的语言,用于将XML文档转换成...
在本教程中,我们将深入探讨XSLT的基础知识及其在XML数据转换中的应用。 XSLT的基本概念: 1. **模板(Templates)**:XSLT中的核心是模板,它们定义了如何将源XML文档的特定部分转换为目标格式。模板通过匹配模式...
XSLT从入门到精通 压缩卷1
XSLT从入门到精通.part2