xml - расширенный язык разметки

19
XML - расширенный язык разметки Моисеевой О. Макушиной Д. (eXtensible Markup Language)

Upload: vito

Post on 05-Jan-2016

64 views

Category:

Documents


5 download

DESCRIPTION

XML - расширенный язык разметки. (eXtensible Markup Language). Моисеевой О. Макушиной Д. Зачем нам это надо?. Основой WWW является HTML – набор тэгов, который позволяет создавать разметку документа Недостатки HTML : - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: XML -  расширенный язык разметки

XML - расширенный язык разметки

Моисеевой О.Макушиной Д.

(eXtensible Markup Language)

Page 2: XML -  расширенный язык разметки

Зачем нам это надо?Основой WWW является HTML – набор тэгов,

который позволяет создавать разметку документа

Недостатки HTML:даже самый большой список тэгов не в состоянии

полностью удовлетворить запросы создателей документов силу того, что этот список ограничен

HTML – документы ориентированы прежде всего на отображение, а не на автоматическую обработку. Из базы данных можно передать данные в HTML-документ. Обратная операция намного сложнее.

Page 3: XML -  расширенный язык разметки

Корни XML

1986 г. – организация ISO (International Organization for Standardization) принимает язык SGML (Standard Generalized Markup Language) в качестве официального стандарта

SGML позволяет: описывать структурированные данные организовывать и представлять информацию, содержащуюся в

документах создавать свои конструкции разметки

Недостатки SGML: описание спецификации занимает более 500 страниц

Следствие => создание языка XML, отличного от SGML и HTML

Page 4: XML -  расширенный язык разметки

XML – подмножество SGML, расширенный язык разметки, пришедший на смену HTML

XML позволяет: создавать свой язык для каждого типа документа или

даже для каждого документа отдельно максимально легко интегрировать данные из

различных приложений

Недостатки XML: адекватное отображение содержимого XML-файлов

различными браузерами достигается далеко не всегда

Корни XML

Page 5: XML -  расширенный язык разметки

В XML докумение можно выделить 2 основные части:

1. Описания структуры документа DTD – блок (Document Type Definition)

2. Непосредственно содержание документа

В первой части мы можем использовать:• Инструкции XML – процессора• Объявление элементов структуры документа• Атрибуты для каждого элемента• Cущности

DTD-блок может внедряться как в сам документ, так и находиться во внешнем файле.В XML – документе, как и в любой объектной иерархии существует некий корневой элемент, от

которого наследуются все остальные.

Содержимое XML – документа (2-ая часть) форматируется при помощи тэгов, которые определяются в описании типа документа.

Наименования тэгов полностью совпадают с наименованием элементов Параметры тэгов позволяют устанавливать значения атрибутов элементов

Структура XML - документов

Page 6: XML -  расширенный язык разметки

В качестве первой строки каждого XML – документа должна использоваться исполняемая инструкция, предназначенная для XML – процессора:

<?xml version=“1.0”?>

xml – ключевое слово для каждой исполняемой инструкцииversion - параметр инструкции, указывающий на то, что будет использоваться первая версия

стандарта XML.

Пролог XML – документа – блок исполняемых инструкций.

Инструкция для указания конкретной кодировки, которая будет использоваться:

<?xml encoding=“UTF-8”?>encoding – параметр инструкцииUTF-8 – одна из наиболее часто используемых кодировок

Инструкция XML - процессора

Page 7: XML -  расширенный язык разметки

Инструкция, позволяющая правильно обработать DTD-блок:<?xml standalone=‘no’?>standalone – параметр для указания местонахождения описание структуры для данного

XML – документаЗначения:no – извещает XML-процессор, что для данного документа DTD-блок выделен в

отдельный файлyes – указывает на то, что DTD-блок размещен в теле документа

Инструкция XML - процессора

Page 8: XML -  расширенный язык разметки

Определение XML – инструкций из спецификаций XML в форме Бэкуса-Наура:

XMLDecl ::= ‘<?xml’ VersionInfo EncodingDecl? SDDecl? S? ‘?>’VersionInfo ::= S ‘version’ Eq (‘VersionNum’ | “VersionNum”)Eq ::= S? ‘=’ S?VersionNum ::= ([a-zA-Z0-9_.:] | ‘-’)+

Левая часть – имя конструкции::= - оператор эквивалентностиПравая часть – расшифровка имени, которая содержит формат и правила оформления

Инструкция XML - процессора

Page 9: XML -  расширенный язык разметки

DTD-блок – объявление типа документа, помещаятся сразу после исполняемой инструкции, указывающей на тот факт, что данный документ создан с применением языка XML.

В нем определяются: Элементы документа Атрибуты элементов Сущности комментарии

Объявление типа документа

Page 10: XML -  расширенный язык разметки

Объявление типа документа

Пример DTD-блока<!DOCTYPE body [<!ELEMENT body (#PCDATA)><!ENTITY name “Igor”>]>1 стр. – объявление типа документа и его

наименования. В качестве наименования типа документа мы используем имя самого старшего элемента, который включает в себя все остальные элементы.

[] – содержат описание структуры всего документа

Page 11: XML -  расширенный язык разметки

Объявление типа документа

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

<!DOCTYPE main PUBLIC “-//New Boundaries//SweetImmersing//EN”//www.newboundaries.com/sweet/dtd/main.dtd”

PUBLIC – файл рассматривает международная организация по стандартизации ISO

SYSTEM - файл не рассматривается международной организацией по стандартизации ISO

Page 12: XML -  расширенный язык разметки

Объявление типа документа

DTD-файл, содержащий DTD-блок подчиняется спецификации XML, т.е. является обычным XML-документом без значимого содержимого. Первой его строкой также будет исаполняемая инструкция.

Номер версии стандарта XML обычно не указывается, но указывается используемая кодировка.

Page 13: XML -  расширенный язык разметки

Объявление типа документа

DTD-блок должен быть:1. Хорошо оформденным2. ПравильнымХорошо оформлен: У документа только один элемент верхнего уровня, и содержимое

документа располагается полностью внутри сответствующего тэга

В одном тэге не могут употребляться несколько раз одни и те же атрибцты элемента

Все сущности должны объявляться до их использования Все тэги должны быть правильно вложены друг в друга

Пример:

<?xml version=“1.0” standalone=“yes”?><body>well-formed document </body>

Примечание:XML-процессоры чувствительны к регистру символов.

Page 14: XML -  расширенный язык разметки

Объявление типа документа

Правильным считается XML-документ, который удовлетворяет требованиям, предъявляемым к хорошо-оформленным документам, и рпи этом имеет соответствующий DTD-блок и подчиняется всем правилам, описанным в нем.

Пример:

<?xml version=“1.0” standalone=“yes”?><!DOCTYPE body [<!ELEMENT body (#PCDATA)>]><body>valid document </body>

Page 15: XML -  расширенный язык разметки

Элементы XML-документа

Элемент – основная структурная единица XML-документа. Объявляется в DTD-блоке, а затем при разметке значимого содержимого документа используются тэги, наименования которых совпадают с наименованием элементов.

Пример 1:

<!DOCTYPE body [<!ELEMENT body (#PCDATA)>]>

ELEMENT – ключевое словоbody – наименование элементаPCDATA (parseable character data ) – тип (любая информация,

с которой может работать XML-процессор)

Page 16: XML -  расширенный язык разметки

Элементы XML-документа

Пример 2:(усложненная организация с иерархией документов)

<!ELEMENT firm (name+, address, phone*, fax*, email, info)><!ELEMENT name (#PCDATA)><!ELEMENT address (#PCDATA)><!ELEMENT phone (#PCDATA)><!ELEMENT fax (#PCDATA)><!ELEMENT email (#PCDATA)><!ELEMENT info (#PCDATA)>

Модификаторы:+ применяется для элементов, которые в родительском элементе считаются

обязательными, должны встречаться хотя бы один раз* указывает на то, что элемент может встретиться в описание родительского

элемента любое количество раз? Используюися для тех элементов, которые могут появляться в описание

родительского элемента только один раз, или вообще не появляться

Page 17: XML -  расширенный язык разметки

Атрибуты элементов

Атрибут позволяет максимально полно детализировать информацию, предназначенную для отображения или использования в элементе.

<!ELEMENT text (#PCDATA)><!ATTLIST text

create_data CDATA #REQUIREDlast_modified CDATA #IMPLIEDauthor CDATA #REQUIREDeditor CDATA “Kondikova E.V.”>

create_data - наименованиеCDATA – тип #REQUIRED – модификатор атрибута

Page 18: XML -  расширенный язык разметки

Атрибуты элементов

Три типа атрибутов:1. CDATA – данные толко в виде строк2. Type – перечисляемый тип Пример:<!ATTLIST my_elementtype (a|b|c “c”)>

1. Маркер - специализированный атрибут, значение которого несет заранее предопределенный тип информации. При использовании мркера нужно включить в описание одно из семи ключевых слов.

Пример:<!ATTLIST my_elementid ID #REQUIRED

Page 19: XML -  расширенный язык разметки

Атрибуты элементов

Модификаторы атрибутов:1. CDATA – данные толко в виде строк2. Type – перечисляемый тип Пример:#REQUIRED – указывает на то, что для данного атрибута значение может быть

не определено, т.е. этот атрибут не является обязательным для применения

#IMPLIED – указывает на то , что атрибут должен быть обязательно применен. Т.е. во всех экземплярах элемента в значимом содержимом XML-документа должно быть обязательно присвоено значение этому атрибуту

#FIXED – применяется в тех случаях, когда заданное для атрибута значение по умолчанию является фиксированным, т.е. не поддается изменению

Пример:<!ELEMENT text (#PCDATA)><!ATTLIST text

create_data CDATA #REQUIREDlast_modified CDATA #IMPLIEDauthor CDATA #REQUIREDeditor CDATA “Kondikova E.V.”>