JavaTM Platform
Standard Ed. 6

javax.xml.bind
インタフェース Marshaller

既知の実装クラスの一覧:
AbstractMarshallerImpl

public interface Marshaller

Marshaller クラスは、Java コンテンツツリーを直列化して XML データに戻すプロセスの制御を担います。このクラスは、基本的な整列化メソッドを提供します。

下のすべてのコードフラグメントでは、次のセットアップコードを前提とします。

       JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" );
       Unmarshaller u = jc.createUnmarshaller();
       Object element = u.unmarshal( new File( "foo.xml" ) );
       Marshaller m = jc.createMarshaller();
    

ファイルに整列化します。

       OutputStream os = new FileOutputStream( "nosferatu.xml" );
       m.marshal( element, os );
    

SAX ContentHandler に整列化します。

       // assume MyContentHandler instanceof ContentHandler
       m.marshal( element, new MyContentHandler() );  
    

DOM Node に整列化します。

       DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
       dbf.setNamespaceAware(true);
       DocumentBuilder db = dbf.newDocumentBuilder();
       Document doc = db.newDocument();

       m.marshal( element, doc );
    

java.io.OutputStream に整列化します。

       m.marshal( element, System.out );
    

java.io.Writer に整列化します。

       m.marshal( element, new PrintWriter( System.out ) );
    

javax.xml.transform.SAXResult に整列化します。

       // assume MyContentHandler instanceof ContentHandler
       SAXResult result = new SAXResult( new MyContentHandler() );

       m.marshal( element, result );
    

javax.xml.transform.DOMResult に整列化します。

       DOMResult result = new DOMResult();
       
       m.marshal( element, result );
    

javax.xml.transform.StreamResult に整列化します。

       StreamResult result = new StreamResult( System.out );
 
       m.marshal( element, result );
    

javax.xml.stream.XMLStreamWriter に整列化します。

       XMLStreamWriter xmlStreamWriter = 
           XMLOutputFactory.newInstance().createXMLStreamWriter( ... );
 
       m.marshal( element, xmlStreamWriter );
    

javax.xml.stream.XMLEventWriter に整列化します。

       XMLEventWriter xmlEventWriter = 
           XMLOutputFactory.newInstance().createXMLEventWriter( ... );
 
       m.marshal( element, xmlEventWriter );
    

JAXB 要素をルートとするコンテンツツリーの整列化

オーバーロードされた Marshaller.marshal(java.lang.Object, ...) メソッドの最初のパラメータは、JAXBIntrospector.isElement(java.lang.Object) によって計算された JAXB 要素でなければなりません。これを満たさない場合、Marshaller.marshal メソッドは MarshalException をスローしなければなりません。JAXB 要素でないインスタンスの整列化を可能にするために、2 つの機構が存在します。1 つの方法は、JAXBElement の値としてインスタンスをラップし、ラッパー要素を Marshaller.marshal メソッドへの最初のパラメータとして渡すことです。Java からスキーマへのバインディングの場合、インスタンスのクラスを @XmlRootElement で単に注釈することでも実行できます。

エンコーディング

デフォルトでは、XML データを java.io.OutputStream、または java.io.Writer に生成する場合、Marshaller は UTF-8 エンコーディングを使用します。これらの整列化操作中に使用される出力エンコーディングを変更するには、setProperty API を使用します。クライアントアプリケーションは、W3C XML 1.0 Recommendation で定義され、使用している Java プラットフォーム がサポートしている有効な文字エンコーディング名を提供することを期待されます。

検証と整形式

クライアントアプリケーションは、整列化 API のいずれかを呼び出す前に、Java コンテンツツリーを検証することを求められません。さらに、Java コンテンツツリーを整列化して XML データに戻すために、Java コンテンツツリーの元となるスキーマに関してその Java コンテンツツリーが有効でなければならないという要件はありません。JAXB プロバイダごとにさまざまなレベルで無効な Java コンテンツツリーの整列化処理が今後サポートされるようになりますが、すべての JAXB プロバイダは有効なコンテンツツリーを XML データに整列化して戻せるようにする必要があります。JAXB プロバイダは、コンテンツが無効なために整列化操作を完了できない場合、MarshalException をスローする必要があります。JAXB プロバイダによっては無効なコンテンツの整列化を完全に許可していますが、最初の検証エラーで失敗するものもあります。

整列化操作でスキーマ検証が明示的に有効にされていない場合であっても、操作中に特定の検証イベントが検出される可能性があります。検証イベントは、登録されているイベントハンドラに報告されます。整列化 API のいずれかを呼び出す前に、クライアントアプリケーションがイベントハンドラの登録を済ませていない場合、イベントはデフォルトイベントハンドラに転送されます。デフォルトイベントハンドラは、最初のエラーまたは致命的なエラーの発生後に整列化操作を終了させます。JAXB 2.0 以降のバージョンでは、DefaultValidationEventHandler は使用されなくなりました。

サポートされているプロパティー

すべての JAXB プロバイダは、次のプロパティーセットをサポートする必要があります。プロバイダによっては、追加のプロパティーをサポートする可能性があります。

jaxb.encoding - 値は java.lang.String でなければなりません。
XML データを整列化するときに使用される出力エンコーディングです。このプロパティーが指定されない場合、Marshaller はデフォルトで「UTF-8」を使用します。
jaxb.formatted.output - 値は java.lang.Boolean でなければなりません。
このプロパティーは、Marshaller が改行とインデントを使用して結果の XML データを書式設定するかどうかを制御します。このプロパティーの値が true の場合、人が判読できるインデント処理された XML データとなり、false の場合、書式設定されない XML データになります。このプロパティーが指定されない場合、Marshaller はデフォルトで false (書式設定されない) になります。
jaxb.schemaLocation - 値は Java.lang.String でなければなりません。
このプロパティーにより、生成 XML データの xsi:schemaLocation 属性をクライアントアプリケーションが指定することができます。NoNamespaceSchemaLocation 属性値の形式については、「W3C XML Schema Part 0: Primer」の 5.6 節に非規準的な形式が、「W3C XML Schema Part 1: Structures」の 2.6 節に指定された形式がわかりやすく説明されています。
jaxb.noNamespaceSchemaLocation - 値は Java.lang.String でなければなりません。
このプロパティーにより、生成 XML データの xsi:noNamespaceSchemaLocation 属性をクライアントアプリケーションが指定することができます。schemaLocation 属性値の形式については、「W3C XML Schema Part 0: Primer」の 5.6 節に非規準的な形式が、「W3C XML Schema Part 1: Structures」の 2.6 節に指定された形式がわかりやすく説明されています。
jaxb.fragment - 値は java.lang.Boolean でなければなりません。
このプロパティーは、文書レベルのイベントが Marshaller によって生成されるかどうかを決定します。このプロパティーが指定されない場合、デフォルトは false になります。このプロパティーに true が設定された場合、使用する整列化 API に応じて以下のように異なる意味を持ちます。

整列化イベントコールバック

Marshaller は、2 つのスタイルのコールバック機構を提供します。これらにより、非整列化プロセスの重要な時点でのアプリケーション固有の処理が可能になります。「クラス定義された」イベントコールバックでは、JAXB マップクラスに置かれるアプリケーション固有のコードが整列化中にトリガーされます。「外部リスナー」は、型のイベントコールバックを介するのではなく、単一のコールバックメソッドでの整列化イベントの集中処理を可能にします。

クラス定義されたイベントコールバックメソッドにより、任意の JAXB マップクラスは次のメソッドシグニチャーを持つメソッドを定義することによって、固有のコールバックメソッドを指定できます。

   // Invoked by Marshaller after it has created an instance of this object.
   boolean beforeMarshal(Marshaller, Object parent);
 
   // Invoked by Marshaller after it has marshalled all properties of this object.
   void afterMmarshal(Marshaller, Object parent);
 
コールバックメソッドがクラスの public 以外のメソッドおよびフィールドの両方またはどちらか一方へのアクセスを必要とする場合は、クラス定義イベントコールバックメソッドを使用する必要があります。

外部リスナーコールバック機構では、setListener(Listener)Marshaller.Listener インスタンスを登録することができます。外部リスナーはすべてのコールバックイベントを受け取るため、クラスごとに定義されるコールバックメソッドよりも、より集中的な処理が可能になります。

「クラス定義された」イベントコールバックメソッドと外部リスナーイベントコールバックメソッドはそれぞれ独立しており、1 つのイベントに対し両方を呼び出すことができます。両方のリスナーコールバックメソッドが存在する場合の呼び出し順序は、Marshaller.Listener.beforeMarshal(Object) および Marshaller.Listener.afterMarshal(Object) で定義されます。

例外をスローしたイベントコールバックメソッドは、現在の整列化プロセスを終了させます。

導入されたバージョン:
JAXB1.0
関連項目:
JAXBContext, Validator, Unmarshaller

入れ子のクラスの概要
static class Marshaller.Listener
          

Marshaller にこのクラスの実装のインスタンスを登録し、整列化イベントを外部的に待機します。

 
フィールドの概要
static String JAXB_ENCODING
          整列化された XML データの出力エンコーディングを指定するために使用されるプロパティーの名前です。
static String JAXB_FORMATTED_OUTPUT
          整列化された XML データを改行とインデントを使用して書式設定するかどうかを指定するために使用されるプロパティーの名前です。
static String JAXB_FRAGMENT
          marshaller が文書レベルのイベント (つまり、startDocument または endDocument の呼び出し) を生成するかどうかを指定するために使用されるプロパティーの名前です。
static String JAXB_NO_NAMESPACE_SCHEMA_LOCATION
          整列化された XML 出力に設定する xsi:noNamespaceSchemaLocation 属性値を指定するために使用されるプロパティーの名前です。
static String JAXB_SCHEMA_LOCATION
          整列化された XML 出力に設定する xsi:schemaLocation 属性値を指定するために使用されるプロパティーの名前です。
 
メソッドの概要
<A extends XmlAdapter>
A
getAdapter(Class<A> type)
          指定した型に関連付けられているアダプタを取得します。
 AttachmentMarshaller getAttachmentMarshaller()
           
 ValidationEventHandler getEventHandler()
          現在のイベントハンドラ、または、それが設定されていない場合はデフォルトイベントハンドラを返します。
 Marshaller.Listener getListener()
          この Marshaller に登録されている Marshaller.Listener を返します。
 Node getNode(Object contentTree)
          コンテンツツリーの DOM ツリービューを取得します (オプション)。
 Object getProperty(String name)
          Marshaller の基本となる実装の特定のプロパティーを取得します。
 Schema getSchema()
          整列化時の検証に使用される JAXP 1.3 Schema オブジェクトを取得します。
 void marshal(Object jaxbElement, ContentHandler handler)
          jaxbElement をルートとするコンテンツツリーを SAX2 イベントに整列化します。
 void marshal(Object jaxbElement, Node node)
          jaxbElement をルートとするコンテンツツリーを DOM ツリーに整列化します。
 void marshal(Object jaxbElement, OutputStream os)
          jaxbElement をルートとするコンテンツツリーを出力ストリームに整列化します。
 void marshal(Object jaxbElement, Result result)
          jaxbElement をルートとするコンテンツツリーを、指定された javax.xml.transform.Result に整列化します。
 void marshal(Object jaxbElement, Writer writer)
          jaxbElement をルートとするコンテンツツリーを Writer に整列化します。
 void marshal(Object jaxbElement, XMLEventWriter writer)
          jaxbElement をルートとするコンテンツツリーを XMLEventWriter に整列化します。
 void marshal(Object jaxbElement, XMLStreamWriter writer)
          jaxbElement をルートとするコンテンツツリーを XMLStreamWriter に整列化します。
<A extends XmlAdapter>
void
setAdapter(Class<A> type, A adapter)
          XmlAdapter の設定済みのインスタンスをこの Marshaller に関連付けます。
 void setAdapter(XmlAdapter adapter)
          XmlAdapter の設定済みのインスタンスをこの Marshaller に関連付けます。
 void setAttachmentMarshaller(AttachmentMarshaller am)
          XML 文書内のバイナリデータを、XML バイナリの最適化された添付として転送可能にするコンテキストを関連付けます。
 void setEventHandler(ValidationEventHandler handler)
          アプリケーションが検証イベントハンドラを登録することができます。
 void setListener(Marshaller.Listener listener)
           この Marshaller に整列化イベントコールバック Marshaller.Listener を登録します。
 void setProperty(String name, Object value)
          Marshaller の基本となる実装に特定のプロパティーを設定します。
 void setSchema(Schema schema)
          後の整列化操作の検証に使用する、JAXP 1.3 Schema オブジェクトを指定します。
 

フィールドの詳細

JAXB_ENCODING

static final String JAXB_ENCODING
整列化された XML データの出力エンコーディングを指定するために使用されるプロパティーの名前です。

関連項目:
定数フィールド値

JAXB_FORMATTED_OUTPUT

static final String JAXB_FORMATTED_OUTPUT
整列化された XML データを改行とインデントを使用して書式設定するかどうかを指定するために使用されるプロパティーの名前です。

関連項目:
定数フィールド値

JAXB_SCHEMA_LOCATION

static final String JAXB_SCHEMA_LOCATION
整列化された XML 出力に設定する xsi:schemaLocation 属性値を指定するために使用されるプロパティーの名前です。

関連項目:
定数フィールド値

JAXB_NO_NAMESPACE_SCHEMA_LOCATION

static final String JAXB_NO_NAMESPACE_SCHEMA_LOCATION
整列化された XML 出力に設定する xsi:noNamespaceSchemaLocation 属性値を指定するために使用されるプロパティーの名前です。

関連項目:
定数フィールド値

JAXB_FRAGMENT

static final String JAXB_FRAGMENT
marshaller が文書レベルのイベント (つまり、startDocument または endDocument の呼び出し) を生成するかどうかを指定するために使用されるプロパティーの名前です。

関連項目:
定数フィールド値
メソッドの詳細

marshal

void marshal(Object jaxbElement,
             Result result)
             throws JAXBException
jaxbElement をルートとするコンテンツツリーを、指定された javax.xml.transform.Result に整列化します。

すべての JAXB プロバイダは、DOMResultSAXResult、および StreamResult を最低限サポートする必要があります。加えて、Result のその他の派生クラスをサポートすることもできます。

パラメータ:
jaxbElement - 整列化するコンテンツツリーのルート
result - XML はこの Result に送信される
例外:
JAXBException - 整列化の実行中に予想外の問題が発生した場合
MarshalException - ValidationEventHandlerhandleEvent メソッドから false が返されるか、または Marshallerobj (または、 obj から到達可能なオブジェクト) を整列化できない場合。「 JAXB 要素の整列化」を参照
IllegalArgumentException - いずれかのメソッドパラメータが null の場合

marshal

void marshal(Object jaxbElement,
             OutputStream os)
             throws JAXBException
jaxbElement をルートとするコンテンツツリーを出力ストリームに整列化します。

パラメータ:
jaxbElement - 整列化するコンテンツツリーのルート
os - XML はこのストリームに追加される
例外:
JAXBException - 整列化の実行中に予想外の問題が発生した場合
MarshalException - ValidationEventHandlerhandleEvent メソッドから false が返されるか、または Marshallerobj (または、 obj から到達可能なオブジェクト) を整列化できない場合。「 JAXB 要素の整列化」を参照
IllegalArgumentException - いずれかのメソッドパラメータが null の場合

marshal

void marshal(Object jaxbElement,
             Writer writer)
             throws JAXBException
jaxbElement をルートとするコンテンツツリーを Writer に整列化します。

パラメータ:
jaxbElement - 整列化するコンテンツツリーのルート
writer - XML はこのライターに送信される
例外:
JAXBException - 整列化の実行中に予想外の問題が発生した場合
MarshalException - ValidationEventHandlerhandleEvent メソッドから false が返されるか、または Marshallerobj (または、 obj から到達可能なオブジェクト) を整列化できない場合。「 JAXB 要素の整列化」を参照
IllegalArgumentException - いずれかのメソッドパラメータが null の場合

marshal

void marshal(Object jaxbElement,
             ContentHandler handler)
             throws JAXBException
jaxbElement をルートとするコンテンツツリーを SAX2 イベントに整列化します。

パラメータ:
jaxbElement - 整列化するコンテンツツリーのルート
handler - XML はこのハンドラに SAX2 イベントとして送信される
例外:
JAXBException - 整列化の実行中に予想外の問題が発生した場合
MarshalException - ValidationEventHandlerhandleEvent メソッドから false が返されるか、または Marshallerobj (または、 obj から到達可能なオブジェクト) を整列化できない場合。「 JAXB 要素の整列化」を参照
IllegalArgumentException - いずれかのメソッドパラメータが null の場合

marshal

void marshal(Object jaxbElement,
             Node node)
             throws JAXBException
jaxbElement をルートとするコンテンツツリーを DOM ツリーに整列化します。

パラメータ:
jaxbElement - 整列化するコンテンツツリー
node - DOM ノードがこのノードの子として追加される。 このパラメータは、子 (DocumentDocumentFragment、または Element) を受け入れるノードでなくてはならない
例外:
JAXBException - 整列化の実行中に予想外の問題が発生した場合
MarshalException - ValidationEventHandlerhandleEvent メソッドから false が返されるか、または MarshallerjaxbElement (または、 jaxbElement から到達可能なオブジェクト) を整列化できない場合。「 JAXB 要素の整列化」を参照
IllegalArgumentException - いずれかのメソッドパラメータが null の場合

marshal

void marshal(Object jaxbElement,
             XMLStreamWriter writer)
             throws JAXBException
jaxbElement をルートとするコンテンツツリーを XMLStreamWriter に整列化します。

パラメータ:
jaxbElement - 整列化するコンテンツツリー
writer - XML はこのライターに送信される
例外:
JAXBException - 整列化の実行中に予想外の問題が発生した場合
MarshalException - ValidationEventHandlerhandleEvent メソッドから false が返されるか、または Marshallerobj (または、 obj から到達可能なオブジェクト) を整列化できない場合。「 JAXB 要素の整列化」を参照
IllegalArgumentException - いずれかのメソッドパラメータが null の場合
導入されたバージョン:
JAXB 2.0

marshal

void marshal(Object jaxbElement,
             XMLEventWriter writer)
             throws JAXBException
jaxbElement をルートとするコンテンツツリーを XMLEventWriter に整列化します。

パラメータ:
jaxbElement - 整列化する jaxbElement をルートとするコンテンツツリー
writer - XML はこのライターに送信される
例外:
JAXBException - 整列化の実行中に予想外の問題が発生した場合
MarshalException - ValidationEventHandlerhandleEvent メソッドから false が返されるか、または Marshallerobj (または、 obj から到達可能なオブジェクト) を整列化できない場合。「 JAXB 要素の整列化」を参照
IllegalArgumentException - いずれかのメソッドパラメータが null の場合
導入されたバージョン:
JAXB 2.0

getNode

Node getNode(Object contentTree)
             throws JAXBException
コンテンツツリーの DOM ツリービューを取得します (オプション)。 返された DOM ツリーが更新された場合、こうした変更はコンテンツツリーでも確認できます。コンテンツツリーを DOM 表現に強制的にディープコピーするには、marshal(Object, org.w3c.dom.Node) を使用します。

パラメータ:
contentTree - - XML コンテンツの JAXB Java 表現
戻り値:
コンテンツツリーの DOM ツリービュー
例外:
UnsupportedOperationException - JAXB プロバイダ実装がコンテンツツリーの DOM ビューをサポート していない場合
IllegalArgumentException - いずれかのメソッドパラメータが null の場合
JAXBException - 予想外の問題が発生した場合

setProperty

void setProperty(String name,
                 Object value)
                 throws PropertyException
Marshaller の基本となる実装に特定のプロパティーを設定します。このメソッドは、先に述べた定義済みの標準 JAXB プロパティーまたはプロバイダ固有のプロパティーの 1 つを設定する目的にのみ使用できます。未定義のプロパティーを設定しようとした場合、PropertyException がスローされます。「サポートされているプロパティー」を参照してください。

パラメータ:
name - 設定するプロパティーの名前。この値は、定数フィールドの 1 つか ユーザー指定文字列を使用して指定できる
value - 設定するプロパティーの値
例外:
PropertyException - 指定したプロパティーまたは値の処理中にエラーが 発生した場合
IllegalArgumentException - name パラメータが null の場合

getProperty

Object getProperty(String name)
                   throws PropertyException
Marshaller の基本となる実装の特定のプロパティーを取得します。このメソッドは、先に述べた定義済みの標準 JAXB プロパティーまたはプロバイダ固有のプロパティーの 1 つを取得する目的にのみ使用できます。未定義のプロパティーを取得しようとした場合、PropertyException がスローされます。「サポートされているプロパティー」を参照してください。

パラメータ:
name - 取得するプロパティーの名前
戻り値:
要求されたプロパティーの値
例外:
PropertyException - 指定したプロパティー、またはプロパティー名値の取得中にエラーが発生 した場合
IllegalArgumentException - name パラメータが null の場合

setEventHandler

void setEventHandler(ValidationEventHandler handler)
                     throws JAXBException
アプリケーションが検証イベントハンドラを登録することができます。

検証イベントハンドラは、いずれかの整列化 API を呼び出している途中で検証エラーが発生した場合、JAXB プロバイダによって呼び出されます。 整列化メソッドのいずれかを呼び出す前に、クライアントアプリケーションが検証イベントハンドラを登録していない場合、検証イベントはデフォルトイベントハンドラによって処理されます。デフォルトイベントハンドラは、最初のエラーまたは致命的なエラーの発生後に整列化操作を終了させます。

このメソッドを null パラメータとともに呼び出した場合、Marshaller はデフォルトのデフォルトイベントハンドラに戻されます。

パラメータ:
handler - 検証イベントハンドラ
例外:
JAXBException - イベントハンドラの設定中にエラーが発生した場合

getEventHandler

ValidationEventHandler getEventHandler()
                                       throws JAXBException
現在のイベントハンドラ、または、それが設定されていない場合はデフォルトイベントハンドラを返します。

戻り値:
現在の ValidationEventHandler、または、それが設定されていない場合、 デフォルトイベントハンドラ
例外:
JAXBException - 現在のイベントハンドラの取得中にエラーが発生した場合

setAdapter

void setAdapter(XmlAdapter adapter)
XmlAdapter の設定済みのインスタンスをこの Marshaller に関連付けます。

これは、setAdapter(adapter.getClass(),adapter); を呼び出す簡易メソッドです。

例外:
IllegalArgumentException - adapter パラメータが null の場合
UnsupportedOperationException - JAXB 1.0 実装に対して呼び出された場合
導入されたバージョン:
JAXB 2.0
関連項目:
setAdapter(Class,XmlAdapter)

setAdapter

<A extends XmlAdapter> void setAdapter(Class<A> type,
                                       A adapter)
XmlAdapter の設定済みのインスタンスをこの Marshaller に関連付けます。

すべての Marshaller は、内部的に Map<Class,XmlAdapter> を保持しており、フィールドまたはメソッドが XmlJavaTypeAdapter で注釈されたクラスを整列化するために使用します。

このメソッドにより、アプリケーションは XmlAdapter の設定済みのインスタンスを使用することができます。アダプタのインスタンスが与えられない場合、Marshaller はそれのデフォルトコンストラクタを呼び出してインスタンスを作成します。

パラメータ:
type - アダプタの型。XmlJavaTypeAdapter.value() がこの型を参照している場合、指定したインスタンスが使用される
adapter - 使用するアダプタのインスタンス。null の場合、この型の現在のアダプタ セットの登録を取り消す
例外:
IllegalArgumentException - type パラメータが null の場合
UnsupportedOperationException - JAXB 1.0 実装に対して呼び出された場合
導入されたバージョン:
JAXB 2.0

getAdapter

<A extends XmlAdapter> A getAdapter(Class<A> type)
指定した型に関連付けられているアダプタを取得します。 このメソッドは、setAdapter(javax.xml.bind.annotation.adapters.XmlAdapter) メソッドの逆の操作です。

例外:
IllegalArgumentException - type パラメータが null の場合
UnsupportedOperationException - JAXB 1.0 実装に対して呼び出された場合
導入されたバージョン:
JAXB 2.0

setAttachmentMarshaller

void setAttachmentMarshaller(AttachmentMarshaller am)

XML 文書内のバイナリデータを、XML バイナリの最適化された添付として転送可能にするコンテキストを関連付けます。添付は、XML 文書コンテンツモデルから、XML 文書内に保存されたコンテンツ ID URI (cid) 参照によって参照されます。

例外:
IllegalStateException - 整列化操作中に、このメソッドを同時に 呼び出そうとした場合

getAttachmentMarshaller

AttachmentMarshaller getAttachmentMarshaller()

setSchema

void setSchema(Schema schema)
後の整列化操作の検証に使用する、JAXP 1.3 Schema オブジェクトを指定します。このメソッドに null を渡すと、検証は無効になります。

このメソッドにより、呼び出し側は整列化の実行時に、整列化される XML を検証できます。

このプロパティーは最初に null に設定されます。

パラメータ:
schema - 整列化操作の検証に使用するスキーマオブジェクト。検証を無効にする場合は null
例外:
UnsupportedOperationException - JAXB 1.0 マップクラスを参照している JAXBContext から作成された Marshaller に対してこのメソッドが呼び出された場合
導入されたバージョン:
JAXB2.0

getSchema

Schema getSchema()
整列化時の検証に使用される JAXP 1.3 Schema オブジェクトを取得します。Marshaller にスキーマが設定されていない場合、このメソッドは、整列化時に検証を実行しないことを示す、null を返します。

戻り値:
整列化時の検証を実行するために使用されるスキーマオブジェクト、 または、存在しない場合、null
例外:
UnsupportedOperationException - JAXB 1.0 マップクラスを参照している JAXBContext から作成された Marshaller に対してこのメソッドが呼び出された場合
導入されたバージョン:
JAXB2.0

setListener

void setListener(Marshaller.Listener listener)

この Marshaller に整列化イベントコールバック Marshaller.Listener を登録します。

各 Marshaller に Listener は 1 つだけです。Listener を設定すると、前に設定されていた Listener と置き換わります。Listener に null を設定することにより、現在の Listener の登録を解除できます。

パラメータ:
listener - Marshaller.Listener を実装するクラスのインスタンス
導入されたバージョン:
JAXB2.0

getListener

Marshaller.Listener getListener()

この Marshaller に登録されている Marshaller.Listener を返します。

戻り値:
登録されている Marshaller.Listener、または、この Marshaller に登録されている Listener がない場合、null
導入されたバージョン:
JAXB2.0

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。