XLog - язык обработки HTML- и XML-документов - page 7

ХLog – язык обработки HTML- и XML-документов
7
Цикл
for
позволяет организовывать просмотр набора элементов и
формировать список элементов. Формат
for
следующий:
for
var
1
in
path
1
where
bool
return
path
2
to
var
2
,
где
var
1
,
var
2
переменные;
path
1
, path
2
пути;
bool –
булевское вы-
ражение.
На каждом шаге
for
последовательно связывает переменную
var
1
с элементами из набора, который задан
path
1
. Далее проверяется бу-
левское выражение
bool
. Если оно истинное, то в набор
var
2
добав-
ляются элементы, определяемые путем
path
2
. Переменная
var
1
до-
ступна только внутри цикла.
После исполнения
управление передается следующей предикат-
ной конструкции. В случае если
path
1
пустое множество, выраже-
ние
for
пропускается, и управление передается следующей предикат-
ной конструкции.
Пример 5.
Пусть переменная
$X
определяет набор элементов:
<a><d>Hello1</d></a>;
<b><b>Hello2</b></b>;
<a><c>Hello3</c></a>;
<c><b>Hello4</b></c>.
Тогда в результате выполнения выражения
for
$Y
in
$X
where exist
($Y
\
b
) return
$Y\b
to
$result
в переменной
$result
будут находиться следующие элементы:
<b>Hello2</b>;
<b>Hello4</b>.
Выражение
if
имеет следующий вид:
if (
bool
) then
predicate
1
else
predicate
2
.
Семантика
if
отличается от общепринятой. Данное выражение
вычисляет значение логического выражения. Если результатом явля-
ется
true
, то вычисляется
predicate
1
, в противном случае –
predicate
2
.
Выражение
if
истинно только в том случае, если истинным является
предикат, которому передано управление (
predicate
1
или
predicate
2
).
Если выражение
if
истинно, то вычисляется следующая конструкция,
в противном случае запускается механизм возврата, рассматривае-
мый далее.
1,2,3,4,5,6 8,9,10,11,12,13,14
Powered by FlippingBook