众所周知, 路径使用绝对或相对路径定义节点的位置。以相同的方式, 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 | 它指定当前节点。 |
<
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>
输出
文章图片
推荐阅读
- XSLT xsl(apply-template元素)
- XPath语法
- XPath相对路径
- XPath节点
- XPath表达式
- 什么是XPath
- XSLT xsl(message元素)
- XSLT xsl(import元素)
- XSLT xsl(key元素)