Друлак, Радек
- 1 year ago
- 0
- 0
XML Inclusions (XInclude) — рекомендация Консорциума Всемирной паутины , которая описывает механизм включений в XML -документы текстовых файлов или других XML-документов (а также их частей).
Версия 1.0 спецификации 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.
Исходный документ:
<?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>