41) Язык xml
Язык разметки XML (eXtensible Markup Language) разработан в 1996 г. Он, как и HTML, считается подмножеством языка SGML.
В настоящее время язык XML претендует на роль основного языка представления документов в информационных технологиях, его можно рассматривать как метаязык, служащий основой для создания частных языков разметки в различных приложениях. При этом XML более удобен, чем SGML, что обеспечивается устранением в XML некоторых второстепенных особенностей SGML. Описания на XML легче воспринимаются, приспособлены для использования в современных WWW-браузерах при сохранении основных возможностей SGML.
Для конкретных приложений создаются свои варианты XML, называемые XML-словарями или XML-приложениями. Известны словари для химии (CML — Chemical Markup Language), географии GML (Geography Markup Language), математичеких текстов MathML (Mathematical Markup Language), синтаксиса и семантики естественных языков LGML (Linguistics Markup Language), обмена данными по аутентификации и авторизации между системами безопасности SAML (Security Assertion Markup Language), описания голосоввых диалогов между человеком и компьютером VoiceXML и др. Для CALS интерес представляют варианты Product Definition eXchange (PDX) и 3D XML, посвященные обмену данными в CAE/CAD/CAM системах.
XML-документ состоит из пролога, корневого элемента "Документ", собственно и являющегося размеченным документом, таблицы определения типов(декларации DTD) и сведений по форматированию. Документ, сформированный в соответствии с синтаксическими правилами языка XML, при отсутствии DTD называют корректным, а при наличии DTD — валидным. Процессор отказывается от обработки некорректных документов. Отсутствие DTD в корректном документе считается ошибкой, но не препятствует обработке документа.
Пролог начинается со строки:
<?xml version="1.0" дополнения ?>
Эта строка указывает используемую версию языка XML (в данном случае версия 1.0). В эту строку можно в качестве дополнения включить также объявление автономности документа, если не предполагается связывать с документом какие-либо внешние файлы:
<?xml version="1.0" standalone='yes'?>
В дополнениях (или в отдельной команде) может быть указана используемая кодировка, например, encoding='ISO 8859-1'. В пролог могут входить также одна или несколько пустых строк, строки комментария и командные строки. Форма комментария:
<!--текст комментария-->
Текст комментария может включать любые символы, кроме двух дефисов.
Командные строки являются указанием XML-процессору на обработку документа. Они имеют вид:
<?команда?>
Элемент "Документ" представляет собой иерархически организованное множество элементов, являющихся размеченными фрагментами исходного документа. Фрагменты документа помещаются в контейнеры XML, обрамленные каждый открывающим <тип> и закрывающим </тип> тегами, где вместо слова "тип" записывается конкретный тип элемента. Типы элементов задаются в декларации DTD. Фрагменты могут иметь те или иные атрибуты (параметры), значения которых записываются внутри открывающего тега, т.е. тег имеет вид <тип атрибуты>.
Декларация DTD выполняет ту же роль, что и в языке SGML. В ней указываются средства разметки, с помощью которых структурируют исходный документ. Декларация может быть помещена в отдельный файл и тогда в прологе нужно указать XML-процессору имя этого файла с помощью строки
<!DOCTYPE имя_документа SYSTEM "имя_файла_DTD">
Но можно декларацию DTD записать непосредственно в эту строку вместо служебного слова SYSTEM и имени файла DTD, заключив ее в квадратные скобки. Возможно также разделение DTD на внешнюю и внутреннюю части, когда адрес первой из них записывается в поле имя файла DTD, а вторая часть помещается после этого в квадратных скобках.
Инструкции по форматированию документа, необходимые для его визуализации с помощью браузера, могут быть заданы несколькими способами. Один из них — использование каскадных таблиц стилей CSS, таких же, какие используют для HTML-документов. В этих таблицах для каждого типа элемента указаны способы визуализации — тип, размер, цвет шрифта, расположение на экране дисплея при просмотре. Таблица CSS помещается в отдельный файл. Ссылка на этот файл в XML-документе размещается в прологе и имеет вид:
<?xml-stylesheet type="text/css" href="имя_файла"?>
Здесь имя_файла — имя файла с таблицей CSS, это имя должно иметь расширение .css.
Пример пролога XML-документа:
<?xml version="1.0" ?>
<!-- Это заголовок документа dictionary -->
<?xml-stylesheet type="text/css" href="dict.css"?>
<!DOCTYPE dictionary SYSTEM "dict.dtd">
В заголовке записаны номер используемой версии языка XML (version="1.0"), имя документа (в нашем примере dictionary), ссылки на файлы, в которых размещены таблицы CSS (файл dict.css) и DTD (файл dict.dtd):
Основные рассмотренные свойства XML-документов поясним следующим примером. Пусть исходный неразмеченный документ представляет собой фрагмент словаря, состоящий из трех пунктов (в нашем примере названия пунктов CALS, Ethernet, PDM). Каждый пункт относится к одному из понятий определенной предметной области и включает название понятия, его краткое определение и возможно некоторые поясняющие примеры.
Целесообразно использовать иерархическую структуру документа: верхний уровень относится к пунктам словаря, нижний уровень относится к элементам пункта. Принятая структура отражается в DTD.
После разметки исходного текста получаем XML-документ следующего вида:
<?xml version="1.0" ?>
<?xml-stylesheet type="text/css" href="dict.css"?>
<!DOCTYPE dictionary [
<!ELEMENT dictionary (item)>
<!ELEMENT item (termin,description,examples?)>
<!ELEMENT termin (#PCDATA)>
<!ATTLIST termin number ID #REQUIRED>
<!ATTLIST termin group (technology|networks|software|other) #REQUIRED>
<!ELEMENT description (#PCDATA)>
<!ELEMENT examples (#PCDATA)>
<!ENTITY ЛВС "локальная вычислительная сеть">
]>
<dictionary>
<item>
<termin number ='_14' group='technology'> CALS </termin>
<description> - Continuous Acquisition and Lifecycle Support,
информационное сопровождение и поддержка этапов жизненного цикла
промышленных изделий. Технология взаимодействия различных
автоматизированных систем в промышленности.
</description>
</item>
<item>
<termin number ='_24' group='networks'> Ethernet </termin>
<description> - &ЛВС с методом доступа МДКН/ОК.
</description>
<examples> Варианты реализации 10Base-5, 10 Base-T, 100Base-X. Gigabit Ethernet.
</examples>
</item>
<item>
<termin number ='_52' group='technology'> PDM </termin>
<description> - Product Data Management, управление проектными данными.
Системы PDM, называемые также системными средами, входят в состав
программного обеспечения CALS-технологий.
</description>
<examples> Windchill eSeries,iMAN, SmartTeam, Optegra.
</examples>
</item>
</dictionary>
В приведенном примере XML-документа атрибут number относится к маркерному типу. Его идентификатор ID означает, что этот атрибут должен иметь уникальные значения для каждого элемента termin, т.е. number является ключевым атрибутом (значения типа ID не должны начинаться с цифры, поэтому в примере используется знак подчеркивания).
В нашем примере XML-документа dictionary используются каскадные таблицы стилей. Пусть мы хотим элементы типа termin выделить полужирным шрифтом (bold) 12-го размера с отступом первой строки на 5 мм, а элементы типа examples — курсивом (italic) 10-го размера с отступом на 10 мм. Тогда таблица CSS, помещаемая в файл dict.css, должна быть задана в виде:
item
{display:block;}
termin
{font-weight:bold; font-size:12pt; text-indent:5mm; font-style:normal;}
description
{font-size:12pt;}
examples
{display:block; font-style:italic; font-size:10pt; text-indent:10mm;}
Обращение к браузеру для просмотра нашего документа позволит увидеть текст, представленный на рис. 1.
|
Рис. 1. Пример XML-документа
Часто возникает необходимость включения в XML-документ символов, отсутствующих на клавиатуре компьютера (например, буквы греческого алфавита) или на символы, относящиеся к служебным символам языка. На них следует ссылаться с помощью записи&#код_символа_по_ISO/IEC10646;.
Кроме того, для символов &, <, >, ', " можно использовать ссылки &, <, >, ', " соответственно.
В языке XML расширены возможности гиперсвязей. Механизм связей в XML изложен в спецификациях XLink и XPointer.
Программная поддержка языка XML обеспечивается XML-процессорами. В состав XML-процессора входит синтаксический анализатор, который проверяет правильность соблюдения правил языка, но не производит форматирования. Для форматирования документа используется другая компонента XML-процессора, поддерживающая каскадные таблицы стилей или язык форматирования XSL.
К функциям программного обеспечения, поддерживающего XML, кроме синтаксического анализа и визуализации, относятся поиск заданных фрагментов, создание, удаление, модификация элементов в XML-документе. Для поддержки этих функций в рабочей группе W3C, занимающейся вопросами Web-технологий, разрабатывается объектная модель HTML и XML-документов DOM (Document Object Model), предназначенная для создания прикладного интерфейса API (Application Program Interface) к XML-документам, и соответствующие языки запросов XPath (XML Path Language), XQuery, XSLT, позволяющие ссылаться на части XML-документов..
- 1) Понятие проектирования
- 18) Этапы проектирования автоматизированных систем
- 24) Типы вычислительных машин и систем
- 25) Персональный компьютер
- 26) Архитектуры серверов и суперкомпьютеров
- 27) Обзор cals-стандартов
- 28) Структура стандартов step
- 29) Структура моделей на языке Express
- 31) Интегрированная логистическая поддержка
- 32) Интерактивные электронные технические руководства
- 33) Электронная цифровая подпись
- 34) Стандарты управления качеством промышленной продукции
- 37) Интегрированные ресурсы и компоненты в step
- 38) Прикладные протоколы step
- 39) Программное обеспечение cals-технологий
- 40) Язык html
- 41) Язык xml
- 42) Форматирование Web-страниц
- Доступ к xml-документам
- 43) Протокол http
- 44) Портал
- 45) Мультиагентные системы
- 46) Технология soap
- 47) Компонентно-ориентированные технологии