Что такое XML
XML – это расширяемый язык разметок.
Аббревиатура XML означает extensible markup language.
XML не определяет теги, а позволяет нам создавать собственные теги.
Мы создаем теги, с их помощью документ XML, а чтоб можно было понять наши теги, даем их описание.
Таков общий принцип.
Ниже рассмотрим работу с XML подробнее.
Пример документа XML
В Блокноте набираем код:
Первая строка
это объявление XML, кодировка русская.
Вторая строка
это тип документа. Слово «knigi» – это имя документа и имя корневого элемента документа. После слова SYSTEM идёт ссылка на файл Libreria.dtd, в котором описаны теги нашего документа XML.
Строка
содержит тег «knigi» и объявляет пространство имен «kni» с помощью атрибута «xmlns».
В документе мы используем теги:
knigi – это корневой тег, все другие теги должны быть вложены в корневой тег;
title – наименование книги;
author – автор книги;
year – год издания,
все они относятся к пространству имен «kni».
Теги бывают открывающие, пример: < kni:author > и закрывающие, пример: < /kni:author >. Открывающие теги могут содержать атрибуты. Например тег <kni:author> можно снабдить атрибутами:
Перепишем наш XML-документ с учетом изменения тега < kni:author > :
Теги могут быть вложенными. Введем новый тег < kni:kniga > и в него вложим теги, соответствующие одной книге:
В XML документы можно вводить комментарии следующим образом.
Добавим комментарии в наш документ:
DTD
Опишим теги нашего документа на языке DTD:
Набираем этот код в Блокноте и сохраняем как Libreria.dtd.
Строка
объявляет корневой элемент. В корнеом элементе имеется вложенный элемент (kniga)*, звездочка говорит, что вложенный элемент может встречаться многократно или не встретиться ни разу. В элемент kniga вложены другие элементы, их объявим при объявлении самого элемента kniga, т.е. в объявлении элемента указываем только непосредственно в него вложенные элементы.
Элемент kniga содержит три вложенных элемента, их указывем в скобках:
В строке
объявлен элемент title, содержащий строку, и без вложенных элементов. (#PCDATA) обозначает, что значением элемента является строка.
В строке
объявлен пустой элемент, т.е. он сам определенного значения не имеет. Но у него есть атрибуты, которые и объявляются ниже:
каждый из атрибутов является строкой ( CDATA) и наличие значения атрибута обязательно (#REQUIRED).