@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">
修飾子と型 | フィールドと説明 |
---|---|
static String |
NO_LOCATION
location() 属性のデフォルト値であり、スキーマ・ジェネレータがこの名前空間内にコンポーネントを生成することを示します。 |
修飾子と型 | オプションの要素と説明 |
---|---|
XmlNsForm |
attributeFormDefault
属性の名前空間修飾です。
|
XmlNsForm |
elementFormDefault
要素の名前空間修飾です。
|
String |
location
この名前空間(
namespace() によって指定される)に含まれるスキーマがすでに外部で使用可能であり、この場所で使用できることを示します。 |
String |
namespace
XML名前空間の名前です。
|
XmlNs[] |
xmlns
名前空間URI、接頭辞の関連付けをカスタマイズします。
|
public static final String NO_LOCATION
location()
属性のデフォルト値であり、スキーマ・ジェネレータがこの名前空間内にコンポーネントを生成することを示します。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, 2014, Oracle and/or its affiliates. All rights reserved.