SWI-Prolog может многое предложить в качестве обобщенного XML-процессора.
library(sgml)
для чтения/записи структурированных форматов XML, library(xpath)
для навигации и многого другого... но если я попытаюсь прочитать SVG, что это допустимый XML, я получаю сообщение:
ERROR: SGML2PL(xml): ...my_file...svg:2: file "...myfile.path.../http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" does not exist
ложный.
У кого-нибудь есть намек на это? Я также хотел бы переписать в конечном итоге измененное содержимое файла, сохранив, конечно, характерный DTD.