Анализ DTD libxml2 из строки завершается сбоем в ATTLISTC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Анализ DTD libxml2 из строки завершается сбоем в ATTLIST

Сообщение Anonymous »

Я хочу внедрить DTD в приложение C++, проанализировать DTD и проверить на его соответствие XML-документ. Однако когда DTD становится достаточно большим, анализатор DTD дает сбой. Если я сбрасываю тот же DTD в файл, а затем использую xmlstarlet -d my.dtd my.xml, он работает правильно. Поэтому я подозреваю, что проблема с управлением буфером. Что я делаю не так?
#include
#include

#include
#include

/*
* DTD as a string.
* Disable any of the ATTLIST entries by setting the #if 0
* and the parser error goes away
*/
const char* dtdstr =
"\n"
#if 1
"\n"
#endif
"\n"
#if 1
"\n"
#endif
"\n"
#if 1
"\n"
#endif
"\n"
#if 1
"\n"
#endif
"\n"
"\n";

const char* xmlstr =
"\n"
" \n"
" \n"
" \n"
" \n"
" \n"
" \n"
"\n";

int main()
{
std::cout
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»