XML Base (Друге Видання) (original) (raw)
Цей документ документ є не офіційним перекладом початкової англійської версії XML Base (Second Edition). Зверніть увагу на те, що оригінальна версія документа існує тільки англійською мовою. Даний переклад може містити неточності та помилки. © Зайцев Дмитро, 2011. За підтримкою сайту latex foam. Коментарі до перекладу залишайте тут | | На головну
Статус цього Документу
Цей розділ описує статус даного документу на момент його публікації. Інші документи можуть заміняти цей документ. Зі списком поточних публікацій W3C та останньою ревізією цієї технічної доповіді можна ознайомитися в індексі технічних доповідей W3C на http://www.w3.org/TR/.
Цей документ був підготовлений W3C XML Core Working Group, як частина W3C XML Activity. Англійська версія цієї специфікації являє собою єдину нормативну версію. Тим не менш, переклади даного документу див. http://www.w3.org/2003/03/Translations/byTechnology?technology=xmlbase
Цей документ є Відредактованою Рекомендацією W3C. Він заміняє попередню Рекомендацію W3C від 27 червня 2001 року. Це друге видання, не є новою версією XML Base; Його мета полягає у з'ясуванні низки питань, які стали очевидними після того, як було опубліковано перше видання. Деякі з них були спочатку опубліковані у вигляді окремих виправлень (http://www.w3.org/2001/06/xmlbase-errata), інші були опубліковані у публічному редакторському проекті у листопаді 2006 року (http://www.w3.org/XML/2006/11/xmlbase-2e/Overview.html), та у запропонованій редагованій рекомендації (PER) у грудні 2006 року (http://www.w3.org/TR/2006/PER-xmlbase-20061220/). Усі зміни наведено у додатку.
Будь ласка, повідомте про помилки в даному документі до публічного списку розсилки[email protected]; також, доступні публічніархіви.
Не існує звітів про здійснення або тестового набору для цієї специфікації, проте є документ, який описуєметоди тестування відповідності XML Base.
Цей документ було розглянуто членами W3C, розробниками програмного забезпечення, а також іншими групами W3C і зацікавленими сторонами, та схвалений Директором у якості Рекомендації W3C. Це стабільний документ і може бути використаний у якості довідкового матеріалу або цитат в іншому документі. Роль W3C у розробці Рекомендації, полягає в залученні уваги до специфікації та сприяти її широкому поширенню. Це підвищує функціональність та сумісність у Веб (Web).
Цей документ регламентується документом від24 January 2002 CPPз поправками, які були внесені завдякиW3C Patent Policy Transition Procedure. W3C підтримуєпублічний список відкритих патентівзроблений у зв'язку з результатами діяльності групи; ця сторінка також включає в себе інструкції з розкриття патенту. Особи, що володіють актуальною інформацією про патент, яка задовольняєосновним вимогам повинні розкрити цю інформацію згідно допункту 6, патентної політики W3C.
1 Вступ
XML Linking Language [XLink] визначає конструкції Розширювану Мову Розмітки (XML) 1.0 [XML] для опису зв'язків між ресурсами. Одна із заявлених вимог XLink є підтримка зв'язувальних конструкцій HTML[HTML 4.01] в загальному вигляді. Елемент HTML BASE - є тією конструкцією, яку було розглянуто Робочою Групою XLink. Елемент BASE дозволяє авторам явно вказувати базовий URI документа з метою дозволу відносних URI у посиланнях до зовнішніх зображень, аплетів, програм опрацювання форм, таблиць стилів, і так далі.
Цей документ описує механізм надання послуг базових URI до XLink, але у якості модульної специфікації, у зв'язку з цим інші додатки XML отримують зиск від додаткового контролю над відносними URI, але не роблять того, доки XLink може також їх використовувати. Синтаксис складається з одного атрибуту XML - xml:base
.
Розгортання XML Base відбувається через нормативні посилання до нових специфікацій, наприклад XLink та XML Infoset. Програми та специфікації які будуються на цих нових технологіях, будуть мати вбудовану підтримку XML Base. Поведінка атрибутів xml:base
у програмах, заснованих на специфікаціях які не мають прямих чи непрямих нормативних посилань до XML Base, є невизначеною.
Ця специфікація не намагається вказати які рядки тексту у документі повинні бути інтерпретовані, як URI. За це відповідає кожен словник XML. Загальне питання яке намагаються розкрити у цій специфікації є: Якщо у документі XML є відносне URI, тоді яке базове URI буде дозволяти його?
Очікується, що в майбутньому, RFC для типів носіїв XML, буде вказувати XML Base, в якості механізму для створення базових URI у типах носіїв, які він визначає.
2 Термінологія
[Визначення: Ключові словамусить (must), не мусить (must not), необхідно (required),повинен (shall), не повинен (shall not), слід (should), не слід (should not), рекомендовано (recommended), може (may), та необов'язково (optional) у цій специфікації, повинні бути інтерпретовані, як це описано у документі[RFC 2119].]
Терміни базові URI (base URI) та відносні URI (relative URI) використовуються у цій специфікації так, як вони визначені у документі [RFC 3986].
3 Атрибут xml:base
Атрибут xml:base
може бути вставлений у документи XML, для визначення базового URI, відмінного від базового URI документа або зовнішнього об'єкту. Значення цього атрибуту інтерпретується як Розширена Спадкова IRI (Legacy Extended IRI (LEIRI)), як це визначено у Примітці W3C "Розширені спадкові IRI для ідентифікації ресурсів XML"[LEIRI] .
У процесорах XML, які обізнані про простори імен, префікс "xml" відноситься до назви простору імен http://www.w3.org/XML/1998/namespace
, як це описано у Простори імен у XML[XML Names]. Зверніть увагу, що xml:base
може бути все ще використовуватись процессорами, які не обізнані про простори імен.
Приклад xml:base
у простому документі, який містить посилання XLink. XLink нормативно посилається до XML Base для інтерпретації відносних посилань URI у атрибутах xlink:href
.
Virtual Library See what's new! Check out the hot picks of the day! Hot Pick #1 Hot Pick #2 Hot Pick #3
В даному прикладі, URI складаються до повними URI, наступним чином:
- "what's new" складається до URI "http://example.org/today/new.xml"
- "Hot Pick #1" складається до URI "http://example.org/hotpicks/pick1.xml"
- "Hot Pick #2" складається до URI "http://example.org/hotpicks/pick2.xml"
- "Hot Pick #3" складається до URI "http://example.org/hotpicks/pick3.xml"
Примітка:
Ця специфікація не надає атрибуту xml:base будь-якого особливого статусу, наскільки в цьому зацікавлена валідність XML. У дійсному документі атрибут повинен бути оголошеним у DTD, та аналогічні розуміння застосовуються до інших мов schema.
3.1 Екранування та кодування посилань URI
Значення атрибуту xml:base
є Розширеним Спадковим IRI (Legacy Extended IRI (LEIRI)), та може містити символи, які не дозволені в URI. (Проте, деякі дозволені символи у LEIRI є не дійсними XML символами, і тому не може з'являтися у значенняхxml:base
.)
Відповідно до принципу, що відсоткове-кодування повинно відбутися, як змога пізніше в технологічному ланцюжку, програми, які забезпечують доступ до базового URI елементаповинні обчислити і повернути значення без екранування.
У прикладі, що наведено нижче, базовий URI елемента e2
повинен бути повернутий як "http://example.org/wine/rosé".
4 Дозвіл відносних URI
4.1 Відношення до документа RFC 3986
Документ RFC 3986 [RFC 3986] забезпечує інформацію для вбудовування базових URI у документ. Правила для визначення базових URI можуть бути підсумовані наступним чином (від вищого до нижчого за пріоритетом):
- Базовий URI входить до вмісту документа.
- Базовий URI є тим, що називають інкапсульованою сутністю (повідомлення, документ, або нічого).
- Базовим URI є URI, яка використовується для отримання сутності.
- Базовий URI визначається контекстом програми.
Примітка:
Термін "сутність" ("entity") який зустрічається у вище наведених пунктах #2 та #3, використовується у розумінні як цей термін зазначений у документі RFC 3986. В усіх інших місцях цього документу, термін "сутність" ("entity") використовується у сенсі XML.
Цей документ визначає деталі правила #1 для вбудовування інформації базового URI в кожному конкретному випадку документів XML.
4.2 Деталізація інформації базового URI
Відносні URI, що з'являються у документі XML, завжди визначаються до якого елемента, сутності документа або зовнішньої сутності вони відносяться. Не існує положень для більш точної деталізації таких як за атрибутом, за символом, або за сутністю базової інформації. Ні внутрішні сутності, які оголошені у внутрішній підмножині або зовнішньому DTD, ні автономний текст (текст, який не укладено до елементу) у зовнішній сутності, не вважаються встановленими базовими URI окремо від базового URI в області дії посилання сутності.
Базовий URI сутності документа або зовнішньої сутності, визначається правилами у документі RFC 3986, а саме, що базовий URI, це URI який використовується для отримання сутності документа або зовнішньої сутності.
Базовим URI елементу є:
- базовий URI зазначений атрибутом
xml:base
у елементі, якщо існує, в іншому випадку є - базовий URI елементу батьківського елементу у сутності документу або зовнішній сутності, якщо існує, в іншому випадку
- базовий URI сутності документа або зовнішньої сутності, що містить елемент.
Примітка:
Звідси випливає, що базовий URI, зазначений атрибутом xml:base
успадковується нащадками елементів у рамках однієї сутності, доки не зустрінеться інший елемент із атрибутом xml:base
.
Базовий URI елемента, який має атрибут xml:base
із значенням, яке не є допустимим LEIRI, є залежним від програми яка його використовує.
4.3 Відповідність URI до базових URI
Базовий URI, що відповідає даному відносному URI і з'являється у документі XML, визначається таким чином:
- Базовий URI для посилання URI, з'являється у текстовому вмісті, як базовий URI елемента, який містить текст.
- Базовий URI для посилання URI, з'являється у атрибуті
xml:base
, як базовий URI батьківського елементу елемента, який містить атрибутxml:base
, якщо такий існує у сутності документа або зовнішній сутності, в іншому випадку базовий URI сутності документа або зовнішньої сутності містить елемент. - Базовий URI для посилання URI, який з'являється у будь-якому іншому значенні атрибута, включаючи значення атрибуту за замовчуванням, є базовим URI елемента до якого відноситься цей атрибут.
- Базовий URI для посилання URI, який з'являється у вмісті інструкцій обробки, є базовим URI батьківського елементу інструкції з обробки, якщо він існує у сутності документа або зовнішній сутності, в іншому випадку базовий URI сутності документа або зовнішньої сутності містить інструкції з обробки.
Примітка:
Наявність атрибутів xml:base
може призвести до несподіваних результатів у тому випадку, коли значення атрибуту надається не безпосередньо у сутності документа XML, а через атрибути за замовчуванням. Наприклад, таке оголошення у зовнішній сутності може не бути прочитаним програмним забезпеченням, яке засновано на неперевіряючому процесорі XML. Атрибути за замовчуванням які надаються через зовнішній механізм, такий як XML Schema, можуть також призвести до несподіваних результатів; навіть якщо перевіряючий процесор використовується програмою, додавання атрибутів за замовчуванням після створення інформаційного набору, може призвести до того, що атрибути xml:base розсинхронізуються із [base URI] властивостями інформаційного набору. За цих причин, значенняxml:base
valuesповинні бути надані або безпосередньо у екземплярі документу XML, або через атрибути за замовчуванням, які оголошені у внутрішній підмножині DTD.