我有一个非常大且复杂的XSD用于SOAP服务,我无法控制。有几个元素总是包含未键入的字符串数据。通常这些是非常深层嵌套的元素。
例如
...
<xs:complexType>
<xs:sequence>
<xs:element name="foo"/>
<xs:element name="bar"/>
</xs:sequence>
</xs:complexType>
...
有没有办法告诉JAXB始终将无类型元素(例如上面的foo
和bar
)绑定到java.lang.String
?
据我所知,我可以使用XPath查询字符串单独调出这些异常,但是有一个单行吗?
答案 0 :(得分:2)
在外部绑定文件中使用XPath表达式,如
//xs:element[not(@type)][not(xs:simpleType)][not(xs:complexType)]
将匹配任何此类元素(假设XJC具有完整的XPath支持而不仅仅是该语言的子集)。