この DAD ファイルには、XML データを保管する DB2 表、列、 および条件を指定した SQL ステートメントが含まれています。
図 17. SQL マッピングを使用した XML コレクション用のサンプル DAD ファイル
<?xml version="1.0"?> <!DOCTYPE DAD SYSTEM "c:\dxx\dtd\dad.dtd"> <DAD> <validation>NO</validation> <Xcollection> <SQL_stmt>SELECT o.order_key, customer_name, customer_email, p.part_key, color, quantity, price, tax, ship_id, date, mode from order_tab o, part_tab p, table (select substr(char(timestamp(generate_unique())),16) as ship_id, date, mode, part_key from ship_tab) s WHERE o.order_key = 1 and p.price > 20000 and p.order_key = o.order_key and s.part_key = p.part_key ORDER BY order_key, part_key, ship_id</SQL_stmt> <prolog>?xml version="1.0"?</prolog> <doctype>!DOCTYPE Order SYSTEM "c:\dxx\samples\dtd\getstart.dtd"</doctype> <root_node> <element_node name="Order"> <attribute_node name="key"> <column name="order_key"/> </attribute_node> <element_node name="Customer"> <element_node name="Name"> <text_node><column name="customer_name"/></text_node> </element_node> <element_node name="Email"> <text_node><column name="customer_email"/></text_node> </element_node> </element_node> <element_node name="Part"> <attribute_node name="color"> <column name="color"/> </attribute_node> <element_node name="key"> <text_node><column name="part_key"/></text_node> </element_node> <element_node name="Quantity"> <text_node><column name="quantity"/></text_node> </element_node> <element_node name="ExtendedPrice"> <text_node><column name="price"/></text_node> </element_node> <element_node name="Tax"> <text_node><column name="tax"/></text_node> </element_node> <element_node name="Shipment" multi_occurence="YES"> <element_node name="ShipDate"> <text_node><column name="date"/></text_node> </element_node> <element_node name="ShipMode"> <text_node><column name="mode"/></text_node> </element_node> </element_node> </element_node> </element_node> </root_node> </Xcollection> </DAD> |