Release-Informationen

4Zerlegen von Dokumenten in XML Extender, die nicht eindeutige Attribute und Elementnamen enthalten

4Sie können jetzt Dokumente zerlegen, die nicht eindeutige Attribute oder 4Elementnamen enthalten, die verschiedenen Spalten (der gleichen oder 4verschiedener Tabellen) zugeordnet sind, ohne die Fehlermeldung DXXQ045E zu 4erhalten. Es folgt ein ein Beispiel eines XML-Dokuments mit nicht 4eindeutigen Attributen und nicht eindeutigen Elementnamen:

4<Order ID="0001-6789">
4       <!-- Anmerkung: Die Attributnamen-ID ist nicht eindeutig -->
4       <Customer ID = "1111">
4                    <Name>John Smith</Name>
4        </Customer>
4       <!-- Anmerkung: Der Elementname 'Name' ist nicht eindeutig -->
4       <Salesperson ID = "1234"> 
4              <Name>Jane Doe</Name>
4       </Salesperson>
4       <OrderDetail>
4              <ItemNo>xxxx-xxxx</ItemNo>
4              <Quantity>2</Quantity>
4              <UnitPrice>12.50</UnitPrice>
4       </OrderDetail>
4       <OrderDetail>
4              <ItemNo>yyyy-yyyy</ItemNo>
4              <Quantity>4</Quantity>
4              <UnitPrice>24.99</UnitPrice>
4       </OrderDetail> 
4</Order>

4Die zugehörige DAD, welche die kopierten Elemente und Attribute anderen 4Spalten zuordnet, sieht wie folgt aus:

4<element_node name="Order">
4  <RDB_node>
4    <table name="order_tab" key="order_id"/>
4    <table name="detail_tab"/>
4         <condition>
4      order_tab.order_id = detail_tab.order_id
4         </condition>
4        </RDB_node>
4 
4  <!-- Attribut-ID unten kopiert, aber einer anderen Spalte zugeordnet -->
4    <attribute_node name="ID">
4  <RDB_node>
4          <table name="order_tab" />
4      <column name="order_id" type="char(9)"/>
4        </RDB_node>
4     </attribute_node>
4 
4  <element_node name="Customer">
4    <!-- Attribut-ID oben kopiert, aber einer anderen Spalte zugeordnet -->
4    <attribute_node name="ID">
4  <RDB_node>
4          <table name="order_tab" />
4        <column name="cust_id" type="integer"/>
4        </RDB_node>
4     </attribute_node>
4 
4    <!-- Elementname unten kopiert, aber einer anderen Spalte zugeordnet -->
4    <element_node name="Name"> 
4      <text_node>
4  <RDB_node>
4          <table name="order_tab" />
4          <column name="cust_name" type="char(20)" />
4        </RDB_node>
4    </text_node>
4            </element_node>
4            </element_node>
4 
4  <element_node name="Salesperson">
4    <!-- Attribut-ID oben kopiert, aber einer anderen Spalte zugeordnet -->
4    <attribute_node name="ID">
4  <RDB_node>
4  <RDB_node>
4          <table name="order_tab" />
4        <column name="salesp_id" type="integer"/>
4        </RDB_node>
4     </attribute_node>
4 
4    <!-- Elementname oben kopiert, aber einer anderen Spalte zugeordnet --> 
4    <element_node name="Name"> 
4      <text_node>
4  <RDB_node>
4          <table name="order_tab" />
4          <column name="salesp_name" type="char(20)" />
4        </RDB_node>
4    </text_node>
4            </element_node>
4            </element_node>
4 
4  <element_node name="OrderDetail" multi_occurrence="YES">
4    <element_node name="ItemNo">
4      <text_node>
4  <RDB_node>
4          <table name="detail_tab" />
4          <column name="itemno" type="char(9)"/>
4        </RDB_node>
4    </text_node>
4            </element_node>
4    <element_node name="Quantity">
4      <text_node>
4  <RDB_node>
4          <table name="detail_tab" />
4          <column name="quantity" type="integer"/>
4        </RDB_node>
4    </text_node>
4            </element_node>
4    <element_node name="UnitPrice">
4      <text_node>
4        <RDB_node>detail_tab" />
4          <table name="detail_tab" /> 
4          <column name="unit_price" type="decimal(7,2)"/>
4        </RDB_node>
4    </text_node>
4            </element_node>
4            </element_node>
4</element_node>

4Der Inhalt der Tabellen würde nach dem Zerlegen des Dokuments oben wie 4folgt aussehen:

4ORDER _TAB:
4 
4ORDER_ID       CUST_ID       CUST_NAME       SALESP_ID       SALESP_NAME
40001-6789      1111          John Smith      1234            Jane Doe
4 
4DETAIL_TAB:
4 
4ORDER_ID          ITEMNO         QUANTITY          UNIT_PRICE
40001-6789         xxxx-xxxx      2                 12.50
40001-6789         yyyy-yyyy      4                 24.99
4Anmerkung:
5Definieren Sie einen Aliasnamen für die Tabelle, und verwenden Sie 5den Aliasnamen im DAD-Element <table> von einer der Zuordnungen, um mehrere 5Elemente und Attribute derselben Spalte in derselben Tabelle 5zuzuordnen. 5


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis ]