如何在使用Jersey,jaxb和amp;时设置xml命名空间JAX-RS

时间:2010-08-10 17:17:38

标签: java jaxb jersey jax-rs

如何在使用Jersey,jaxb和amp;时设置xml命名空间JAX-RS

1 个答案:

答案 0 :(得分:6)

这都是使用JAXB注释完成的。以下几点是指您的域名模型。

架构级别

您可以使用@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”)

示例

我有一篇博文,通过一个例子演示了这些概念: