МУ_ЛР_ЛиПОАС. Методические указания по выполнению лабораторных работ по дисциплине (модулю) Лингвистическое и программное обеспечение автоматизированных систем
Скачать 2.76 Mb.
|
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 позволяет описать требования к элементам и атрибутам документа. При описании элементов указываются: модель содержимого, описывающая также наличие дочерних элементов; ограничения на количество повторений элемента в документе. Для описания элемента используется конструкция следующего вида: Правила записи модели содержимого представлены в табл. 2.3. Таблица 2.3 Правила записи модели содержимого
Ограничения на количество дочерних элементов задается следующим образом (табл. 2.4). Таблица 2.4 Ограничения на количество дочерних элементов
Атрибуты элементов объявляются для каждого элемента, если это необходимо, с помощью объявления ATTLIST. При описании атрибутов указываются: тип атрибута; ограничения на употребление атрибута. Для описания атрибутов элемента используется конструкция следующего вида: (Значение_по_умолчанию | Ключевое_слово) Имя_атрибута2 Тип_атрибута (Значение_по_умолчанию | Ключевое_слово) > Правила описания допустимых типов атрибутов и ключевых слов приведены в табл. 2.5. Таблица 2.5 Правила описания допустимых типов атрибутов и ключевых слов
Ограничения на использование атрибутов задаются с помощью следующих ключевых слов (табл. 2.6). Таблица 2.6 Ограничения на использование атрибутов
В качестве примера рассмотрим XML-документ и соответствующее ему DTD-описание. System="CRM"> ClientID ID #REQUIRED ClientType CDATA #REQUIRED Class CDATA #IMPLIED System NMTOКEN #FIXED "CRM"> Для описания логического компонента, многократно используемого разными XML-документами, применяются примитивы, которые задаются путем указания типа атрибута ENTITY. Примитивы могут быть внутренними (логический компонент повторно используется в одном документе) и внешними (повторно используется логический элемент из внешнего файла). В зависимости от содержимого примитивы можно разделить на анализируемые примитивы (ссылаются на правильно сформированное содержимое XML) и примитивы, игнорируемые анализатором (ссылаются на не-XML-данные). Поскольку XML-анализатор не способен обрабатывать данные в двоичных и других не-XML-форматах, каждому примитиву, игнорируемому анализатором, должна соответствовать нотация. Нотации применяются для того, чтобы связать формат внешних данных, используемых в XML-документе, с внешней программой-обработчиком. Анализатор отошлет не-XMLданные на обработку указанной программе. XML-документ, использующий нотации, играет роль унифицирующего документа, объединяющего разнородные данные. Форматы описания логических компонентов XML приведены в табл. 2.7. Таблица 2.7 Форматы описания логических компонентов XML
|