3

Jersey、jaxb、およびjax-rsを使用するときにxml名前空間を設定するにはどうすればよいですか

4

1 に答える 1

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(namespace="http://www.example.org/bar")
  • @XmlElement(namespace="http://www.example.org/bar")
  • @XmlElementWrapper(namespace="http://www.example.org/bar")
  • @XmlRootElement(namespace="http://www.example.org/bar")

これらの概念を例で示すブログ投稿があります。

于 2010-08-10T17:26:48.470 に答える