解组期间的XML片段验证

时间:2016-08-05 08:19:34

标签: xml jaxb fragment unmarshalling

我们必须解组非常庞大的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文件。

我们可以在上下文中验证片段吗?任何想法都表示赞赏。

0 个答案:

没有答案