XML データ・ハンドラーを構成するには、その構成情報が XML 子メタオブジェクトに設定されている必要があります。
XML データ・ハンドラー向けに、IBM からデフォルト子メタオブジェクト
MO_DataHandler_DefaultXMLConfig が提供されています。
このメタオブジェクト内の各属性により、XML
データ・ハンドラーのために構成プロパティーが定義されます。表 12
で、この子メタオブジェクト内の属性について説明します。
表 12. XML データ・ハンドラーの子メタオブジェクト属性
属性名 | 説明 | 納入時のデフォルト値 |
---|---|---|
BOPrefix | ビジネス・オブジェクト名を作成するために、デフォルト の NameHandler クラスで使用されるプレフィックス。デフォルト値は、関連するビジネス・オブジェクト定義の名前に一致するよう変更する必要があります。属性値は大文字小文字を区別します。 | XMLTEST |
ClassName | 指定された MIME タイプで使用するためにロードするデータ・ハンドラー・クラスの名前。トップレベルのデータ・ハンドラー・メタオブジェクトには、指定された MIME タイプと名前が一致し、タイプが XML 子メタオブジェクトである属性があります (表 12 で説明)。 | com.crossworlds. DataHandlers. text.xml |
DefaultEscapeBehavior | 属性値に特殊文字が含まれている場合、XML データ・ハンドラーはエスケープ処理の実行が必要となります。 属性のアプリケーション固有情報に escape タグが設定されていない 場合、XML データ・ハンドラーは、DefaultEscapeBehavior プロパティーを調べることにより、エスケープ処理を実行するかどうか決定します。 詳細については、特殊文字が含まれる XML エレメントまたは属性の場合を参照してください。 | true |
DTDPath | データ・ハンドラーが文書タイプ定義 (DTD) またはスキーマ (XSD) へのパスを構成するのに使用します。 | なし |
DummyKey | キー属性。データ・ハンドラーは使用しませんが、ビジネス・インテグレーション・システムには必要です。 | 1 |
EntityResolver | DTD やスキーマなどの外部エンティティーの参照を処理するのに使用するクラス名。 この属性に関する値の詳細については、エンティティー・リゾルバーを参照してください。 | なし |
IgnoreUndefinedAttributes | この属性が false に設定されている場合は、XML データ・ハンドラーがすべての XML 属性をビジネス・オブジェクト定義と突き合わせて検証するときに、未定義の属性があると、例外がスローされます。この属性が true に設定さている場合、XML データ・ハンドラーは未定義の XML 属性をすべて無視し、警告を生成します。 | true |
IgnoreUndefinedElements | この属性が false に設定されていると、XML データ・ハンドラーはすべての XML エレメントをビジネス・オブジェクト定義と照合し、アプリケーション固有情報に定義されていないエレメントを検出すると、例外をスローします。この属性が true に設定されていると、XML データ・ハンドラーはすべての未定義 XML エレメント (および未定義エレメント内のすべての属性) を無視し、警告を発行します。 | false |
InitialBufferSize | ビジネス・オブジェクトを XML に変換する際に使用するバッファーの初期サイズを定義します。この値を、XML ビジネス・オブジェクトのサイズ (バイト単位) に設定してください。この値に大きな数値を設定すると、ビジネス・オブジェクトから直列化 XML への変換が速くなります。 | 2 MB (2,097,152 KB) |
NameHandlerClass | XML 文書の内容からビジネス・オブジェクトの名前を判別するのに使用するクラス名。独自のカスタム・ネーム・ハンドラーを作成する場合は、この属性のデフォルト値を変更します。詳細については、カスタム XML ネーム・ハンドラーの作成を参照してください。 | com. crossworlds. DataHandlers.xml. TopElementNameHandler |
Parser | XML 文書の SAX 準拠パーサーのパッケージ名。 | なし |
UseNewLine | 新しい行に出力 XML 内の各タグを付ける場合は true に設定します。(XML データ・ハンドラーは、改行 (LF) および復帰 (CR) の形式で追加の 内容を XML 文書に付加します。) XML 出力を変更しない場合は、false に設定します。 | false |
Validation |
この値はデータ・ハンドラーに使用されて、検証パーサーを使用することを指定します。データ・ハンドラーはこのために、xerces パーサーの http://xml.org/sax/features/validation フィーチャーを true に設定します。検証パーサーを使用するには、デフォルト値を true に変更する必要があります。 Validation が true に設定されていると、XML パーサーは XML 文書を下記と照合します。
| false |
ObjectEventId | プレースホルダー。データ・ハンドラーは使用しませんが、ビジネス・インテグレーション・システムで必要です。 | なし |
表 12 の「納入時のデフォルト値」列には、納入時のビジネス・オブジェクトの対応する属性の Default Value プロパティーの値がリストされています。使用する環境を調べてこれらの属性の Default Value プロパティーに適切な値を設定する必要があります。少なくとも ClassName と BOPrefix 属性にはデフォルト値が設定されている必要があります。
さまざまな MIME タイプ/サブタイプの組み合わせでそれぞれ同じ XML データ・ハンドラー構成を使用する場合、これらの組み合わせで使用できる子メタオブジェクトは 1 つです。 コネクターでさまざまな MIME タイプに関して異なる XML データ・ハンドラー構成が必要の場合、各データ・ハンドラー・インスタンスに対して別々の子メタオブジェクトを作成する必要があります。XML データ・ハンドラーの複数の構成を作成するには、次の手順で行います。
各 MIME タイプ/サブタイプの組み合わせに関するトップレベルのデータ・ハンドラー・メタオブジェクト内の属性を作成します。例えば、XML と SGML をサポートする場合、text_xml と text_xml_sgml の MIME タイプを作成できます。これらの属性は、それぞれ関連する子メタオブジェクトを表すことになります。
また、XML データ・ハンドラーを構成して同じデータ・ハンドラーの複数のインスタンスをサポートすることもできます。この場合は、text_xml_subtype という名前の別のトップレベルの属性名を作成することができます。ここで、subtype は、text_xml_AppA の場合のようなアプリケーション・エンティティー名、または別の適切な名前とすることができます。
データ・ハンドラーの構成方法の詳細については、データ・ハンドラーの構成を参照してください。
図 12 に、トップレベルのデータ・ハンドラー・メタオブジェクトとそれに対応する子メタオブジェクトの例を示します。トップレベルのメタオブジェクト、MO_DataHandler_XMLSample には 4 つの属性がありますが、子メタオブジェクトは 3 つしかないことに注意してください。これは、属性 Application_xml_AppC が、属性 text_xml_AppB と同じ子メタオブジェクトを使用して、該当するデータ・ハンドラーを起動するからです。