| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 必須 | オプション | 詳細: 要素 | |||||||||
@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 | namespaceXML 名前空間の名前です。 | 
|  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 属性に別の値を使用すること (そのような属性を生成しないことを含む) が許可されています。
| 
 | JavaTM Platform Standard Ed. 6 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 必須 | オプション | 詳細: 要素 | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。