Веб Дизайн - статьи




Язык WebOQL - часть 2


Создание Web: Рассмотренные выше запросы отображают гипердерево в другое гипердерево, или, если говорить в более общих терминах, запрос - это функция, которая отображает один Web в другой. Например, следующий запрос создает новую страницу для каждой исследовательской группы (использующей имя группы как URL). Каждая страница содержит публикации соответствующей группы.

select x' as x.Группа from x in СтатьиПоИнформатике

В общем случае фраза select имеет вид: 'select q1 as s1, q2 as s2, ..., qm as sm', где каждое qi - это запрос, а каждое из si - или запрос строки или схема. Фразы "as" создают URL s1, s2,... , sm, которые присваиваются новым страницам, полученным в результате выполнения каждого из запросов qi.

Шаблоны навигации: Шаблоны навигации - это правильные выражения в алфавите предикатов, определенных над записями. Они позволяют специфицировать структуру путей, по которым необходимо следовать для того, чтобы найти значения переменных.

Шаблоны навигации полезны, главным образом, для двух целей. Первая из них - извлечение поддеревьев из деревьев, структура которых достаточно детально нам неизвестна или содержит неправильности (irregularities). Вторая цель - выполнение повторяющихся операций над деревьями, соединенными внешними дугами. Фактически, возможность различать внутренние и внешние дуги в гипердеревьях становится действительно полезной, когда мы используем шаблоны навигации, которые позволяют обходить внешние дуги. Предположим, что мы имеем некоторый программный продукт, документация к которому представлена в формате HTML, и мы хотим сформировать полнотекстовый индекс для нее. Такие документы образуют сложный гипертекст, но можно просматривать их и последовательно, следуя по связям, помеченным меткой "Следующий". Для формирования полнотекстового индекса нам необходимо снабдить индексатор текстом каждого документа и его URL. Мы можем получить эту информацию, используя следующий запрос:

select [ x.Url, x.Текст ] from x in browse(<root.html>) via (^*[Текст ~ <Следующий>]>)*







Содержание  Назад  Вперед