Файл: Методические указания по выполнению лабораторных работ по дисциплине (модулю) Лингвистическое и программное обеспечение автоматизированных систем.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 611
Скачиваний: 3
СОДЕРЖАНИЕ
2.Общие положения (теоретические сведения)
2.1. Принцип рекурсии в правилах грамматики
2.2. Запись правил грамматик с использованием метасимволов
2.3. Запись правил грамматик в графическом виде
3. Задание на лабораторную работу
4. Ход работы (порядок выполнения работы)
2.Общие положения (теоретические сведения)
2.1. Разработка лексического анализатора
2.2. Разработка синтаксического анализатора
2.3. Пример построения простого синтаксического анализатора
2.4. Анализаторы для сложных рекурсивных грамматик
2. Общие положения (теоретические сведения)
2.5. Логическая структура XML-документа
2.8. Описание структуры XML-документов
2.9. Язык XML Sсhema Definition (XSD)
2.10. Программная обработка XML-документов
2.11. Обработка XML-данных с использованием модели DOM
2.14. Сопоставление объектной иерархии с XML-данными
2.16. Считывание XML-документа в DOM
2.17. Директивы таблицы стилей, встроенные в документ
2.18. Загрузка данных из модуля чтения
2.19. Доступ к атрибутам в модели DOM
2.20. Получение всех атрибутов в виде коллекции
2.21. Получение единичного узла атрибута
2.22. Считывание объявлений сущностей и ссылок на сущности в DOM
2.23. Сохраняемые ссылки на сущности
2.24. Разворачиваемые и не сохраняемые ссылки на сущности
2.25. Создание новых узлов в модели DOM
2.26. Создание новых атрибутов для элементов в модели DOM
2.29. Проверка имен XML-элементов и атрибутов при создании новых узлов
2.30. Создание новых ссылок на сущности
2.32. Копирование существующих узлов
2.33. Копирование существующих узлов из одного документа в другой
2.34. Копирование фрагментов документа
2.35. Удаление узлов, содержимого и значений из XML-документа
2.36. Изменение узлов, содержимого и значений в XML-документе
2.37. Проверка XML-документа в DOM
2.38. Проверка XML-документа в DOM
2.39. Обработка ошибок проверки и предупреждений
2.40. Сохранение и запись документа
2.42. Запись содержимого документа с помощью свойства OuterXml
3.Задание на лабораторную работу
4. Ход работы (порядок выполнения работы)
2. Общие положения (теоретические сведения)
3. Задание на лабораторную работу
4. Ход работы (порядок выполнения работы)
2. Общие положения (теоретические сведения)
4. Ход работы (порядок выполнения работы)
2. Общие положения (теоретические сведения)
3.5. Эскизы в документах Деталей
3.6. Взаимодействие с пользователем
3 Задание на работу (рабочее задание)
2.6. Физическая структура XML-документа
Физическая структура XML-документа описывает его как набор сущностей. Документ должен содержать как минимум одну сущность — корневую сущность документа. Сущности могут включаться в XML-документ также с помощью XML-ссылок.
XML-ссылка — это ссылка на внешний объект, содержимое которого размещается в указанном месте документа. Ссылка на сущность работает как подстановка и обеспечивает модульность XML-документа, которая, как будет показано ниже, позволяет объединять данные из разных источников в единую структуру и легко собирать документы, а также их схемы из пригодных для повторного использования блоков.
2.7. Пространства имен
Различные приложения могут использовать сущности, имеющие одинаковые имена и содержащие различные данные. Для предотвращения конфликтов имен в XML используются пространства имен, которые представляют собой коллекции имен. В каждой коллекции имен все имена уникальны. Каждая коллекция должна иметь уникальный идентификатор (URI-адрес). Каждое XML-имя характеризуется идентификатором пространства имен и локальным именем в пределах своего пространства имен. Таким образом, появляется возможность определить элементы, имеющие одинаковые имена, но связанные с различными URI.
Рассмотрим правила использования пространств имен на конкретном примере. Пусть в одном документе необходимо объединить данные о клиенте компании, поступающие из разных источников. Из CRM-системы поступает информация о персональных данных клиента, из системы учета заказов — данные о заказе.
CRM
+7.602.555.9999
Система учета заказов
Пространство имен объявляется с помощью зарезервированного имени xmlns. Ниже приводится пример объявления пространств имен в XML-документе.
ClientInfo и ClientOrderData являются префиксами пространств имен и представляют сокращенные наименования идентификаторов.
После объявления пространств имен их префиксы могут использоваться в документе для определения принадлежности каждого элемента к конкретному пространству имен.
Для рассмотренного примера XML-документ, содержащий данные из двух пространств имен, будет выглядеть следующим образом:
xmlns:ClientOderData="http://www.mycompany.com/
ClientOrderData" >
Имя элемента или атрибута с префиксом называется уточненным именем (qualified name или QName) и используется анализаторами XML для извлечения элементов, принадлежащих соответствующим пространствам имен в пределах глобального XML-пространства имен http://www.w3.org/XML/1998/namespace.
Если пространство имен объявлено без префикса, то оно является пространством имен по умолчанию для тех элементов XML-документа, которые не используют префикс. Каждое пространство имен имеет свою область действия в рамках XML-документа. Объявление пространства имен применяется к элементу, содержащему определение, а также ко всем его дочерним элементам, если оно не переопределяется другим пространством имен в определении элемента. Имена атрибутов также можно уточнять, используя префикс объявленного пространства имен. Для атрибутов нельзя использовать пространства имен по умолчанию. Если для атрибута не указан префикс, то он не принадлежит ни к какому пространству имен. Атрибуты элементов для связывания с пространствами имен всегда необходимо уточнять префиксами.
Приведем пример использования пространства имен http://www. mycompany.com/ClientInformation как пространства имен по умолчанию:
?xml version="1.0" encoding="utf-8"?
xmlns:ClientOrderData="http://www.mycompany.com/
ClientOrderData">
+7.602.555.9999
2.8. Описание структуры XML-документов
Каждый XML-документ несет информацию о данных и их структуре (описание метаданных).
XML-документы могут быть двух типов:
-
документы, созданные с учетом логических и структурных правил; -
документы, не использующие никаких правил, кроме синтаксических правил оформления XML-документов.
Проверку документов первого типа на соответствие заданным правилам осуществляет XML-процессор. Проверка документов второго типа выполняется разработчиком.
При создании документа первого типа описание его структуры может быть выполнено с использованием таких языков, как Document Type Definitions (DTD), XML Schema, RELAX NG, XML Data-Reduced и др. [24, 31]. Наибольшее распространение получили языки DTD и XML Schema.
Далее анализируются сильные и слабые стороны наиболее распространенных языков описания структуры и приводится краткое изложение их основ. Поскольку данное учебное пособие посвящено проблемам интеграции информационных систем, при рассмотрении языков описания структуры основное внимание будет уделено вопросам модульности и повторного использования схем.
Язык Document Type Definitions (DTD)
Язык Document Type Definitions (DTD) не базируется на XML. Этот язык имеет ряд ограничений в описании метаданных: не является расширяемым, не поддерживает строгое типизирование данных, ограниченно поддерживает пространства имен. Описание структуры на языке DTD постепенно вытесняется технологией XML Schema, однако до настоящего времени продолжает использоваться (иногда совместно с XML Schema).
Приведем краткое изложение правил использования основных конструкций DTD.
Описание структуры на языке DTD может быть включено в XMLдокумент (внутреннее подмножество) или размещено в отдельном файле, также возможен вариант смешанного описания. Во всех случаях для определения DTD необходимо использовать объявление . В табл. 2.2 приведены правила включения DTDописания в XML-документ.
Таблица 2.2
Правила включения DTD-описания в XML-документ
Вариант описания структуры | Правила записи |
Внутренне описание DTD | ] > где ROOT — имя корневого элемента; — описание структуры на языке DTD |
Внешнее описание DTD | где ROOT — имя корневого элемента; SYSTEM_ID — место расположения файла внешнего DTD. Например, где SYSTEM_ID и PUBLIC_ID — место размещения файла внешнего DTD; PUBLIC_ID не зависит от места размещения XML-файла (например, место в локальной сети); "SYSTEM_ID" будет использовано только в том случае, если нет доступа к "PUBLIC_ID". Например, |
Язык DTD позволяет описать требования к элементам и атрибутам документа. При описании элементов указываются:
-
модель содержимого, описывающая также наличие дочерних элементов; -
ограничения на количество повторений элемента в документе.
Для описания элемента используется конструкция следующего вида:
Правила записи модели содержимого представлены в табл. 2.3.
Таблица 2.3
Правила записи модели содержимого
Модель содержимого | Описание | Пример |
ANY | Элемент может содержать любые дочерние элементы или текст | |
EMPTY | Элемент не может содержать дочерние элементы или текст, может иметь атрибуты | |
(#PCDATA) | Элемент может содержать только текст | |
(NAME1, NAME2) | Элемент содержит указанные дочерние элементы в указанном порядке, не может содержать текст | |
(NAME1|NAME2) | Элемент содержит один из указанных взаимоисключающих элементов, не может содержать текст | |
Смешанная модель | Элемент может содержать текст и дочерние элементы | Name, Phone) > |
Ограничения на количество дочерних элементов задается следующим образом (табл. 2.4).
Таблица 2.4
Ограничения на количество дочерних элементов
Оператор количества элементов | Описание | Пример |
Нет | Допустимо использовать один экземпляр элемента | |
* | Элемент может повторяться ноль и более раз | |
+ | Элемент может повторяться один и более раз | |
? | Элемент может повторяться ноль или один раз | |
Атрибуты элементов объявляются для каждого элемента, если это необходимо, с помощью объявления ATTLIST.
При описании атрибутов указываются:
-
тип атрибута; -
ограничения на употребление атрибута.
Для описания атрибутов элемента используется конструкция следующего вида:
(Значение_по_умолчанию | Ключевое_слово)
Имя_атрибута2 Тип_атрибута (Значение_по_умолчанию | Ключевое_слово) >
Правила описания допустимых типов атрибутов и ключевых слов приведены в табл. 2.5.
Таблица 2.5
Правила описания допустимых типов атрибутов и ключевых слов
Тип атрибута | Описание |
CDATA | Строка символов |
ID | Уникальное в рамках документа значение (аналог первичного ключа в базе данных), элемент не может иметь больше одного атрибута типа ID |
IDREF | Ссылка на элемент, обладающий атрибутом ID с тем же самым значением, что и значение заданного атрибута IDREF. Используется для создания связей и перекрестных ссылок в документе. Аналог отношения «один-к-одному» в реляционной базе данных |
IDREFS | Последовательность ссылок IDREF, разделенных пробелами. Позволяет смоделировать отношение «один-ко-многим» |
ENTITY | Определяет имя внутренней или внешней сущности, предназначенной для повторного использования. В том числе используется для определения имени примитива, игнорируемого анализатором. Позволяет ссылаться на данные, структура которых нарушает разметку по правилам XML (в частности, использовать в XML-документах ссылки на двоичные файлы) |
ENTITIES | Перечень значений ENTITY, разделенных пробелами |
NMTOКEN | Имя, содержащее только символы, применяемые в именах (строка, состоящая из букв, цифр и символов «.», «-», «_», «:»). Может содержать имена других элементов или атрибутов |
NMTOКENS | Перечень значений NMTOКEN, разделенных пробелами |
Ограничения на использование атрибутов задаются с помощью следующих ключевых слов (табл. 2.6).