Парсер XML в PHP понимающий включение внешних файлов через Entity

kewluser

Новичок
Парсер XML в PHP понимающий включение внешних файлов через Entity

Господа!

Нужен парсер XML, умеющий эффективно обрабатывать XML документы, которые ссылаются на другие XML документы используя механизм сущностей (Entity).

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

Достаточно будет просто сссылки на соответствющие функции/библиотеки, эффетивно решаюшие описанные выше задачи.

-~{}~ 22.03.06 10:28:

Неужели никто ничего по этому вопросу не знает? Или проблема сформулирована не ясно?
 
Re: Парсер XML в PHP понимающий включение внешних файлов через Entity

Результатом работы должен быть ассоциативный массив представляющий дерево документов, полученных путем включения всех Entity в главный.
придется писать самому - неудачная постановка задачи

хотел было посоветовать
http://www.php.net/manual/en/ref.simplexml.php,
но не поможет
тебе скорее не XML парсер, а DTD парсер нужен

DTD это не XML,
использовал бы лучше XInclude для включения внешнего контента и проблем меньше было бы

вот тебе два ценных совета :)
 
За советы спасибо.

Можно пару слов чем отличается DTD от XML и почему мне нужен именно парсер DTD? Я так понимаю DTD это схема описания XML

Проблему решил так, с использованием xml_parser_create()
Работаем в два прохода:
1. Подставляем в документ внешние сущности (если есть)
2. Парсим результат как и раньше
 
Извини добавить мне особо нечего,
вроде все написал,

Уже несколько лет как появилась широкая поддержка XMLSchema XInclude и окончательный переход от использования DTD к XMLSchema это вопрос времени

замени вызовы сущностей на вызовы xinclude (забей на DTD)

если не собираешся, то попробуй разобрать DTD с помощью
http://pear.php.net/package/XML_DTD
 
1. Подставляем в документ внешние сущности (если есть)
Вообще говоря это нехорошо. А если сущность будет внутри CDATA, или ещё каким-то образом экранирована? Да ещё в мультиязыковом документе? Имхо парсить нужно только парсером, и работать через DOM; надежнее и безопаснее будет.

Во всём остальном согласен с ViJu.
 
Нужен парсер XML, умеющий эффективно обрабатывать XML документы
версию php уже догадаешься назвать?
для 5-ки попробуй DOMDocument->resolveExternals и после SimpleXML'ем в массив.
 
Сверху