我们必须解组非常庞大的xml文件结构。
<document1 xlsns="doc1">
<presentation> ... </presentation>
<presentation> ... </presentation>
. . .
<image> ... </image>
<image> ... </image>
</document1>
<document2 xlsns="doc2">
<presentation> ... </presentation>
. . .
<image> ... </image>
</document2>
JAXB为presentation和image元素生成的类是唯一的(基于唯一的xsd)。只有类document1,2..n被标记为XlmRootElement。
我们正在使用staxEventReader来读取片段(presentation&amp; image)和jaxb来解组它就像这样
jaxbUnmarshaller.unmarshal(eventReader, Presentation.class);
jaxbUnmarshaller.unmarshal(eventReader, Image.class);
好的,它有效。
但现在我们必须验证片段(过滤坏片段)。添加模式和validationHandler我们得到
cvc-elt.1:找不到元素'Presentation | Image'的声明
我们无法修改xsd文件。
我们可以在上下文中验证片段吗?任何想法都表示赞赏。