php-скрипт для преобразования xml в dtd
Существует ли какой-либо PHP-скрипт для преобразования XML-файла в DTD.
Я много пробовал. Я могу найти инструменты, но не могу написать PHP-скрипт.
Есть ли они?
Любая помощь будет благодарна...
Феро
2 answers
Создание DTD из XML-файла - это то, что я не видел довольно часто - одна из основных причин заключается в том, что вы не можете быть уверены, что XML-файл, который вы использовали для создания DTD, будет содержать все, что должно определять DTD.
Т.е. сгенерированный DTD будет содержать только элементы и атрибуты, которые присутствовали в этом конкретном XML-файле , что не обязательно означает все элементы и атрибуты, которые должны быть приняты при его использовании позже.
При этом я не нашел ни одного PHP-инструмента для создания DTD из XML-файла...
... Но я нашел JAVA-версию : DTDGenerator - Инструмент для создания XML-DTD ( цитирование) :
DTDGenerator - это программа, которая принимает XML-документ в качестве входных данных и создает определение типа документа (DTD) в качестве вывода.
Цель программы состоит в том, чтобы дать вам краткое начало написания DTD.
DTD - это один из многих возможных DTD , которым соответствует входной документ.
Как правило, вы захотите изучить DTD и отредактируйте его, чтобы более точно описать ваши предполагаемые документы.
Пара приятных моментов в этой программе DTDGenerator
:
- На веб-сайте есть некоторые пояснения об основных идеях того, как это работает
- Исходный код предоставлен
- Длина всего менее 600 строк
- что означает один должен быть в состоянии понять без особых усилий
- и возможно, перенесите его на PHP ?
- И в исходном коде есть некоторые комментарии , которые помогли бы.
- Он опубликован под MPL -- что означает открытый исходный код; что хорошо, если вы хотите его перенести
Начиная с исходного кода этой программы, должна быть возможность написать некоторый PHP-код (если вы не можете выполнить JAVA, и вам действительно нужно это должно быть написано на PHP) чтобы сделать то же самое: основные идеи не так сложны:
- Вы должны пройти через структуру XML
-
построение древовидного представления для каждого начального тега
- что означает элементы
- которые могут иметь атрибуты
- И, когда вы закончите просмотр XML-документа, вам нужно будет создать DTD на основе вашего представления документа
- Это может быть самой трудной частью -- глядя на источник инструмента JAVA, на который я ссылался, он представляет довольно большое количество строк кода ^^
Приятно взглянуть на это DTDGenerator
прежде чем начать, его автор уже думал об этом процессе - и уже определил некоторые ситуации, о которых вы, возможно, не подумали ;-)
Вот что я нашел, что может быть полезно: http://www.hitsw.com/xml_utilites/
Существует также класс, который кажется многообещающим: http://phpclasses .2by2host.com/browse/package/250.html