使用Xerces DOM解析器验证多个xml架构

时间:2011-01-25 23:48:09

标签: c++ xerces validating

我想知道是否有办法在c ++中使用Xerces DOM解析器验证多个xml方案?

以下是用例:我希望能够针对相应的xsd架构解析多个xml文件。但是,当我最初查看每个xml文件时,在解析它之前我不知道它是什么文件,因此我无法将静态xsd文件链接到它。有没有办法说,我想针对xsd1或xsd2等等验证每个xml文件......

在阅读之后,解析器'setExternalSchemaLocation'的设置似乎能够保存一个方案列表,但是当我在我的代码中执行此操作时,它无法正确验证。

parser->setExternalSchemaLocation("http://www.somelocation schema.xsd http://www.somelocation schema1.xsd");

如果我做了

,架构就会自行运行
parser->setExternalSchemaLocation("http://www.somelocation schema.xsd");

所以我确定我的xml或xsd文件中没有错误。

有关如何针对多个xml架构进行验证的任何见解?

1 个答案:

答案 0 :(得分:0)

如果每个xml位于同一名称空间中,则代码不起作用。每个xml文件必须位于不同的命名空间中才能使上述代码生效。

parser->setExternalSchemaLocation("http://www.somelocation schema.xsd http://www.somelocation1 schema1.xsd");