а именно парсинг отдельно dtd секции и перебор всех входящих в нее частей.
Если пришел целый xml документ, я могу его распарсить и использовать полученное содержимое dtd.
А если есть только текст DTD? Как то в libxml2 я ничего для такого не нашел. В принципе можно порыться в коде libxml2 и вытащить кусок парсинга dtd, но хотелось бы без этого