Внимание!

Этот документ является переводом и может содержать ошибки и опечатки.

Оригинал этой страницы находится по адресу http://www.w3.org/TR/2009/REC-xmlbase-20090128/.

Все авторские права принадлежат W3C.

Перевод сделал Склепко Т.В., при поддержке сайта бесплатных объявлений о продаже авто в Украине - RSTcars.com.

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 <jmarsh@microsoft.com>
Richard Tobin, Эдинбургский университет <richard@inf.ed.ac.uk>
Перевод:
Тарас Склепко

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

См. также переводы.

Этот документ будет, также, доступен в следующих ненормативных форматах на оригинальном языке (en): HTML с разметкой различий и XML.


Аннотация

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

Статус этого документа

Этот раздел описывает статус данного документа на момент его публикации. Другие документы могут заменять этот документ. Со списком текущих публикаций W3C и последней ревизией этого технического доклада можно ознакомиться в индексе технических докладов W3C на http://www.w3.org/TR/.

Этот документ был подготовлен Рабочей группой W3C XML Core в рамках деятельности W3C XML . Английская версия этой спецификации является нормативной версией. Тем не менее, переводы данного документа см. 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/). Изменения приведены в приложении.

Пожалуйста, сообщите об ошибках в данном документе в публичный список рассылки www-xml-linking-comments@w3.org; по ссылке доступны публичные архивы рассылки.

Не существует введенного доклада или набора тестов для данной спецификации, вместо этого присутствует документ, описывающий методы тестирования соответствия XML Base.

Этот документ был рассмотрен членами W3C, разработчиками программного обеспечения, а также другими группами W3C и заинтересованными сторонами, одобрен Директором как рекомендация W3C. Это стабильный документ и может быть использован в качестве справочного материала или цитат в другом документе. Ролью W3C, в принятии рекомендаций, является привлечение внимания к спецификации и способствование ее широкому распространению. Эти действие направлены на увеличение функциональности и совместимости в Веб (Web).

Этот документ опубликован 24 января 2002 CPP с изменениями, внесенными в соответствии с Процедурой Переходной Патентной Политики W3C. 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 является одной из таких конструкций рассмотренных Рабочей Группой XLink. BASE позволяет авторам документа явно указать базовый URI для решения относительных URI в ссылках на внешние изображения, апплеты, формы обработки программ, таблицы стилей и т.д.

Этот документ описывает механизм сервиса предоставления базового URI для XLink, но, как модульные спецификации, чтобы другие приложения XML пользовались дополнительным контролем относительных URI, а не строились на XLink, но могли использовать и его. Синтаксис состоит из одного имени атрибута xml:base.

Развертывание XML Base через нормативные ссылки на новые спецификации, пример XLink и XML Infoset. Приложения и спецификации, построенные на этих новых технологиях, будут поддерживать XML Base. Поведение xml:base атрибутов приложений, основанных на спецификации, которые не имеют прямых или косвенных нормативных ссылок на XML base не определены.

Эта спецификация не пытается определить, какие строки текста в документе, должны быть истолкованы как URI. Это ответственность каждого словаря XML. Вопрос, адресованный этой спецификации: с учетом относительных URI в документе XML, какой базовый URI?

Ожидается, что в будущем RFC для XML Media Types будет указан XML Base в качестве механизма для создания базовых URI, как это определено в media types.

2 Терминология

[ Определение : ключевые слова must, must not, required, shall, shall not, should, should not, recommended, may, и optional в этой спецификации должны толковаться как это описано в [RFC 2119].]

Условие базового URI и относительного URI используются в этой спецификации, как они определены в [RFC 3986].

3 Атрибут xml:base

Атрибут xml:base может быть включен в документы XML, чтобы определить базовый URI, помимо базового URI документа или внешней сущности. Значение этого атрибута интерпретируется как Legacy Extended IRI (LEIRI), как определено в Примечании W3C "Legacy Extended IRIS для идентификации ресурсов XML" [LEIRI] .

В пространстве имен со списком XML процессоров, "XML" префикс связан с пространством имен http://www.w3.org/XML/1998/namespace , как описано в Пространстве имен в XML [XML Names]. Обратите внимание, что xml:base может до сих пор использоваться без имен со списком процессоров.

Пример xml:base в простом документе, содержащий XLinks следующим образом. 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, а также аналогичные соображения применимы и к другим языкам схемы.

3.1 Кодирование и экранирование в ссылке URI

Значение xml:base атрибута Legacy Extended IRI (LEIRI) и оно может содержать символы, которые непозволительны для URI. (Однако, некоторые символы разрешены в LEIRI недопустимые XML символы, и поэтому они не могут появиться в значениях xml:base.)

В соответствии с принципом, что процесс кодирования должен произойти как можно позже, в технологической цепочке приложений, которые обеспечивают доступ к базовому элементу URI, должны вычислить и вернуть значение, не скрывая его.

В приведенном ниже примере база URI элемента e2 должна быть возвращена как "http://example.org/wine/rosé".

<?xml version="1.0"?>
<e1 xml:base="http://example.org/wine/">
  <e2 xml:base="rosé"/>
</e1>

4 Разрешение Относительных URI

4.1 Отношение к RFC 3986

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

  1. Базовый URI вкладывается в содержание документа.

  2. Базовый URI - это инкапсулирующая структура (сообщение, документ или пустой элемент).

  3. Базовый URI - URI использованный для восстановления структуры.
  4. Базовый URI определяется контекстом приложения.

Примечание:

Термин "структура" в пунктах № 2 и № 3 , использует RFC 3986 смысл. В других местах этого документа термин "структура" используется с 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 атрибута может быть с неправильным значением, это зависит от версии приложения Legacy Extended IRI .

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 Схема также могут привести к неожиданным результатам; даже если проверка процессора используется приложением, добавление дефолт атрибутов после создания Infoset может привести к десинхронизации XML: base атрибутов с [базовый URI] Infoset собственности. По этим причинам, xml:base значения должны быть предоставлены либо непосредственно в экземпляре документа XML или по умолчанию атрибутов, объявленных во внутреннем подмножестве DTD.

4.4 Интерпретация ссылок в одном документе

RFC 3986 определяет некоторые относительные URI ссылки, в частности, пустая строка, и те формы #fragment, как в тот же документ ссылки. Разыменование того же документа-ссылок обрабатываются специальным образом. Тем не менее, их использование в качестве значения xml:base атрибута не приветствуется разыменование XML Base процессоры должны решать их в обычном порядке. В частности, xml:base="" не сбрасывает базу URI, как и содержащий это документ.

Примечание:

Некоторые из существующих процессоров соотносятся к этим действиям значений xml:base, таких как сброс базы URI, как и в содержащем документе, поэтому использование таких значений, настоятельно не рекомендуется.

5 Соответствия

Приложение соответствует XML Base, так как оно рассчитывает базовый URI, в соответствии с условиями, установленными в данной спецификации.

A Ссылки

RFC 2119
RFC 2119: Key words for use in RFCs to Indicate Requirement Levels. Internet Engineering Task Force, 1997.
RFC 3986
RFC 3986: Uniform Resource Identifier (URI): Generic Syntax. Internet Engineering Task Force, 2005.
LEIRI
Legacy extended IRIs for XML resource identification. Henry S. Thompson, Richard Tobin, and Norman Walsh, редакторы. World Wide Web Consortium.
XML
Extensible Markup Language (XML) 1.0. Tim Bray и др. World Wide Web Consortium.
XML Names
Namespaces in XML 1.0.. Tim Bray и др. World Wide Web Consortium.

B Ссылки (Ненормативные)

HTML 4.01
HTML 4.01 Specification. Dave Raggett, Arnaud Le Hors, Ian Jacobs, редакторы. World Wide Web Consortium, 1999.
XLink
XML Linking Language (XLink). Steve DeRose, Eve Maler, David Orchard и Ben Trafford, редакторы. World Wide Web Consortium, 2000.
XML Datatypes
XML Schema Part 2: Datatypes. Paul V. Biron, Ashok Malhotra, редакторы. World Wide Web Consortium Working Draft.
XHTML
XHTML(TM) 1.0: The Extensible HyperText Markup Language. Steven Pemberton и др. World Wide Web Consortium, 2000.
XML Infoset
XML Information Set. John Cowan и Richard Tobin, редакторы. World Wide Web Consortium, 1999.
XPath
XML Path Language James Clark и Steven DeRose, редакторы. World Wide Web Consortium, 1999.
XSLT
XSL Transformations. James Clark, редактор. World Wide Web Consortium, 1999.

C Воздействия на Другие Стандарты (Ненормативные)

Этот раздел был удален.

D Изменения с момента первого издания (Ненормативные)

  1. Опубликованный список известных ошибок (см. http://www.w3.org/2001/06/xmlbase-errata) был включен;

  2. Определение URI ссылки было изменено с RFC2396 на 3986;

  3. Базовые XML атрибуты переписываются как Legacy Extended IRI, но это не меняет их синтаксис (в декабре 2006 года используется термин "XML Resource Identifier", который должен быть определен в пересмотре XLink, но этот план был заменен по определению LEIRI в W3C примечании);

  4. Реализации в настоящее время возвращают базовый “URI” без экранирующих не-URI символов;

  5. Значения xml:base="" и xml:base="#frag" были выяснены;

  6. Ожидаемая ссылка на базовый XML в предстоящем XML Media Types RFC (“son of 3023”) была отмечена;

  7. Было уточнено, как обычные правила применяются к XML базовым атрибутам;

  8. Устарелое приложение, описывающее эффекты по другим стандартам, было удалено;

  9. Различные незначительные редакционные изменения были сделаны.