【发布时间】:2011-09-08 08:45:42
【问题描述】:
我在 Xerces-C 文档中没有找到如何从 XML 模式创建默认文档。我仍然尝试了以下方法:
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 生成最小允许文档?
【问题讨论】:
标签: c++ xml xsd xerces xerces-c