2010-08-10 68 views

回答

5

這是使用JAXB標註全部完成時所設置的XML命名空間時,設置XML命名空間怎麼辦。以下幾點涉及您的域模型。

架構級別

您可以使用@XmlSchema包級別的註釋指定架構級別的命名空間信息:

@XmlSchema(namespace = "http://www.example.org", 
      elementFormDefault = XmlNsForm.QUALIFIED) 
package org.example; 

import javax.xml.bind.annotation.XmlSchema; 
import javax.xml.bind.annotation.XmlNsForm; 

上面標註借力將elementFormDefault將默認的所有元素的命名空間爲「http://www.example.org」 。

型號級別

您可以使用@XmlType標註在類型級別覆蓋的命名空間:

@XmlType(namespace="http://www.example.org/foo") 

屬性/字段級別

和/或可以指定命名空間關於註釋本身的信息:

  • @XmlAttribute(命名空間= 「http://www.example.org/bar」)
  • @XmlElement(命名空間= 「http://www.example.org/bar」)
  • @XmlElementWrapper(命名空間= 「http://www.example.org/bar」)
  • @XmlRootElement(命名空間= 「http://www.example.org/bar」)

我有一篇博客文章,用一個示例演示這些概念: