JAXB XmlAnyElement设置名称空间属性

时间:2012-05-22 20:33:57

标签: java xml jaxb xsd maven-jaxb2-plugin

我有一个简单的Java类,我用JAXB注释:

class Foo {
   @XmlAnyElement(lax=true)
   List<Object> any;
}

产生以下架构:

<xs:complexType name="foo">
  <xs:sequence>
    <xs:any processContents="lax" maxOccurs="unbounded"/>
  </xs:sequence>
</xs:complexType>

有没有办法为<any>元素设置名称空间属性,以便它生成如下:

<xs:any namespace="##targetNamespace" processContents="lax" maxOccurs="unbounded"/>

1 个答案:

答案 0 :(得分:1)

将package-info.java文件插入foo类包中,内容如下:

@javax.xml.bind.annotation.XmlSchema(namespace = "urn:foo:v1", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package java.ns.foo;