@Retention(value=RUNTIME) @Target(value=PACKAGE) public @interface XmlSchema
パッケージ名を XML 名前空間にマップします。
XmlSchema 注釈は、次のプログラム要素で使用できます。
これは、パッケージレベルの注釈であり、JSR 175、セクション 3 の「Annotations」に含まれる推奨事項と制限に従います。そのため、これの使用には次の制約と推奨事項が適用されます。
例 1: パッケージのマップ先となる XML 名前空間名をカスタマイズする。
@javax.xml.bind.annotation.XmlSchema ( namespace = "http://www.example.com/MYPO1" ) <!-- XML Schema fragment --> <schema xmlns=... xmlns:po=.... targetNamespace="http://www.example.com/MYPO1" > <!-- prefixes generated by default are implementation depedenent -->
例 2: 名前空間接頭辞、名前空間 URI マッピングをカスタマイズする
// Package level annotation @javax.xml.bind.annotation.XmlSchema ( xmlns = { @javax.xml.bind.annotation.XmlNs(prefix = "po", namespaceURI="http://www.example.com/myPO1"), @javax.xml.bind.annotation.XmlNs(prefix="xs", namespaceURI="http://www.w3.org/2001/XMLSchema") ) ) <!-- XML Schema fragment --> <schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:po="http://www.example.com/PO1" targetNamespace="http://www.example.com/PO1">
例 3: elementFormDefault をカスタマイズする
@javax.xml.bind.annotation.XmlSchema ( elementFormDefault=XmlNsForm.UNQUALIFIED ... ) <!-- XML Schema fragment --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:po="http://www.example.com/PO1" elementFormDefault="unqualified">
修飾子と型 | オプションの要素と説明 |
---|---|
XmlNsForm |
attributeFormDefault
属性の名前空間修飾です。
|
XmlNsForm |
elementFormDefault
要素の名前空間修飾です。
|
String |
location
この名前空間 (
namespace() によって指定される) に含まれるスキーマがすでに外部で使用可能であり、この場所で使用できることを示します。 |
String |
namespace
XML 名前空間の名前です。
|
XmlNs[] |
xmlns
名前空間 URI、接頭辞の関連付けをカスタマイズします。
|
public abstract XmlNs[] xmlns
public abstract String namespace
public abstract XmlNsForm elementFormDefault
public abstract XmlNsForm attributeFormDefault
public abstract String location
namespace()
によって指定される) に含まれるスキーマがすでに外部で使用可能であり、この場所で使用できることを示します。
これは、コンポーネントをスキーマ内に生成するのとは対照的に、ただ単に指し示されたスキーマを参照するように JAXB スキーマジェネレータに指示します。このスキーマは、スキーマジェネレータによってそのほかに生成されるもの (同じ要素名、同じ型名など) に対応するものとします。
この機能は、Java クラスセットが、外部で定義されたスキーマに対応するように手書きで作成された既存のスキーマから最初に生成されるときに使用するためのものであり、生成されたスキーマは手動で変更されます。
値には、絶対 URI (http://example.org/some.xsd など) を指定できます。また、空の文字列を指定することもでき、その場合はスキーマが外部で使用可能であるが、場所は指定されていない (したがって生成されたスキーマの場所を決めるのは読み取り側の責任となる) ことを示します。最後に、このプロパティーのデフォルト値 "##generate" は、スキーマジェネレータがこの名前空間用のコンポーネントを生成しようとしていることを示します (JAXB 2.0 以降)。
複数のパッケージの複数の XmlSchema
注釈が同じ namespace()
の管理を許可されています。このような場合は、そのすべてに同じ location()
値を指定する必要があります。
より正確には、値は "" または "##generate" にするか、<scheme>: で始まる xs:anyURI の有効な字句表現にする必要があります。
スキーマジェネレータは、対応する <xs:import namespace="..." schemaLocation="..."/> (空の文字列を指定した場合は schemaLocation 属性なし) を生成することになっています。ただし、スキーマジェネレータは、ユーザーがコマンド行インタフェースを介してリソースのローカルコピーを指定できるようにする場合など、schemaLocation 属性に別の値を使用すること (そのような属性を生成しないことを含む) が許可されています。
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.