XML 対応オブジェクトと XML 仮想ドキュメントの比較
XML メッセージでプロダクションを開発する場合、以下の構造のいずれかを使用して XML ドキュメントを含めることができます。
-
XML 仮想ドキュメント
-
XML 対応オブジェクト
入力 XML ドキュメントの要素のうちアクセスする必要があるものが少数の場合、XML 仮想ドキュメントを使用できますが、入力 XML ドキュメントのほとんどの要素にアクセスする必要がある場合、より効率的な XML 対応オブジェクトを選択する必要があります。これは特に、多くの要素を含むオブジェクトが変換によって処理される場合に当てはまります。XML 対応オブジェクトを処理するために、以下のビジネス・サービスとビジネス・オペレーションが用意されています。
-
EnsLib.XML.Object.Service.FileService
-
EnsLib.XML.Object.Service.FTPService
-
EnsLib.XML.Object.Operation.FileOperation
-
EnsLib.XML.Object.Operation.FTPOperation
XML 対応オブジェクトのビジネス・サービスは、XML ドキュメントを含むファイルを読み取り、これを 1 つ以上のオブジェクトに変換します。XML 要素を定義し、オブジェクトに変換するプロパティを指定します。XML ルート・ドキュメントに 1 つの要素が含まれている場合、サービスはこれを 1 つのオブジェクトに変換しますが、XML ルート・ドキュメントに一連の要素が含まれている場合、別々のオブジェクトに変換します。
XML 対応オブジェクトのサービスを使用するには、以下を実行します。
-
処理する入力 XML ドキュメントの構造に一致するクラスを定義します。このクラスは、XML ドキュメント全体に対応するか、またはルート XML ドキュメント内の繰り返し要素を照合できます。XML スキーマ・ウィザードを使用してこのクラスを定義できます。オプションでこのクラスに NAMESPACE パラメータを定義できます。このパラメータは XML ネームスペースを指定します。
-
ビジネス・サービスの [クラス名] フィールドでクラス名を指定します。
-
オプションで、[要素名] フィールドで要素名を指定します。このフィールドを指定する場合、サービスは、ルート XML オブジェクト内でこの名前を持つ 1 つ以上の XML 要素を探します。要素が見つかるたびに、指定したクラスのインスタンスに変換されます。このフィールドを指定しない場合、サービスは、ルート・ドキュメントを指定したクラスと照合します。
-
オプションで [形式] パラメータを指定し、さらにオプションで [Null を無視] を選択します。[形式] パラメータの値には、"literal"、"encoded"、または "encoded12" のいずれかを指定できます。これらのパラメータは、%XML.AdaptorOpens in a new tab クラスの対応するパラメータを指定します。
XML 対応オブジェクトのビジネス・オペレーションは、オブジェクトを XML ドキュメントに変換し、そのドキュメントをファイルに書き込みます。XML クラスおよび要素についての情報の指定に加えて、オペレーションが %XML.WriterOpens in a new tab クラスを呼び出すときに使用するプロパティを指定できます。
オペレーションの以下のプロパティを指定します。