count(nodeset)
- возвращает количество элементов в массивеdocument(nodeset)
- преобразует текущий контекст наложения так, что переданный nodeset становится корнем.
К примеру, для данных:
{
"foo": true,
"newroot": {
"foo": false
}
}
и шаблона:
match / {
/.foo
if (.newroot) {
apply document(.newroot)
}
}
Получаем результат
true
false
exists(jpath)
– возвращает true, если nodeset по указанному jpath не пустой
/*
{
"foo": "1",
"foo-empty": ""
}
*/
match / {
if exists(.foo) {
// true
}
if exists(.bar) {
// false
}
if exists(.foo-empty) {
// true
}
// пустая строка приведется к false, поэтому условие не выполнится
if .foo-empty {
// false
}
}
index()
– возвращает индекс обрабатываемого элемента массива, аналогposition()
в XSLhtml(scalar)
– возвращает значение "как есть" без каких-либо преобразований, аналогdisable-output-escaping
в XSL.
html('<!DOCTYPE html>') // можно использовать для вывода doctype
html('<!-- comment -->') // или HTML-комментариев
name()
– возвращает имя текущегоnodeset
scalar(nodeset|xml)
- преобразует nodeset или xml в скалярtrue()
false()
- возвращает соответствующие булевые константы