Мое PHP-приложение должно иметь возможность экспортировать (и импортировать) ряд различных форматов данных, в основном на основе XML.
У меня есть опция
- В PHP используйте DOM для экспорта в какой-либо формат на основе XML, который является расширенным набором всех данных, необходимых для других, и создайте отдельную таблицу стилей XSLT для каждого выходного формата, который я хочу поддерживать, запустив вывод DOM через XSL PHP расширение.
или
- Не использует расширение XSL в PHP, но реализует каждый выходной формат как класс в нативном PHP, который переводит напрямую из внутренних объектов / структур в заданный формат XML с использованием DOM, причем каждый такой класс реализует один и тот же интерфейс, поэтому они взаимозаменяемы.
Приложение будет использоваться университетами и представляет собой инструмент, который по-разному управляет записями людей, а также импортирует / экспортирует из различных источников, таких как их система управления персоналом и т. Д. Я буду реализовывать набор форматов ввода и вывода я, но в будущем есть шанс, что кто-то, использующий его, захочет изменить его для поддержки своего собственного формата.
Одна из причин, по которой я рассматриваю НЕ использовать XSLT, заключается в том, что если кто-то еще будет поддерживать приложение в будущем, кроме меня, то, похоже, очень немногие люди даже знают XSLT - гораздо больше людей знают PHP.
Другое - то, что второе выглядит как более эффективное и «программируемое» решение, и более гибкое в том смысле, что я мог бы так же легко выводить и импортировать из не XML-форматов, таких как CSV или текст на основе столбцов перегружая необходимые части класса, а не то, что часто будет необходимо.
Третья, но очень малая и незначительная причина заключается в том, что PHP требуется перекомпиляция для включения XSL, тогда как DOM включен по умолчанию, поэтому он будет немного более переносимым. Однако это не является большой проблемой, так как легко перенастроить PHP.
Что вы думаете о моих рассуждениях?