Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Введення в XML






У 1986 році, задовго до того, як ідея створення мережі Веб була втілена в життя, універсальний стандартизований мову розмітки SGML (Standardized Generalized Markup Language) був затверджений в якості міжнародного стандарту (ISO 8879) визначення мов розмітки, хоча SGML існував ще з кінця шістдесятих. Він використовувався для того, щоб описувати мови розмітки, надаючи при цьому автору можливість давати формальні визначення кожному елементу і атрибуту мови.

Мова HTML спочатку був всього лише одним з SGML-додатків. Він описував правила, за якими повинна бути підготовлена інформація для World Wide Web. Таким чином, мова HTML - це набір приписів SGML, сформульованих у вигляді визначення типу документа (DTD), що пояснюють, що саме позначають теги й елементи. Схема DTD для мови HTML зберігається в веб-браузері.

До недоліків мови HTML можна віднести наступні:

- HTML має фіксований набір тегів. Не можна створювати свої теги, зрозумілі іншим користувачам;

- HTML - це виключно технологія представлення даних. HTML не несе інформації про значення змісту, укладеного в тегах;

- HTML - «плоский» мову. Значимість тегів в ньому не визначена, тому з його допомогою не можна описати ієрархію даних;

- в якості платформи для додатків використовуються браузери. HTML не володіє достатньою потужністю для створення веб-додатків на тому рівні, до якого в даний час прагнуть веб-розробники. Наприклад, на мові HTML неможливо розробити додаток для професійної обробки і пошуку документів;

- великі обсяги трафіку мережі. Існуючі HTML-документи, використовувані як додатки, перевантажують Інтернет великими обсягами трафіку в системах клієнт-сервер. Прикладом може служити пересилання по мережі великого за обсягом документа, в той час як користувачу необхідна тільки невелика частина цього документа.

Таким чином, з одного боку, мова HTML є дуже зручним засобом розмітки документів для використання у веб, а з іншого - документ, розмічений в HTML, має мало інформації про своєму змісті. Якщо той чи інший документ несе досить повну інформацію про своєму змісті, з'являється можливість порівняно легко провести автоматичну узагальнену обробку та пошук у файлі, що зберігає документ. Мова SGML дозволяє зберігати інформацію про зміст документа, однак внаслідок особливої складності він ніколи не використовувався так широко, як HTML.

Для створення підмножини мови SGML, яке могло б бути прийнято Веб-спільнотою, була організована спеціальна група експертів з мови SGML, очолювана Джоном Боузеком (Jon Bosak) з компанії Sun Microsystems. Вирішено було видалити багато несуттєві можливості SGML. Перебудований таким чином мову назвали XML. Спрощений варіант виявився значно більш доступним, ніж оригінал, його специфікації займали всього 26 сторінок в порівнянні з більш ніж 500 сторінками специфікацій SGML.

Розглянемо більш детально структуру й особливості цієї мови.

XML (eXtensible Markup Language) - рекомендований W3C мова розмітки. XML - текстовий формат, призначений для зберігання структурованих даних, для обміну інформацією між програмами, а також для створення на його основі спеціалізованих мов розмітки. XML є спрощеною підмножиною мови SGML.

Мова XML має такі переваги:

- це людино-орієнтований формат документа, він зрозумілий як людині, так і комп'ютера;

- Підтримує Юнікод.

- у форматі XML можуть бути описані основні структури даних - такі як записи, списки і дерева;

- це самодокументіруемий формат, який описує структуру і імена полів також як і значення полів;

- має строго певний синтаксис і вимоги до аналізу, що дозволяє йому залишатися простим, ефективним і несуперечливим;

- широко використовується для зберігання і обробки документів;

- це формат, заснований на міжнародних стандартах;

- ієрархічна структура XML підходить для опису практично будь-яких типів документів;

- являє собою простий текст, вільний від ліцензування та будь-яких обмежень;

- чи не залежить від платформи;

- є підмножиною SGML, для якого накопичений великий досвід роботи і створені спеціалізовані додатки;

До відомих недоліків мови можна віднести наступні:

- синтаксис XML надмірний;

- розмір XML документа істотно більше бінарного представлення тих же даних (порядку 10 разів);

- розмір XML документа істотно більше, ніж документа в альтернативних текстових форматах передачі даних (наприклад JSON, YAML) і особливо в форматах даних, оптимізованих для конкретного випадку використання;

- надмірність XML може вплинути на ефективність програми. Зростає вартість зберігання, обробки і передачі даних;

- для великої кількості завдань не потрібна вся міць синтаксису XML, і можна використовувати значно простіші і продуктивні рішення;

- простори назв XML складно використовувати і їх складно реалізовувати в XML парсер;

- XML не містить вбудованої в мову підтримки типів даних. У ньому немає понять «цілих чисел», «рядків», «дат», «булевих значень» і т. і.

- ієрархічна модель даних, пропонована XML, обмежена в порівнянні з реляційною моделлю і об'єктно-орієнтованими графами.

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

Таблиця 4.1 – Мови розміток

XML Технічні рекомендації про використання XML
DTD Визначення типу документа (схема)
XDR Формат XML Reduced (схема Microsoft)
XSD Визначення схеми XML (схеми W3C)
Пространство имен Метод оприділення імен єлементів і атрибутів
XPath Мова шляхів XML
XLink Мова посилань XML
XPointer Мова вказівників XML
DOM API для об'єктної моделі документа
SAX Простий API для XML
XSL Розширювана мова таблиць стилів
XSL-FO Об'єкти форматування XSL
XSLT Мова перетворень XSL
XInclude Синтаксис XML Include
XBase Синтаксис XML Base URI

 

По-суті, XML служить метамовою для опису структури інших мов. Взаємозв'язок між SGML, XML, HTML і деякими іншими мовами показана на наступній діаграмі:

Рисунок 4.1 - Діаграма метамови XML

- важливою відмінністю XML від HTML є те велику увагу, яка приділяється контролю за тим, наскільки точно дотримуються правила мови при розмітці документів. Залежно від цього прийнято виділяти правильно побудовані і дійсні XML документи;

- документ XML вважається правильно побудованим, якщо він відповідає всім синтаксичним правилам XML;

- перевірка дійсності документа передбачає виконання таких дій:

- перевірка використання тільки заданого набору дескрипторів;

- перевірка повної відповідності порядку проходження елементів і атрибутів змісту документа або певними правилами;

- контроль типів даних (досягається при використанні відповідних схем);

- контроль цілісності данних для забезпечення оптимального обміну інформацією через Веб за допомогою транзакцій.

Розглянемо тепер основні синтаксичні правила побудови XML документів.

- XML документ містить один і тільки один кореневий елемент, що містить всі інші елементи;

- дочірні елементи, що містяться в кореневому елементі, повинні бути правильно вкладені;

- імена елементів підпорядковуються правилам:

- ім'я починається з букви, знака підкреслення або двокрапки;

- після першого символу в імені можуть бути букви, цифри, знаки переносу, підкреслення, точка або двокрапка;

- імена не можуть починатися з буквосполучення XML.

XML документ має наступну структуру:

- перший рядок XML документа називається оголошенням XML. Це необов'язковий ланцюжок, яка вказує версію стандарту XML (зазвичай це 1.0). Також тут може бути вказано кодування символів і зовнішні залежності;

- коментар може бути розміщений в будь-якому місці дерева. XML коментарі розміщуються всередині пари тегів <! - І закінчуються ->. Два знака дефіс (-) не можуть бути застосовані ні в якій частині всередині коментаря;

- інша частина цього XML-документа складається з вкладених елементів, деякі з яких мають атрибути і вміст;

- елемент зазвичай складається з відкриваючого і закриваючого тегів, що обрамляють текст і інші елементи;

- той, хто відкриває тег складається з імені елемента в кутових дужках;

- закриваючий тег складається з того ж імені в кутових дужках, але перед ім'ям ще додається коса риска;

- вмістом елементу називається все, що розташоване між відкритими і закритими тегами, включаючи текст і інші (вкладені) елементи;

- окрім змісту у елемента можуть бути атрибути - пари ім'я = значення, що додаються всередину відкриваючого тега після назви елемента;

- значення атрибутів завжди вкладаються в лапки (одинарні або подвійні), одне і те ж ім'я атрибута не може зустрічатися двічі в одному елементі;

- не рекомендується використовувати різні типи лапок для значень атрибутів одного тега;

- для позначення елемента без змісту, званого порожнім елементом, необхідно застосовувати особливу форму запису, що складається з одного тега, в якому після імені елемента ставиться коса риса «/».

На жаль, описані вище правила дозволяють контролювати тільки формальну правильність XML документа, але не змістовну. Для вирішення другого завдання використовуються так звані схеми.

Схема чітко визначає ім'я та структуру кореневого елемента, включаючи специфікацію всіх його дочірніх елементів. Програміст може задати, які елементи і в якій кількості обов'язкові, а які - необов'язкові. Схема також визначає, які елементи містять атрибути, допустимі значення цих атрибутів, в т.ч. значення за замовчуванням.

Найчастіше для опису схеми використовуються наступні специфікації:

- DTD (Document Type Definition) - мова визначення типу документів;

- XDR (XML Data Reduced) - діалект XML, розроблений Майкрософт;

- XSD (мова визначення схем XML) - рекомендована консорціумом W3C.

XML документ відрізняється від HTML документа також і тим, як він відображається в веб-браузері. Без використання CSS або XSL. XML-документ відображається як простий текст в більшості веб-браузерів. Деякі веб-браузери, такі як Internet Explorer, Mozilla Firefox відображають структуру документа у вигляді дерева, дозволяючи згортати і розгортати вузли за допомогою натискань клавіші миші.

Найбільш поширені три способи перетворення XML-документа в відображуваний користувачеві вигляд:

- застосування стилів CSS;

- застосування перетворення XSLT;

- написання на якомусь мові програмування обробника XML-документа.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.