Цей документ документ є не офіційним перекладом початкової англійської версії XML Base (Second Edition). Зверніть увагу на те, що оригінальна версія документа існує тільки англійською мовою. Даний переклад може містити неточності та помилки. © Зайцев Дмитро, 2011. За підтримкою сайту latex foam. Коментарі до перекладу залишайте тут | | На головну

W3C

XML Base (Друге Видання)

Рекомендація W3C 28 січня 2009 року

Поточна версія:
http://www.w3.org/TR/2009/REC-xmlbase-20090128/
Остання версія:
http://www.w3.org/TR/xmlbase/
Попередні версії:
http://www.w3.org/TR/2001/REC-xmlbase-20010627/ http://www.w3.org/TR/2008/PER-xmlbase-20080320/
Редактори:
Джонатан Марш (Jonathan Marsh), Microsoft <[email protected]>
Річард Тобін (Richard Tobin), University of Edinburgh <[email protected]>

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

Див. також переклади.

Цей документ, також доступний в таких ненормативних форматах як: HTML із зазначеними відмінностями від другого видання та XML.


Анотація

Цей документ описує об'єкт, для визначення базових URI різних частин документів XML, аналогічно як і у HTML BASE.

Статус цього Документу

Цей розділ описує статус даного документу на момент його публікації. Інші документи можуть заміняти цей документ. Зі списком поточних публікацій 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 Вступ
2 Термінологія
3 Атрибут xml:base
    3.1 Екранування та кодування посилань URI
4 Дозвіл відносних URI
    4.1 Відношення до документа RFC 3986
    4.2 Деталізація інформації базового URI
    4.3 Відповідність URI до базових URI
    4.4 Інтерпретація посилань на один і той же документ
5 Відповідність

Додатки

A Посилання
B Посилання (Ненормативне)
C Вплив на інші стандарти (Ненормативне)
D Зміни в порівнянні з першим виданням (Ненормативне)


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.

<?xml version="1.0"?>
<doc xml:base="http://example.org/today/"
     xmlns:xlink="http://www.w3.org/1999/xlink">
  <head>
    <title>Virtual Library</title>
  </head>
  <body>
    <paragraph>See <link xlink:type="simple" xlink:href="new.xml">what's
      new</link>!</paragraph>
    <paragraph>Check out the hot picks of the day!</paragraph>
    <olist xml:base="/hotpicks/">
      <item>
        <link xlink:type="simple" xlink:href="pick1.xml">Hot Pick #1</link>
      </item>
      <item>
        <link xlink:type="simple" xlink:href="pick2.xml">Hot Pick #2</link>
      </item>
      <item>
        <link xlink:type="simple" xlink:href="pick3.xml">Hot Pick #3</link>
      </item>
    </olist>
  </body>
</doc>

В даному прикладі, URI складаються до повними URI, наступним чином:

Примітка:

Ця специфікація не надає атрибуту xml:base будь-якого особливого статусу, наскільки в цьому зацікавлена валідність XML. У дійсному документі атрибут повинен бути оголошеним у DTD, та аналогічні розуміння застосовуються до інших мов schema.

4 Дозвіл відносних URI

4.1 Відношення до документа RFC 3986

Документ RFC 3986 [RFC 3986] забезпечує інформацію для вбудовування базових URI у документ. Правила для визначення базових URI можуть бути підсумовані наступним чином (від вищого до нижчого за пріоритетом):

  1. Базовий URI входить до вмісту документа.

  2. Базовий URI є тим, що називають інкапсульованою сутністю (повідомлення, документ, або нічого).

  3. Базовим URI є URI, яка використовується для отримання сутності.

  4. Базовий 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 елементу є:

  1. базовий URI зазначений атрибутом xml:base у елементі, якщо існує, в іншому випадку є

  2. базовий URI елементу батьківського елементу у сутності документу або зовнішній сутності, якщо існує, в іншому випадку

  3. базовий 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.

5 Відповідність

Програма відповідає XML Base, якщо вона розраховує базові URI відповідно до умов, викладених в даній специфікації.

A Посилання

RFC 2119
RFC 2119: Ключові слова для використання у документах RFC для Зазначення Рівнів Вимог. Internet Engineering Task Force, 1997.
RFC 3986
RFC 3986: Універсальний Ідентифікатор Ресурсу (URI): Загальний Синтаксис. Internet Engineering Task Force, 2005.
LEIRI
Спадкові розширені IRI для ідентифікації ресурсу XML. Генрі С. Томпсон (Henry S. Thompson), Річард Тобін (Richard Tobin), та Норман Уолш (Norman Walsh), редактори. World Wide Web Consortium.
XML
Розширювана Мова Розмітки (XML) 1.0. Тім Брей (Tim Bray) і співавт. World Wide Web Consortium.
XML Names
Простори імен у XML 1.0.. Тім Брей і співавт. World Wide Web Consortium.

B Посилання (Ненормативні)

HTML 4.01
Специфікація HTML 4.01. Дейв Раджет (Dave Raggett), Арноуд Ле Хорс (Arnaud Le Hors), Ян Джейкобс (Ian Jacobs), редактори. World Wide Web Consortium, 1999.
XLink
Мова XML Linking (XLink). Стів ДеРоуз (Steve DeRose), Ів Мейлер (Eve Maler), Девід Орчард (David Orchard), та Бен Треффорд (Ben Trafford), редактори. World Wide Web Consortium, 2000.
Типи даних XML
XML Schema Частина 2: Типи даних. Пол В. Байрон (Paul V. Biron), Ашок Малхотра (Ashok Malhotra), редактори. World Wide Web Consortium Working Draft.
XHTML
XHTML(TM) 1.0: Розширювана мова розмітки гіпертексту. Стівен Пембертон (Steven Pemberton), та співавт. World Wide Web Consortium, 2000.
XML Infoset
Інформаційний набір XML. Джон Коуан (John Cowan) та Річард Тобін, редактори. World Wide Web Consortium, 1999.
XPath
Мова XML Path Джеймс Кларк (James Clark) та Стівен ДеРоуз (Steven DeRose), ред. World Wide Web Consortium, 1999.
XSLT
Трансформації XSL. Джеймс Кларк (James Clark), редактор. World Wide Web Consortium, 1999.

C Вплив на інші стандарти (Ненормативне)

Цей розділ було видалено.

D Зміни в порівнянні з першим виданням (Ненормативне)

  1. Були включені опубліковані виправлення (див. http://www.w3.org/2001/06/xmlbase-errata);

  2. Визначення посилання URI було змінено з RFC2396 до 3986;

  3. Атрибут xml:base був перевизначений, як Спадковий Розширений IRI, проте це не змінило його синтаксис (у грудні 2006 року PER використав термін "Ідентифікатор ресурсу XML" ("XML Resource Identifier"), який повинен був бути визначений у перевиданні XLink, проте цей план був замінений визначенням LEIRI у W3C Note);

  4. Теперішні реалізації сприяють поверненню базових “URI” без екранування не-URI символів;

  5. Були уточнені значення xml:base="" та xml:base="#frag";

  6. Було відзначено посилання до XML Base, що очікуються у майбутніх XML Media Types RFC (“son of 3023”);

  7. Було уточнено, що нормальні дійсні правила застосовуються до атрибуту xml:base;

  8. Було видалено застарілий додаток, що описує вплив на інші стандарти;

  9. Також були зроблені різні незначні редакційні зміни.