7

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

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"/>
4

1 回答 1

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;
于 2013-07-19T09:09:17.483 回答