2010-08-10 51 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”)

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