【发布时间】:2010-08-10 17:17:37
【问题描述】:
使用 Jersey、jaxb 和 jax-rs 时如何设置 xml 命名空间
【问题讨论】:
使用 Jersey、jaxb 和 jax-rs 时如何设置 xml 命名空间
【问题讨论】:
这一切都是使用 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")
属性/字段级别
和/或您可以在注释本身上指定命名空间信息:
示例
我有一篇博文通过示例演示了这些概念:
【讨论】: