xml学习笔记(第三篇XSL)-阿里云开发者社区

开发者社区> 技术小胖子> 正文

xml学习笔记(第三篇XSL)

简介:
+关注继续查看
XSL 指扩展样式表语言(EXtensible Stylesheet Language)
CSS = HTML 样式表(HTML 使用预先定义的标签,标签的意义很容易被理解)
XSL = XML 样式表(XML 不使用预先定义的标签(我们可以使用任何喜欢的标签名),并且这些标签的意义并不都那么容易被理解。)
XSL - 不仅仅是样式表语言(包括三部分):
XSLT:一种用于转换 XML 文档的语言。
XPath:一种用于在 XML 文档中导航的语言。
XSL-FO:一种用于格式化 XML 文档的语言。

XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath 用于在 XML 文档中通过元素和属性进行导航。XPath 被设计供 XSLT、XPointer 以及其他 XML 解析软件使用。
什么是 XPath?
XPath 使用路径表达式在 XML 文档中进行导航 
XPath 包含一个标准函数库 
XPath 是 XSLT 中的主要元素 
XPath 是一个 W3C 标准 

在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或成为根节点)。
<bookstore> (文档节点)
<author>J K. Rowling</author> (元素节点)
lang="en" (属性节点) 

XPath 术语:
节点(Node):元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。
基本值(或称原子值,Atomic value):基本值是无父或无子的节点。
项目(Item):项目是基本值或者节点。

节点关系:
父(Parent):每个元素以及属性都有一个父。
子(Children):元素节点可有零个、一个或多个子。
同胞(Sibling):拥有相同的父的节点。
先辈(Ancestor):某节点的父、父的父,等等。
后代(Descendant):某个节点的子,子的子,等等。

XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。
下面列出了最有用的路径表达式:
表达式 描述 
nodename 选取此节点的所有子节点 
/ 从根节点选取 
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置 
. 选取当前节点 
.. 选取当前节点的父节点 
@ 选取属性 

bookstore 选取 bookstore 元素的所有子节点 
/bookstore 选取根元素 bookstore注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径!
bookstore/book 选取所有属于 bookstore 的子元素的 book 元素。 
//book 选取所有 book 子元素,而不管它们在文档中的位置。 
bookstore//book 选择所有属于 bookstore 元素的后代的 book 元素,而不管它们位于 bookstore 之下的什么位置。 
//@lang 选取所有名为 lang 的属性。 

谓语(Predicates)

谓语用来查找某个特定的节点或者包含某个指定的值的节点




      本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/890571,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
多线程编程学习四(Lock 的使用)
一、前言     本文要介绍使用Java5中 Lock 对象,同样也能实现同步的效果,而且在使用上更加方便、灵活,主要包括 ReentrantLock 类的使用和ReentrantReadWriteLock 类的使用。
814 0
机器学习实战:基于概率论的分类方法:朴素贝叶斯(源码解析,错误分析)
按照惯例,先把代码粘到这里 from numpy import * def LoadDataSet(): postingList = [['my', 'dog', 'has', 'flea', 'proble...
840 0
spring源码学习之:xml标签扩展配置例子
在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于Spring的标准Bean来配置,但配置较为复杂或者需要更多丰富控制的 时候,会显得非常笨拙。一般的做法会用原生态的方式去解析定义好的xml文件,然后转化为配置对象,这种方式当然可以解决所有问题,但实现起来比较繁琐, 特别是是在配置非常复杂的时候,解析工作是一个不得不考虑的负担。
1501 0
spring源码学习之:xml配置文件标签自定义
Spring框架从2.0版本开始,提供了基于Schema风格的XML扩展机制,允许开发者扩展最基本的spring配置文件(一 般是classpath下的spring.xml)。试想一下,如果我们直接在spring.xml中加入一个自定义标签,会发生什么呢?spring框架启动的时候会报错,因为spring根本不认识我们自定义的& lt;mytag>,这样对spring.xml的校验就会失败,最终结果就是框架不能启动。
1560 0
21119
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载