Le fichier DAD comporte une instruction SQL indiquant les tables, les colonnes et les conditions DB2 qui doivent contenir des données XML.
Figure 17. Fichier exemple DAD pour collection XML utilisant le mappage SQL
<?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> |