Классика баз данных - статьи

       

Выражение extension


Выражение extension – это еще один механизм расширения, предоставляемый реализаторам XQuery. В то время как объявление extension воздействует на весь запрос, у выражения расширения имеется более ограниченная область действия. Для пояснения этой конструкции рассмотрим следующий пример. declare namespace xq1="..."; declare namespace xq2="...";

for $e in //employee[name='Jon Postel'] return (# xq1:prose English #)        (# xq2:roman lower-case #)        { $e/badge cast as xs:string }

Эти псевдокомментарии (pragma) "(# … #)", если они распознаются, могут изменять поведение приведения значений к строкам. Этот запрос может произвести "One Hundred Fifty Four", если в реализации распознается xq1:prose, "cliv", если распознается xq2:roman, и "154", если не распознается ни один из псевдокомментариев. Выражение в фигурных скобках "{}" может опускаться. Если оно опускается, и ни один из псевдокомментариев не распознается, генерируется ошибка.



Содержание раздела