КОРОТКИЙ ОГЛЯД МОВИ XML

Назва XML є скороченням від Extensible (Не extensible) Markup Language (Розширювана мова розмітки) Неформально документ XML можна визначити як документ, створений з використанням засобів XML Нижче наведено простий приклад Зверніть увагу на те, як широко використовуються в ньому кутові дужки, <" і ">” (Їх не слід плутати з кутовими дужками, які застосовуються в цій книзі в граматичних визначеннях, які представлені у формі Бекуса-Наура)

&lt?xml version=&quotl0&quot?&gt

&ltgreeting kind=&quotsuccinct&quot&gtHello, world&lt/greeting&gt

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

kind=&quotsuccinct&quot

Тут імям атрибута є kind, а його значенням – рядок succinct.

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

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

■ Оскільки елементи включають розмежувальні дескриптори, різні екземпляри зовні однакового елемента зовсім не обовязково повинні мати постійний розмір, а можуть змінюватися від одного документа до іншого або навіть в одному документі

2 Дані, які безпосередньо містяться в документі, повинні бути саме символьними даними, але завдяки використанню вбудованих посилань документ фактично може містити, наприклад, зображення, відеозаписи та інші типи несімвольних даних Такі посилання розглядаються як частина розмітки

■ (Ще більш важливе зауваження) Нові елементи (тобто елементи якихось нових типів) можуть вводитися в існуючий документ в будь-який час, не надаючи негативного впливу на роботу користувачів (Зокрема, прикладних програм)

Іншими словами, XML дозволяє вирішувати деякі проблеми обміну даними, за умови, що виробники і споживачі даних узгодять один з одним способи інтерпретації розмітки На відміну від цього, при використанні традиційних протоколів з фіксованим форматом, таких як протокол електронного обміну даними (Electronic Data Interchange – EDI), для внесення змін у формат даних необхідно внести відповідні зміни в програмне забезпечення, що застосовується не окремими, а всіма виробниками і споживачами розглянутих даних

Мови розмітки

Для того щоб оцінити важливість деяких причин створення мови XML, необхідно ознайомитися з тим, яким чином він створювався на основі більш ранніх мов розмітки Мови розмітки ніколи не були призначені для використання як звичайних мов програмування їх призначення (щонайменше, як вона розглядалася з самого початку) полягало лише в тому, щоб з їх допомогою можна було створювати текстові файли, що включають команди форматування (розмітку), які могли сприйматися відповідним текстовим процесором В одних випадках розмітка позначалася за допомогою двійкового коду, а в інших – за допомогою звичайного тексту, але застосовуються при цьому мови розмітки завжди залишалися власністю окремих компаній Наприклад, в компанії IBM для форматування керівництв користувачів і інших подібних документів використовувався власну мову текстової розмітки, Script Нижче як приклад наведена витримка з типового файлу Script

.sp 2

.il 3mYou should specify the .us onfirst.us off parameter as PRIVATE This specification will allow the processor to complete the conversion without further input

.br

Застосовувана тут розмітка передає програмі форматування вказівки відступити вниз на два рядки (. Sp 2), зробити відступ першого рядка тексту на три пробіли з шириною em (. Il 3m), підкреслити слово first (. Us on і . Us off), а потім перейти на наступний рядок (. Br)

Відзначимо, що один з недоліків мови Script і аналогічних мов полягав у тому, що розмітка носила досить процедурний характер (тобто була заснована на використанні не описів, а команд), не кажучи вже про те, що ця розмітка управляла тільки форматуванням документів і до того ж була призначена для пристроїв певного типу (як правило, монохромних построчно-друкуючих пристроїв) Саме в метою усунення цих недоліків три ісследователя3 з компанії IBM запропонували узагальнений мову розмітки (Generalized Markup Language – GML) Основна відмінність між

3 Той факт, що перші букви в скороченому позначенні цієї мови збігаються з першими літерами прізвищ його творців, Чарльза Голдфарб (Charles Goldfarb), Едварда Мошера (Edward Mosher) і Раймонда Лорі (Raymond Lorie), – не випадковий збіг

GML і мовами зразок Script полягає в тому, що розмітка у GML є значно більшою мірою описовою (або декларативною), ніж розмітка, що застосовувалася в цих ранніх мовах, яка в основному носить процедурний характер Нижче ще раз показаний наведений вище приклад на мові Script, але в даному випадку він представлений на мові GML

&ltp&gtYou should specify the &ltempl&gtfirst&lt/empl&gt parameter as PRIVATE This specification allows  the processor to complete the conversion without further input

Тепер ця розмітка просто повідомляє програмі форматування про те, що текст являє собою абзац (<р>” – скорочення від paragraph), а не просто докладно описує компоновку такого абзацу (відступити вниз на два рядки і тд) Крім того, вона повідомляє програмі форматування, що слово first повинно мати перший рівень виділення (” і ” – Скорочення від emphasis 1), але не вказує, що в якості такого виділення має бути виконане підкреслення

Примітка У цьому прикладі автор навмисно допустив трохи вільне поводження з мовою GML зокрема, використовував для позначення дескрипторів кутові дужки

замість зазвичай застосовуваних у цьому мові символів двокрапки (:) У даному викладі такі відхилення від звичайної практики не мають особливого значення

Таким чином, розмітка GML виявилася більш описової, але вона все ще націлена в основному на представлення, або відображення тексту (хоча і дозволяє простіше вирішувати деякі інші завдання, такі як підрахунок кількості абзаців) Зокрема, користувачі змушені обмежуватися лише тими дескрипторами, які вбудовані в цю мову На відміну від нього, стандартна мова GML (Standard GML – SGML), який являє собою розширену форму GML, дозволяє користувачам визначати свої власні дескриптори і надавати їм будь-який бажаний смисл4 Використовуючи цей засіб, можна розширити наведений вище приклад для визначення структури даних до найдрібніших подробиць, наприклад, наступним чином

&ltparagraph&gt

&ltsentence&gt &ltsubj ect&gtYou&lt/subject&gt

&ltverb&gt should specify&lt/verb&gt

&ltobject&gt the

&ltadjective&gt&ltempl&gtfirst&lt/emp1&gt&lt/adject ive&gt parameter&lt/obj ect&gt

&lt/sentence&gt

&ltsentence&gt

&lt/sentence&gt

&lt/paragraph&gt

Примітка Зверніть увагу на той факт, що в цьому прикладі елемент object

містить і дані у вигляді символьного рядка, і інший елемент (adjective )

Але, як показує цей приклад, SGML насправді не є мовою розмітки як таким (і тому фактично назву SGML» не повністю відповідає

4&nbsp&nbsp Наведемо в цьому звязку цікаву цитату: Навіть у самій невеликій організації причиною більшості конфліктів стає відсутність чітких визначень і єдиного розуміння сенсу використовуваних слів [274]

призначенням цієї мови) Його, швидше, можна назвати Мотузки, оскільки в ньому передбачені правила, що дозволяють користувачам визначати власні найбільш підходящі для них мови розмітки, зокрема, мають власні дескриптори, що визначаються пользователямі5 Одним з таких мов є HTML це означає, що HTML визначений у термінах SGML і може розглядатися як конкретний додаток SGML (тут термін додаток SGML позначає мову, який визначений із застосуванням правил метамови SGML, а не прикладну програму, в якій використовується SGML) Але, на жаль, в HTML не вдалося зберегти чисто описовий характер GML, і замість цього на додаток до структурної та семантичної розмітці знову була введена конкретна що форматує розмітка Фактично деякі дескриптори HTML ставляться до всіх трьох типах розмітки одночасно наприклад, такий дескриптор HTML, як <Н1>“, визначає одночасно і заголовок рівня 1 (структура) і назва сторінки (семантика), а також може містити необовязковий атрибут з позначенням шрифту (форматування)

Розробка мови XML

Мова XML [2725] був спочатку розроблений в 1996 році наглядовою радою з перегляду мови SGML під керівництвом консорціуму World Wide Web Consortium, W3C (заснованим Бернерсом-Лі в 1994 році), з метою усунення деяких недоліків мов SGML і HTML Недоліком SGML було лише те, що ця мова виявився занадто великим і складним для того, щоб його можна було легко підтримувати в Web А що стосується HTML, то він володіє в основному двома описаними нижче недоліками

■ Як вже було сказано, ця мова не дозволяє належним чином відокремити один від одного метадані, які описують структуру, семантику та форматування

■ Більше того, ця мова не виключає можливості створювати документи, які порушують принципи формальної правильності, тобто фактично ця мова не перешкоджає створенню і використанню документів, нарушающіх6 його влас ні синтаксичні правила Така проблема виникла у звязку з тим, що на ринку одночасно представлено кілька браузерів, а всі вони (цілком природно) конкурують один з одним і якщо неправильно сформований документ D мо же бути успішно відображений браузером А, але не браузером в, то цей факт вос приймається як недолік не документа D, а швидше браузера В

XML, як і його попередник SGML, насправді є не язиком, а метамовою (і тому його назва XML» також не повністю йому відповідає) фактично мова XML є строгим підмножиною мови SGML Ця його особливість підкреслена у наведеній нижче витримці із специфікації XML [2725]

Розширювана мова розмітки (Extensible Markup Language – XML) це підмножина SGML .. Його призначення полягає в забезпеченні можливості використовувати універсальні засоби SGML для передачі, прийому і обробки документів в Web з

5&nbsp По суті, таке ж зауваження залишається справедливим і по відношенню до GML

6&nbsp На жаль, до часу написання даної книги аналогічна тенденція стала виявлятися і в розвитку мови XML

допомогою таких же коштів, які в даний час надаються мовою HTML Мова XML спроектований з урахуванням вимог зручності реалізації і призначений для забезпечення функціональної сумісності і з мовою SGML, і з мовою HTML

XML дозволяє знову відновити описовий характер розмітки (тобто мови розмітки, які визначаються за допомогою XML, включають тільки описову розмітку) Але слід звернути особливу увагу на те, що XML як такої не наказує небудь конкретний сенс застосовуваної розмітці

Незважаючи на те, що така мета була визначена при його створенні, XML еше не зміг у

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

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

базі даних

■ Розглянемо зазвичай застосовується в цій книзі змінну відносини деталей Р Припустимо, що потрібно було розширити цю змінну відносини для включе ня додаткового атрибута DRAWING (рис 271), значенням якого в будь-якому конкретному кортежі є креслення розглянутої деталі, представлений за допомогою якогось конкретного мови, похідного від XML (див наступний підрозділ) і званого мовою масштабованої векторної графіки (Scalable Vector Graphics – SVG) Слід зазначити, що кожне таке значення представля ет собою цілий документ SVG, і тому вся база даних може розглядатися як обєктно-реляційна база даних в тому сенсі цього терміна, який був визначений в попередньому розділі

Примітка Фактично твердження, що значення DRAWING є кресленнями як такими, є не зовсім точним ці значення, скоріше, можна назвати документами XML, які інтерпретуються певної прикладної програмою для створення таких креслень (див рис 271)

■ Аналогічним чином, в змінну відносини Р можна ввести атрибут DESCRIPTION, значенням якого в будь-якому конкретному кортежі є доку мент ХМL з описом розглянутої деталі і поясненням правильних спосо бов її використання

Безумовно, XML може також застосовуватися для представлення тих різновидів даних, які можна знайти в більш традиційних базах даних Наприклад, в XML можна представити торгові замовлення, каталоги деталей і складські журнали Таким чином, база даних (зрозуміло, нереляційних) може складатися виключно з документів XML Такий варіант коротко розглядається в розділі 276

Мова XML може також використовуватися для подання відносин, а це його властивість може виявитися корисним при імпорті даних в реляційну базу даних або при експорті даних з неї (також див розділ 276) Наприклад, нижче наведено подання на мові XML звичайно застосовуваного в даній книзі відносини з даними про деталі (тут наведено лише кортежі з даними про деталяхР1 і Р2)

&lt? x m l   version =&quotl0 &quot &gt

наведеного ->

до деталей Р1 і ->

відзначити, що всі дані представлені у вигляді простих ->

&ltPartsRelation&gt &ltPartTuple&gt

&ltPNUM&gtP1&lt/PNUM&gt

&ltPNAME&gtNut&lt/PNAME&gt

&ltCOLOR&gtRed&lt/COLOR&gt

&ltWEIGHT&gt120&lt/WEIGHT&gt

&ltCITY&gtLondon&lt/CITY&gt

&lt/PartTuple&gt

&ltPart_Tuple&gt

&ltPNUM&gtP2&lt/PNUM&gt

&ltPNAME&gtBolt&lt/PNAME&gt

&ltCOLOR&gtGreen&lt/COLOR&gt

&ltWEIGHT&gt170&lt/WEIGHT&gt

&ltCITY&gtParis&lt/CITY&gt

&lt/PartTuple&gt

&lt/PartsRelation&gt

На підставі сказаного можна зробити наведені нижче висновки

■ Конкретна наведена тут компоновка документа (зокрема, відступи і розбивка по рядках) передбачена виключно для зручності читання Вона не є обовязковою частиною документів XML Насправді, большинст документів XML, застосовуваних у діловому світі, не містять будь-яких по добних пробільних символів, а складаються з розмітки і даних, зєднаних один з одним без будь-яких розривів

■ У тексті документа імя Р # було замінено імям PNUM, оскільки символ # недозволені в іменах дескрипторів XML (і аналогічні зміни для одноманітності були внесені в усі інші приклади цієї глави, відносячи щиеся як до реляційних баз даних, так і до XML)

■ Як зазначено у вступних коментарях XML, всі значення (реляційних)

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

■ Для спрощення було вирішено представити лише тіло відносини, а не його Загол вок (і таку ж угоду застосовується у всіх наступних прикладах цієї гла ви там, де це можливо)

■ Слід зазначити, що дозволено використовувати порожні елементи Наприклад, припустимо, що для деяких деталей не передбачено використання ат рібута з використанням кольору, і для подання значення COLOR для такої

деталі вирішено застосовувати порожню рядок У такому випадку досить ввести в специфікацію , або (більш стисло) просто

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

■ Нарешті, необхідно відзначити, що цей документ XML не є таким вже вірним поданням відносини деталей, оскільки він накладає впорядкування зверху вниз на кортежі та впорядкування зліва направо на атрибути цих кортежів (фактично в обох випадках використовується лексичне впорядкування) І дійсно, документи XML завжди характеризуються впорядкуванням своїх елементов7 (це властивість носить офіційну назву упорядкування документа) Додаткові відомості на цю тему наведені в розділі 276, в підрозділі Принцип

«Розділяй і публікуй» .

Структура документа XML

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

Припустимо, що XD – мова, похідний від XML У такому випадку розробник XD повинен визначити сенс розмітки, застосовуваної в XD (хоча б неформально), ввести оператори і написати програми для обробки документів, в яких використовується XD Припустимо, що D – такий документ Тому цей документ на певному рівні абстракції може розглядатися як має ієрархічну структуру, яка складається з кореневого вузла і послідовності дочірніх вузлів (де кожен дочірній вузол може мати свою послідовність дочірніх вузлів і тд, а кожен дочірній вузол має один і тільки один батьківський вузол) На рис 272 показана ієрархія документа PartsRelation, який був приведений в попередньому підрозділі Як показує цей малюнок, кожен вузол представляє деякий елемент XML, за винятком вузлів, описаних нижче

7&nbsp Але атрибути XML є невпорядкованими, тому може виявитися більш кращий вим спосіб представлення таких даних, як PNUM, PNAME, COLOR, WEIGHT і CITY, за допомогою атрибутів тов, а не елементів (Див розділ 274)

8&nbsp Для позначення мови, похідного від XML застосовується офіційно затверджений термін додаток XML Але автор вважає за краще використовувати вираз мову, похідний від XML, по скільки при цьому виключається ймовірність того, що термін додаток XML буде помилково рассмат Ріва як прикладна програма, в якій використовується XML.

■ Кореневий вузол, або вузол документа, який представляє весь документ (зверніть увагу на те, що він не відповідає кореневого елементу документа)

■ Листові вузли, які представляють символьні дані

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

Вся ця ієрархія називається інформаційним набором або інфонабором (Infoset – скорочення від information set) для розглянутого документа, а інтерфейс прикладного програмування (Application Programming Interface – API) для цієї ієрархії передбачений в вигляді засоби XML, званого обєктною моделлю документа (Document Object Model – DOM) [2724] З використанням такого API-інтерфейсу (крім усього іншого) в прикладній програмі можна здійснювати вибірку, вставку, видалення і модифікацію узлов9

Очевидно, що при використанні багатьох різних документів XML всі вони можуть відповідати одній і тій же загальній ієрархічній структурі (тобто відповідні інфонабори можуть мати одну і ту ж універсальну структуру) Наприклад, може бути прийнято угоду (щонайменше, в інтересах поточного опису), що кожна книга складається з назви, передмови (необовязкового), послідовності глав, послідовності додатків (необовязкових) і предметного покажчика (необовязкового), кожна глава складається з назви і непорожній послідовності розділів, кожен розділ складається з назви і непорожній послідовності абзаців і тд Разом з тим, безумовно, не можна заперечувати і того, що книги розрізняються за своєю конкретну структуру, оскільки в одних відсутня передмова, в інших – додатки, в третьому – предметний покажчик, різні книги мають різну кількість розділів і тд Тому, якщо кожна книга буде представлена ​​за допомогою документа XML, то ці документи

будуть характеризуватися істотними відмінностями на рівні реалізації конкретної структури цілком очевидно, що кількість різних варіантів структури буде значно більше, ніж зазвичай можна зустріти серед кортежів відносини в реляційної моделі А оскільки відносини, як правило, розглядаються як більш жорстко структуровані, а документи XML вважаються володіють набагато більш вільної структурой10, іноді можна зустріти такі твердження, що відносини містять структуровані дані, а документи XML – слабоструктуровані дані (інакше кажучи, засновані на слабоструктурованої моделі даних)

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

9&nbsp&nbsp Може виявитися корисним таке зауваження, що інфонабор для даного конкретного документа дуже близький до тієї структурі, яка є можливим виставою (Possrep) для даного документа, в тому сенсі, що визначений у розділі 5

10&nbsp&nbsp Але, зрозуміло, не можна стверджувати, що вони взагалі не мають структури, оскільки дані, повністю позбавлені структури, за визначенням представляють собою чистий шум, іншими словами, термін неструктуровані дані містить протиріччя у своїх компонентах

успішно представлені в реляційній базі даних, – можливо, у вигляді кортежу, у вигляді безлічі кортежів або іншим чином) Але термін Слабоструктуровані так широко використовується в сфері обробки даних, що автор також змушений його згадати

Примітка Справедливості заради слід лише додати, що в літературі можна також знайти деякі інші аргументи на користь застосування цього терміна, які наведені нижче

■ В [2635] зазначено, що даний термін виник у звязку з тим, що частина даних має постійну структуру, а інша частина змінюється (наприклад, кожна книга має назву, але не в кожній книзі є предметний покажчик) :

‘■ Згідно [2713], цей термін застосовується з тієї причини, що полуструктурірбванние дані не мають звичайної схеми, а є позбавленими схеми і описують самі себе. В [2717] сказано те ж саме, але додатково зазначено, що вони подібні обєктах.

■ В [2723] в якості причини застосування цього терміна зазначено той факт, що дан ні можуть бути нерегулярними або неповними і [мати] структуру, [яка] може змінюватися швидко і непередбачувано .

■ Безумовно, структура, якою повинен володіти документ XML, в значній частині залежить від проектувальника документа11 в певному сенсі структура накладається на дані проектувальником, а різні проектувальники, зрозуміло, має право застосовувати різні структури, підрозділяючи дані різними способами і вибираючи різні дескриптори Наприклад, поему можна представити у вигляді еди ного суцільного фрагмента тексту (<роеm> .. ), як послідовність віршів ( .. .. ) або багатьма іншими спосо бами Таким чином, можна стверджувати, що термін Слабоструктуровані виник з урахуванням цих міркувань

Але, на думку автора, жоден з цих доводів не витримує ретельного критичного аналізу Насправді, неможливо виявити істотне розходження між слабоструктурованої моделлю та структурними аспектами старомодною ієрархічної моделі, яка була описана (і піддана критиці) у главі 13 роботи [15] Але уваги, безумовно, заслуговує ще один нюанс – за визначенням передбачається, що моделі даних взагалі і ієрархічна модель зокрема, повинні включати операції, але створюється враження, що Слабоструктуровані модель в основному (або навіть виключно) присвячена лише опису структури даних

Наведемо ще одне, останнє зауваження на цю тему – в літературі часто зустрічається думка, що або інфонабор (розглянутий з точки зору універсальної інтерпретації цього терміну в [2726]), або, взагалі кажучи, Слабоструктуровані модель – Це модель даних XML. Але це ідеальне уявлення значною мірою стає розпливчастим у звязку з тим фактом, що в кожній з робіт [2724], [2728], і (спільно) [2727], і [2729], а також у роботі [2726] як такої, визначена власна модель даних XML (Причому в одних з таких моделей передбачено операції, а в інших – ні) Тому не зовсім ясно, яка з цих моделей (якщо взагалі така є) заслуговує право називатися моделлю даних XML.

11&nbsp А також від проектувальника типу документа, якщо він бере участь у цій роботі (див розділ 274)

Мови, похідні від XML, і стандарти XML

Мова XML як такий був стандартізірован12 тільки лише відносно недавно (у лютому 1998 року), тому та ступінь визнання, якою він зумів досягти за такий короткий час, є просто вражаючою До часу підготовки цього видання книги (початок 2003 року) було щонайменше 200 різних мов, похідних від XML, причому деякі з них виявилися зовсім новими, а інші стали результатом переробки більш ранніх специфікацій, заснованих на мові HTML Нижче як приклад наведена невелика вибірка з переліку цих похідних мов

■&nbsp&nbsp&nbsp&nbsp CML Мова хімічної розмітки (Chemical Markup Language):

■&nbsp&nbsp&nbsp&nbsp ebXML Рекомендована заміна для стандарту EDI, призначена для вико вання при обміні даними між підприємствами (Business-Two-Business – В2В)

■&nbsp&nbsp&nbsp&nbsp MathML Мова математичної розмітки (Mathematical Markup Language)

■&nbsp&nbsp&nbsp&nbsp PMML Стандарт інформаційної проходки

■&nbsp&nbsp&nbsp&nbsp WML Мова розмітки для бездротових систем (Wireless Markup Language)

■&nbsp&nbsp&nbsp&nbsp XMLife Промисловий стандарт страхування

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

■&nbsp&nbsp&nbsp&nbsp SOAP Простий протокол доступу до обєктів (Simple Object Access Protocol) – один з компонентів нової технології програмування Web Services, в кото рій додатки створюються за принципом обєднання програмних модулів, а виявлення і доступ до цих модулів здійснюється в середовищі Web

■&nbsp&nbsp&nbsp&nbsp XML Стандарт обміну даними між інструментальними засобами (XML Metadata Interchange)

Крім того, прийнято цілу низку додаткових стандартів (або документів, здатних надалі стати стандартами), які або доповнюють, або залежать від стандарту XML (рис 273) Нижче перераховані деякі з найбільш важливих таких документів

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

Інформаційний набір XML Абстрактна модель структури документів XML (див

попередній підрозділ)

12&nbsp Оскільки W3C – це консорціум організацій, а не формально затверджена організація по стандартизації, то специфікація XML не є стандартом в повному розумінні цього слова, а тільки рекомендацією. Але це розходження на практиці не має значення До речі, слід зазначити, що сама специфікація XML визначена як похідна від стандарту Unicode і в ній застосовуються поняття, які визначені в цьому стандарті ([2722])

13&nbsp Опис цього терміна наведене в підрозділі Визначення типу документа розділу 274

і XML Schema Мова створення схем, які описують документи XML (див розділ 274)

■&nbsp&nbsp&nbsp&nbsp DOM Обєктна модель документа (Document Object Model) – обєктно-ориенти рованний API-інтерфейс, що дозволяє маніпулювати інфонаборамі XML (див попередній підрозділ)

■&nbsp&nbsp&nbsp&nbsp XPath Мова XML Path, який надає кошти адресації {Позначення шляху) і тому забезпечує доступ до частин документа ХМL (див розділ 275)

■&nbsp&nbsp&nbsp&nbsp XPointer Мова XML Pointer, який створений на основі мови XPath, але предостав ляє більш розвинені засоби адресації

■&nbsp&nbsp&nbsp&nbsp XQuery Мова XML Query, або мова запитів XML (див розділ 275)

■&nbsp&nbsp&nbsp&nbsp XLink Мова звязування документів XML, що дозволяє вставляти в документи XML такі елементи, які створюють і описують звязки між информацион вими ресурсами

■&nbsp&nbsp&nbsp&nbsp XSL і XSLT Мова таблиць стилів XML і мова перетворення таблиць стилів, вича при спільному використанні забезпечують (а фактично заохочують)

: Зберігання інформації форматування окремо від описової розмітки

Рис 273 Стандарти і специфікації, що відбуваються від специфікації XML або повязані з

Джерело: Дейт К Дж, Введення в системи баз даних, 8-е видання: Пер з англ – М: Видавничий дім «Вільямс», 2005 – 1328 с: Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*