русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Язык XML


Дата добавления: 2015-08-06; просмотров: 1013; Нарушение авторских прав


Язык разметки 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;.

Кроме того, для символов &, <, >, ', " можно использовать ссылки &amp;, &lt;, &gt;, &apos;, &quot; соответственно.

В языке 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-документов..



<== предыдущая лекция | следующая лекция ==>
Язык HTML | Web-сценарии и создание интерактивных Web-страниц


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.033 сек.