Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы XML-технологий. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
<xforms:input class="Last" id="last" ref="OrderInfo/PersonalInfo/Name/Name/Last"> <xforms:label class="label">Last Name</xforms:label> <xforms:hint>Enter Last Name</xforms:hint> </xforms:input> </div> <div>
<!-- Здесь размещаются контролы для ввода данных об адресе -->
</div> <br/> <div>
<!--Здесь размещаются контролы для вывода вычисленных данных-->
</div> <br/> <div>
<!-- Здесь размещаются контролы для ввода данных о товарах -->
</div> <br/>
</xforms:group> </body>
пецификация
С
.
W
3C
X
Forms
исывает тег
оп
<g
roup>
ак «контейнер
к для определения иерархии контролов». Этот контрол используется для визуального представления данных в древовидной форме.
Контрол repeat. Контрол
r
epeat
озволяет уменьшить избыточ-
п ный код в форме. С этой целью разработчики могут создать шаблон пользовательского интерфейса и применить к набору данных с
одинаковой структурой. В примере формы заказа тег
r
epeat
исполь-
in
stance
зован для отображения данных о приобретенных товарах (см. Листинг 12).
Листинг 12. Пример использования инструкции repeat
<xforms:repeat id="shoppingcart" nodeset="OrderInfo/ShoppingCart/ProductInfo"> <xforms:output ref="Quantity"/> <xforms:output ref="Description"/> <xforms:output ref="UnitPrice"/> <xforms:output ref="ItemTotal"/> </xforms:repeat>
В э
том примере вместо явного кодирования контрола пользова-
.
тельского интерфейса для каждого товара используется тег который создает шаблон элемента узла
OrderInfo/ShoppingCart/ProductInfo
17
1
epeat>
<r
,
в
in
stance
атрибута
Д
,
XPath
nodese
ля ссылки на значения полей в поддереве ется атрибут предварительно пометив выражение вы могли бы обратиться к атрибуту ством вызова
от тег повышает выразительную мощь языка
Эт
ляет создавать более короткие
-а
дрес узла которого определяется с помощью
.
t
roductInfo
P
Вы можете также сослаться на значения атрибута,
.
r
ef
Path
ef = "@name"
r
X
n
ame
.
Forms
X
символом @. Например,
каждом
в
P
roductInfo
XForms
-документы: вам не нужно
и
спользу-
осред-
п
позво-
и
точно знать, сколько товаров приобретено; тег автоматически обойдет дерево
i
nstance
и
выдаст данные для каждого возможного
соответствия.
Контрол switch предназначен для построения гибких форм, которые в зависимости от текущих условий формируют тот или иной фрагмент пользовательского интерфейса. Для определения
<s
условий в пределах инструкции с
помощью которых и определяются условия для формирования
witch>
н
аходятся инструкции
<ca
se>
требуемого пользовательского интерфейса.
Например, при работе с формой по получении личной информа­ции поставщики могут захотеть установить метод платежа. В этом случае может быть использован тег
<s
witch>
д
ля перехода к типу пла­тежа, который выбрал пользователь. Если пользователь избрал пла­теж с помощью кредитной карты, форма генерирует необходимый для этого набор контролов пользовательского интерфейса. Если же пользователь решил платить наличными или выбрал еще какой­нибудь иной способ, форма генерирует другой набор визуальных компонентов. Таким образом, тег
<switch>
п
озволяет пользователю
управлять интерфейсом.
Описанный контрол в создаваемой нами форме не используется,
поэтому в Листинге 13 приведен простой пример для описанной
,
выше ситуации. В соответствии с приведенным описанием форма ожидает ввода имени пользователя. Как только пользователь введет
s
свое имя, вариант инструкции ствие
"Hello"
в
месте с именем пользователя.
witch
меняется и появляется привет-
17
2
Листинг 13. Пример использования инструкции switch
<s
witch id="sw"> <case id="in" selected="true"> <input ref="yourname"> <label>Please tell me your name</label> <action ev:event="activate"> <toggle case="out" /> </action> </input> </case> <case id="out" selected="false"> <p> Hello <output ref="yourname"></output> <trigger id="editTrigger"> <label>Edit</label> <action id="editAction" ev:event="activate"> <toggle case="in" /> </action> </trigger> </p> </case>
</switch>
аким образом, спецификация
Т
.
редусматривает создание
XForms
п динамических форм посредством задания условий, зависящих от данных. Вам больше не нужно писать код для каждой отдельной ситуации, пользовательские формы будут генерироваться «на лету» при сборе данных и изменении условий.
5.2.3.3 Ак ти вн ые к о н т р о л ы Контрол action. Контрол
<a
ction>
вляется
я
X
ML
аботчиком
-обр событий. Поскольку он поддерживается набором декларативно вызываемых
X
ML
-обра
ботчиков, реагирующих на стандартные действия пользователя, отпадает необходимость в написании слож­ных скриптов. Благодаря упаковке событий формы в набор легко вызываемых тегов, становится несложно определить ее динами-
17
3
ческое содержание и гарантировать работу формы на всех платфор­мах, поддерживающих
Листинге 14 продемонстрировано определение действия
В
рибут
r
efreshForm
реагировать тег
. Ат
<ac
e
tion>
vent
X
Forms
.
.
станавливает, на какое событие должен
у
Листинг 14. Инструкция action
<!-
- Объявление контрола action --> <xforms:action event="click" > <xforms:refresh ev:event="xforms:activate"/>
.
</xforms:action>
П
ри возникновении события, заданного атрибутом
vent
e
, об
ра-
ботчик событий перехватывает это событие и генерирует действие
efresh>
<r
.
В
одном теге
<a
ction>
ожно задать множество действий. Когда
м обработчик событий активирован, он вызывает все действия, опре­деленные в пределах своего тела.
Контрол trigger выполняет действие при активации. Например, при щелчке мышки на кнопке срабатывает контрол вации
trigger
событий, описанным с помощью тега контрола
вызывает
trigger
приведен в Листинге 15:
-событие, перехватываемое обработчиком
XML
<a
ction>
.
Пример определения
rigger
t
При акти-
.
Листинг 15. Инструкция trigger без указания события
!-- Объявление контрола trigger -->
<
<xforms:trigger>
<label>My Refresh Trigger</label>
</xforms:trigger>
о в этом определении не указано событие, на которое нужно
Н реагировать, поэтому этот
.
t
rigger
ни
чего не делает. Для того чтобы
он что-нибудь выполнил, необходимо встроить в его состав дейст-
a
ction
вие, определенное с помощью контрола
. Опре
деление триг-
гера, реагирующего на заданное событие, приведено в Листинге 16.
Листинг 16. Работающая инструкция trigger
!-- Объявление действующего контрола trigger -->
<
17
4
<
xforms:trigger> <xforms:label>Reset</xforms:label> <xforms:action event="click" > <xforms:refresh ev:event="xforms:activate"/> </xforms:action>
.
</xforms:trigger>
ри щелчке мышки на кнопке
П
которое перехватывается обработчиком событий тега
,
e
vent
результате вызывается действие
В
"
Reset"
<
refresh>
.
t
rigger
пускает событие
за
<a
ction>
.
17
5
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Каковы недостатки
2. Каковы особенности технологии
W
eb
-ф
орм?
XForms
в отличие от
форм?
i
3. Что собой представляют данные
4.
Что собой представляют обработчики событий (
nstance
5. Что собой представляет связывание данных (
?
d
ata
e
vent
b
indings
h
andlers
6. Что собой представляет информация об инициализации
(
s
ubmission
7.
in
formation
Как в
Forms
X
)?
редставляются связывания, зависимости и огра-
п
ничения данных?
8. Опишите инструкцию инициализации.
9. Опишите составной контрол
10.
Опишите составной контрол Опишите составной контрол
11.
12.
Опишите элементарный контрол
g
roup
epeat
r
witch
s
.
i
.
.
nput
.
)
?
Web
)
?
-
Опишите элементарный контрол
13.
14.
Опишите контрол
15.
Опишите контрол
16.
Опишите контрол
17.
Из каких компонентов состоит модель Объясните природу данных и логических компонентов
18.
action t submit
rigger
.
.
.
o
utput
.
X
Forms
формы.
19. Опишите составные части логического компонента
Forms
20. Перечислите достоинства
. Каким образом контролы
21
X
X
Forms
.
с
вязываются с элементами
модели данных?
?
Forms
X
.
17
6
ГЛАВА 6.
RDF
– ЯЗЫК ПРЕДСТАВЛЕНИЯ СЕМАНТИКИ
ДАННЫХ
X
Наиболее важной заслугой
ML
ляется то, что программы
яв различных производителей получили возможность «разговаривать» на одном языке. Взамен многочисленных разрозненных способов представления данных появился один универсальный синтаксис, который лег в основу передачи информации между программами, работающими в различных точках Интернета.
Однако постепенно с течением времени мировое сообщество приходит к пониманию того, что позволяя закодировать любую информацию и давая разработчику возможность без особого труда получить синтаксический анализатор и средства манипулирования
ML
X
данными,
н
е в состоянии адекватно справиться с задачей семан-
тической интероперабельности.
В основе этого понятия лежит способность машин не только читать, но и понимать содержание Интернет-ресурсов, причем достигнуть этого мы должны не через создание программ искусст­венного интеллекта, моделирующих деятельность человека, а через использование средств выражения семантики данных и их связей.
П
6.1
РОБЛЕМЫ ОПИСАНИЯ СЕМАНТИКИ ДАННЫХ
Использование семантической информации предполагает обес­печение связывания данных, размещающихся в разных узлах Сети, по смыслу. Но для представления семантической информации суще-
17
7
ствующие на то время стандарты оказались не пригодными. Необ­ходимо было создавать новые стандарты структурирования данных, обеспечивающие возможность семантического связывания ресурсов, распределенных в глобальной Сети.
998
С этой целью в
1
году Тимом Бернерсом-Ли, изобретателем
WW W
,
W
eb
[38]. Согласно этой идее
U
RI
,
H
TTP
и
H
была предложена идея создания
,
TML
eb
W
представляется в виде сети
S
emantic
информационных узлов, которые связаны друг с другом таким образом, чтобы имеющаяся информация могла легко обрабаты­ваться компьютером.
Таким образом, было положено начало следующему этапу развития щие возможности семантической интероперабельности. Идея
W
eb
п
редставляется логическим продолжением развития
гипертекстовых страниц к
,
который ориентируется на технологии, обеспечиваю-
eb
W
XML
анным, от
-д
XML
машинной интер-
– к
Semantic
W
eb
– от
претации данных и объединению разбросанной во Всемирной паутине информации по смыслу. При этом была заложена тенденция развития
-технологий, заключающаяся в переходе от докумен-
W
eb
тов, которые «читаются компьютером», к документам, которые «понимаются компьютером».
Но при этом создатели средств выражения семантики данных и их связей столкнулись с несколькими проблемами. С одной стороны, программы должны понимать язык соответствующей предметной области, с другой стороны, должны уметь сопоставлять связанные термины различных предметных областей.
Относительно связанности терминов предметных областей можно привести следующий пример. Предположим, что в одной точке глобальной сети размещены данные о какой-то компании и ее сотрудниках, в другой точке – информация о людях, в третьей – об адресах.
Очевидно, что компании, люди и адреса принадлежат к отдель­ным, относительно независимым областям знаний или предметным областям. Но в непрерывном информационном поле программа, обеспечивающая семантическую интероперабельность, должна сопоставлять компании и людей, а также адреса этих людей.
17
8
Это требование является существенным, поскольку в против­ном случае программы могли бы работать лишь с отдельными сферами знаний, описанными, например, специализированными
-языками.
XML
так, если синтаксическая интероперабельность неразрывно
И связана с синтаксическим анализом данных, то семантическая требует анализа самой информации, ее связи с мировым информа­ционным полем, установления соответствия терминов и словарей одной предметной области элементам другой [39].
н
X
ML
е может стать таким средством, обеспечивающим связь
данных различных предметных областей, по ряду причин.
1. Основное ограничение
с
остоит в том, что он описывает
ML
X
только грамматику данных. Выделить семантическую единицу в конкретной предметной области нельзя, поскольку этот язык ориентирован на структуру документа и не предполагает интерпре­тации данных, содержащихся в нем.
2.
XML
азывается слишком гибким средством описания данных
ок и позволяет одну и ту же информацию разметить различными способами. В качестве иллюстрации сказанного можно привести несколько вариантов представления данных о человеке:
<
Человек> <Фамилия> Иванов </Фамилия> <Рост>185</Рост>
</Человек>
<Чело
век Фамилия="Иванов" Рост="185" />
<Чело
</Челове
век Фамилия="Иванов">
<Рост>185</Рост>
к>
этой проблемой можно было бы попытаться справиться одним
С из двух способов: либо всем заинтересованным сторонам догово­риться об используемом формате описания, либо прибегать к преоб­разованию одной грамматики в другую.
Но первый из этих способов не реален, поскольку заинтересо­ванных сторон, как правило, много и состав их регулярно меняется, а второй способ очень громоздок, и оба они, по-прежнему, не решают проблему выделения семантической единицы предмет­ной области.
17
9
Поэтому для эффективного представления фактов необходимо вводить некие ограничения на уровне самого языка, позволяющие автоматически (с помощью программных средств) анализировать содержание ресурсов. А для этого необходимы новые средства выражения семантики данных, которые были созданы в рамках развития идеи
6.2
SEMANTIC WEB – СОСТАВ И ЭТАПЫ РАЗВИТИЯ
Se
mantic
.
W
eb
В соответствии с определением, данным своим работам членами
W
3C
S
emantic
W
A
eb
ctivity
,
S
emantic
W
eb
то расширение
, – э
в котором
,
W
eb
информации (или данным) придается определенная семантика, позволяя «людям и машинам работать вместе».
Целью проекта таких т
ехнологий, которые должны:
Se
mantic
Web
являе
тся внедрение в
-среде
Web
– позволить существенно повысить уровень интеграции инфор­мации;
– обеспечить развитую машинную обработку данных;
– дать возможность выдавать более адекватные ответы на поис­ковые запросы и т. д.
На сегодняшний день идея
S
emantic
W
eb
п
остоянно эволюциони-
рует и прошла следующие этапы развития.
1. Первый шаг на пути перехода на новый уровень представле­ния данных был сделан в ходе разработки графовой модели описа­ния ресурсов
R
DF
(
R
esource
De
scription
F
ramework
позволяющей объеди-
),
нять информацию из различных источников. В рамках графовой
F
модели
RD
факты
писываются ориентированным графом,
о
представленным двумя узлами и связью между ними.
F/XML
-дан
F
F
RD
-синт
аксис, который дает
ные графовой модели в
XML
с
едует иметь в виду, что
сл
XML
пред
ставляется в тексто-
XML
-
2. На втором этапе был создан возможность представить форме. Относительно связи графовая
модель
RDF
с помощью языка
RD
RD
вой форме, пригодной для передачи по каналам связи и программ­ной обработки. Применение языка
XML
д
ля представления этой модели, кроме этого, дает разработчикам возможность воспользо­ваться для обработки содержащихся в ней данных всеми его
18
0
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]