如何使用 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 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 模式生成最小允许文档?
I haven't find how to create a default document from XML Schema in Xerces-C documentation. Still I've tried the following:
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();
But parser.getDocument
returns NULL
. What am I doing wrong? Is it possible to generate a minimal allowed document for the specified XML Schema using Xerces-C?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
文档是这样说的:
您正在使用解析器,因此它需要通过 解析 来解析一些输入(...) 函数。您没有解析任何内容,因此不会返回任何内容。
The documentation says this:
You're using a parser so it expects some input to parse, through the parse(...) function. You've parsed nothing, so nothing will be returned.