XInclude

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

XML Inclusions (XInclude) — рекомендация Консорциума Всемирной паутины, которая описывает механизм включений в XML-документы текстовых файлов или других XML-документов (а также их частей).

Общие сведения

Версия 1.0 спецификации XInclude описывает пространство имён http://www.w3.org/2001/XInclude и два XML-элемента внутри этого пространства имён: include и fallback.

Элемент include определяет включение:

  <include xmlns="http://www.w3.org/2001/XInclude" href="included_document.xml"/>

Можно также включить текстовый файл:

  <include xmlns="http://www.w3.org/2001/XInclude" href="my_text.txt" parse="text"/>

Элемент fallback позволяет задать альтернативное содержимое для случаев, когда ресурс, указанный в include, недоступен. Возможно использование элементов include внутри fallback, например:

  <div xmlns:xi="http://www.w3.org/2001/XInclude">
    <xi:include href="contents.xml">
      <xi:fallback>
        <xi:include href="alternative_contents.xml">
          <xi:fallback><strong>ошибка: </strong>оба ресурса недоступны</xi:fallback>
        </xi:include>
      </xi:fallback>
    </xi:include>
  </div>

Семантика XInclude отличается от XLink тем, что XInclude описывает включение (слияние) документов, подобно #include препроцессора языка Си, в то время как XLink определяет ссылку из одного документа на другой.

Механизм XInclude обрабатывается на низком уровне (обычно отдельным XInclude-процессором), но не на уровне синтаксического анализатора XML.

Пример использования XInclude

Исходный документ:

  <?xml version='1.0' encoding="UTF-8"?>
  <document xmlns:xi="http://www.w3.org/2001/XInclude">
    <p>Текст моего документа</p>
    <xi:include href="copyright.xml"/>
  </document>

Если copyright.xml содержит следующие строки:

  <?xml version='1.0' encoding="UTF-8"?>
  <copyright>Все права защищены © 2001-2010</copyright>

то после обработки исходного документа процессором XInclude результатом является следующий документ:

  <?xml version='1.0' encoding="UTF-8"?>
  <document xmlns:xi="http://www.w3.org/2001/XInclude">
    <p>Текст моего документа</p>
    <copyright>Все права защищены © 2001-2010</copyright>
  </document>


См. также

  • XLink, XPointer — языки описания ссылок XML
  • XPath — язык адресации XML

Ссылки