Розши́рювана мо́ва розмі́тки (англ. EXtensible Markup Language, скорочено XML) — запропонований консорціумом World Wide Web Consortium (W3C) стандарт побудови мов розмітки ієрархічно структурованих даних для обміну між різними застосунками, зокрема, через Інтернет. Є спрощеною підмножиною мови розмітки SGML. XML-документ складається із текстових знаків, і придатний до читання людиною.
Розширення файлу: | .xml |
---|---|
MIME-тип: | application/xml, text/xml (застаріла) |
Узагальнений ідентифікатор типу: | public.xml |
Розробник: | World Wide Web Consortium |
Тип формату: | мова розмітки даних |
Розширений з: | SGML |
Розширений до: | XHTML, RSS, Atom, |
Стандарт(и): | 1.0 (Четверта редакція) 1.1 (Друга редакція) |
Стандарт XML (англ. Recommendation, перше видання від 10 лютого 1998, останнє, четверте видання 29 вересня 2006) визначає набір базових лексичних та синтаксичних правил для побудови мови опису інформації шляхом застосування простих тегів. Цей формат достатньо гнучкий для того, аби бути придатним для застосування в різних галузях. Іншими словами, запропонований стандарт визначає метамову, на основі якої шляхом запровадження обмежень на структуру та зміст документів визначаються специфічні, предметно-орієнтовані мови розмітки даних. Ці обмеження описуються мовами схем (англ. Schema), такими як XML Schema (XSD), DTD або RELAX NG. Прикладами мов, заснованих на XML, є: XSLT, XAML, XUL, RSS, MathML, GraphML, XHTML, SVG, а також XML Schema.
Основні поняття
- Коректність
- Коректний документ (англ. well-formed document) відповідає всім синтаксичним правилам XML. Документ, що не є коректним, не може називатись XML-документом. Сумісний синтаксичний аналізатор (англ. Conforming parser) не повинен обробляти такі документи. Зокрема, коректний XML-документ має:
- Лише один елемент у корені.
- Непорожні елементи розмічено початковим та кінцевим тегами (наприклад,
<пункт>Пункт 1</пункт>
). Порожні елементи можуть позначатися «закритим» тегом, наприклад<IAmEmpty />
. Така пара еквівалентна<IAmEmpty></IAmEmpty>
. - Один елемент не може мати декілька атрибутів з однаковою назвою. Значення атрибутів перебувають або в одинарних ('), або у подвійних (") лапках.
- Теги можуть бути вкладені, але не можуть перекриватись. Кожен некореневий елемент мусить повністю перебувати в іншому елементі.
- Документ має складатися тільки з правильно закодованих дозволених символів Юнікоду. Єдиними кодуваннями, які обов'язково має розуміти XML-процесор, є UTF-16 та UTF-8. Фактичне та задеклароване кодування (англ. character encoding) документа мають збігатись. Кодування може бути задекларовано ззовні, як у заголовку «Content-Type» при передачі за протоколом HTTP, або в самому документі використанням явної розмітки на самому початку документа. У разі відсутності інформації про кодування документ має бути в кодуванні UTF-8 (або його підмножині ASCII).
- Валідність
- Документ називається валідним (англ. valid), якщо він є коректним, містить посилання на граматичні правила та повністю відповідає обмеженням, вказаним у цих правилах (DTD або XML Schema або іншому подібному документі).
- Синтаксичний аналізатор
- Синтаксичним аналізатором (часто парсер, від англ. parser) називається програма або компонент, що читає XML-документ, проводить синтаксичний аналіз та відтворює його структуру. Якщо синтаксичний аналізатор перевіряє документ на валідність, то такий аналізатор називають валідатором (англ. validating).
Назви елементів чутливі до регістру літер. Наприклад, наступна пара елементів правильна:
<Step>
…</Step>
у той час як ця — ні:
<Step>
…</step>
Правильний вибір назв для XML-елементів підкреслюватиме значення даних у створеній мові розмітки. Це сприятиме полегшенню роботи людей з такими документами, зберігаючи можливості для комп'ютерної обробки даних. Вибір змістовних назв передає семантику елементів та атрибутів для людини, без посилання на зовнішню документацію. Однак це може призвести до надмірності розмітки, що ускладнює редагування й збільшує розмір файлів.
Структура
Приклад XML-документа:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <mediawiki xmlns="http://www.mediawiki.org/xml/export-0.3/" xml:lang="uk"> <page> <title>Фукідід</title> <id>1529</id> <revision> <id>4382</id> <timestamp>2006-09-18T22:11:53Z</timestamp> <minor /> <comment>Interwiki</comment> <text xml:space="preserve">{{Wikipedia}} *Історія — це філософія в прикладах. </text> </revision> </page> </mediawiki>
XML-документи мають як фізичну, так і логічну структуру.
Фізична структура
- Сутності (англ. Entity). Головною сутністю є зміст документа. Інші можливі сутності вказуються за допомогою
- (
&назва;
в самому документі, та, наприклад%назва;
у визначені його типу) можуть слугувати в ролі позначень спеціальних символів, посилань на спеціальні символи (вказуючи коди символів&#десяткове;
, або&#xшістнадцяткове;
) або окремих документів чи фрагментів тексту.
- (
- , в ній вказується версія XML, кодування та інша допоміжна інформація.
- Декларація типу документа може застосовуватись для того, аби додавати нові типи сутностей та визначати логічну структуру документа.
Логічна структура
XML-документ має ієрархічну логічну структуру, і може представлятись у вигляді дерева. Вузлами цього дерева можуть бути:
- елементи, фізична структура яких складається із:
- коректної пари відкриваючого та закриваючого тегів (
<Назва-тегу>
) та (</Назва-тегу>
), або - тегу порожнього елемента (
<Назва-тегу />
),
- коректної пари відкриваючого та закриваючого тегів (
- Атрибути, що мають вигляд пар ключ-значення (
назва атрибута="значення атрибута"
) і знаходяться або у відкриваючому, або у порожньому тегу (подібно до метаданих), - Вказівки щодо обробки документа (англ. Processing Instruction) (
<?Обробник параметр ?>
) - Коментарі (
<!-- Текст коментаря -->
) - Текст, або у вигляді простого тексту, або фрагментів CDATA (
<![CDATA[ довільний текст]]>
).
XML-документ повинен мати лише один кореневий елемент. Решта елементів є піделементами цього кореневого елемента.
Деякі веббраузери здатні безпосередньо відображати XML-документи. Це може досягатись шляхом застосування таблиці стилів (англ. Stylesheet). Вказані у таблиці стилів операції можуть призводити до перетворення XML-документа в інший, відмінний від XML формат.
Коректність XML-документів
Залишивши назви, дозволену ієрархію, та значення елементів і атрибутів відкритою та можливою бути визначеною в спеціалізованих схемах або визначеннях типу документа (DTD), XML утворює синтаксичну основу для створення спеціалізованих, заснованих на XML мовах розмітки даних. Загальний синтаксис таких документів стабільний і наперед визначений — документи мають відповідати базовим вимогам XML, гарантуючи те, що довільне програмне забезпечення з підтримкою XML буде здатне щонайменше зчитати і відтворити відносну структуру інформації, що міститься в них. Схема лише доповнює синтаксичні правила множиною обмежень. Зазвичай схеми обмежують назви елементів та атрибутів, дозволені типи значень і допустиму ієрархію елементів, наприклад, дозволяючи лише елементу з назвою «народження» містити піделемент із назвою «місяць» та з назвою «день», і кожен із них мусить містити лише літери. Обмеження, вказані в схемі, можуть також включати присвоєння певних типів даних для впливу на те, як обробляється інформація; наприклад, дані елемента «місяць» можна визначити як такі, що містять лише місяць, як це визначено відповідно до використаної мови схем.
Коректний XML-документ, що відповідає обмеженням схеми або DTD, називається валідним.
DTD
Найдавнішим форматом схем для XML є успадкований від SGML формат визначення типу документа (Document Type Definition, DTD). У той час, як через включення до стандарту XML 1.0 DTD став поширеним форматом схем, він має такі обмеження:
- Відсутність нових можливостей XML, із найважливішою з посеред них .
- Брак виразності. Деякі формальні аспекти XML-документів неможливо відобразити в DTD.
- Використовується спеціалізований, заснований не на XML синтаксис для опису схем.
DTD все ще використовується в багатьох програмах, оскільки він вважається найпростішим форматом для аналізу та збереження.
XML Schema
На заміну DTD було розроблено нову мову схем — XML Schema (буквально — XML-схема), скорочено позначається як XSD (від англ. XML Schema Definition). XSD набагато потужніші за DTD в описанні заснованих на XML мов. Вони використовують багатий набір типів даних, підтримують детальніші обмеження на структуру документів, та повинні оброблятись складнішими системами. XSD побудовано на основі XML, що робить можливим використання звичайних інструментів XML для їхньої обробки, хоча реалізації XSD вимагають набагато більше аніж просто можливість читати XML.
Серед недоліків XSD називають такі:
- Специфікація дуже велика, що робить її складною для розуміння та реалізації.
- Оснований на XML синтаксис додає надмірності мові, що ускладнює читання та запис XSD.
- Валідація відносно схеми може бути дорогим додатком до синтаксичного аналізу XML-документів.
- Можливості моделювання дуже обмежені, без можливості впливу значень атрибутів на вміст елементів.
- Модель отримання типів даних є дуже обмеженою, зокрема в тому, що отримання шляхом розширення є рідко коли корисним.
- Механізми ключа//унікальності не враховують тип даних.
- Концепція (англ. Post Schema Validation Infoset) не має стандартного представлення або прикладного програмного інтерфейсу, що працює проти незалежності від реалізації, якщо не виконується повторна валідація.
RELAX NG
RELAX NG є іншою поширеною мовою схем для XML. Вперше RELAX NG було визначено стандартом OASIS, а тепер — міжнародним стандартом ISO (як частина DSDL). Ця мова схем має два формати: оснований на XML, та компактний, не-XML. Компактний синтаксис призначений для покращення можливості читання та написання схем, однак, оскільки існує точно визначений спосіб перетворення компактного формату в оснований на XML, і навпаки, не втрачаються переваги від використання стандартних XML-інструментів. RELAX NG має простіші системи для визначення та валідації у порівнянні з XML Schema, що робить її привабливішою для використання та реалізації. Також існує можливість використання модулів роботи з типом даних; наприклад, автор схеми RELAX NG може вказати, що значення XML-документа мають відповідати визначенням типам даних у форматі XML Schema Datatypes.
ISO DSDL та інші мови схем
Стандарт ISO DSDL (англ. Document Schema Description Languages, мови описання схем документів) об'єднує широке коло малих мов схем, кожна із яких призначена для розв'язання окремих проблем. До DSDL належить RELAX NG із повним та компактним синтаксисом, мова припущень , та мови для визначення типів даних, обмежень на літери, перейменування та розкривання мнемонік, та основане на просторах назв перенаправлення фрагментів документів у різні валідатори. Мови DSDL все ще не мають підтримки як у XML Schema, і є, певною мірою, реакцією видавців на брак можливостей XML Schema для видавничої справи.
Деякі мови схем не тільки описують структуру певного формату XML-документів, а ще і мають обмежені можливості впливу на обробку документів цього формату. Як DTD, так і XSD мають цю можливість; наприклад, вони можуть визначати значення для атрибутів «за замовченням». Натомість, як RELAX NG так і Schematron таких можливостей не мають.
Обробка XML-документів
До XML-обробки відносяться форматування, синтаксичний аналіз, редагування, перевірка коректності і перетворення в інші формати.
До традиційних технологій обробки XML-документів належать такі три технології:
- Написання програм на мові програмування із використанням API SAX.
- Написання програм на мові програмування із використанням API DOM.
- Застосування механізму перетворення та фільтра.
До новіших технологій, що почали здобувати поширення останнім часом належать:
- Активний аналіз.
- Зв'язування даних.
Простий API для XML (SAX)
Простий програмний інтерфейс для XML (англ. Simple API for XML, SAX) є основаним на подіях інтерфейсом лексичного аналізу. Відповідно до цієї моделі, документ аналізується послідовно, а вміст документа передається на обробники подій аналізатора користувача. SAX є порівняно швидким та легким для реалізації, проте складним з точки зору задачі отримання інформації із різних частин XML-документів, оскільки розробник аналізатора мусить дбати про відстеження поточної частини документа. Запропонований SAX підхід краще підходить до ситуацій, коли певний тип інформації завжди обробляється однаково, попри те, в якій частині документа вона знаходиться.
Об'єктна модель документа (DOM)
Об'єктна модель документа (англ. Document Object Model, DOM) є програмним інтерфейсом, який дозволяє здійснювати обхід цілого документа так, наче він є деревом, вузлами якого є об'єкти, що відтворюють зміст документа. Документ DOM може створюватись синтаксичним аналізатором або користувачами (з деякими обмеженнями). Типи даних вузлів DOM-дерев є абстрактними; реалізації мають власні, специфічні для мов програмування типи даних. Реалізації DOM мають тенденцію до інтенсивного використання пам'яті, оскільки зазвичай перед початком роботи документ має бути повністю завантажений, оброблений та перетворений на дерево об'єктів.
Перетворення документів
Фільтр в родині XSL може перетворювати XML-документи на інші XML-документи[], для перегляду на екрані або друку.
- XSL-FO є декларативною, заснованою на XML мовою для макетування сторінок. XSL-FO процесор може перетворювати XSL-FO документ в інший, не заснований на XML формат, такий як PDF.
- XSLT є декларативною, основаною на XML мовою описання перетворення документів. XSLT-процесор може використовувати XSLT-стиль в ролі інструкції для перетворення дерева даних, представленого одним XML-документом на інше дерево, що може потім бути серіалізоване в XML, HTML, простий текст, або інший, підтримуваний процесором, формат.
- XQuery є розробленою консорціумом W3C мовою для написання запитів, створення та перетворення XML-даних.
- XPath є подібною до DOM моделлю дерева та мовою описання шляхів для вибору даних в XML-документах. XSL-FO, XSLT та XQuery використовують XPath. XPath також містить бібліотеку додаткових функцій.
Активний аналіз
З точки зору активного аналізу (англ. Pull parsing) XML-документ розглядається як послідовність елементів, які зчитуються послідовно, використовуючи шаблон проектування ітератор. Такий підхід дозволяє створення рекурсивних аналізаторів, у яких структура коду відображає структуру аналізованих XML-документів, проміжні результати аналізу можуть бути використані і розміщені у вигляді локальних змінних в підпрограмах, що виконують аналіз, передані як параметри до підпрограм нижчого рівня або повернені до підпрограм вищого рівня. До прикладів активних аналізаторів належать StAX у мові програмування Java, SimpleXML у PHP та System.Xml.XmlReader у .NET.
Активний аналізатор створює ітератор, що послідовно обходить різні елементи, атрибути та дані в XML-документі. Код, що використовує цей «ітератор», може перевіряти поточний елемент (аби дізнатись, наприклад, чи є цей елемент стартовим, кінцевим або текстовим), та дізнаватись про його атрибути (локальна назва, простір назв, значення XML-атрибутів, зміст тексту тощо) і може пересунути ітератор на наступний елемент. Таким чином, код аналізатора може зчитувати інформацію із документа під час обходу. Підхід рекурсивного спуску сприяє зберіганню даних у вигляді типізованих локальних змінних в коді аналізатора, в той час як SAX, наприклад, зазвичай вимагає, аби аналізатор явно зберігав проміжні дані в стеку елементів, що є вищими елементами від того, який зараз аналізується. Код активного аналізатора може бути більш прямолінійним та зрозумілим і простішим для підтримки, аніж код SAX аналізатора.
Зв'язування даних
Іншим підходом до обробки XML-документів є зв'язування даних (англ. Data binding). Відповідно до цього підходу, XML-дані доступні у вигляді спеціальних, строго типізованих структур даних.
Історія
Специфікації та стандарти XML видаються комітетом W3C, поточний стандарт — версії 1.1 (див. [ 13 червня 2006 у Wayback Machine.]).
Основними відмінностями від SGML є:
- обов'язкова наявність закриваючих тегів,
- заборонено робити посилання на зовнішні елементи;
Див. також повний перелік відмінностей [ 15 червня 2006 у Wayback Machine.].
Примітки
- Bray, Tim; Jean Paoli, C. M. Sperberg-McQueen, Eve Maler, François Yergeau (September 2006). Extensible Markup Language (XML) 1.0 (Fourth Edition) — Origin and Goals. World Wide Web Consortium. Архів оригіналу за 23 червня 2013. Процитовано October 29 2006.
- Elliotte Rusty Harold, W. Scott Means (липень 2002). XML in a Nutshell (англійська) (вид. друге). O'Reilly. ISBN .
- . Архів оригіналу за 2 лютого 2008. Процитовано 5 лютого 2008.
- . Архів оригіналу за 20 листопада 2015. Процитовано 23 квітня 2014.
- Push, Pull, Next! [ 12 травня 2008 у Wayback Machine.] by Bob DuCharme, at XML.com
Література
- Сергеев Александр Петрович. HTML і XML. Професійна робота = HTML и XML. Профессиональная работа. — М. : , 2004. — С. 880. — .
- Роберт Тейбор. Реалізація XML Web-служб на платформі Microsoft .NET = Реализация XML Web-служб на платформе Microsoft .NET. — М. : «Вільямс», 2002. — С. 464. — .
- P. Denysyuk, «Usage of XML for Fluidic MEMS Database Design» 2007 International Conference on Perspective Technologies and Methods in MEMS Design, Lviv-Polyana, 2007, pp. 148–148. doi: 10.1109/MEMSTECH.2007.4283450
Див. також
|
Посилання
- Сторінка, присвячена XML на www.w3.org [ 10 лютого 2019 у Wayback Machine.]
- Технічна рекомендація, XML 1.0 [ 13 червня 2006 у Wayback Machine.]
- Критика XML на c2.com [ 5 грудня 2006 у Wayback Machine.]
- XML-ресурси, каталог посилань Open Directory Project
Це незавершена стаття про інформаційні технології. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Rozshi ryuvana mo va rozmi tki angl EXtensible Markup Language skorocheno XML zaproponovanij konsorciumom World Wide Web Consortium W3C standart pobudovi mov rozmitki iyerarhichno strukturovanih danih dlya obminu mizh riznimi zastosunkami zokrema cherez Internet Ye sproshenoyu pidmnozhinoyu movi rozmitki SGML XML dokument skladayetsya iz tekstovih znakiv i pridatnij do chitannya lyudinoyu Extensible Markup LanguageRozshirennya fajlu xmlMIME tip application xml text xml zastarila Uzagalnenij identifikator tipu public xmlRozrobnik World Wide Web ConsortiumTip formatu mova rozmitki danihRozshirenij z SGMLRozshirenij do XHTML RSS Atom Standart i 1 0 Chetverta redakciya 1 1 Druga redakciya Standart XML angl Recommendation pershe vidannya vid 10 lyutogo 1998 ostannye chetverte vidannya 29 veresnya 2006 viznachaye nabir bazovih leksichnih ta sintaksichnih pravil dlya pobudovi movi opisu informaciyi shlyahom zastosuvannya prostih tegiv Cej format dostatno gnuchkij dlya togo abi buti pridatnim dlya zastosuvannya v riznih galuzyah Inshimi slovami zaproponovanij standart viznachaye metamovu na osnovi yakoyi shlyahom zaprovadzhennya obmezhen na strukturu ta zmist dokumentiv viznachayutsya specifichni predmetno oriyentovani movi rozmitki danih Ci obmezhennya opisuyutsya movami shem angl Schema takimi yak XML Schema XSD DTD abo RELAX NG Prikladami mov zasnovanih na XML ye XSLT XAML XUL RSS MathML GraphML XHTML SVG a takozh XML Schema Osnovni ponyattyaKorektnist Korektnij dokument angl well formed document vidpovidaye vsim sintaksichnim pravilam XML Dokument sho ne ye korektnim ne mozhe nazivatis XML dokumentom Sumisnij sintaksichnij analizator angl Conforming parser ne povinen obroblyati taki dokumenti Zokrema korektnij XML dokument maye Lishe odin element u koreni Neporozhni elementi rozmicheno pochatkovim ta kincevim tegami napriklad lt punkt gt Punkt 1 lt punkt gt Porozhni elementi mozhut poznachatisya zakritim tegom napriklad lt IAmEmpty gt Taka para ekvivalentna lt IAmEmpty gt lt IAmEmpty gt Odin element ne mozhe mati dekilka atributiv z odnakovoyu nazvoyu Znachennya atributiv perebuvayut abo v odinarnih abo u podvijnih lapkah Tegi mozhut buti vkladeni ale ne mozhut perekrivatis Kozhen nekorenevij element musit povnistyu perebuvati v inshomu elementi Dokument maye skladatisya tilki z pravilno zakodovanih dozvolenih simvoliv Yunikodu Yedinimi koduvannyami yaki obov yazkovo maye rozumiti XML procesor ye UTF 16 ta UTF 8 Faktichne ta zadeklarovane koduvannya angl character encoding dokumenta mayut zbigatis Koduvannya mozhe buti zadeklarovano zzovni yak u zagolovku Content Type pri peredachi za protokolom HTTP abo v samomu dokumenti vikoristannyam yavnoyi rozmitki na samomu pochatku dokumenta U razi vidsutnosti informaciyi pro koduvannya dokument maye buti v koduvanni UTF 8 abo jogo pidmnozhini ASCII Validnist Dokument nazivayetsya validnim angl valid yaksho vin ye korektnim mistit posilannya na gramatichni pravila ta povnistyu vidpovidaye obmezhennyam vkazanim u cih pravilah DTD abo XML Schema abo inshomu podibnomu dokumenti Sintaksichnij analizator Sintaksichnim analizatorom chasto parser vid angl parser nazivayetsya programa abo komponent sho chitaye XML dokument provodit sintaksichnij analiz ta vidtvoryuye jogo strukturu Yaksho sintaksichnij analizator pereviryaye dokument na validnist to takij analizator nazivayut validatorom angl validating Nazvi elementiv chutlivi do registru liter Napriklad nastupna para elementiv pravilna lt Step gt lt Step gt u toj chas yak cya ni lt Step gt lt step gt Pravilnij vibir nazv dlya XML elementiv pidkreslyuvatime znachennya danih u stvorenij movi rozmitki Ce spriyatime polegshennyu roboti lyudej z takimi dokumentami zberigayuchi mozhlivosti dlya komp yuternoyi obrobki danih Vibir zmistovnih nazv peredaye semantiku elementiv ta atributiv dlya lyudini bez posilannya na zovnishnyu dokumentaciyu Odnak ce mozhe prizvesti do nadmirnosti rozmitki sho uskladnyuye redaguvannya j zbilshuye rozmir fajliv StrukturaPriklad XML dokumenta lt xml version 1 0 encoding UTF 8 standalone yes gt lt mediawiki xmlns http www mediawiki org xml export 0 3 xml lang uk gt lt page gt lt title gt Fukidid lt title gt lt id gt 1529 lt id gt lt revision gt lt id gt 4382 lt id gt lt timestamp gt 2006 09 18T22 11 53Z lt timestamp gt lt minor gt lt comment gt Interwiki lt comment gt lt text xml space preserve gt Wikipedia Istoriya ce filosofiya v prikladah lt text gt lt revision gt lt page gt lt mediawiki gt XML dokumenti mayut yak fizichnu tak i logichnu strukturu Fizichna struktura Sutnosti angl Entity Golovnoyu sutnistyu ye zmist dokumenta Inshi mozhlivi sutnosti vkazuyutsya za dopomogoyu i amp nazva i v samomu dokumenti ta napriklad i nazva i u viznacheni jogo tipu mozhut sluguvati v roli poznachen specialnih simvoliv posilan na specialni simvoli vkazuyuchi kodi simvoliv amp i desyatkove i abo amp x i shistnadcyatkove i abo okremih dokumentiv chi fragmentiv tekstu v nij vkazuyetsya versiya XML koduvannya ta insha dopomizhna informaciya Deklaraciya tipu dokumenta mozhe zastosovuvatis dlya togo abi dodavati novi tipi sutnostej ta viznachati logichnu strukturu dokumenta Logichna struktura XML dokument maye iyerarhichnu logichnu strukturu i mozhe predstavlyatis u viglyadi dereva Vuzlami cogo dereva mozhut buti elementi fizichna struktura yakih skladayetsya iz korektnoyi pari vidkrivayuchogo ta zakrivayuchogo tegiv lt i Nazva tegu i gt ta lt i Nazva tegu i gt abo tegu porozhnogo elementa lt i Nazva tegu i gt Atributi sho mayut viglyad par klyuch znachennya i nazva atributa i i znachennya atributa i i znahodyatsya abo u vidkrivayuchomu abo u porozhnomu tegu podibno do metadanih Vkazivki shodo obrobki dokumenta angl Processing Instruction lt i Obrobnik i i parametr i gt Komentari lt i Tekst komentarya i gt Tekst abo u viglyadi prostogo tekstu abo fragmentiv CDATA lt CDATA i dovilnij tekst i gt XML dokument povinen mati lishe odin korenevij element Reshta elementiv ye pidelementami cogo korenevogo elementa Deyaki vebbrauzeri zdatni bezposeredno vidobrazhati XML dokumenti Ce mozhe dosyagatis shlyahom zastosuvannya tablici stiliv angl Stylesheet Vkazani u tablici stiliv operaciyi mozhut prizvoditi do peretvorennya XML dokumenta v inshij vidminnij vid XML format Korektnist XML dokumentivZalishivshi nazvi dozvolenu iyerarhiyu ta znachennya elementiv i atributiv vidkritoyu ta mozhlivoyu buti viznachenoyu v specializovanih shemah abo viznachennyah tipu dokumenta DTD XML utvoryuye sintaksichnu osnovu dlya stvorennya specializovanih zasnovanih na XML movah rozmitki danih Zagalnij sintaksis takih dokumentiv stabilnij i napered viznachenij dokumenti mayut vidpovidati bazovim vimogam XML garantuyuchi te sho dovilne programne zabezpechennya z pidtrimkoyu XML bude zdatne shonajmenshe zchitati i vidtvoriti vidnosnu strukturu informaciyi sho mistitsya v nih Shema lishe dopovnyuye sintaksichni pravila mnozhinoyu obmezhen Zazvichaj shemi obmezhuyut nazvi elementiv ta atributiv dozvoleni tipi znachen i dopustimu iyerarhiyu elementiv napriklad dozvolyayuchi lishe elementu z nazvoyu narodzhennya mistiti pidelement iz nazvoyu misyac ta z nazvoyu den i kozhen iz nih musit mistiti lishe literi Obmezhennya vkazani v shemi mozhut takozh vklyuchati prisvoyennya pevnih tipiv danih dlya vplivu na te yak obroblyayetsya informaciya napriklad dani elementa misyac mozhna viznachiti yak taki sho mistyat lishe misyac yak ce viznacheno vidpovidno do vikoristanoyi movi shem Korektnij XML dokument sho vidpovidaye obmezhennyam shemi abo DTD nazivayetsya validnim DTD Dokladnishe Document Type Definition Najdavnishim formatom shem dlya XML ye uspadkovanij vid SGML format viznachennya tipu dokumenta Document Type Definition DTD U toj chas yak cherez vklyuchennya do standartu XML 1 0 DTD stav poshirenim formatom shem vin maye taki obmezhennya Vidsutnist novih mozhlivostej XML iz najvazhlivishoyu z posered nih Brak viraznosti Deyaki formalni aspekti XML dokumentiv nemozhlivo vidobraziti v DTD Vikoristovuyetsya specializovanij zasnovanij ne na XML sintaksis dlya opisu shem DTD vse she vikoristovuyetsya v bagatoh programah oskilki vin vvazhayetsya najprostishim formatom dlya analizu ta zberezhennya XML Schema Dokladnishe XML Schema W3C Na zaminu DTD bulo rozrobleno novu movu shem XML Schema bukvalno XML shema skorocheno poznachayetsya yak XSD vid angl XML Schema Definition XSD nabagato potuzhnishi za DTD v opisanni zasnovanih na XML mov Voni vikoristovuyut bagatij nabir tipiv danih pidtrimuyut detalnishi obmezhennya na strukturu dokumentiv ta povinni obroblyatis skladnishimi sistemami XSD pobudovano na osnovi XML sho robit mozhlivim vikoristannya zvichajnih instrumentiv XML dlya yihnoyi obrobki hocha realizaciyi XSD vimagayut nabagato bilshe anizh prosto mozhlivist chitati XML Sered nedolikiv XSD nazivayut taki Specifikaciya duzhe velika sho robit yiyi skladnoyu dlya rozuminnya ta realizaciyi Osnovanij na XML sintaksis dodaye nadmirnosti movi sho uskladnyuye chitannya ta zapis XSD Validaciya vidnosno shemi mozhe buti dorogim dodatkom do sintaksichnogo analizu XML dokumentiv Mozhlivosti modelyuvannya duzhe obmezheni bez mozhlivosti vplivu znachen atributiv na vmist elementiv Model otrimannya tipiv danih ye duzhe obmezhenoyu zokrema v tomu sho otrimannya shlyahom rozshirennya ye ridko koli korisnim Mehanizmi klyucha unikalnosti ne vrahovuyut tip danih Koncepciya angl Post Schema Validation Infoset ne maye standartnogo predstavlennya abo prikladnogo programnogo interfejsu sho pracyuye proti nezalezhnosti vid realizaciyi yaksho ne vikonuyetsya povtorna validaciya RELAX NG Dokladnishe RELAX NG RELAX NG ye inshoyu poshirenoyu movoyu shem dlya XML Vpershe RELAX NG bulo viznacheno standartom OASIS a teper mizhnarodnim standartom ISO yak chastina DSDL Cya mova shem maye dva formati osnovanij na XML ta kompaktnij ne XML Kompaktnij sintaksis priznachenij dlya pokrashennya mozhlivosti chitannya ta napisannya shem odnak oskilki isnuye tochno viznachenij sposib peretvorennya kompaktnogo formatu v osnovanij na XML i navpaki ne vtrachayutsya perevagi vid vikoristannya standartnih XML instrumentiv RELAX NG maye prostishi sistemi dlya viznachennya ta validaciyi u porivnyanni z XML Schema sho robit yiyi privablivishoyu dlya vikoristannya ta realizaciyi Takozh isnuye mozhlivist vikoristannya moduliv roboti z tipom danih napriklad avtor shemi RELAX NG mozhe vkazati sho znachennya XML dokumenta mayut vidpovidati viznachennyam tipam danih u formati XML Schema Datatypes ISO DSDL ta inshi movi shem Standart ISO DSDL angl Document Schema Description Languages movi opisannya shem dokumentiv ob yednuye shiroke kolo malih mov shem kozhna iz yakih priznachena dlya rozv yazannya okremih problem Do DSDL nalezhit RELAX NG iz povnim ta kompaktnim sintaksisom mova pripushen ta movi dlya viznachennya tipiv danih obmezhen na literi perejmenuvannya ta rozkrivannya mnemonik ta osnovane na prostorah nazv perenapravlennya fragmentiv dokumentiv u rizni validatori Movi DSDL vse she ne mayut pidtrimki yak u XML Schema i ye pevnoyu miroyu reakciyeyu vidavciv na brak mozhlivostej XML Schema dlya vidavnichoyi spravi Deyaki movi shem ne tilki opisuyut strukturu pevnogo formatu XML dokumentiv a she i mayut obmezheni mozhlivosti vplivu na obrobku dokumentiv cogo formatu Yak DTD tak i XSD mayut cyu mozhlivist napriklad voni mozhut viznachati znachennya dlya atributiv za zamovchennyam Natomist yak RELAX NG tak i Schematron takih mozhlivostej ne mayut Obrobka XML dokumentivDo XML obrobki vidnosyatsya formatuvannya sintaksichnij analiz redaguvannya perevirka korektnosti i peretvorennya v inshi formati Do tradicijnih tehnologij obrobki XML dokumentiv nalezhat taki tri tehnologiyi Napisannya program na movi programuvannya iz vikoristannyam API SAX Napisannya program na movi programuvannya iz vikoristannyam API DOM Zastosuvannya mehanizmu peretvorennya ta filtra Do novishih tehnologij sho pochali zdobuvati poshirennya ostannim chasom nalezhat Aktivnij analiz Zv yazuvannya danih Prostij API dlya XML SAX Dokladnishe SAX Prostij programnij interfejs dlya XML angl Simple API for XML SAX ye osnovanim na podiyah interfejsom leksichnogo analizu Vidpovidno do ciyeyi modeli dokument analizuyetsya poslidovno a vmist dokumenta peredayetsya na obrobniki podij analizatora koristuvacha SAX ye porivnyano shvidkim ta legkim dlya realizaciyi prote skladnim z tochki zoru zadachi otrimannya informaciyi iz riznih chastin XML dokumentiv oskilki rozrobnik analizatora musit dbati pro vidstezhennya potochnoyi chastini dokumenta Zaproponovanij SAX pidhid krashe pidhodit do situacij koli pevnij tip informaciyi zavzhdi obroblyayetsya odnakovo popri te v yakij chastini dokumenta vona znahoditsya Ob yektna model dokumenta DOM Dokladnishe Ob yektna model dokumenta Ob yektna model dokumenta angl Document Object Model DOM ye programnim interfejsom yakij dozvolyaye zdijsnyuvati obhid cilogo dokumenta tak nache vin ye derevom vuzlami yakogo ye ob yekti sho vidtvoryuyut zmist dokumenta Dokument DOM mozhe stvoryuvatis sintaksichnim analizatorom abo koristuvachami z deyakimi obmezhennyami Tipi danih vuzliv DOM derev ye abstraktnimi realizaciyi mayut vlasni specifichni dlya mov programuvannya tipi danih Realizaciyi DOM mayut tendenciyu do intensivnogo vikoristannya pam yati oskilki zazvichaj pered pochatkom roboti dokument maye buti povnistyu zavantazhenij obroblenij ta peretvorenij na derevo ob yektiv Peretvorennya dokumentiv Dokladnishe Extensible Stylesheet Language Filtr v rodini XSL mozhe peretvoryuvati XML dokumenti na inshi XML dokumenti dzherelo dlya pereglyadu na ekrani abo druku XSL FO ye deklarativnoyu zasnovanoyu na XML movoyu dlya maketuvannya storinok XSL FO procesor mozhe peretvoryuvati XSL FO dokument v inshij ne zasnovanij na XML format takij yak PDF XSLT ye deklarativnoyu osnovanoyu na XML movoyu opisannya peretvorennya dokumentiv XSLT procesor mozhe vikoristovuvati XSLT stil v roli instrukciyi dlya peretvorennya dereva danih predstavlenogo odnim XML dokumentom na inshe derevo sho mozhe potim buti serializovane v XML HTML prostij tekst abo inshij pidtrimuvanij procesorom format XQuery ye rozroblenoyu konsorciumom W3C movoyu dlya napisannya zapitiv stvorennya ta peretvorennya XML danih XPath ye podibnoyu do DOM modellyu dereva ta movoyu opisannya shlyahiv dlya viboru danih v XML dokumentah XSL FO XSLT ta XQuery vikoristovuyut XPath XPath takozh mistit biblioteku dodatkovih funkcij Aktivnij analiz Z tochki zoru aktivnogo analizu angl Pull parsing XML dokument rozglyadayetsya yak poslidovnist elementiv yaki zchituyutsya poslidovno vikoristovuyuchi shablon proektuvannya iterator Takij pidhid dozvolyaye stvorennya rekursivnih analizatoriv u yakih struktura kodu vidobrazhaye strukturu analizovanih XML dokumentiv promizhni rezultati analizu mozhut buti vikoristani i rozmisheni u viglyadi lokalnih zminnih v pidprogramah sho vikonuyut analiz peredani yak parametri do pidprogram nizhchogo rivnya abo poverneni do pidprogram vishogo rivnya Do prikladiv aktivnih analizatoriv nalezhat StAX u movi programuvannya Java SimpleXML u PHP ta System Xml XmlReader u NET Aktivnij analizator stvoryuye iterator sho poslidovno obhodit rizni elementi atributi ta dani v XML dokumenti Kod sho vikoristovuye cej iterator mozhe pereviryati potochnij element abi diznatis napriklad chi ye cej element startovim kincevim abo tekstovim ta diznavatis pro jogo atributi lokalna nazva prostir nazv znachennya XML atributiv zmist tekstu tosho i mozhe peresunuti iterator na nastupnij element Takim chinom kod analizatora mozhe zchituvati informaciyu iz dokumenta pid chas obhodu Pidhid rekursivnogo spusku spriyaye zberigannyu danih u viglyadi tipizovanih lokalnih zminnih v kodi analizatora v toj chas yak SAX napriklad zazvichaj vimagaye abi analizator yavno zberigav promizhni dani v steku elementiv sho ye vishimi elementami vid togo yakij zaraz analizuyetsya Kod aktivnogo analizatora mozhe buti bilsh pryamolinijnim ta zrozumilim i prostishim dlya pidtrimki anizh kod SAX analizatora Zv yazuvannya danih Inshim pidhodom do obrobki XML dokumentiv ye zv yazuvannya danih angl Data binding Vidpovidno do cogo pidhodu XML dani dostupni u viglyadi specialnih strogo tipizovanih struktur danih IstoriyaSpecifikaciyi ta standarti XML vidayutsya komitetom W3C potochnij standart versiyi 1 1 div 13 chervnya 2006 u Wayback Machine Osnovnimi vidminnostyami vid SGML ye obov yazkova nayavnist zakrivayuchih tegiv zaboroneno robiti posilannya na zovnishni elementi Div takozh povnij perelik vidminnostej 15 chervnya 2006 u Wayback Machine PrimitkiBray Tim Jean Paoli C M Sperberg McQueen Eve Maler Francois Yergeau September 2006 Extensible Markup Language XML 1 0 Fourth Edition Origin and Goals World Wide Web Consortium Arhiv originalu za 23 chervnya 2013 Procitovano October 29 2006 Elliotte Rusty Harold W Scott Means lipen 2002 XML in a Nutshell anglijska vid druge O Reilly ISBN 0 596 00292 0 Arhiv originalu za 2 lyutogo 2008 Procitovano 5 lyutogo 2008 Arhiv originalu za 20 listopada 2015 Procitovano 23 kvitnya 2014 Push Pull Next 12 travnya 2008 u Wayback Machine by Bob DuCharme at XML comLiteraturaSergeev Aleksandr Petrovich HTML i XML Profesijna robota HTML i XML Professionalnaya rabota M 2004 S 880 ISBN 5 8459 0676 8 Robert Tejbor Realizaciya XML Web sluzhb na platformi Microsoft NET Realizaciya XML Web sluzhb na platforme Microsoft NET M Vilyams 2002 S 464 ISBN 0 6723 2088 6 P Denysyuk Usage of XML for Fluidic MEMS Database Design 2007 International Conference on Perspective Technologies and Methods in MEMS Design Lviv Polyana 2007 pp 148 148 doi 10 1109 MEMSTECH 2007 4283450Div takozhSpisok poznachen simvoliv u XML ta HTML Komp yuterna terminologiya AJAX APML ASN 1 asXML rozdil CDATA sposib rozmishennya nerozmichenogo tekstu v XML DITA DocBook ebXML Binarnij XML Extensible Binary Meta Language XMP vikoristovuyetsya v grafichnih programah en Mova rozmitki zagalnogo priznachennya JSON S viraz SAML Serializaciya SOAP WBXML Programni interfejsi obrobki XML dokumentiv DOM SAX StAX E4X Text Encoding Initiative XML RPC Movi XML schema DTD RELAX NG DSDL YAML Osnovani na XML standarti W3C XML standarti XForms XHTML XLink DOM the XML processing reference model XQuery XML Schema XPath XPointer XML Protocol ta SOAP WSDL XSL ta XSLT Mova rozmitki lingvistichnih danih LanguagePosilannyaStorinka prisvyachena XML na www w3 org 10 lyutogo 2019 u Wayback Machine Tehnichna rekomendaciya XML 1 0 13 chervnya 2006 u Wayback Machine Kritika XML na c2 com 5 grudnya 2006 u Wayback Machine XML resursi katalog posilan Open Directory ProjectCe nezavershena stattya pro informacijni tehnologiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi