EclipseLink JAXB (MOXy)を JAXB プロバイダーとして使用している場合、または JAXB RI の最新バージョンを使用している場合は、次の操作を実行できます。
パッケージ情報
@XmlNs
アノテーションのxmlns
プロパティでアノテーションを使用し@XmlSchema
て、名前空間のプレフィックスを指定できます。
@XmlSchema(
namespace="www.google.com",
elementFormDefault = XmlNsForm.QUALIFIED,
xmlns={
@XmlNs(namespaceURI = "www.google.com", prefix = ""),
@XmlNs(namespaceURI = "www.google.com", prefix = "myName"),
})
package forum13817126;
import javax.xml.bind.annotation.*;
Java モデル
以下は、この例で使用する単純な Java モデルです。
package forum13817126;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Set {
}
デモコード
次のデモ コードは、ドメイン モデルのインスタンスを作成し、それを XML にマーシャリングします。
package forum13817126;
import javax.xml.bind.*;
public class Demo {
public static void main(String[] args) throws Exception {
JAXBContext jc = JAXBContext.newInstance(Set.class);
Set set = new Set();
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(set, System.out);
}
}
出力
以下は、デモ コードを実行した結果の出力です。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<myName:set xmlns="www.google.com" xmlns:myName="www.google.com"/>
詳細については