XML - Какие значения допустимы для атрибута xml: base? - PullRequest
1 голос
/ 18 ноября 2010

Мне было интересно, какие значения допустимы для атрибута xml: base?

1 Ответ

0 голосов
/ 18 ноября 2010

См. База XML

Атрибут xml:base может быть вставлен в документы XML для указания базового URI, отличного от базового URI документа или внешнего объекта. Значение этого атрибута интерпретируется как устаревший расширенный IRI (LEIRI), как это определено в примечании W3C «Устаревшие расширенные IRI для идентификации ресурса XML»

См. Устаревшие расширенные IRI для идентификации ресурса XML для технических подробностей.

Вот пример из спецификации:

<?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>

Редактировать : IRI - это расширение URI, которое является расширением URL; поэтому для простых сценариев вы можете думать о них как о URL-адресах с большим количеством расширений.

RFC3987

Унифицированный идентификатор ресурса (URI) определен в [RFC3986] как последовательность символов, выбранных из ограниченного подмножества репертуара символов US-ASCII [ASCII]. Этот документ определяет новый элемент протокола под названием Интернационализированный Resource Identifier (IRI), расширяя синтаксис URI до более широкий репертуар персонажей.

Согласно спецификации,

Синтаксис устаревших расширенных ссылок IRI (LEIRI) и LEIRI такой же, как и для ссылок IRI и IRI, за исключением того, что ucschar переопределен.

IRI:

ucschar        ::= %xA0-D7FF / %xF900-FDCF / %xFDF0-FFEF
                   / %x10000-1FFFD / %x20000-2FFFD / %x30000-3FFFD
                   / %x40000-4FFFD / %x50000-5FFFD / %x60000-6FFFD
                   / %x70000-7FFFD / %x80000-8FFFD / %x90000-9FFFD
                   / %xA0000-AFFFD / %xB0000-BFFFD / %xC0000-CFFFD
                   / %xD0000-DFFFD / %xE1000-EFFFD

LEIRI:

ucschar    ::=  " " / "<" / ">" / '"' / "{" / "}" / "|"
                    / "\" / "^" / "`" / %x0-1F / %x7F-D7FF
                    / %xE000-FFFD / %x10000-10FFFF
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...