XPath基本概念(一)
XPath是XSLT的重要部分。XPath的作用在于为XML文档的内容定位,并通过XPath来访问指定的XML元素。XPath是一系列规则,这些规则指定了对XML文档树型结构的访问方式。通过XPath规则,可以实现对XML文档的树形结构中每一个节点按照指定的规则去访问。
XPath将XML的文档描述为结构树,节点的类型有元素节点、属性节点、注释节点等共有七种。对于每一个节点,XPath使用一种方法计算节点的值(string-value),XPath完全支持名字空间,带有名字空间的节点名称为扩展节点名(expanded-name)。
XPath的主要语法结构是表达式。表达式对XPath的数据对象取值来匹配相应的访问规则。表达式经常用于XML文档的属性匹配,表达式的取值通常用于文本的处理。XPath中的数据对象类型有四种:节点集、布尔值、字符串和数字
(1)节点集:按照给定的规则,根据XPath文法匹配得到的一组节点。其他的数据类型不能转化为节点集。另外,“|”运算的运算数只能是节点集类型。
(2)布尔值:布尔值有两种取值:真或假。
布尔表达式有:
or对左右两个操作数进行“或”运算,或者为左右操作数取布尔值后进行“或”运算。当第一个操作数为真时,不对第二个操作数进行取值
and对左右两个操作数进行“与”运算,或者为左右操作数取布尔值后进行“与”运算。当第一个操作数为假时,不对第二个操作数进行取值
EqualityExpr包括“=、!=、<=、<、>=、>”六种运算。比较是从左向右进行的。
表达式的优先级为:“or”>“and”>“EqualityExpr”,并且“=、!=”高于“<=、<、>=、>”。
(3)字符串:数据由字符组成,要保证字符的编码不会重复,发生歧义,在使用16位的Unicode编码时可能出现这一问题
(4)数字:数字类型在XPath中是浮点数。可以是双精度数据,非数据(),正无穷大,负无穷大,正负0等。
数字运算符有:“+、-、div、mod”
节点间是派生、兄弟和祖先关系。具体讲节点的类有:根节点、元素节点、属性节点、名字空间节点、指令节点、注释节点、文本节点。(注释节点不能有扩展名文本节点没有节点扩展名)
XPath将XML的文档描述为结构树,节点的类型有元素节点、属性节点、注释节点等共有七种。对于每一个节点,XPath使用一种方法计算节点的值(string-value),XPath完全支持名字空间,带有名字空间的节点名称为扩展节点名(expanded-name)。
XPath的主要语法结构是表达式。表达式对XPath的数据对象取值来匹配相应的访问规则。表达式经常用于XML文档的属性匹配,表达式的取值通常用于文本的处理。XPath中的数据对象类型有四种:节点集、布尔值、字符串和数字
(1)节点集:按照给定的规则,根据XPath文法匹配得到的一组节点。其他的数据类型不能转化为节点集。另外,“|”运算的运算数只能是节点集类型。
(2)布尔值:布尔值有两种取值:真或假。
布尔表达式有:
or对左右两个操作数进行“或”运算,或者为左右操作数取布尔值后进行“或”运算。当第一个操作数为真时,不对第二个操作数进行取值
and对左右两个操作数进行“与”运算,或者为左右操作数取布尔值后进行“与”运算。当第一个操作数为假时,不对第二个操作数进行取值
EqualityExpr包括“=、!=、<=、<、>=、>”六种运算。比较是从左向右进行的。
表达式的优先级为:“or”>“and”>“EqualityExpr”,并且“=、!=”高于“<=、<、>=、>”。
(3)字符串:数据由字符组成,要保证字符的编码不会重复,发生歧义,在使用16位的Unicode编码时可能出现这一问题
(4)数字:数字类型在XPath中是浮点数。可以是双精度数据,非数据(),正无穷大,负无穷大,正负0等。
数字运算符有:“+、-、div、mod”
节点间是派生、兄弟和祖先关系。具体讲节点的类有:根节点、元素节点、属性节点、名字空间节点、指令节点、注释节点、文本节点。(注释节点不能有扩展名文本节点没有节点扩展名)