Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Трэвис Б. -> "XML и SOAP: программирование для серверов BizTalk. Новейшие технологии" -> 97

XML и SOAP: программирование для серверов BizTalk. Новейшие технологии - Трэвис Б.

Трэвис Б. XML и SOAP: программирование для серверов BizTalk. Новейшие технологии — Русская Редакция, 2001. — 496 c.
ISBN5-750Z-0129-5
Скачать (прямая ссылка): xmlprogrammdlyaserverov2001.pdf
Предыдущая << 1 .. 91 92 93 94 95 96 < 97 > 98 99 100 101 102 103 .. 157 >> Следующая


полученные от сервера, будут сразу направляться анализатору XML.

Переменные и типы данных

OmniMark поддерживает встроенные и внешние типы данных (последние — с помощью компонентов OMXi. Типы данныхstreunг switch (логический) и integer являются встроенными. В OmniMark нет строкового типа — для обработки таких данных служит переменная stream. Дополнительные числовые типы BCD — десятичное число в двоичном виде (Binary Coded Deciaiab и float — реализуются компонентами ОМХ- Другие типы переменных ОМХ представляют множество различных внешних источников данных. 292

Часть ГУ CBfJeSiSSKWft матерям ы

Переменные могут быть глобальными или локальными. Первые действуюг на протяжении всего времени выполнения и доступны в любом месте программы. Вторые доступны только в том правиле или функции, гд? они объявлены.

Поскольку мы не можем использовать переменные без предварительного объявления, глобальные переменные обычно объявляются в самом начале программы OmniMark, а локальные — в начале правила или функции, в которых планируется их ^e^ervi-osjr'ih. При объявлении переменной надо указать область ее действия.

Объявление глобальной целой числовой переменной Wiird-Clilllli выглядит так:

integer word-count

алохнльнйя потоковая переменная quotation — так:

local stream г: .ofai. Loa

Для записи строки в потоковую переменную служит ключевое слово set, например:

set quotation to "У вас есть виноград?"

Для присвоения значения числовой переменной можно использовать оператора. как и для потоковых переменных, но, кроме того, вы можете использовать операторы increment и decrement. Например, для увеличения значения переменной сс'ши 1 на 1, достаточно применить оператор:

. "ісгєпійіїі. count!

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

ds с г anient COintl by count?

Следующая программа использует глобальную переменную типа SKiich для определения, какая именно инструкция output должна быть выполнена.

global switch question

process

question to

do Приложение А ОжпШагк для нет^теяивык

output "быть"

else

output "иль не быть"

done

Обратите внимание, что программа всегда выводит строку «быть». При объявлении переменной можно присвоить начальное значение:

global integer !,min; ,> initial global stream eeatHVi?''? initial global switch status2 initial {"ijfi

Вы можете присваивать переменной значение другой переменной. Так, правило process в следующем программе установит значение глобальной переменной varl равным значению локальной переменной Vi-SA и выведет число 8.

global integer у,їг' process

local integer set var2 to 8

set varl to var2 process

output "%ii:vjr1i"

Наконец, вы можете инициализировать переменную лниа^ичес-ким выражением. К примеру, вместо того, чтобы писать:

local TCPConnection connection set connection to on server-host at server-port

переменную можно инициализировать динамически:

local TCPConnection connection initial {TCPConnectionOpen on server-host

at server-port

:

Ввод-вывод и переменные

В есть три ключевых слова для вывода данных: set, и

put. Ключевое слово n't — единственное. которое можно использовать 294

с числовыми типами данных. С потоковыми переменными допусти мы все три. Потоковые переменные обслуживают как сами поток'!), так и строковые переменные. При работе со строковыми переменными потоковая переменная фактически имитирует потоки, работающие с буфером, который OrnniMiirk обрабатывает как источник данных или адресат?., подобно остальным потокам.

Ключевое слово outpii: направляет данные в поток, открытый оператором open и объявленный частью текущей области вывода инструкцией using output as.

Ключевое слово put работает точно так же, как и оператор управления usingnniinii as, позволяя изменять текущий вывод и произвести одиночную операцию вывода.

Ключевое слово set выполняет функции как оператора так и оператора using шири, as: оно открывает поток, объявляет его текущим и выполняет одиночную ог:броню вывода. Это означает, коль уж мы говорим о потоках, что для работы с переменными и внешними источниками данных нет различных операторов. Напротив, есть набор операторов, которые вы можете соответствующим образом использовать как для работы с переменными, так и с внешними источниками данных. Например, вы можете применить оператор set для вывода значения в файл:

set file "duekbar txt to "Заходит гусь Б

Точно так же операторы open, рш и позволяют присвоить значения переменной:

SpCci j L' Jfflll EtiEfc

: ре-1 D'jCk as. Ййіґаг

nor Duck "Заходи- гусэ а San."

clese Саек

Преимущество этого синтаксиса в том. что он позволяет выводить данные в поток много раз перед тем, как его закрыть. Это более простой и эффективный путь, чем создание строки при помощи конкатенации. Например, вы заменить код:

Hf - LiiJtir-. i.o "Заходи! і усь н GsM'"
Предыдущая << 1 .. 91 92 93 94 95 96 < 97 > 98 99 100 101 102 103 .. 157 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100