использование XIncludes вместе с XML::XPath в perl

программирование perl xml xpath xincludes

Есть задача - на перле парсить XML конфиг и делать с ним всякие страшные вещи. Пока конфиг был один - всё было хорошо. Но теперь файлов с конфигами стало несколько и нужно подключать их друг в друга, чтобы был один большой мегаконфиг :)

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

в инете я прочитал о такой вещи, как XIncludes. Т.е. просто в нужном месте конфига пишем
<xi:include href="include_xml_here.xml" parse="xml" xmlns:xi="http://www.w3.org/2003/XInclude" />
и содержимое вставляется.

Проблема лишь в том, что XML::XPath этих конструкций не понимает. Есть ли какие-то простые пути решения проблемы? Переписывать всё на использование XML::LibXML (который понимает XIncludes) увы нереально :(

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

Пока что самым простым вариантом так и остается использование собственного скрипта, который склеивает несколько XML файлов в один
Ответы:
Реальное решение - это дожидаться обновления библиотеки, которая парсает XML. Либо написать ручками соответствующую функцию. Либо попробовать XLink


16 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

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

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.