感谢Stack Overflow的jmbr,我终于找到了一种通过C程序来验证xml和RELAX NG的方法。该计划如下...
#include
#include
#include
#include
#include
#include
int main(int argc, char *argv[])
{
int status;
xmlDoc *doc;
xmlRelaxNGPtr schema;
xmlRelaxNGValidCtxtPtr validctxt;
xmlRelaxNGParserCtxtPtr rngparser;
doc = xmlParseFile(argv[1]);
rngparser = xmlRelaxNGNewParserCtxt(argv[2]);
schema = xmlRelaxNGParse(rngparser);
validctxt = xmlRelaxNGNewValidCtxt(schema);
status = xmlRelaxNGValidateDoc(validctxt, doc);
printf("status == %d\n", status);
xmlRelaxNGFree(schema);
xmlRelaxNGFreeValidCtxt(validctxt);
xmlRelaxNGFreeParserCtxt(rngparser);
xmlFreeDoc(doc);
exit(EXIT_SUCCESS);}
从那以后,我对程序进行了大量调整,以便找出解析和验证xml文件的“处理时间”。有什么方法可以找出这个程序的最佳情况和最坏情况。最坏的情况是,任何xml文件作为输入所花费的时间总是最高的。最好的情况是,所花的时间总是最低的。我非常坚持这一点。真的很感激它,如果你们中的任何人都可以帮助我。