我还没有找到如何在Xerces-C文档中从XML Schema创建默认文档。我仍然尝试过以下方法:
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
。我究竟做错了什么?是否可以使用Xerces-C生成指定XML Schema的最小允许文档?
答案 0 :(得分:0)
文档说明了这一点:
应该由选择解析和处理的应用程序使用 使用DOM api的XML文档。
您正在使用解析器,因此需要通过parse(...)函数解析一些输入。你没有解析任何东西,所以什么都不会被退回。