9.2.4.1 XMLのスタイル

XMLメッセージは動的または静的なXMLにフォーマットされます。実行時、動的XMLのコンテンツは、サンプルXMLまたはXSDドキュメントを使用してあらかじめ決定できないデータ値です。表および列の要素または属性名を決定する静的XMLのコンテンツは、それらのサンプル・ドキュメントを使用してあらかじめ決定できます。

次の2つの例には同じデータが含まれています。

例9-5 静的XMLの例

<NewMyTableEntries> 
  <NewMyTableEntry> 
    <CreateTime>2010-02-05:10:11:21</CreateTime> 
    <KeyCol>keyval</KeyCol> 
    <Col1>col1val</Col1>
  </NewMyTableEntry>
</NewMyTableEntries>

NewMyTableEntries要素は、トランザクション境界をマークします。NewMyTableEntryは、MY.TABLEへの挿入を表します。タイムスタンプは要素テキスト値内にあり、列名は要素名で表されます。

XPathに似た形式のプロパティのセットを介してこれらの2つのスタイルのXMLを解析するルールをプロパティ・ファイルに定義できます。プロパティの目的は、XPath照合を介してあらかじめ定義されたソース定義ファイルにXMLをマップすることです。

例9-6 動的XMLの例

<transaction id="1234" ts="2010-02-05:10:11:21">
  <operation table="MY.TABLE" optype="I">
    <column name="keycol" index="0">
      <aftervalue><![CDATA[keyval]]></aftervalue>
    </column>
    <column name="col1" index="1">
      <aftervalue><![CDATA[col1val]]></aftervalue>
    </column>
  </operation> 
</transaction>

各表に対する各操作は、トランザクション、操作および列の各要素で構成される同じ基本的メッセージ構造を持ちます。表名、操作タイプ、タイムスタンプ、列名、列値などは属性または要素テキスト値から取得されます。