某些函数需要一些信息才能工作。此信息是以参数的形式传递的,而参数插入在圆括号 ( ) 中。
要访问“函数引用”选项,单击“XPath 表达式”向导中的引用选项卡。
可以将下列函数用于处理节点集。
函数 | 返回 |
---|---|
count( ) | 节点集中的节点数。 |
last( ) | 上下文节点列表的大小(即,上下文节点列表中的节点数)。 |
position | 节点集中节点的位置(按文档顺序排列)。例如,position( ) = 2 将返回节点集中的第二个元素。 |
id(string) | 包含具有指定的 string 的文档中所有元素的节点集。 |
local-name(node set ) | node set 中第一个节点的名称。如果不带自变量,则它将返回上下文节点的本地名称。 |
namespace uri( ) | 上下文节点的名称空间 URI。 |
name( ) | 上下文节点的名称,包括名称空间前缀。 |
可以将下列函数用于布尔运算。
函数 | 返回 |
---|---|
boolean ( ) | 对表达式求值,其结果为 true 或 false。 |
false ( ) | 始终返回 false。 |
true ( ) | 始终返回 true。 |
lang ( ) | 返回 true 或 false,这取决于 xml:lang 属性指定的上下文节点的语言是与自变量字符串指定的语言相同,还是该语言的子语言。 |
not ( ) | 对布尔表达式的值求反:如果表达式为 false,则该函数的值为 true,否则该函数的值为 false。 |
可以使用下列函数来处理字符串。
函数 | 返回 |
---|---|
concat( ) | 其自变量的并置。例如,concat ('This is', ' ', 'my string') 将返回 "This is my string"。 |
contains( ) | 指示一个字符串是否包含另一个字符串的内容。例如,contains ("This is my string", "is my") 将返回 true,这是因为字符串 "This is my string" 确实包含字符串 "is my"。 |
normalize-space( ) | 通过除去前导空格和结尾空格并将空格字符序列替换为单个空格来规范化具有空格的自变量字符串。 |
starts-with( ) | 指示一个字符串是否以第二个字符串的内容开头。例如,starts-with ("This is my string", "This") 将返回 true,这是因为字符串 "This is my string" 确实以字符串 "This" 开头。 |
string( ) | 将任何值转换为字符串。 |
string-length( ) | 字符串中的字符数,包括空格。 |
substring( ) | 从字符串中抽取出指定的字符数。例如,substring('This is my string' ,9, 2 ) 将返回 my,这是因为我们告诉它从第 9 个字符开始抽取出两个字符。 |
substring-after( ) | 某个字符后面的所有字符。例如,substring-after ('This is my string','s' ) 将返回 第一次出现字母“s”后面的所有字符,也就是“is my string”。 |
substring-before( ) | 某个字符前面的所有字符。例如,substring-before ('This is my string','s' ) 将返回第一次出现的字母“s”前面的所有字符,也就是“Thi”。 |
translate (string, to-match, replace-with ) | 所有出现子串 to-match 的地方都被替换为字符串 replace-with 的 string。 |
可以使用下列函数来处理数字。
函数 | 返回 |
---|---|
ceiling ( ) | 将表达式的值上舍入为整数值。 |
floor ( ) | 将表达式的值下舍入为整数值。 |
round ( ) | 将表达式的值四舍五入为最接近的整数。 |
number ( ) | 将 PCDATA 文本转换为数字值。 |
sum ( ) | 将节点集中的所有数值相加。 |
XSLT 大量使用 XPath 语法,并支持用 XPath 定义的所有函数。另外,它还定义了 10 个额外的函数。
函数 | 返回 |
---|---|
current( ) | 包含单个节点(即,当前节点)的节点集。 |
document( ) | 允许访问不是主源文档的 XML 文档。 |
element-available( ) | 如果自变量标识处理器可识别的 XSLT 元素,则为 true,否则为 false。 |
format-number (number x, string pattern ) | 使用由第二个自变量指定的 string pattern 将 number x 转换为字符串。 |
function-available( ) | 如果自变量标识处理器函数库中的函数,则为 true,否则为 false。 |
generate-id( ) | 可用作 ID 类型属性的值的字符串。 |
key (string keyName, object value) | 包含源文档中具有这样一个键的所有节点的节点集:键的名称由第一个自变量给定,键值由第二个自变量给定。 |
unparsed-entity-uri( ) | 在源文档的 DTD 中声明了具有指定名称的未解析实体的 URI。 |
system-property( ) | 已命名的属性的值。 |
可在 XPath 表达式中使用的任何用户定义的函数都将列示在此处。