JAXB自定义绑定无类型元素?

时间:2013-02-12 22:35:11

标签: java xml soap xsd jaxb

我有一个非常大且复杂的XSD用于SOAP服务,我无法控制。有几个元素总是包含未键入的字符串数据。通常这些是非常深层嵌套的元素。

例如

...
  <xs:complexType>
      <xs:sequence>
          <xs:element name="foo"/>
          <xs:element name="bar"/>
      </xs:sequence>
  </xs:complexType>
...

有没有办法告诉JAXB始终将无类型元素(例如上面的foobar)绑定到java.lang.String

据我所知,我可以使用XPath查询字符串单独调出这些异常,但是有一个单行吗?

1 个答案:

答案 0 :(得分:2)

在外部绑定文件中使用XPath表达式,如

//xs:element[not(@type)][not(xs:simpleType)][not(xs:complexType)]

将匹配任何此类元素(假设XJC具有完整的XPath支持而不仅仅是该语言的子集)。