Найдавнішим форматом схем для XML є успадкований від SGML формат визначення типу документа (Document Type Definition, DTD). В той час, як через включення до стандарту XML 1.0, DTD став поширеним форматом схем, він має наступні обмеження:
ü Відсутність віддзеркалення нових можливостей XML, найважливіша серед яких простір імен;
ü Брак виразності. Деякі формальні аспекти XML-документів неможливо відобразити в DTD;
ü Використовується спеціалізований, оснований не на XML, синтаксис для опису схем.
Застосування DTD-файлів є необов’язковим, але їх доцільно використовувати для досягнення узгодженості XML-документів.
DTD-файли дозволяють контролювати відповідність типів, визначених в XML-документах і гарантують у такий спосіб адекватність останніх (наприклад те, що теги містять належні атрибути, всі елементи розташовані у вірній послідовності, тощо).
В основі сукупності правил, у відповідності із якими відбувається структурування документа, лежить EBNF-граматика (Extended BNF grammar), а не синтаксис XML.
У наступному прикладі [слайд на стор. 26-31, Lect_13.pdf] визначено набір правил (граматику), необхідних для структурування листа у прикладі [слайд на стор. 16, Lect_13.pdf].
|
|
Недоліки застосування DTD-файлів
DTD-файлами не можна маніпулювати (здійснювати в них пошук інформації, використовувати їх різні зображення, наприклад, у вигляді HTML, тощо) за допомогою тих же методів, що і з XML-документами.
DTD-файли є нащадками SGML, що накладає суттєві обмеження. Намагання подолання недоліків призвели до створення нового підходу – виникненню схем XML-документів.
Схеми XML-документів
На відміну від DTD-файлів в схемах не використовується EBNF-граматика, а замість цього використовується XML-синтаксис, тобто схеми є XML-документами. Це означає, що схеми можна обробляти як XML-документи.
Як і DTD-файли схеми повинні використовуватись парсерами для перевірки на відповідність.
Основні моделі схем:
ü XML-схеми консорціуму WWW (W3C XML Schema);
ü XML-схеми компанії Microsoft;
ü XML-схеми RELAX.
XML-схеми консорціуму WWW (приклад)
[слайд на стор. 34-37, Lect_13.pdf]