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,如需转载请自行联系原作者



相关文章
|
2月前
|
XML JSON 数据可视化
数据集学习笔记(二): 转换不同类型的数据集用于模型训练(XML、VOC、YOLO、COCO、JSON、PNG)
本文详细介绍了不同数据集格式之间的转换方法,包括YOLO、VOC、COCO、JSON、TXT和PNG等格式,以及如何可视化验证数据集。
356 1
数据集学习笔记(二): 转换不同类型的数据集用于模型训练(XML、VOC、YOLO、COCO、JSON、PNG)
|
XML Java 数据库连接
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-mybatis的概述2
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-mybatis的概述2
58 0
|
XML Java 数据库连接
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-原始jdbc操作1
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-原始jdbc操作1
72 0
java202304java学习笔记第六十七天-ssm-动态sql-xml完成基本得crud之2
java202304java学习笔记第六十七天-ssm-动态sql-xml完成基本得crud之2
53 0
java202304java学习笔记第六十七天-ssm-动态sql-xml完成基本得crud之2
|
XML Java 数据库连接
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-mybatis的概述1
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-mybatis的概述1
68 0
|
XML 数据格式
java202304java学习笔记第六十七天-ssm-动态sql-web中xml配置
java202304java学习笔记第六十七天-ssm-动态sql-web中xml配置
70 0
java202304java学习笔记第六十七天-ssm-动态sql-xml完成基本得crud之1
java202304java学习笔记第六十七天-ssm-动态sql-xml完成基本得crud之1
50 0
|
XML 数据格式
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-知识要点
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-知识要点
64 0
|
XML Java 数据库连接
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-原始jdbc操作2
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-原始jdbc操作2
72 0
|
XML 数据格式
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-快速入门2
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-快速入门2
64 0