Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
197
Добавлен:
17.04.2018
Размер:
333.31 Кб
Скачать

Интернет-программирование

МИЭТ, 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-115812540-12542

пропущенные строки –

и т.д. –

ИП. SGML. Введение в DTD

МИЭТ, 2017

DTD

Document Type Definition — определение типа документа

Задачи, решаемые DTD:

Определение модели содержания (т.е. правила вхождения элементов друг в друга и порядок следования друг за другом и допустимое количество одних элементов в других)

Определение состава атрибутов и правил применимости их в элементах

Определение значений по умолчанию

Определение сущностей (подстановок)

DTD более высокоуровневое описание документа по сравнению с SGML-декларацией: т.к. не определяет поведение документа на уровне отдельных символов и их кодов, а определяет поведение документа на основе групп символов, размеченных разделителями, описанными в SGML-декларации

Т.е. DTD не определяет понятия: разделителей, элементов, атрибутов, но определяет правила их применения в документе. Валидность документа проверяется по SGML-декларации и по DTD, если DTD указан для данного документа.

Соседние файлы в папке Интернет технологии