Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用Xerces-C生成允许的最小文档?_C++_Xml_Xsd_Xerces_Xerces C - Fatal编程技术网

C++ 如何使用Xerces-C生成允许的最小文档?

C++ 如何使用Xerces-C生成允许的最小文档?,c++,xml,xsd,xerces,xerces-c,C++,Xml,Xsd,Xerces,Xerces C,我还没有在Xerces-C文档中找到如何从XML模式创建默认文档。但我还是尝试了以下方法: const char XMLLinesSchema[] = /* some valid schema */; MemBufInputSource schema_mem_buf( reinterpret_cast<const XMLByte*>(XMLLinesSchema), sizeof(XMLLinesSchema), L"schema" ); XercesDOMParser pa

我还没有在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架构生成允许的最小文档?

文档说明:

它应该被选择解析和处理的应用程序使用 使用domapi的XML文档


您使用的是解析器,因此它希望通过函数解析一些输入。您没有解析任何内容,因此将不会返回任何内容。

我应该使用什么来代替XercesDOMParser?我认为您需要考虑使用DOMDImplementation::createDocument来创建默认文档,IIRC,您也可以在那里设置模式等。