Искусство в IT-технологиях...

Коршунов Андрей Александрович. Система управления содержанием WEB сайта, 2004

111.4.2.2.2 Модуль работы с XML и XSLT.

Основной задачей данного модуля является преобразование XML документа с использованием XSLT шаблона (см. подраздел III. 1.1.2 настоящего раздела). Для этого используется пакет Oracle XDK. (XML Developer Kit) for С++, представляющий собой библиотеку классов для работы с XML документами.
Эта библиотека поддерживает следующие рекомендации:
\V3C Extensible Markup Language (XML) 1.0 [44];
W3C Document Object Model Level 1 1.0 (48);
W3C Namespaces in XML [49J;
The Simple API for XML (SAX) 1.0 [50];
W3C XSL Transformations (XSLT) [45);
W3C XML Path Language (XPath) (51).
Кроме выполнения XSLT преобразования, модуль служит для реализации расширений XSLT шаблонов. Одним из значимых расширений является возможность вызова из одного шаблона другого. Конечно, подобная процедура предусмотрена и в спецификации XSLT, однако при этом действие включаемого шаблона распространяется на текущий обрабатываемый документ. В нашем случае, включаемый шаблон может применяться для обработки множества документов одной рубрики (см. выше подраздел III. 1.1). При этом хюжно наложить ограничения, как количественные (число обрабатываемых документов, номер начального документа), так и качественные (выбор документов на основе элементов и атрибутов).
Если на а ран и це встречается блок с типом «Шаблон», то для отображения содержания блока сначала происходит формирование «полного» XML документа и «полного» XSLT шаблона После этого производится применение «полного» шаблона к «полному» документу и результат выводится как содержание блока Приведем правила,
по которым формируется «полный» XML документ и «полный» XSLT шаблон для его преобразования.
Корневым тегом «полного» документа является тег . Внутри этого тега находится содержание очередного документа из рубрики, к которой применяется шаблон. Если в шаблоне идет вызов другого шаблона, то к «полному» документу прибавляется тег , где выражение idjuta6.wna является идентификатором включаемого шаблона Этот тег содержит все документы, которые попадают под действие включаемого шаблона Область действия задастся в строке вызова, включаемого шаблона Таким образом, содержание всех документов, к которым применяется включаемый шаблон, заключается в теге .
«Полный», шаблон представляет собой содержание тега действующего шаблона и всех включаемых шаблонов.
При этом, ести в шаблоне есть вызовы включаемых шаблонов, то соответствующие условия вызова будут заменены на выражение TEMPLATEIDJd_шaблoнa Также в начало «полного» XML документа и «полного» XSLT шаблона добавляются соответствующие инструкции, определяющие тип документа, кодировку и т.п.
С технической точки зрения, «полный» документ и «полный» шаблон представляют собой два буфера памяти. Сначала формируется «полный» шаблон При этом, если в теле шаблона встречается вызов другого шаблона, то начинается обработка включаемого шаблона и т.д. Также ведется список с идентификаторами и условиями вызова всех шаблонов, которые были использованы. Для хранения этой информации применяется структура данных, известная как однонаправленный связанный список.
После того, как был сформирован «полный» шаблон, начинается формирование «полного» документа. Происходит обход списка с идентификаторами использованных шаблонов, проверяются соответствующие условия и выбираются необходимые документы. После этого применяется преобразование «полного» XML докумеїпа с помощью «полного» XSLT шаблона и результат этого преобразования выводится в стандартный поток вывода
Так как результат действия шаблона представляется в виде DOM, для его отображения была написана соответствующая функция. Она рекурсивно обходит полученное дерево и отображает элементы в зависимости от их типа
предыдущий следующий
= К содержанию =


111.4.2.2.2 Модуль работы с XML и XSLT. - релевантная информация:

  1. 111.4.1.2.2.2 Модуль управления материалами
    модуль входят следующие пакеты, реатизованные автором на языке PL/SQL. HEADINGS - в этом пакете находятся процедуры и функции работы с матсриатами сайта (ввод, редактирование) TEMPLATES - этот пакет предназначен дія работы с XSLT шаблонами. Содержит процедуры и функции дія добавления, удаления и изменения шаблонов, которые используются для преобразования материалов. INDEXES, INDEXES_PROCESSING
  2. 111.4.2.2.3 Модуль работы с cookies
    работка cookie реализована следующим образом. Существует специальный тип блока страницы - установка cookies. Описание устанавливаемых cookies осуществляется в специально разработанном XML документе, которое вносится в содержание этого блока Имеется возможность указать источник информации для установления cookie Атрибуты module и Junction элемента определяют функцию и динамическую библиотеку,
  3. 111.4.2.2.5 Модуль вызова внешних функций
    работы внешней функции. С помощью данного механизма возможно расширение функциональности системы для использования в конкретной предметной области. Внешние функции вызываются из shaied-библиотек (в версии для операционной системы LINUX) или DLL-бибтиотек (в версии для WINDOWS). Обший механизм вызова одинаков и изображен на следующей блок схеме (рис 8). В версии программы для операционной системы
  4. Заключение
    модуля: модуль подготовки материалов и улраапения сайтом и модуль визуализации страниц по запросу пользователей. Первый модуль предназначен для организации процесса управления структурой сайта и манипуляций с размещаемыми на сайте документами. Модуль реализован с использованием языка PL/SQL. Второй модуль обеспечивает визуализацию запрошенной пользователем страницы Модуль выполнен в виде CGI
  5. Литература
    модульных систем и сетей ICSNET'2001, сборник трудов. Москва, 2001. [32] Andrey A Korshunov. Corporate portal and role of content management system. Proceedings FDPW200 1-2002, Petrozavodsk, 2002, p.p. 116-123. [33] А. А. Мамыкин «Бизнес в Интернет. От разработки маркетинговой стратегии до ее реализации». // Конференция «Интернет-Маркетинге», Москва, 1999. [34] http//w\wrcksoft
  6. Оглавление
    111 Прогнозирование динамики средней защищенности сегментов сети Интернет.._. 114 4.10. Выводы но главе 4 116 Заключение 120 Литература 122 Приложение 1 (руководство пользователя) 126 Аннотация 127 Оглавление 128 П1.1. Назначение программного продукта 129 П1,2. Системные требования 129 3 Ш.З. Что вы должны знать 129 П1.4. Как установить комплекс 129 Ш.5. Как работать с комплексом 130 П1.5.1
  7. 11.3.1.2 Форма представления материала.
    работы со структурой документа, что алечет за собой способность системы производить поиск с использованием структуры документа проводить преобразование документа для показа пользователям. К сожалению, в рассматриваемых системах, за исключением Charlie, реализованная форма представления материала полностью не обеспечивает возможность отделения содержания от его визуализации. В некоторых из них
  8. 111.1.2 Модель управления дизайном страниц
    Отображение (визуализация) материалов происходит на странице. В данном случае под страницей понимается именованный ресурс в терминах протокола HTTP (см. Раздел I, подраздел 1.2.2), который динамически генерируется и выдается HTTP сервером по запросу пользователя. Странт^а представляет собой набор блоков разных типов (см. ниже), организованных в виде дерева. Страницы объединяются в сайт. Может
  9. 111.4.1.1 Архитектура и программные средства, применяемые при разработке подсистемы.
    работки HTTP запросов, уровень Oracle Application Server и уровень приложений. Уровень обработки HTTP запросов состоит из сервиса приема запросов, адаптера и диспетчера. Сервис приема запросов это HTTP сервер» предназначенный для приема HTTP запросов и дальнейшей их передачи диспетчеру. При этом диспетчеру передаются не все запросы, а только тс, которые не являются запросами к статическим HTML
  10. 111.4.1.2.2 Модули подсистемы
    111.4.1.2.2.1 Модуль управления сайтом В состав модуля входят следующие пакеты, реализованные автором на языке PIVSQL. PAGES - в этом пакете собраны процедуры и функции, предназначенные для работы со страницами сайта SERVERS - этот пакет содержит процедуры и функции, предназначенные дія работы с сайтом. BLOCK, BLOCK_ORDERS# ATTRIBUTES - в этих пакетах находятся процедуры и функции, необходимые