テンプレート定義ファイルの TemplateTag エレメント
TemplateTag エレメントは、TemplateDocument エレメントと一緒にテンプレート定義ファイル中で使用されます。 幾つかの TemplateTag エレメントをインバウンド XML メッセージごとに定義できます。 しかし、
各 TemplateTag エレメントは name 属性を使用して TemplateDocument エレメントにリンクしていなければなりません。 name と関連付けられている値は、テンプレート定義ファイルで定義されている TemplateDocument エレメントの TemplateTagName サブエレメント中の値と一致しているはずです。
各 TemplateTag エレメントには、Tag サブエレメント中にタグ定義のリストが含まれています。 Tag エレメントには、以下の 5 個の属性を入れることができます。
- XPath: TemplateDocument に指示されている StartElement に対して相対的な XML エレメントのパス。 XPath エレメントは、名前と値のペアのフィールド名を検索するためのキーです。 XPath の例は、以下のとおりです。
- E1/E2: エレメント E1 の内側にネストしているエレメント E2。 このタイプのパスの例は、以下のとおりです。
XPath='Address/ZipCode'
E1/E2/E3: エレメント E2 (エレメント E1 の内側にネストしている) の内側にネストしているエレメント E3。 このタイプのパスの例は、以下のとおりです。
XPath='ContactInfo/Address/ZipCode'
- E3@a1 : エレメント E3 中の属性 a1。 このタイプのパスの例は、以下のとおりです。
XPath='InvoiceInfo@InvoiceType'
この場合には、InvoiceType 属性が、メッセージの適用先の送り状タイプの種類以外のものを指示するために使用される場合があります。
- E4[1] : エレメント E4 の初回インスタンス。 E4 の複数インスタンスがある場合があります。 たとえば、複数行の住所があるこの形式を使用できます。 住所の各行には別個の Tag エレメントが入ることになります。
- E5[@a2="value 2"] : エレメント E5 のインスタンスの 1 つ。
E5 の属性 a2 は "value 2" と等しくなります。 たとえば、以下の形式を使用できます。
XPath='InvoiceInfo[@InvoiceType="ShippingInvoice"]
E5[@a1="value1"][@a2="value 2"] : エレメント E5 のインスタンス。
E5 の属性 a1 は '"value1" と等しくなり、
E5 の属性 a2 は "value 2" と等しくなります。
- XPathType: XPath に指示されているエレメントのタイプ。 この属性は、XML エレメントを XML パーサーによってどのように処理するかを指示します。 サポートされるタイプは:
- PCDATA : エレメントまたはエレメントの属性には、処理されて名前と値のペアに戻されるロー・インバウンド・データが入ります。 これが XPathType のデフォルト値です。
- EMPTY: エレメントがエンプティーであるか、あるいは無視できるデータが入っています。 このエレメントの名前と値のペアが戻されます。
- REPEAT : エレメントは複数インスタンスにすることができます。 各エレメントの PCDATA は名前と値のペアに戻されます。
- ATTRIBUTE: エレメント・フィールド名が属性の値によって決定される場合には、この属性は ATTRIBUTE タイプになるはずです。
- VECTOR: 新規ハッシュ・テーブルがベクトルに追加されて、サブエレメント用に生成されている名前と値のペアはすべてが新規ハッシュ・テーブルに入れられることになります。
- USERDATA: ユーザー定義エレメントを指示します。 このエレメントは name と呼ばれる属性になり、値はフィールド名です。 エレメントのデータは名前と値のペアに戻されます。
- Field: TypedProperty に入れられることになる名前と値のペアのフィールド名。
これは、呼び出されたコマンドで使用されるパラメーターの名前と一致するはずです。
- FieldType: データ・フィールドのタイプ。 フィールド・タイプは String または Date (ISO 8601 日付形式) とすることができます。 String がデフォルトです。
- FieldInfo: 名前と値のペアが入れられる TypedProperty を指示します。 Data がデフォルトです。 名前と値のペアを複数の TypedProperty に入れたい場合には、以下にリストされている複数の値をコンマで区切って指定しなければなりません:
- Data: 名前と値のペアは、コマンドの引き数が入る commandProperty に入れられることになります。
- Control: 名前と値のペアは、コマンドの制御情報 (USERID または PASSWORD など) が入る messageProperty に入れられることになります。
- Command: 名前と値のペアは、どのコマンドを呼び出すかを決定するために使用されます。
生成済みの名前と値のペアは、TemplateDocument エレメントの CommandMapping エレメントで使用されます。
エレメント XPath がタグ・テンプレート中に見つからないと、XML メッセージ中の XPath がフィールド名として使用され、XPathType は PCDATA となり、名前と値のペアは XPath をフィールド名として使用して生成されます。
TemplateTag エレメントがどのように使用されるかの例については、sys_template.xml ファイルを参照してください。