パッケージ jakarta.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 ノードへのマーシャリング:

           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 );
        

    Jakarta XML Binding 要素をルートとするコンテンツツリーのマーシャリング

    オーバーロードされた Marshaller.marshal(java.lang.Object,...) メソッドの最初のパラメーターは、JAXBIntrospector.isElement(java.lang.Object) によって計算される Jakarta XML Binding 要素である必要があります。それ以外の場合、Marshaller.marshal メソッドは MarshalException をスローする必要があります。Jakarta XML Binding 要素ではないインスタンスのマーシャリングを有効にするメカニズムは 2 つあります。1 つの方法は、インスタンスを JAXBElement の値としてラップし、ラッパー要素を最初のパラメーターとして Marshaller.marshal メソッドに渡すことです。java からスキーマへのバインディングの場合、インスタンスのクラスに @ でアノテーションを付けることもできます。XmlRootElement

    エンコード

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

    検証と整形式

    クライアントアプリケーションは、マーシャル API を呼び出す前に Java コンテンツツリーを検証する必要はありません。さらに、Java コンテンツツリーを元のスキーマにマーシャリングして XML データに戻すために、Java コンテンツツリーが元のスキーマに対して有効である必要はありません。さまざまな Jakarta XML Binding Providers が、さまざまなレベルでの無効な Java コンテンツツリーのマーシャリングをサポートしますが、すべての Jakarta XML Binding Providers は、有効なコンテンツツリーを XML データにマーシャリングできる必要があります。Jakarta XML Binding Provider は、無効なコンテンツが原因でマーシャル操作を完了できない場合、MarshalException をスローする必要があります。一部の Jakarta XML Binding Providers は、無効なコンテンツのマーシャリングを完全に許可しますが、他の Jakarta XML Binding Providers は、最初の検証エラーで失敗します。

    マーシャル操作でスキーマ検証が明示的に有効になっていない場合でも、操作中に特定の型の検証イベントが検出される可能性があります。検証イベントは、登録されたイベントハンドラーに報告されます。クライアントアプリケーションがマーシャル API の 1 つを呼び出す前にイベントハンドラーを登録していない場合、イベントはデフォルトのイベントハンドラーに配信され、最初のエラーまたは致命的なエラーが発生した後にマーシャル操作が終了します。Jakarta XML Binding 以降のバージョンでは、DefaultValidationEventHandler は使用されなくなったことに注意してください。

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

    すべての Jakarta XML Binding Providers は、次の一連のプロパティをサポートする必要があります。一部のプロバイダーは、追加のプロパティをサポートする場合があります。

    jaxb.encoding - 値は java.lang.String である必要があります
    XML データをマーシャリングするときに使用する出力エンコーディング。このプロパティが指定されていない場合、マーシャラーはデフォルトで "UTF-8" を使用します。
    jaxb.formatted.output - 値は java.lang.Boolean である必要があります
    このプロパティは、マーシャラーが結果の XML データを改行とインデントでフォーマットするかどうかを制御します。このプロパティの真の値は、人間が読み取れるインデントされた xml データを示し、偽の値は、フォーマットされていない xml データを示します。このプロパティが指定されていない場合、マーシャラーはデフォルトで false(フォーマットされていない)になります。
    jaxb.schemaLocation - 値は java.lang.String である必要があります
    このプロパティにより、クライアントアプリケーションは生成された XML データに xsi:schemaLocation 属性を指定できます。schemaLocation 属性値の形式は、わかりやすい非規範形式で W3C XML スキーマのセクション 5.6 パート 0: 入門書で説明されており、W3C XML スキーマのセクション 2.6 パート 1: 構造で指定されています。
    jaxb.noNamespaceSchemaLocation - 値は java.lang.String である必要があります
    このプロパティにより、クライアントアプリケーションは生成された XML データに xsi:noNamespaceSchemaLocation 属性を指定できます。schemaLocation 属性値の形式は、わかりやすい非規範形式で W3C XML スキーマのセクション 5.6 パート 0: 入門書で説明されており、W3C XML スキーマのセクション 2.6 パート 1: 構造で指定されています。
    jaxb.fragment - 値は java.lang.Boolean である必要があります
    このプロパティは、ドキュメントレベルのイベントがマーシャラーによって生成されるかどうかを決定します。プロパティが指定されていない場合、デフォルトは false です。このプロパティは、使用しているマーシャル API に応じて異なる意味を持ちます。このプロパティが true に設定されている場合:

    マーシャルイベントのコールバック

    Marshaller は、アンマーシャリングプロセスの重要なポイントでアプリケーション固有の処理を可能にする 2 つのスタイルのコールバックメカニズムを提供します。「クラス定義」イベントコールバックでは、Jakarta XML Binding マップクラスに配置されたアプリケーション固有のコードがマーシャリング中にトリガーされます。「外部リスナー」により、集中化が可能になります。型イベントコールバックではなく、1 つのコールバックメソッドでマーシャリングイベントを処理します。

    クラス定義のイベントコールバックメソッドを使用すると、Jakarta XML Binding にマップされたクラスは、次のメソッドシグネチャーでメソッドを定義することにより、独自の特定のコールバックメソッドを指定できます。

       // Invoked by Marshaller after it has created an instance of this object.
       boolean beforeMarshal(Marshaller);
    
       // Invoked by Marshaller after it has marshalled all properties of this object.
       void afterMarshal(Marshaller);
     
    クラス定義のイベントコールバックメソッドは、コールバックメソッドが非公開メソッドやクラスのフィールドへのアクセスを必要とする場合に使用する必要があります。

    外部リスナーコールバックメカニズムにより、Marshaller.Listener インスタンスを setListener(Listener) に登録できます。外部リスナーはすべてのコールバックイベントを受信するため、クラス定義のコールバックメソッドよりも集中処理が可能になります。

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

    例外をスローするイベントコールバックメソッドは、現在のマーシャルプロセスを終了します。

    導入:
    1.6、JAXB 1.0
    作成者:
    • Kohsuke Kawaguchi, Sun Microsystems, Inc.
    • Ryan Shoemaker, Sun Microsystems, Inc.
    • Joe Fialli, Sun Microsystems, Inc.
    関連事項:
    JAXBContext, Unmarshaller
    • ネストされたクラスのサマリー

      ネストされたクラス  
      修飾子と型 インターフェース 説明
      static class Marshaller.Listener
      このクラスの実装のインスタンスを Marshaller に登録して、マーシャルイベントを外部でリッスンします。
    • フィールドサマリー

      フィールド  
      修飾子と型 フィールド 説明
      static StringSEJAXB_ENCODING
      マーシャリングされた XML データの出力エンコーディングを指定するために使用されるプロパティの名前。
      static StringSEJAXB_FORMATTED_OUTPUT
      マーシャリングされた XML データが改行とインデントでフォーマットされているかどうかを指定するために使用されるプロパティの名前。
      static StringSEJAXB_FRAGMENT
      マーシャラーがドキュメントレベルのイベント (つまり、startDocument または endDocument の呼び出し) を生成するかどうかを指定するために使用されるプロパティの名前。
      static StringSEJAXB_NO_NAMESPACE_SCHEMA_LOCATION
      マーシャリングされた XML 出力に配置する xsi:noNamespaceSchemaLocation 属性値を指定するために使用されるプロパティの名前。
      static StringSEJAXB_SCHEMA_LOCATION
      マーシャリングされた XML 出力に配置する xsi:schemaLocation 属性値を指定するために使用されるプロパティの名前。
    • フィールドの詳細

      • JAXB_ENCODING

        static final StringSE JAXB_ENCODING
        マーシャリングされた XML データの出力エンコーディングを指定するために使用されるプロパティの名前。
        関連事項:
        定数フィールド値
      • JAXB_FORMATTED_OUTPUT

        static final StringSE JAXB_FORMATTED_OUTPUT
        マーシャリングされた XML データが改行とインデントでフォーマットされているかどうかを指定するために使用されるプロパティの名前。
        関連事項:
        定数フィールド値
      • JAXB_SCHEMA_LOCATION

        static final StringSE JAXB_SCHEMA_LOCATION
        マーシャリングされた XML 出力に配置する xsi:schemaLocation 属性値を指定するために使用されるプロパティの名前。
        関連事項:
        定数フィールド値
      • JAXB_NO_NAMESPACE_SCHEMA_LOCATION

        static final StringSE JAXB_NO_NAMESPACE_SCHEMA_LOCATION
        マーシャリングされた XML 出力に配置する xsi:noNamespaceSchemaLocation 属性値を指定するために使用されるプロパティの名前。
        関連事項:
        定数フィールド値
      • JAXB_FRAGMENT

        static final StringSE JAXB_FRAGMENT
        マーシャラーがドキュメントレベルのイベント (つまり、startDocument または endDocument の呼び出し) を生成するかどうかを指定するために使用されるプロパティの名前。
        関連事項:
        定数フィールド値
    • メソッドの詳細

      • marshal

        void marshal​(ObjectSE jaxbElement,
                     ResultSE result)
              throws JAXBException
        jaxbElement をルートとするコンテンツツリーを指定された javax.xml.transform.Result にマーシャリングします。

        すべての Jakarta XML Binding Providers は、少なくとも DOMResultSESAXResultSEStreamResultSE をサポートする必要があります。Result の他の派生クラスもサポートできます。

        パラメーター:
        jaxbElement - マーシャリングされるコンテンツツリーのルート。
        result - XML がこの結果に送信されます
        例外:
        JAXBException - マーシャリング中に予期しない問題が発生した場合。
        MarshalException - ValidationEventHandler が handleEvent メソッドから false を返す場合、または Marshaller が jaxbElement (または jaxbElement から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。
        IllegalArgumentExceptionSE - メソッドパラメーターのいずれかが null の場合
      • marshal

        void marshal​(ObjectSE jaxbElement,
                     OutputStreamSE os)
              throws JAXBException
        jaxbElement をルートとするコンテンツツリーを出力ストリームにマーシャリングします。
        パラメーター:
        jaxbElement - マーシャリングされるコンテンツツリーのルート。
        os - XML がこのストリームに追加されます。
        例外:
        JAXBException - マーシャリング中に予期しない問題が発生した場合。
        MarshalException - ValidationEventHandler が handleEvent メソッドから false を返す場合、または Marshaller が jaxbElement (または jaxbElement から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。
        IllegalArgumentExceptionSE - メソッドパラメーターのいずれかが null の場合
      • marshal

        void marshal​(ObjectSE jaxbElement,
                     FileSE output)
              throws JAXBException
        jaxbElement をルートとするコンテンツツリーをファイルにマーシャリングします。
        パラメーター:
        jaxbElement - マーシャリングされるコンテンツツリーのルート。
        output - 書き込むファイル。このファイルがすでに存在する場合は、上書きされます。
        例外:
        JAXBException - マーシャリング中に予期しない問題が発生した場合。
        MarshalException - ValidationEventHandler が handleEvent メソッドから false を返す場合、または Marshaller が jaxbElement (または jaxbElement から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。
        IllegalArgumentExceptionSE - メソッドパラメーターのいずれかが null の場合
        導入:
        1.6、JAXB 2.1
      • marshal

        void marshal​(ObjectSE jaxbElement,
                     WriterSE writer)
              throws JAXBException
        jaxbElement をルートとするコンテンツツリーをライターにマーシャリングします。
        パラメーター:
        jaxbElement - マーシャリングされるコンテンツツリーのルート。
        writer - XML がこのライターに送信されます。
        例外:
        JAXBException - マーシャリング中に予期しない問題が発生した場合。
        MarshalException - ValidationEventHandler が handleEvent メソッドから false を返す場合、または Marshaller が jaxbElement (または jaxbElement から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。
        IllegalArgumentExceptionSE - メソッドパラメーターのいずれかが null の場合
      • marshal

        void marshal​(ObjectSE jaxbElement,
                     ContentHandlerSE handler)
              throws JAXBException
        jaxbElement をルートとするコンテンツツリーを SAX2 イベントにマーシャリングします。
        パラメーター:
        jaxbElement - マーシャリングされるコンテンツツリーのルート。
        handler - XML は SAX2 イベントとしてこのハンドラーに送信されます。
        例外:
        JAXBException - マーシャリング中に予期しない問題が発生した場合。
        MarshalException - ValidationEventHandler が handleEvent メソッドから false を返す場合、または Marshaller が jaxbElement (または jaxbElement から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。
        IllegalArgumentExceptionSE - メソッドパラメーターのいずれかが null の場合
      • marshal

        void marshal​(ObjectSE jaxbElement,
                     NodeSE node)
              throws JAXBException
        jaxbElement をルートとするコンテンツツリーを DOM ツリーにマーシャリングします。
        パラメーター:
        jaxbElement - マーシャリングされるコンテンツツリー。
        node - DOM ノードはこのノードの子として追加されます。このパラメーターは、子を受け入れるノードである必要があります ( DocumentSEDocumentFragmentSEElementSE )
        例外:
        JAXBException - マーシャリング中に予期しない問題が発生した場合。
        MarshalException - ValidationEventHandler が handleEvent メソッドから false を返す場合、または Marshaller が jaxbElement (または jaxbElement から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。
        IllegalArgumentExceptionSE - メソッドパラメーターのいずれかが null の場合
      • marshal

        void marshal​(ObjectSE jaxbElement,
                     XMLEventWriterSE writer)
              throws JAXBException
        jaxbElement をルートとするコンテンツツリーを XMLEventWriterSE にマーシャリングします。
        パラメーター:
        jaxbElement - マーシャリングされる jaxbElement をルートとするコンテンツツリー。
        writer - XML がこのライターに送信されます。
        例外:
        JAXBException - マーシャリング中に予期しない問題が発生した場合。
        MarshalException - ValidationEventHandler が handleEvent メソッドから false を返す場合、または Marshaller が jaxbElement (または jaxbElement から到達可能なオブジェクト)をマーシャリングできない場合。 Jakarta XML Binding 要素のマーシャリングを参照してください。
        IllegalArgumentExceptionSE - メソッドパラメーターのいずれかが null の場合
        導入:
        1.6、JAXB 2.0
      • getNode

        NodeSE getNode​(ObjectSE contentTree)
              throws JAXBException
        コンテンツツリーの DOM ツリービューを取得します(オプション)。返された DOM ツリーが更新されると、これらの変更はコンテンツツリーにも表示されます。marshal(Object, org.w3c.dom.Node) を使用して、コンテンツツリーのディープコピーを DOM 表現に強制します。
        パラメーター:
        contentTree - -XML コンテンツの Jakarta XML Binding Java 表現
        戻り値:
        contentTree の DOM ツリービュー
        例外:
        UnsupportedOperationExceptionSE - Jakarta XML Binding プロバイダーの実装がコンテンツツリーの DOM ビューをサポートしていない場合
        IllegalArgumentExceptionSE - メソッドパラメーターのいずれかが null の場合
        JAXBException - 予期しない問題が発生した場合
      • setProperty

        void setProperty​(StringSE name,
                         ObjectSE value)
                  throws PropertyException
        Marshaller の基礎となる実装で特定のプロパティを設定します。このメソッドは、上記の標準 Jakarta XML Binding 定義プロパティの 1 つ、またはプロバイダー固有のプロパティを設定するためにのみ使用できます。未定義のプロパティを設定しようとすると、PropertyException がスローされます。サポートされているプロパティを参照してください。
        パラメーター:
        name - 設定するプロパティの名前。この値は、定数フィールドの 1 つまたはユーザー指定の文字列を使用して指定できます。
        value - 設定するプロパティの値
        例外:
        PropertyException - 指定されたプロパティまたは値の処理中にエラーが発生した場合
        IllegalArgumentExceptionSE - name パラメーターが null の場合
      • getProperty

        ObjectSE getProperty​(StringSE name)
                    throws PropertyException
        Marshaller の基礎となる実装で特定のプロパティを取得します。このメソッドは、上記の標準 Jakarta XML Binding 定義プロパティの 1 つ、またはプロバイダー固有のプロパティを取得するためにのみ使用できます。未定義のプロパティを取得しようとすると、PropertyException がスローされます。サポートされているプロパティを参照してください。
        パラメーター:
        name - 取得するプロパティの名前
        戻り値:
        リクエストされたプロパティの値
        例外:
        PropertyException - 指定されたプロパティまたは値のプロパティ名の取得中にエラーが発生した場合
        IllegalArgumentExceptionSE - name パラメーターが null の場合
      • setEventHandler

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

        マーシャル API の呼び出し中に検証エラーが発生した場合、検証イベントハンドラーは Jakarta XML Binding Provider によって呼び出されます。クライアントアプリケーションがマーシャルメソッドの 1 つを呼び出す前に検証イベントハンドラーを登録しない場合、検証イベントはデフォルトのイベントハンドラーによって処理され、最初のエラーまたは致命的なエラーが発生した後にマーシャル操作が終了します。

        null パラメーターを指定してこのメソッドを呼び出すと、Marshaller はデフォルトのデフォルトのイベントハンドラーに戻ります。

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

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

        <A extends XmlAdapter<?,​?>> void setAdapter​(A adapter)
        XmlAdapter の構成済みインスタンスをこのマーシャラーに関連付けます。

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

        型パラメーター:
        A - アダプターの型
        パラメーター:
        adapter - 使用するアダプターのインスタンス。null の場合、この型に設定されている現在のアダプターの登録が解除されます。
        例外:
        IllegalArgumentExceptionSE - アダプターパラメーターが null の場合。
        UnsupportedOperationExceptionSE - JAXB 1.0 実装に対して再度呼び出された場合。
        導入:
        1.6、JAXB 2.0
        関連事項:
        setAdapter(Class,XmlAdapter)
      • setAdapter

        <A extends XmlAdapter<?,​?>> void setAdapter​(ClassSE<A> type,
                                                          A adapter)
        XmlAdapter の構成済みインスタンスをこのマーシャラーに関連付けます。

        すべてのマーシャラーは、MapSE <ClassSEXmlAdapter> を内部的に維持します。これは、フィールド / メソッドに XmlJavaTypeAdapter アノテーションが付けられたマーシャリングクラスに使用されます。

        この方法により、アプリケーションは XmlAdapter の構成済みインスタンスを使用できます。アダプターのインスタンスが指定されていない場合、マーシャラーはデフォルトのコンストラクターを呼び出してアダプターを作成します。

        型パラメーター:
        A - アダプターの型
        パラメーター:
        type - アダプターの型。指定されたインスタンスは、XmlJavaTypeAdapter.value() がこの型を参照するときに使用されます。
        adapter - 使用するアダプターのインスタンス。null の場合、この型に設定されている現在のアダプターの登録が解除されます。
        例外:
        IllegalArgumentExceptionSE - type パラメーターが null の場合。
        UnsupportedOperationExceptionSE - JAXB 1.0 実装に対して再度呼び出された場合。
        導入:
        1.6、JAXB 2.0
      • getAdapter

        <A extends XmlAdapter<?,​?>> A getAdapter​(ClassSE<A> type)
        指定された型に関連付けられたアダプターを取得します。これは、setAdapter(A) メソッドの逆の操作です。
        型パラメーター:
        A - アダプターの型
        パラメーター:
        type - アダプターの型。指定されたインスタンスは、XmlJavaTypeAdapter.value() がこの型を参照するときに使用されます。
        戻り値:
        指定された型に関連付けられたアダプター。
        例外:
        IllegalArgumentExceptionSE - type パラメーターが null の場合。
        UnsupportedOperationExceptionSE - JAXB 1.0 実装に対して再度呼び出された場合。
        導入:
        1.6、JAXB 2.0
      • setAttachmentMarshaller

        void setAttachmentMarshaller​(AttachmentMarshaller am)
        XML ドキュメント内のバイナリデータを XML バイナリに最適化された添付ファイルとして送信できるようにするコンテキストを関連付けます。添付ファイルは、xml ドキュメント内に格納されている content-id URI(cid)参照によって XML ドキュメントコンテンツモデルから参照されます。
        パラメーター:
        am - 設定するアタッチメントマーシャラー
        例外:
        IllegalStateExceptionSE - マーシャル操作中にこのメソッドを同時に呼び出そうとした場合。
      • setSchema

        void setSchema​(SchemaSE schema)
        後続の整列化操作を検証するために使用する必要がある JAXP SchemaSE オブジェクトを指定します。このメソッドに null を渡すと、検証が無効になります。

        このメソッドを使用すると、呼び出し元は、マーシャリングされた XML をマーシャリング時に検証できます。

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

        パラメーター:
        schema - マーシャル操作を検証するスキーマオブジェクト、または検証を無効にする null
        例外:
        UnsupportedOperationExceptionSE - このメソッドが、JAXB 1.0 マップクラスを参照する JAXBContext から作成されたマーシャラーで呼び出された場合にスローされる可能性があります
        導入:
        1.6、JAXB 2.0
      • getSchema

        SchemaSE getSchema()
        整列化時の検証を実行するために使用されている JAXP SchemaSE オブジェクトを取得します。マーシャラーにスキーマが設定されていない場合、このメソッドは null を返し、マーシャル時の検証が実行されないことを示します。
        戻り値:
        マーシャル時間の検証を実行するために使用されているスキーマオブジェクト。存在しない場合は null。
        例外:
        UnsupportedOperationExceptionSE - このメソッドが、JAXB 1.0 マップクラスを参照する JAXBContext から作成されたマーシャラーで呼び出された場合にスローされる可能性があります
        導入:
        1.6、JAXB 2.0
      • setListener

        void setListener​(Marshaller.Listener listener)

        マーシャルイベントコールバック Marshaller.Listener をこの Marshaller に登録します。

        マーシャラーごとにリスナーは 1 人だけです。リスナーを設定すると、以前に設定したリスナーが置き換えられます。リスナーを null に設定することにより、現在のリスナーの登録を解除できます。

        パラメーター:
        listener - Marshaller.Listener を実装するクラスのインスタンス
        導入:
        1.6、JAXB 2.0