XPath轴介绍和示例

众所周知, 路径使用绝对或相对路径定义节点的位置。以相同的方式, XPath轴用于通过元素之间的关系(如父, 子, 同级等)来标识元素。轴是指元素相对于元素所在的轴。
各种Axis值的列表:

Index Axis Description
1) ancestor 它指定当前节点的祖先, 包括父节点直到根节点。
2) ancestor-or-self 它指定当前节点及其祖先。
3) attribute 它指定当前节点的属性。
4) child 它指定当前节点的子代。
5) descendant 它指定当前节点的后代, 即该节点的子节点直到叶节点(没有更多的子节点)。
6) descendant-or-self 它指定当前节点及其后代。
7) following 它指定了当前节点之后的所有节点。
8) following-sibling 它指定了上下文节点的以下同级。兄弟姐妹与当前节点处于同一级别, 并共享其父节点。
9) namespace 它指定当前节点的名称空间。
10) parent 它指定当前节点的父节点。
11) preceding 它指定了当前节点之前(即开始标记之前)的所有节点。
12) self 它指定当前节点。
XPath轴示例
< p> < xsl:value-of select = "firstname"/> < /p> < xsl:value-of select = "/class/student/preceding-sibling::comment()"/>

这里的名字与名为employee.xml的XML文档的employee节点有关。
【XPath轴介绍和示例】让我们创建一个使用XPath表达式的XML文档” employee.xml” 及其样式表文档” employee.xsl” 。
employee.xml
< ?xml version = "1.0"?> < ?xml-stylesheet type = "text/xsl" href = "http://www.srcmini.com/employee.xsl"?> < class> < employee id = "001"> < firstname> Abhiram< /firstname> < lastname> Kushwaha< /lastname> < nickname> Manoj< /nickname> < salary> 15000< /salary> < /employee> < employee id = "002"> < firstname> Akash< /firstname> < lastname> Singh< /lastname> < nickname> Bunty< /nickname> < salary> 25000< /salary> < /employee> < employee id = "003"> < firstname> Brijesh< /firstname> < lastname> Kaushik< /lastname> < nickname> Ballu< /nickname> < salary> 20000< /salary> < /employee> < employee id = "004"> < firstname> Zoya< /firstname> < lastname> Mansoori< /lastname> < nickname> Sonam< /nickname> < salary> 30000< /salary> < /employee> < /class>

员工.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> < body> < xsl:value-of select = "/class/employee/preceding-sibling::comment()"/> < br/> < xsl:text> First Employee: < /xsl:text> < xsl:value-of select = "/class/employee/child::firstname" /> < /body> < /html> < /xsl:template> < /xsl:stylesheet>

输出
XPath轴介绍和示例

文章图片

    推荐阅读