xml - расширенный язык разметки
DESCRIPTION
XML - расширенный язык разметки. (eXtensible Markup Language). Моисеевой О. Макушиной Д. Зачем нам это надо?. Основой WWW является HTML – набор тэгов, который позволяет создавать разметку документа Недостатки HTML : - PowerPoint PPT PresentationTRANSCRIPT
XML - расширенный язык разметки
Моисеевой О.Макушиной Д.
(eXtensible Markup Language)
Зачем нам это надо?Основой WWW является HTML – набор тэгов,
который позволяет создавать разметку документа
Недостатки HTML:даже самый большой список тэгов не в состоянии
полностью удовлетворить запросы создателей документов силу того, что этот список ограничен
HTML – документы ориентированы прежде всего на отображение, а не на автоматическую обработку. Из базы данных можно передать данные в HTML-документ. Обратная операция намного сложнее.
Корни XML
1986 г. – организация ISO (International Organization for Standardization) принимает язык SGML (Standard Generalized Markup Language) в качестве официального стандарта
SGML позволяет: описывать структурированные данные организовывать и представлять информацию, содержащуюся в
документах создавать свои конструкции разметки
Недостатки SGML: описание спецификации занимает более 500 страниц
Следствие => создание языка XML, отличного от SGML и HTML
XML – подмножество SGML, расширенный язык разметки, пришедший на смену HTML
XML позволяет: создавать свой язык для каждого типа документа или
даже для каждого документа отдельно максимально легко интегрировать данные из
различных приложений
Недостатки XML: адекватное отображение содержимого XML-файлов
различными браузерами достигается далеко не всегда
Корни XML
В XML докумение можно выделить 2 основные части:
1. Описания структуры документа DTD – блок (Document Type Definition)
2. Непосредственно содержание документа
В первой части мы можем использовать:• Инструкции XML – процессора• Объявление элементов структуры документа• Атрибуты для каждого элемента• Cущности
DTD-блок может внедряться как в сам документ, так и находиться во внешнем файле.В XML – документе, как и в любой объектной иерархии существует некий корневой элемент, от
которого наследуются все остальные.
Содержимое XML – документа (2-ая часть) форматируется при помощи тэгов, которые определяются в описании типа документа.
Наименования тэгов полностью совпадают с наименованием элементов Параметры тэгов позволяют устанавливать значения атрибутов элементов
Структура XML - документов
В качестве первой строки каждого XML – документа должна использоваться исполняемая инструкция, предназначенная для XML – процессора:
<?xml version=“1.0”?>
xml – ключевое слово для каждой исполняемой инструкцииversion - параметр инструкции, указывающий на то, что будет использоваться первая версия
стандарта XML.
Пролог XML – документа – блок исполняемых инструкций.
Инструкция для указания конкретной кодировки, которая будет использоваться:
<?xml encoding=“UTF-8”?>encoding – параметр инструкцииUTF-8 – одна из наиболее часто используемых кодировок
Инструкция XML - процессора
Инструкция, позволяющая правильно обработать DTD-блок:<?xml standalone=‘no’?>standalone – параметр для указания местонахождения описание структуры для данного
XML – документаЗначения:no – извещает XML-процессор, что для данного документа DTD-блок выделен в
отдельный файлyes – указывает на то, что DTD-блок размещен в теле документа
Инструкция XML - процессора
Определение XML – инструкций из спецификаций XML в форме Бэкуса-Наура:
XMLDecl ::= ‘<?xml’ VersionInfo EncodingDecl? SDDecl? S? ‘?>’VersionInfo ::= S ‘version’ Eq (‘VersionNum’ | “VersionNum”)Eq ::= S? ‘=’ S?VersionNum ::= ([a-zA-Z0-9_.:] | ‘-’)+
Левая часть – имя конструкции::= - оператор эквивалентностиПравая часть – расшифровка имени, которая содержит формат и правила оформления
Инструкция XML - процессора
DTD-блок – объявление типа документа, помещаятся сразу после исполняемой инструкции, указывающей на тот факт, что данный документ создан с применением языка XML.
В нем определяются: Элементы документа Атрибуты элементов Сущности комментарии
Объявление типа документа
Объявление типа документа
Пример DTD-блока<!DOCTYPE body [<!ELEMENT body (#PCDATA)><!ENTITY name “Igor”>]>1 стр. – объявление типа документа и его
наименования. В качестве наименования типа документа мы используем имя самого старшего элемента, который включает в себя все остальные элементы.
[] – содержат описание структуры всего документа
Объявление типа документа
DTD-блоки могут находиться как внутри документа, так и вне его. Для подключения можно использовать конструкцию подобную следующей:
<!DOCTYPE main PUBLIC “-//New Boundaries//SweetImmersing//EN”//www.newboundaries.com/sweet/dtd/main.dtd”
PUBLIC – файл рассматривает международная организация по стандартизации ISO
SYSTEM - файл не рассматривается международной организацией по стандартизации ISO
Объявление типа документа
DTD-файл, содержащий DTD-блок подчиняется спецификации XML, т.е. является обычным XML-документом без значимого содержимого. Первой его строкой также будет исаполняемая инструкция.
Номер версии стандарта XML обычно не указывается, но указывается используемая кодировка.
Объявление типа документа
DTD-блок должен быть:1. Хорошо оформденным2. ПравильнымХорошо оформлен: У документа только один элемент верхнего уровня, и содержимое
документа располагается полностью внутри сответствующего тэга
В одном тэге не могут употребляться несколько раз одни и те же атрибцты элемента
Все сущности должны объявляться до их использования Все тэги должны быть правильно вложены друг в друга
Пример:
<?xml version=“1.0” standalone=“yes”?><body>well-formed document </body>
Примечание:XML-процессоры чувствительны к регистру символов.
Объявление типа документа
Правильным считается XML-документ, который удовлетворяет требованиям, предъявляемым к хорошо-оформленным документам, и рпи этом имеет соответствующий DTD-блок и подчиняется всем правилам, описанным в нем.
Пример:
<?xml version=“1.0” standalone=“yes”?><!DOCTYPE body [<!ELEMENT body (#PCDATA)>]><body>valid document </body>
Элементы XML-документа
Элемент – основная структурная единица XML-документа. Объявляется в DTD-блоке, а затем при разметке значимого содержимого документа используются тэги, наименования которых совпадают с наименованием элементов.
Пример 1:
<!DOCTYPE body [<!ELEMENT body (#PCDATA)>]>
ELEMENT – ключевое словоbody – наименование элементаPCDATA (parseable character data ) – тип (любая информация,
с которой может работать 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)>
Модификаторы:+ применяется для элементов, которые в родительском элементе считаются
обязательными, должны встречаться хотя бы один раз* указывает на то, что элемент может встретиться в описание родительского
элемента любое количество раз? Используюися для тех элементов, которые могут появляться в описание
родительского элемента только один раз, или вообще не появляться
Атрибуты элементов
Атрибут позволяет максимально полно детализировать информацию, предназначенную для отображения или использования в элементе.
<!ELEMENT text (#PCDATA)><!ATTLIST text
create_data CDATA #REQUIREDlast_modified CDATA #IMPLIEDauthor CDATA #REQUIREDeditor CDATA “Kondikova E.V.”>
create_data - наименованиеCDATA – тип #REQUIRED – модификатор атрибута
Атрибуты элементов
Три типа атрибутов:1. CDATA – данные толко в виде строк2. Type – перечисляемый тип Пример:<!ATTLIST my_elementtype (a|b|c “c”)>
1. Маркер - специализированный атрибут, значение которого несет заранее предопределенный тип информации. При использовании мркера нужно включить в описание одно из семи ключевых слов.
Пример:<!ATTLIST my_elementid ID #REQUIRED
Атрибуты элементов
Модификаторы атрибутов: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.”>