Пространства имен и схемы 70 Сегментация проблемы 71



жүктеу 3,64 Mb.
бет79/150
Дата17.01.2022
өлшемі3,64 Mb.
#33337
түріПротокол
1   ...   75   76   77   78   79   80   81   82   ...   150
Лекции 2

Выражения

Мы уже говорили о том, что все конструкции, имеющиеся в языке XPath, понимаются как выражения, в результате вычисления которых получается последовательность узлов и/или атомарных значений. Выражения составляются из констант различных типов, переменных, вызовов функций, связанных знаками операций и скобками. Но это не все. Кроме них. в языке XPath есть условные выражения, выражения циклы, выражения-последовательности, кванторы. Вместе они используют целый язык программирования, на котором можно записать весьма сложный алгоритм.

Более того, набор выражений в скобках, разделенных запятыми, тоже понимается как выражение. Это так называемая "операция запятая". Поэтому всюду, где можно записать выражение, можно записать и набор выражений в скобках, если не оговорено противное.

Переменные

Имя переменной в языке XPath — это обычное для XML имя типа QName. Для того чтобы отличить переменные от других имен, перед именем переменной ставится знак доллара $, например, $var, $n, $i. Переменные обычно определяются во внешних языках, использующих XPath, скажем, в языке XSLT или в языке XQuery. Сам язык XPath не определяет переменные явно, в нем нет описаний типов и оператора присваивания. Переменные появляются только в циклах и кванторах.

Арифметические операции

В арифметические выражения входят числа типа xs: integer, xs: decimal, xs: double и переменные этих типов. С этими данными выполняются операции сложения +, вычитания -, умножения * и деления div, а также операция взятия остатка от деления mod и операция целочисленного деления idiv двух целых чисел.

Арифметические операции, кроме операций mod и idiv, можно выполнять не только с числами, но и с датами типа xs:datetime, xs:date, xs:time, xdt:dayTimeDuration, xdt: yearMonthDuration. Разумеется, арифметические операции с датами выполняются только там, где это имеет смысл.

Как видите, для обозначения деления применяется слово div, а не наклонная черта, потому что наклонная черта в языке XPath разделяет шаги поиска. Обратите внимание на еще одно важное обстоятельство.

Поскольку дефис в XML применяется в именах, в арифметических выражениях его надо отделять пробелами. Например, запись а-b будет понят как какое-то имя, а запись а - b — как вычитание.

Сравнения

В языке XPath применяются обычные операции сравнения: "равно" =, "не равно" !=, "больше" >, "меньше" <, "больше или равно" >= и "меньше или равно" <=. В результате сравнения получается логическое значение "истина" true или "ложь" false. В этих операциях сравнения могут участвовать числа, строки символов, даты.

В двух других операциях сравнения is и isnot участвуют узлы. Операция is дает значение true, если сравниваемые узлы совпадают, и false — в противном случае, операция isnot, наоборот, дает true, если узлы не совпадают. Например:

//DDD[@id="3"] is //DDD[@name="d3"]

Еще две операции сравнения >> и << тоже применяются к узлам. Они отслеживают порядок записи узлов в документе. Операция << дает истину true, если ее левый операнд встречается в документе раньше, чем правый операнд, операция >>, наоборот, дает в этом случае значение false. На пример:

//DDD[@name="dl"] << //DDD[@id="l"]




жүктеу 3,64 Mb.

Достарыңызбен бөлісу:
1   ...   75   76   77   78   79   80   81   82   ...   150




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау