
- •Интернет-программирование
- •ИП. XML. Введение
- •ИП. «Генеалогия» XML
- •ИП. SGML
- •ИП. SGML-декларация
- •ИП. SGML-декларация для HTML4
- •ИП. SGML-декларация для XML
- •ИП. SGML. Введение в DTD
- •ИП. SGML. DTD. Типы данных
- •ИП. SGML. DTD. Описание элементов
- •ИП. SGML. DTD. Описание атрибутов
- •ИП. SGML. DTD. Примеры объявления атрибутов
- •ИП. «Генеалогия» XML. SGML. Введение в DTD
- •ИП. XML. Разметка
- •ИП. XML. Пример xml-документа
- •ИП. XML. Элементы или атрибуты
- •ИП. XML. Правильность и валидность
- •ИП. XML. Правильность
- •ИП. XML. Корректность
- •ИП. XML. Пространство имен
- •ИП. XML. XML-схема
- •ИП. XML. XML-схема
- •ИП. XML. XML-схема. Простые элементы
- •ИП. XML. XML-схема. Атрибуты
- •ИП. XML. XML-схема. Составные элементы
- •ИП. XML. XML-схема. Составные элементы
- •ИП. XML. XML-схема. Составные элементы
- •ИП. XML. XML-схема. Индикаторы
- •ИП. XML. XML-схема. Ссылка ref
- •ИП. XML. XML-схема. Ссылка ref
- •ИП. XML. XML-схема. Пример XML-документа и его схемы
- •ИП. Работа с XML
- •ИП. Работа с XML. PHP. Валидация
- •ИП. Работа с XML. PHP.
- •ИП. Работа с XML. JavaScript
- •ИП. Работа с XML. Java
Интернет-программирование |
МИЭТ, 2017 |
Лекция 9.
Обработка XML
ИП. XML. Введение |
МИЭТ, 2017 |
XML ( eXtensible Markup Language) — расширяемый язык разметки.
Идея — добавление специальных тегов для обеспечения автоматизированной обработки текстов
Применение — обмен данными между программами, платформами, устройствами
Первая публикация стандарта — 1998 г. ( консорциум W3C )
Последняя редакция — 2008 г. ( https://www.w3.org/TR/2008/REC-xml-20081126/ )
Формат — текстовый (т.е. человекочитаемый, хотя и «трудночеловекочитаемый»)
Расширение функциональности за счет:
DTD (Document Type Definition) — описание типов данных в xml-документе
XML Shema — описание структуры xml-документа
XSLT — шаблон для преобразования XML документа в другие, например HTML

ИП. «Генеалогия» XML |
МИЭТ, 2017 |
1969 |
|
|
GML |
|
Generalized Markup Language |
|
обобщённый язык разметки |
1986 |
|
|
SGML |
|
Standart Generalized Markup Language |
|
Стандартный обобщённый язык разметки |
1993 |
|
|
HTML |
1998 |
|
|
XML |
|
eXtensible Markup Language |
|
расширяемый язык разметки |
2010 |
|
|
ХHTML |
2014 |
|
|
HTML5 |
2017 |
|

ИП. GML |
МИЭТ, 2017 |
1969 GML
Generalized Markup Language обобщённый язык разметки
Можно было разметить текст на:
Заголовки |
- |
h1-h6 |
|
Параграфы |
- |
p |
|
|
Списки |
- |
ul, li, ol |
|
Таблицы |
- |
table, row, c |
Изначально предназначался для обеспечения обработки текста разным оборудованием, без изменения
самого текста изначально размеченного специальным образом (тегами)
:h1 stitle='О МИЭТ' id=part1.
О Московском Институте Электронной Техники :p.МИЭТ состоит из
:ol
:li.Кафедр
:li.Подразделений
:li.Студентов
:eol.
:p.Забыли еще преподавателей

ИП. GML |
МИЭТ, 2017 |
______________________________________________________________
| This is the first cell; the second |
| |
| |
| |
| and third cells are empty. |
| |
| |
| |
|______________________________|___________|___________|
| Note: This is a table note. It is placed in a row |
| |
| containing one cell that is as wide as the table. |
| |
|_____________________________________________________|
| |
| |
| This is |
| |
| |
| |
| the third |
| |
| |
| |
| cell in |
| |
| |
| |
| this row. |
| |
|______________________________|___________|___________| Table 1. Example of a Table Note, Caption, and Description. This is
a
rather short example. Probably it does not represent a table you might create for a real purpose.
:rdef id=geef cwidths='3* 2* *' :table refid=geef.
:row.
:c.This is the first cell; the second and third cells are empty. :tnote.This is a table note. It is placed in a row containing one cell
that
is as wide as the table.
:etnote.
:row.
:c 3.This is the third cell in this row.
:tcap.Example of a Table Note, Caption, and Description :tdesc.This is a rather short example. Probably it does not
represent
a table you might create for a real purpose.
:etable.
Пример описания таблицы в GML документе
Стандарт 1991 г. http://publibfp.boulder.ibm.com/
Неудобства:
1.Синтаксис трудноразличим
2.Нельзя переопределять теги

ИП. SGML |
МИЭТ, 2017 |
1986 SGML
Standart Generalized Markup Language стандартный обобщённый язык разметки
ВGML добавлены следующие возможности модификации:
Определять лексический уровень документа (SGML-декларация): алфавит, спецсимволы, разделители
Определять типы содержимого тегов и «поведение» тегов (DTD)
Пример SGML документа
<organization type="vuz"> MIET<italics>1965</italics>
</organization>

ИП. SGML-декларация |
МИЭТ, 2017 |
SGML декларация определяет правила интерпретации документа на уровне кодов символов
Пример определения в файле SGML-декларации кодов символов, которые трактуются при интерпретации как: перенос строки (RS), возврат каретки (RE), пробел (SPACE), табуляция (TAB)
FUNCTION RE |
13 |
RS |
10 |
SPACE |
32 |
TAB |
9 |
Пример взаимной замены интерпретации символов минуса (MINUS) и плюса (PLUS)
DELIM GENERAL SGMLREF
MINUS "+"
PLUS "-"
Описание синтаксиса SGML-декларации: http://lib.custis.ru/SGML_Declaration SGML-деларация для HTML4: https://www.w3.org/TR/html4/sgml/sgmldecl.html
По сути XML или HTML это SGML с определенными для них SGML-декларациями.

ИП. SGML-декларация для HTML4 |
МИЭТ, 2017 |
https://www.w3.org/TR/html4/sgml/sgmldecl.html

ИП. SGML-декларация для XML |
МИЭТ, |
|
2017 |
https://www.w3.org/TR/NOTE-sgml-xml-971215/
<!SGML -- SGML Declaration for XML -- "ISO 8879:1986 (ENR)"
CHARSET – открываем блок определения алфавита документа -- BASESET – определяем конкретный базовый алфавит --
"ISO Registration Number 176//CHARSET ISO/IEC 10646-1:1993 UCS-4 with implementation level 3//ESC 2/5 2/15 4/6" DESCSET – определяем отображение символов документа на символы базового алфавита --
0 |
9 |
UNUSED |
9 |
2 |
9 |
11 |
2 |
UNUSED |
13 |
1 |
13 |
– пропущенные строки -- |
||
65536 |
1048576 65536 |
– пропущенные строки --
SCOPE DOCUMENT – применяем ко всему документу, а также всем его DTD --
SYNTAX – определяем синтаксис документа --
SHUNCHAR NONE – сообщаем что у нас нет символов, которые могут трактоваться как управляющие --
BASESET "ISO Registration Number 176//CHARSET ISO/IEC 10646-1:1993 UCS-4 with implementation level 3//ESC 2/5 2/15 4/6" DESCSET – определяем отображение символов документа на символы базового алфавита --
0 1114112 0
FUNCTION – определяем разделители строк, слов и табуляцию -- RE 13
RS 10
SPACE 32
TAB SEPCHAR 9
NAMING – определяем символы, которые могут использоваться в именах --
NAMESTRT – определяем символы с которых могут начинаться имена --
5895 192-214 216-246 248-305 308-318 321-328 … 44032-55203
–пропущенные строки –
NAMECHAR – определяем символы которые могут использоваться в именах -- 45-46 183 720-721 768-837 864-865 903 1155-1158 … 12540-12542
–пропущенные строки –
–и т.д. –
ИП. SGML. Введение в DTD |
МИЭТ, 2017 |
DTD
Document Type Definition — определение типа документа
Задачи, решаемые DTD:
Определение модели содержания (т.е. правила вхождения элементов друг в друга и порядок следования друг за другом и допустимое количество одних элементов в других)
Определение состава атрибутов и правил применимости их в элементах
Определение значений по умолчанию
Определение сущностей (подстановок)
DTD более высокоуровневое описание документа по сравнению с SGML-декларацией: т.к. не определяет поведение документа на уровне отдельных символов и их кодов, а определяет поведение документа на основе групп символов, размеченных разделителями, описанными в SGML-декларации
Т.е. DTD не определяет понятия: разделителей, элементов, атрибутов, но определяет правила их применения в документе. Валидность документа проверяется по SGML-декларации и по DTD, если DTD указан для данного документа.