XSLT路径与序列:深入探索节点树与序列操作
1. XSLT与节点树基础
XSLT的核心目标是将XML文档转换为其他格式,如文本、HTML或不同结构的XML。在这个过程中,XSLT处理器将输入和输出的文档都视为节点树。
1.1 节点信息访问
在XPath中,节点有五个重要方面:种类、名称、字符串值、类型和类型化值。可以使用节点测试来确定节点的种类,不同的节点测试用于选择或匹配不同类型的节点,具体如下表所示:
| 节点种类 | 节点测试 | 描述 |
| — | — | — |
| 节点 | node() | 匹配或选择所有节点 |
| 文档节点 | document-node() | 匹配或选择所有文档节点 |
| 文档节点 | document-node(element(name)) | 匹配或选择具有特定名称的单个文档元素的文档节点 |
| 文档节点 | document-node(element(, type)) | 匹配或选择具有特定类型的单个文档元素的文档节点 |
| 文档节点 | document-node(element(name, type)) | 匹配或选择具有特定名称和类型(非空)的单个文档元素的文档节点 |
| 文档节点 | document-node(element(name, type?)) | 匹配或选择具有特定名称和类型的单个文档元素的文档节点 |
| 文档节点 | document-node(schema-element(name)) | 匹配或选择与模式中元素声明匹配的单个文档元素的文档节点 |
| 文本 | text() | 匹配