2012-05-22 36 views
7

我有一個簡單的Java類,我與JAXB註釋:JAXB XmlAnyElement將設置命名空間屬性

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

將會產生以下模式:

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

有什麼辦法來設置namespace屬性爲<any>元素,使其生成如下所示:

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

任何運氣找到這個awnser? –

回答

1

insert a package- info.java文件放入你的foo類包中,其內容如下:

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