W3C | Переклади

XML у 10 пунктах

XML, XLink, царина імен (Namespace), DTD, Schema, CSS, XHTML ... Якщо ви не знайомі з XML, то важко вирішити, з чого почати. У цьому стислому викладі з 10 пунктів зроблено спробу зібрати достатню кількість основних понять, щоб початківець не заблукав у їх нетрях. Або – якщо ви даєте презентацію про XML, чому б не почати з цих 10 пунктів?

1. Призначення XML – структурувати інформацію

Структурована інформація охоплює такі речі, як електронні таблиці, адресні книжки, параметри конфігурації, фінансові операції та технічні креслення. XML – це набір правил (їх можна трактувати як указівки або домовленості) для конструювання текстових форматів, що дають змогу структурувати інформацію. XML – це не мова програмування. Щоб користуватися нею та навчатися їй, не обов'язково бути програмістом. XML допомагає комп'ютерові генерувати інформацію, читати інформацію та забезпечити однозначність структури даних. XML позбавлена поширених пасток у побудові мов програмування: ця мова – розширна, незалежна від платформи, вона підтримує інтернаціоналізацію й локалізацію. XML суцільно узгоджується з Unicode.

2. XML трохи нагадує HTML

Як і в HTML, в XML використовують дескриптори (слова між кутовими дужками «<» і «>») та атрибути (у вигляді ім'я="значення"). HTML вказує, яке значення кожного дескриптора, та часто – який вигляд матиме в переглядачі текст, що перебуває між ними. В XML же дескриптори використовують лише для того, щоб розділити фрагменти даних, але інтерпретація даних повністю лишається за програмою, що їх читає. Іншими словами, якщо ви бачите «<p>» у файлі XML, не вважайте це знаком абзацу. Залежно від контексту, це може бути ціна (price), параметр (parameter), особа (person), будь-що на «p»... (а хто сказав, що це обов'язково має бути слово на «p»?).

3. XML – це текст, але це не значить, що його треба читати

Програми, що використовують табличні аркуші, адресні книжки та інші структурні дані, записують ці дані на диск здебільшого в двійковому або в текстовому форматі. Одна з переваг текстового формату полягає в тому, що читачі, якщо треба, можуть розглядати дані без програми, якою їх створено; принаймні можна читати текстовий формат у своєму улюбленому текстовому редакторі. Текстовий формат дає також змогу програмістам легко знаходити помилки в програмах. Як і HTML, файли XML – це текстові файли, які читати не обов'язково, але можна, якщо треба. Порівняно з HTML, правила XML дозволяють менше відхилень. Забутий дескриптор або атрибут без лапок роблять файл XML непридатним, а HTML це здебільшого дозволяє. Офіційна специфікація XML забороняє застосункам передбачати, яким чином може бути зіпсовано файл XML; якщо файл зіпсований, програма має зупинитися й видати повідомлення про помилку.

4. XML докладна в самому задумі

Оскільки XML – це текстовий формат, а для розмежування даних в ньому використовують дескриптори, файли XML майже завжди більші порівняно з файлами у двійковому форматі. Автори XML свідомо на це пішли. Переваги текстового формату очевидні (див. пункт 3), о недоліки легко компенсуються на іншому рівні. Об'єм диску зараз дешевший, ніж раніше, а програми стиснення, такі як zip і gzip, можуть стиснути файли ефективно й швидко. Крім того, протоколи зв'язку, напр., модемні протоколи та HTTP/1.1 – стрижневий протокол Web, можуть стиснути дані «на бігу», заощаджуючи пропускну здатність так ефективно, як і двійковий формат.

5. XML – це сім'я технологій

XML 1.0  – це специфікація, яка визначає, що є «дескриптори» і що є «атрибути». Поза XML 1.0 є «сім'я XML» – набір модулів, що зростає за рахунок корисних послуг для виконання важливих й найчастіше потрібних завдань. XLink описує стандартний спосіб додавати гіперланки до файла XML. XPointer – це розроблюваний синтаксис посилань на частини документа XML. XPointer нагадує URL, але замість указувати на документи в мережі Web, він указує на фрагменти даних усередині файла XML. CSS, мова таблиць стилю – її застосовують і до XML, і до HTML. XSL – це удосконалена мова для створення таблиць стилів. Її основа – XSLT, трансформаційна мова, яку використовують, переставляючи, додаючи та вилучаючи дескриптори й атрибути. DOM  ­ це стандартний набір викликів функцій для маніпулювання файлами XML (та HTML) за допомогою мови програмування. XML Schemas 1 та 2 допомагають програмістам точно визначити структуру своїх форматів на основі XML. Є ще декілька модулів та інструментів – як закінчених, так і в стадії розробки. Стежте за сторінкою технічних звітів W3C.

6. XML нова мова, але не так, щоб уже зовсім нова

Розробляти XML почали в 1996 році, а Рекомендація W3C щодо неї з'явилася в 1998 році, тож може скластися враження, що це ще несформована технологія. Фактично ж ця технологія не така вже й нова. До XML була мова SGML, розроблена на початку 80-х років. З 1986 року вона стала стандартом ISO, її широко використовують для створення великих проектів зі складання документації. Розробляти HTML почали 1990 року. Конструктори XML, спираючись на досвід HTML, просто взяли найкращі елементи SGML і створили дещо не менш потужне, ніж SGML, але підпорядковане суворішим правилам і простіше в користуванні. Деякі еволюційні зміни, однак, краще назвати революційними... До того ж варто зазначити, що SGML використовують здебільшого, складаючи технічну документацію, й рідко – для інших видів даних, а з XML – усе навпаки.

7. XML веде HTML до XHTML

Існує одне важливе застосування XML, що є документальним форматом: формат XHTML Консорціуму W3C – спадкоємець HTML. XHTML має багато таких самих елементів, як і HTML. Синтаксис було дещо змінено, щоб він відповідав правилам XML. «XML-івський» формат успадкував від XML свій синтаксис, але певним чином обмежив його (напр., XHTML дозволяє «<p>», але не «<r>»); цьому синтаксису додано також певних значень (в XHTML «<p>» означає «абзац», а не «ціну», «особу» чи що інше).

8. XML – модульний

XML дає змогу визначити новий формат документу, комбінуючи та заново використовуючи інші формати. Оскільки два незалежно один від одного розроблені формати можуть мати елементи й атрибути з однаковими іменами, комбінувати формати треба обережно (чи не означає «<p>» в першому форматі «особу», а в другому – «ціну»?). Щоб позбавитися плутанини з іменами, XML має механізм царини імен. XSL та RDF – вдалі приклади XML-івських форматів, у яких використовують царини імен. Щоб застосувати підтримку модульності на рівні визначення структури документів XML, було розроблено стандарт XML Schema, за допомогою якого стало зручно комбінувати дві схеми й складати нову, що обіймає структуру об'єднаного документа.

9. XML – це основа RDF і Семантичної веб-мережі

Структура опису ресурсів (Resource Description Framework, RDF) Консорціуму W3C – це текстовий XML-формат, що підтримує опис ресурсів і застосування мета-даних, як-от списки награваних музичних творів, збірки світлин та бібліографічні покажчики. RDF, наприклад, може дозволити вам ідентифікувати кого-небудь у веб-фотоальбомі, використовуючи інформацію з особистого контактного списку, а потім програма ел. пошти автоматично надішле цим особам повідомлення про те, що в мережі є їх світлини. Як HTML інтегрував документи, зображення, системи меню й форми, започаткувавши веб-мережу, так RDF надає засоби ширшої інтеграції, перетворюючи веб-мережу у Семантичну веб-мережу. Як люди потребують згоди щодо значень слів, що їх використовують у спілкуванні, так і комп'ютерам, щоб ефективно спілкуватися, потрібні механізми узгодження значень термінів. Формальні описи термінів із певної галузі (наприклад, купівля або виробництво) називають онтологіями. Вони складають невіддільну частину Семантичної веб-мережі. RDF, онтології та така репрезентація даних, що дає змогу комп'ютерам допомогти людині в роботі – це все теми, що їх охоплює діяльність Семантичної веб-мережі.

10. XML не потребує ліцензій, не залежить від платформи та має добру підтримку

Обравши XML основною мовою певного проекту, ви одержите доступ до великого (він і далі зростає) гурту інструментів (один з яких може бути якраз тим, що вам потрібне!) та досвідчених у цій технології спеціалістів. Вибір XML схожий на вибір SQL для баз даних: маєте створити власну базу даних і власні програми та процедури для роботи з нею, але вам доступні чимало інструментів, і чимало людей готові вам допомогти. А оскільки XML не потребує ліцензії, можете створювати власне програмне забезпечення, не платячи нікому ні копійки. Масштабна підтримка, що й далі розширюється, ґарантує, що ви не будете прив'язані до якогось одного постачальника. Вибір XML – це не завжди найкраще рішення, але поміркувати над ним завжди варто.


Переклад/Translation: Валентин Кулинич
Luczukivka (version in Ukrainian/Latin)
W3C Communications Team, w3t-comm@w3.org
Revised 13 Nov. 2001 (last update: $Date: 2003/06/02 19:08:30 $)
Created 27 Mar 1999 by Bert Bos
(Previous version)