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

Ссылки Спецификация XInclude (англ.)

Категория:XML