XML

Що таке XML

XML – це розширювана мова розміток.

Абревіатура XML означає extensible markup language.

XML не визначає теги, а дозволяє нам створювати власні теги. Ми створюємо теги, з їх допомогою документ XML, а щоб можна було зрозуміти наші теги, даємо їх опис. Такий загальний принцип. Нижче розглянемо роботу з XML докладніше.

Приклад документа XML

У Блокноті набираємо код:

Перший рядок

< ? xml version = "1.0" encoding = "Windows-1251"? >

це оголошення XML, кодування російська.

Другий рядок

< ! DOCTYPE knigi SYSTEM "Libreria.dtd" >

це тип документа. Слово «knigi» - це ім'я документа й ім'я кореневого елемента документа. Після слова SYSTEM йде посилання на файл Libreria.dtd, в якому описані теги нашого документа XML.

Рядок

< kni: knigi xmlns: kni = "http://sbp-program.ru/index.htm" >

містить тег «knigi» і оголошує простір імен «kni» за допомогою атрибуту «xmlns».

У документі ми використовуємо теги:
    knigi - це кореневої тег, всі інші теги повинні бути вкладені в кореневій тег;
    title - найменування книги;
    author - автор книги;
    year - рік видання,
всі вони відносяться до простору імен «kni».

Теги бувають відкриваючі, приклад: < kni: author > та закривають, приклад: < / kni: author >. Відкривають теги можуть містити атрибути. Наприклад тег < kni: author > можна забезпечити атрибутами:

< kni: author kni: family = "Іванов" kni: name = "Іван" kni: patronymic = "Іванович" >

Перепишемо наш XML-документ з урахуванням зміни тега < kni: author > :

Теги можуть бути вкладеними. Введемо новий тег < kni: kniga > і в нього вкладемо теги, відповідні одній книзі:

У XML документи можна вводити коментарі так:

Додамо коментарі в наш документ:

Наверх

DTD

опишіть теги нашого документа на мові DTD:

Набираємо цей код в Блокноті і зберігаємо як Libreria.dtd.

Рядок

< ! ELEMENT knigi (kniga) * >

оголошує кореневий елемент. У Корнія елементі є вкладений елемент (kniga) *, зірочка каже, що вкладений елемент може зустрічатися багаторазово або не зустрітися ні разу. В елемент kniga вкладені інші елементи, їх оголосимо при оголошенні самого елемента kniga, тобто в оголошенні елемента вказуємо тільки безпосередньо в нього вкладені елементи.

Елемент kniga містить три вкладених елемента, їх вказуючи в дужках:

< ! ELEMENT kniga (title, author, year) >

У рядку

< ! ELEMENT title (#PCDATA) >

оголошений елемент title, що містить рядок, і без вкладених елементів. (#PCDATA) Позначає, що значенням елемента є рядок.

У рядку

< ! ELEMENT author EMPTY >

оголошений порожній елемент, тобто він сам певного значення не має. Але у нього є атрибути, які й оголошуються нижче:

кожен з атрибутів є рядком (CDATA) і наявність значення атрибута обов'язково (#REQUIRED).