Стандарт XML. Призначення та структура. Відмінності від HTML.
Що таке XML?
XML (eXtensible Markup Language) - це розширювана мова розмітки тексту, запропонована W3C у 1996 році. Це мова, яка повною мірою визначає логічну структуру документа. Задача XML полягає в тому, щоб дані: тексти, зображення або інші частини Web-документа могли бути визначені і структуровані незалежно від платформи , що їх відтворює, постачальника і його програмного забезпечення, наприклад Web-браузерів.
При створенні документів із використанням XML, ви можете використовувати ваші власні елементи і структури для розмітки вмісту ваших документів. Можливо визначити DTD (a Document Type Definition), тобто визначення типу документа. DTD визначає те, що можна назвати "граматикою" документа - це список різноманітних елементів і їхніх утворень для використання у визначених документах, у чомусь це нагадує використання CSS, тобто ви можете зробити посилання на DTD, що знаходиться або в мережі або написати його безпосередньо у вашому документі.
Таким чином, вміст документа, його структура, типи використвуваних у ньому елементів і його видгляд визначаться окремо, тобто незалежно один від одного.
Потрібно сказати, що XML корисний для автоматизованих програмних засобів, що шукають у Web. Недосконалість HTML призвела до того, що мережа перетворилася в мішанину тексту, повну різноманітних елементів і тегів, часто використовуваних, що називається Pro Forma і нічого не значущих.
XML має величезний потенціал для удосконалення гіпертекста. Наприклад у HTML для створення зв'язку використовується елемент A, XML же дозволяє створити не просто посилання, а наприклад, двонаправлений зв'язок.
Перспектива XML полягає в тому, що він буде використовуватися для опису інших мов розмітки, наприклад, JavaScript, що використовується в HTML-документах.
XML розроблений для того, щоб спростити і полегшити використання SGML, при цьому зберігши його великі можливості по створенню, поширенню і публікації Web-документів мережі.
Вступ
Незважаючи на те, що XML дуже молода (W3C затвердила специфікацію "Extensible Markup Language(XML) 1.0" на початку лютого 1998 г) і окремі компоненти цієї мови знаходяться ще в стадії доробки, уже сьогодні з'являються нові мови, створені на основі XML, виникають численні Web-сервери, що використовують цю технологію для організації інформації , що зберігається на них.
Для чого потрібна нова мова розмітки?
Мова розмітки документів - це набір спеціальних інструкцій, називаних тегами, призначених для формування в документах якоїсь структури і визначення відношень між різноманітними елементами цієї структури. Теги мови, або, як їх іноді називають, управляючі дескриптори, у таких документах якимось чином кодуються, виділяються щодо основного вмісту документа і служать у якості інструкцій для броузера.
Всю красу XML можна зрозуміти тільки при порівнянні його з HTML. Формалізована у RFC 1866 у 1995 році, HTML є найбільш популярною мовою розмітки у всьому світі. Термін “розмітка” стосовно до документа означає звичайно усе, що не відноситься до його інформаційного наповнення.
У ранню пору свого розвитку мова HTML підносилася як засіб масштабованого форматування документів, яку можна було б використовувати для обміну інформацією практично на будь-якій платформі. У основі HTML лежить украй проста ідея: ви визначаєте нескладну мову, що описує структуру документа, і чекаєте, коли компанії розроблять програмні засоби, спроможні подавати такі документи в різноманітних операційних середовищах з урахуванням обраних користувачем параметрів. За допомогою HTML можна було б створювати матеріали, що допускають представлення в будь-якому візуальному або звуковому форматі.
Проте поступово ставало ясно, що ця ідея, незважаючи на свою простоту, йде врозріз з узвичаєною практикою видавничих систем. Традиційний механізм підготування публікацій передбачає, що графічні дизайнери і компоновщики повинні брати до уваги специфічні особливості презентаційного середовища, включаючи розмір листа, якість друку, палітру кольорів і т.п. Виявилося, що переключитися з такого методу на більш простий, при якому автор відповідає лише за вміст і логічну структуру документа, перекладаючи презентаційні обов'язки на користувацькі програми, досить важко.
У файлі HTML у його вихідному виді теги форматування перемішані зі звичайним текстом. Головною особливістю розмітки HTML є, звичайно, можливість вставки посилань на зовнішні документи або на внутрішні розділи того ж самого документа.
HTML процвітав не тільки як адаптована мова розмітки, але й у якості проміжного програмного забезпечення. Завдяки своїй дешевизні і поширеності браузери Web являють собою відмінних клієнтів; за посередництвом HTML вони можуть спілкуватися з найрізноманітнішими серверами.
Проте HTML стикнувся з певними труднощами. Його обмежені можливості форматування намагалися перебороти за допомогою CSS, ініціативи TrueDoc від Bitstream і звісно ж множини специфічних розширень для браузера; а його обмежені можливості в якості проміжного ПО - за допомогою Java, Active і т.п. Проте все це не усуває його фундаментальні недоліки.
По суті, HTML - це технологія представлення інформації, вона описує те, як браузер повинний скомпонувати текст і графік на сторінці. У результаті “те, що ви бачите, - це усе, що ви одержуєте”. Немає ніякого способу описати дані незалежно від відображення цих даних (за винятком надзвичайно слабкої системи ключових слів у заголовку сторінки Web). "Байдужність" до структури документа призводить до того, що пошук або аналіз інформації усередині нього нічим не буде відрізнятися від роботи із суцільним, не розбитим на елементи текстовим файлом. Це головна причина, чому так важко знайти потрібну інформацію за допомогою механізму пошуку.
Клієнт не має ніяких менше прийнятних засобів витягу даних із сторінки Web для подальшої роботи з ними. Далі, на будь-який конкретній сторінці Web клієнт одержує тільки одне представлення конкретної множини даних.
Припустимо, що ви переглядаєте список аукціонів eBay, упорядкований по даті відкриття торгів. Якщо ви захочете глянути на той же список, але відсортований по даті закриття торгів, то вашому браузеру прийдеться посилати новий запит серверу. У свою чергу серверу прийдеться наново відправляти повну сторінку HTML із списком аукціонів. Такого роду маніпулювання даними веде до значного збільшення числа звертань до серверів Web і утруднює, таким чином, їх подальше масштабирование.
Інша проблема з HTML у тому, що це “плоска” мова, тобто автори не можуть використовувати її для надання інформації про ієрархію даних. Далі, вона непослідовна і тому утрудняє розбір тексту програмним забезпеченням. Наприклад, хоча більшість відкриваючих тегів, (такі, як <B> або <H1>) має відповідні закриваючі теги, деякі (наприклад, <P>) їх не мають.
Істотним недоліком HTML можна назвати обмеженість набору його тегов. DTD-правила для HTML визначають фіксований набір дескрипторів і тому в розробника немає можливості вводити власні, спеціальні теги.
Простим рішенням для деяких із перерахованих проблем було би введення додаткових тегів HTML, таких, як <NAME>, <DATE> або <PRICE>. З їхньою допомогою клієнт міг би визначити, що собою являють дані, і відображати їх по-різному або експортувати по запиту користувача. Якщо ж ви вирішите не чекати зміни стандарту, то майте на увазі, що ви створюєте щось своє, нестандартне і тим самим відмовляєтеся від однієї з головних переваг HTML.
Тому в 1996 році члени робочої групи Консорціуму World Wide Web (W3C) повернулися до розгляду стандартної узагальненої мови розмітки (Standard Generalized Markup Language, SGML), сильно спрощеним нащадком якого є HTML. Запропонована у 1974 році Чарльзом Голдфарбом, SGML являє собою метамову - систему для опису інших мов. Ця мова призначена для створення інших мов розмітки, він визначає припустимий набір тегів, їхні атрибути і внутрішню структуру документа. При всіх своїх можливостях вона занадто складна для більшості браузеров Web: одна специфікацій SGML займає понад 500 сторінок.
Спростивши SGML для використання з Web, група запропонувала XML (рекомендація W3C по статусу на лютий 1998 року). XML – підмножина SGML, причому любий дійсний документ XML є дійсним документом SGML. І, як і SGML, XML - це метамова, що визначає інші мови розмітки для специфічних цілей. Наприклад, мова синхронізованої інтеграції мультимедіа (Synchronized Multimedia Integration Language, SMIL) базується на XML.
Консорціум W3C, закликаючи до використання XML у Web, фактично пропонує кожному сконструювати особисту мову для своїх гіпертекстових документів, причому для різних документів це будуть різні мови.
XML дозволяє визначити формальний синтаксис мови, наприклад правила вкладення елементів. Семантику можна, звичайно, описувати на звичайній англійській мові.
XML використовується для розмітки стандартних документів багато в чому так само, як HTML. Проте XML перевершує його при роботі зі структурованими даними, такими, як результати запиту, метаінформація про вузол Web або елементи і типи схеми.
Документ XML виглядає багато в чому схожим на HTML. Він також складається з текстових фрагментів, анотованих вкладеними в кутові дужки тегами. Проте, на відміну від HTML, зміст тега залежить від регістра, а кожний відкриваючий тег повинний в усіх випадках мати парний закриваючий тег.
XML (Extensible Markup Language)-э те мова розмітки, що описує цілий клас об'єктів даних, називаних XML- документами. Ця мова використовується в якості засобу для опису грамматики інших мов і контролю за правильністю впорядкування документів. XML не містить ніяких тегів, призначених для розмітки, а просто визначає порядок їх створення. Таким чином, якщо, наприклад, ми вважаємо, що для позначення елемента rose у документі необхідно використовувати тег <flower>;, то XML дозволяє вільно використовувати обумовлений нами тег і ми можемо включати в документ фрагменти, подібні такому:
<flower>rose</flower>