Смекни!
smekni.com

Стандарт XML. /Укр/ (стр. 3 из 5)

</university>

</universities-list>

</city>

</cities-list>

</country>

Проводячи пошук у цьому документі, програма клієнта буде спиратися на інформацію, закладену в його структуру - використовуючи елементи документа. Тобто, якщо, наприклад, потрібно знайти потрібний університет у потрібному місті, використовуючи приведений фрагмент документа, то необхідно буде переглянути вміст конкретного елемента <university>, що знаходиться всередині конкретного елемента <city>. Пошук при цьому, природно, буде набагато більш ефективним, ніж знаходження потрібної послідовності по всьому документу.

У XML документі, як правило, визначається хоча б один елемент, названий кореневим і з нього програми-аналізатори починають перегляд документа. У приведеному прикладі цим елементом є <country>

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

У випадку, якщо елемент не має вмісту, тобто немає даних, які він повинний визначати, він називається порожнім. Необхідно тільки пам'ятати, що початковий і кінцеві теги порожнього елемента ніби об'єднується в один, і треба обов'язково ставити косу риску перед кутовою закриваючою (наприклад, <empty/>;)

Коментар

Коментарями є будь-яка область даних, поміщена між послідовностями символів <! -- і --> Коментар пропускаються аналізатором і тому при розборі структури документа в якості значущої інформації не розглядається.

Атрибути

Якщо при визначенні елементів необхідно задати якісь параметри, що уточнюють його характеристики, то є можливість використовувати атрибути елемента. Атрибут - це пару "назва" = "значення", що треба задавати при визначенні елемента в початковому тегу. Приклад:

<color RGB="true">#ff08ff</color>

<color RGB="false">white</color>

або

<author id=0>Ivan Petrov</author>

Прикладом використання атрибутів у HTML є опис елемента <font>:

<font color=”white” name=”Arial”>Black</font>

Cпеціальні символи

Для того, щоб включити в документ символ, використовуваний для визначення яких-небудь конструкцій мови і не викликати при цьому помилок у процесі розбору такого документа, потрібно використовувати його спеціальний символьний або числовий ідентифікатор. Наприклад, &lt; , &gt; &quot; або &#036;(десяткова форма запису), &#x1a (шестнадцатеричная) і т.д.

Директиви аналізатора

Інструкції, призначені для аналізаторів мови, описуються в XML документі за допомогою спеціальних тегів - <? і ? >;. Програма клієнта використовує ці інструкції для керування процесом розбору документа. Найбільше часто інструкції використовуються при визначенні типу документа (наприклад, <? Xml version=”1.0”? >) або створенні простору імен.

CDATA

Розділи символьных даних - це частини документа, аналізовані винятково як символьные дані, що не піддаються розборові, але, у відмінності від коментарів, використовуються застосуванням, виглядають так:

<![CDATA[

Цей текст, навіть якщо він містить інструкції JavaScript або елементи коду HTML, такі, як <B>жирныйшрифт</B> або <H1>заголовок</H1>, не піддається граматичному розборові. Замість цього він відображається як їсти.

]]>

Таблиці стилів

Таблиці стилів узагалі, і каскадні таблиці стилів (Cascading Style Sheets, CSS) зокрема, дозволяють відокремити структуру й вміст документа від рівня представлення. У застосуванні до Web і HTML це означає, що мова HTML не містить у собі презентаційних можливостей: характер представлення формується окремими інструментальними засобами.

Технологія CSS помітно спрощує упорядкування і супровід документів. Створивши одну таблицю стилів, ви зможете використовувати її в сотнях документів. Вже в CSS1, першої версії CSS, були передбачені елементи уявлення, узагалі немислимі в HTML (наприклад, регулювання фізичних розмірів шрифтів).

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

CSS можуть служити і для форматирования документів XML, але це не дуже удалий вибір. Головна перевага XML у тому, що вона подає формат документа, для можливих маніпуляцій, у виді деревоподібної структури. На жаль, CSS не спроможні взаємодіяти з деревом і можуть тільки форматувати документи XML “як вони є”. Ви можете вивести документ на екран у будь-якому форматі, але не можете здійснити якесь вибіркове представлення його даних без застосування мови сценаріїв.

Дані обмеження призвели до створення XSL. Найбільше важлива особливість XML і супутньої йому технології розширюваної мови таблиці стилів (Extensible Stylesheet Language, XSL) складається у відділенні форматирования від інформаційного наповнення.

Таблиці стилів XSL описують, як документи XML повинні перетворюватися в інші формати, такі, як HTML або RTF. Але таблиці стилів XML - це щось більше, ніж просто перетворювачі форматів; вони також надають механізм для маніпулювання даними. Наприклад, дані можна сортувати, робити по ним пошук, видаляти або додавати прямо з браузера.

XSL спроможна також здійснювати умовну трансформацію виведення в залежності від значень різноманітних елементів або атрибутів. Більш того, вона дозволяє запитувати дані з використанням множини різноманітних операторів шаблонів, символів підстановки, фільтрів, булевых операторів і виражень множини. XML і XSL ніяким чином не призначені для заміни SQL, до того ж навряд чи знайдеться багато бажаючих берегти свої бази даних безпосередньо у форматі XML. Проте XSL відчиняє можливість різноманітного пошуку по даним після їх завантаження в браузер. Вам ніколи вже не знадобиться використовувати для пошуку інформації примітивну вмонтовану команду браузера Find.

Значний потенціал XML у якості проміжного програмного забезпечення підкріплюється об'єктною моделлю документа (Document Object Model, DOM), версія 1.0 якиа була прийнята в якості рекомендації W3C у жовтні 1998 року.

Визначення Типу Документів (DTD)

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

Для цього використовується визначення типів документів (Document Type Definition – DTD). Збережені на початку файла XML або назовні у виді файла *.DTD, ці визначення описують інформаційну структуру документа. DTD перераховують можливі імена елементів, визначають наявні атрибути для кожного типу елементів і описують сполучуваність одних елементів з іншими.

Кожний рядок у визначенні типу документа може містити декларацію типу елемента, іменувати елемент і визначати тип даних, що елемент може містити. Вона має такий вигляд

<!ELEMENT ім'я_елемента

(тип_даних)>

Наприклад, декларація визначає<!ELEMENT publication (#PCDATA)> елемент з ім'ям publication, що містить символьні дані (тобто текст).

Декларація <!ELEMENT special_report (article_1, article_2, article_3)> визначає елемент з ім'ям special_report, що містить піделементи article_1, article_2 і article_3 у зазначеному порядку, наприклад:

<special_report>

<article_1>XML:час прийшов</article_1>

<article_2>XML перевершує саме себе</article_2>

<article_3>Керування мережами і системами за допомогою XML</article_3>

</special_report>

Після визначення елементів DTD можуть також визначати атрибути за допомогою команди !ATTLIST. Вона вказує

елемент, іменує пов'язаний із ним атрибут і потім описує його припустимі значення.!ATTLIST дозволяє управляти атрибутами і багатьма іншими засобами: задавати значення по замовченню, знищувати пробіли і т.д. DTD можуть також містити декларації !ENTITY, де визначаються посилання на об'єкти, а також декларації !NOTATION, що вказують, що робити з двійковими файлами не у форматі XML.

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

Схеми даних

Схеми даних (Schemas) є альтернативним засобом створення правил побудови XML-документів. У порівнянні з DTD, схеми мають більш потужні засоби для визначення складних структур даних, забезпечують більш зрозумілий засіб опису грамматики мови, спроможні легко модернізуватися і розширюватися. Безумовною перевагою схем є також те, що вони дозволяють описувати правила для XML- документа засобами самого ж XML.

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

В даний час у W3 консорціумі йде робота над першою специфікацією схем даних.

Консорціум World Wide Web (W3C) не збирається давати своє благословення ніяким додаткам XML (у термінології XML “додатком” називається опис галузевих термінів за допомогою деякого набору тегов XML). Іншими словами, конкретні вертикальні ринки повинні самостійно узгодити усередині галузі імена для своїх об'єктів. Щоб сприяти відкритості і передбачуваності при упорядкуванні схем XML у вертикальних галузях, Microsoft висунула ініціативу, названу BizTalk. За станом на серпень 1999 року цю ініціативу підтримало понад 25 компанії.