Прямой конструктор

В прямом конструкторе элемента имя создаваемого элемента является константой. В этом случае элемент создается в соответствии с правилами синтаксиса XML и может содержать вложенные элементы.

В прямой конструктор могут включаться выражения, заключенные в фигурные скобки "{" и "}". При создании элемента эти выражения будут вычислены и заменены своим результатом.

Если символы "{" и "}" используются в конструкторе как обычные символы, они должны быть удвоены, т.е. заменены символами "{{" и "}}". Можно также использовать ссылки на символы: { для символа "{" и } для символа "}".

Результатом действия конструктора является новый узел-элемент.

Начальный тег конструктора и вложенных элементов может содержать один и более атрибутов. Имя атрибута должно быть типа QName, а значение – строкой, заключенной в одиночные или двойные апострофы. Так же, как и содержимое элемента, значение атрибута может содержать вычисляемые выражения в фигурных скобках "{" и "}".

Каждый атрибут в прямом конструкторе элемента создает свой собственный узел-атрибут.

Текстовым значением созданного узла является конкатенация содержимого всех входящих в него текстовых узлов.

Прямые конструкторы узлов комментариев и узлов инструкций по обработке записываются в конструкторе в том виде, в каком они появятся в документе XML.

 

Пример задания прямого конструктора:

Запрос на обработку с использованием прямого конструктора имеет следующий вид:

xquery version "1.0";

declare variable $email-server as xs:string:="mail.com";

 

<message>

<header>

<address>

<from value="{fn:concat('ivanov','@',$email-server)}"/>

<to value="{fn:concat('sidorov','@',$email-server)}"/>

</address>

<subject>О встрече</subject>

</header>

<body>{fn:concat("Встреча сегодня ",

fn:substring(xs:string(fn:current-date()),1,10),

" в 12.30")}</body>

</message>

Результат обработки запроса имеет следующий вид:

<message>

<header>

<address>

<from value="ivanov@mail.com"/>

<to value="sidorov@mail.com"/>

</address>

<subject>О встрече</subject>

</header>

<body>Встреча сегодня 2008-03-01 в 12.30</body>

</message>








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


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

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

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

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