У меня есть много внешних DTD для разных типов документов XML. Все DTD очень похожи: включают общие определения DTD, а затем 5-10 строк определений типа документа, которые полагаются на общие определения. Хотя конкретные определения коротки, общие определения велики.объединить несколько DTD в одну или повторно использовать общую часть
Возможно ли каким-либо образом объединить все эти небольшие внешние DTD в один большой DTD?
Конкретная проблема, которую я испытываю, это накладные расходы на разбор DTD. Первой идеей было кэширование разобранных DTD. И все же идея потерпела неудачу, поскольку, как я выяснил, каждый из DTD (с libxml2 v2.9.2) занимает ~ 1,1 МБ ОЗУ: умножается на ~ 25, количество DTD, что намного выше нашего предела памяти , Поскольку 99% DTD на самом деле являются одними и теми же общими определениями, я ищу способы как-то повторно использовать общую часть.