Как создать минимально допустимый документ с использованием Xerces-C? - PullRequest
0 голосов
/ 08 сентября 2011

Я не нашел, как создать документ по умолчанию из XML-схемы в документации Xerces-C. Тем не менее я пробовал следующее:

const char XMLLinesSchema[] = /* some valid schema */;
MemBufInputSource schema_mem_buf( reinterpret_cast<const XMLByte*>(XMLLinesSchema),
    sizeof(XMLLinesSchema), L"schema" );
XercesDOMParser parser;
// enable schema processing
parser.setDoSchema( true );
parser.setDoNamespaces( true );
// Let's preparse the schema grammar (.xsd) and cache it.
parser.loadGrammar( schema_mem_buf, Grammar::SchemaGrammarType, true );
parser.useCachedGrammarInParse( true );
parser.setValidationScheme( XercesDOMParser::Val_Always );

DOMDocument* doc = parser.getDocument();

Но parser.getDocument возвращает NULL. Что я делаю неправильно? Можно ли создать минимально допустимый документ для указанной XML-схемы с помощью Xerces-C?

1 Ответ

0 голосов
/ 08 сентября 2011

Документация гласит:

Он должен использоваться приложениями, которые выбирают для анализа и обработки XML-документ с использованием API DOM.

Вы используете синтаксический анализатор, поэтому он ожидает, что некоторые входные данные будут проанализированы с помощью функции parse (...) . Вы ничего не проанализировали, поэтому ничего не будет возвращено.

...