Hi,

hier die Lösung bzw. der Weg den ich gegangen bin.
Für Rückfragen stehe ich gerne zur Verfügung.

------------------------------------------------------------------------

Das ist das empfangene XML-Document.

XML-File:

<?xml version="1.0" encoding="UTF-8"?>
<neuePreise>
<NettoPreise>
<ArtikelNR>692960603</ArtikelNR>
<ArtikelBez>Schraube M14</ArtikelBez>
<Waehrung>EUR</Waehrung>
<Preis gueltig="2006010120061231">99.95</Preis>
<StaffelPreise>
<Staffel gueltig="2006010120061231" Menge="10">98.95</Staffel>
<Staffel gueltig="2006010120061231" Menge="100">97.95</Staffel>
<Staffel gueltig="2006010120061231" Menge="1000">96.95</Staffel>
</StaffelPreise>
</NettoPreise>
</neuePreise>


--------------------------------------------------------------------------
Nicht erschrecken, dieses File wurde automat. mit WDSC 5.1 erstellt.
Das muß man/frau nicht selber reinklopfen.

DAD-File:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE DAD PUBLIC "dadId" "dad.dtd">
<DAD>
<dtdid>Test01.dtd</dtdid>
<validation>NO</validation>
<Xcollection>
<prolog>?xml version="1.0"?</prolog>
<doctype>!DOCTYPE neuePreise PUBLIC "Test01Id" "Test01.dtd"</doctype>
<root_node>
<element_node name="neuePreise">
<RDB_node>
<table name="deinebibl.NETTPRS" key="ARTIKELNR"/>
<table name="deinebibl.STAFFPR" key="ARTIKELNR GUELTIG MENGE"/>
<condition>
deinebibl.NETTPRS.ARTIKELNR=deinebibl.STAFFPR.ARTI KELNR
</condition>
</RDB_node>
<element_node name="NettoPreise" multi_occurrence="YES">
<element_node name="ArtikelNR">
<text_node>
<RDB_node>
<table name="deinebibl.NETTPRS"/>
<column name="ARTIKELNR" type="Character(20)"/>
</RDB_node>
</text_node>
</element_node>
<element_node name="ArtikelBez">
<text_node>
<RDB_node>
<table name="deinebibl.NETTPRS"/>
<column name="ARTIKELBEZ" type="Character(40)"/>
</RDB_node>
</text_node>
</element_node>
<element_node name="Waehrung">
<text_node>
<RDB_node>
<table name="deinebibl.NETTPRS"/>
<column name="WAEHRUNG" type="Character(3)"/>
</RDB_node>
</text_node>
</element_node>
<element_node name="Preis">
<text_node>
<RDB_node>
<table name="deinebibl.NETTPRS"/>
<column name="PREIS" type="Decimal(9,2)"/>
</RDB_node>
</text_node>
<attribute_node name="gueltig">
<RDB_node>
<table name="deinebibl.NETTPRS"/>
<column name="GUELTIG" type="Character(16)"/>
</RDB_node>
</attribute_node>
</element_node>
<element_node name="StaffelPreise">
<element_node name="Staffel" multi_occurrence="YES">
<text_node>
<RDB_node>
<table name="deinebibl.STAFFPR"/>
<column name="STAFFEL" type="Decimal(9,2)"/>
</RDB_node>
</text_node>
<attribute_node name="gueltig">
<RDB_node>
<table name="deinebibl.STAFFPR"/>
<column name="GUELTIG" type="Character(16)"/>
</RDB_node>
</attribute_node>
<attribute_node name="Menge">
<RDB_node>
<table name="deinebibl.STAFFPR"/>
<column name="MENGE" type="Decimal(6,0)"/>
</RDB_node>
</attribute_node>
</element_node>
</element_node>
</element_node>
</element_node>
</root_node>
</Xcollection>
</DAD>
--------------------------------------------------------------------------

In diese zwei Dateien wird das XML-Document "zerlegt".
Diese Dateien natürlich als erstes erstellen.

SQL-Anweisung:

CREATE TABLE deinebibl.NettPrs (
ArtikelNR CHAR (20) primary key,
ArtikelBez CHAR (40),
Waehrung CHAR (3),
Preis dec (9,2),
gueltig CHAR (16));

CREATE TABLE deinebibl.StaffPr (
ArtikelNR CHAR (20),
Staffel dec (9,2),
gueltig CHAR (16),
Menge dec (6,0),
PRIMARY KEY (ArtikelNR, gueltig, Menge),
foreign key (ArtikelNR) references deinebibl.NettPrs(ArtikelNR));
--------------------------------------------------------------------------

Ergebnis:

Der XML-Extender hat das XML-Document schön sauber auf zwei Tabellen zerlegt.


Physische Teildatei anzeigen
Datei . . . . . : NETTPRS Bibliothek . . . : deinebibl
Teildatei . . . : NETTPRS Satz . . . . . . : 1
Steuerung . . . : Spalte . . . . . : 1
Suchen . . . . . :
*...+....1....+....2....+....3....+....4....+....5 ....+....6....+....7....+....8....
692960603 Schraube M14 EUR r^2006010120061231

****** DATENENDE ******


Physische Teildatei anzeigen
Datei . . . . . : STAFFPR Bibliothek . . . : deinebibl
Teildatei . . . : STAFFPR Satz . . . . . . : 1
Steuerung . . . : Spalte . . . . . : 1
Suchen . . . . . :
*...+....1....+....2....+....3....+....4....+
692960603 i^2006010120061231
692960603 `^2006010120061231
692960603 Ñ^2006010120061231
****** DATENENDE ******

Gruß mom