XML: відмінності між версіями

[перевірена версія][перевірена версія]
Вилучено вміст Додано вміст
м Бот: Автоматизована заміна тексту: Вікіпедія:Завдання для роботів (Чергування в/у)
Змінено параметри шаблона, стильові правлення
Рядок 21:
Стандарт XML ({{lang-en|Recommendation}}, перше видання від [[10 лютого]] [[1998]], останнє, четверте видання [[29 вересня]] [[2006]]) визначає набір базових [[лексика|лексичних]] та [[синтаксис|синтаксичних]] правил для побудови мови описання інформації шляхом застосування простих ''тегів''. Цей формат достатньо гнучкий для того, аби бути придатним для застосування в різних галузях<ref name="XMLNut">{{cite book
|автор=Elliotte Rusty Harold, W. Scott Means
|пубрікyear=2002
|пубмісяцьmonth=липень
|назва=XML in a Nutshell
|видання=друге
|мова={{lang-en|}}
|видавництво=O'Reilly
|isbn=0-596-00292-0}}</ref>. Іншими словами, запропонований стандарт визначає [[Метамова|метамову]], на основі якої, шляхом запровадження обмежень на структуру та зміст документів визначаються специфічні, предметно-орієнтовані мови розмітки даних. Ці обмеження описуються [[XML schema|мовами схем]] ({{lang-en|Schema}}), такихтакими як [[XML Schema (W3C)|XML Schema (XSD)]], [[Document Type Definition|DTD]] або [[RELAX NG]]. Прикладами мов, основаних на XML є: [[XSLT]], [[XAML]], [[XUL]], [[RSS]], [[MathML]], [[GraphML]], [[XHTML]], [[Scalable Vector Graphics|SVG]], і також [[XML Schema (W3C)|XML Schema]].
 
== Основні поняття ==
Рядок 34:
: Коректний документ ({{lang-en|well-formed document}}) відповідає всім синтаксичним правилам XML. Документ, що не є коректним, не може називатись XML-документом. ''Сумісний синтаксичний аналізатор'' ({{lang-en|Conforming parser}}) не повинен обробляти такі документи. Зокрема, коректний XML документ має:
:* Лише один елемент у корені.
:* Непорожні елементи розмічено початковим та кінцевим тегами (наприклад, <code><пункт>Пункт 1</пункт></code>). Порожні елементи можуть помічатисьпозначатися «закритим» тегом, наприклад <code><IAmEmpty /></code>. Така пара еквівалентна <code><IAmEmpty></IAmEmpty></code>.
:* Один елемент не може мати декілька атрибутів з однаковимоднаковою іменемназвою. Значення атрибутів знаходятьсяперебувають або в одинарних ('), або у подвійних (") лапках.
:* Теги можуть бути вкладені, але не можуть перекриватись. Кожен некореневий елемент мусить повністю знаходитисьперебувати в іншому елементі.
:* Документ має складатися тільки з правильно закодованих дозволених символів множини Юнікоду. Єдиними кодуваннями, які обов'язково має розуміти XML-процесор, є UTF-16 та UTF-8. Фактичне та задеклароване кодування ({{lang-en|character encoding}}) документа мають збігатись. Кодування може бути задекларовано ззовні, як у заголовку «Content-Type» при передачі по протоколу [[HTTP]], або в самому документі використанням явної розмітки на самому початку документа. У разі відсутності інформації про кодування, документ має бути в кодуванні UTF-8 (або його підмножині ASCII).
; Валідність
: Документ називається валідним ({{lang-en|valid}}), якщо він є коректним, містить посилання на граматичні правила та повністю відповідає обмеженням, вказаним у цих правилах ([[Document Type Definition|DTD]] або [[XML Schema (W3C)|XML Schema]] або іншому подібному документі).
Рядок 48:
:<code><Step></code> … <code></step></code>
 
Правильний вибір іменназв для XML елементів підкреслюватиме значення даних у створеній мові розмітки. Це сприятиме полегшенню роботи людей з такими документами, зберігаючи можливості для комп'ютерної обробки даних. Вибір значущихзмістовних іменназв передає [[семантика|семантику]] елементів та атрибутів для людини, без посилання на зовнішню документацію. Однак це може призвести до надмірності розмітки, що ускладнює редагування ій збільшує розмір файлів.
 
== Структура ==
Рядок 75:
=== Фізична структура ===
 
* [[SGML сутність|Сутності]] ({{lang-en|Entity}}). Головною сутністю є зміст документа. Інші можливі сутності вказуються ізза допомогою
** [[Сутності в мовах розмітки|Посилання на сутності]] (<code>''&назва;''</code> в самому документі, та, наприклад <code>''%назва;''</code> у визначені його типу) можуть слугувати в ролі позначень спеціальних символів, посилань на спеціальні символи (вказуючи коди символів <code>&#''десяткове'';</code>, або <code>&#x''шістнадцяткове'';</code>) або окремих документів чи фрагментів тексту.
* [[XML декларація]], в ній вказується версія XML, кодування та інша допоміжна інформація.