Выражения для типов последовательности

Для проверки и изменения типов в последовательности данных в XPath определены операции instance of, cast, castable и treat.

Операция instance of имеет следующий формат:

операнд-1 instance of операнд-2

Эта операция проверяет наличие операнда-1 в последовательности, заданной в операнде-2 и возвращает true, если операнд есть в последовательности и false – в противном случае.

 

Примеры выражений для операции instance of:

1. 12 instance of xs:integer – равно true.

2. 12 instance of xs:nonPositiveInteger – равно false.

 

Операция cast as имеет следующий формат:

операнд-1 cast as операнд-2[?]

Эта операция преобразует атомарное значение в операнде-1 в данное типа, заданного в операнде-2 и возвращает преобразованное значение, одновременно изменяя тип операнда-1. Если после операнда-2 задан необязательный символ "?", то в случае невозможности преобразования возвращается пустая строка, иначе выдается сообщение об ошибке. Операнд-2 не может иметь тип xs:NOTATION или тип xs:anyAtomicType.

 

Примеры выражений для операции cast as:

1. "12" cast as xs:integer – преобразует строку в число.

2. $d cast as xs:string – преобразует переменную $d к строковому типу.

 

Операция castable as имеет следующий формат:

операнд-1 castable as операнд-2[?]

Эта операция выполняет проверку возможности преобразования атомарного значения в операнде-1 в данное типа, заданного в операнде-2 и возвращает значение true, если такое преобразование возможно и false – в противном случае. Задание после операнда-2 необязательного символ "?" определяет возможность задания пустой последовательности. Операнд-2 не может иметь тип xs:NOTATION или тип xs:anyAtomicType.

 

Примеры выражений для операции castable as:

1. "12" castable as xs:integer – равно true.

2. "12.3" castable as xs:integer – равно false.

 

Операция treat as имеет следующий формат:

операнд-1 treat as операнд-2

Эта операция преобразует атомарное значение в операнде-1 в данное типа, заданного в операнде-2 и возвращает преобразованное значение, однако, в отличие от операции cast as, тип операнда-1 не меняется. Операнд-2 не может иметь тип xs:NOTATION или тип xs:anyAtomicType.

Обычно операция treat as используется при вызове функций, когда аргумент должен иметь тип операнд-2.

 

Примеры выражений для операции treat as:

1. "12" treat as xs:integer – преобразует строку в число.

2. $d treat as xs:string – возвращает текущее значение переменной, преобразованное к строковому типу (тип самой переменной $d не меняется).








Дата добавления: 2015-03-19; просмотров: 502;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.