Home
Über mich
Veröffentlichungen

XML XML-Schema XPath XSL-T XSL-FO XQuery XProc SVG

XML / XML-Datenstrukturen / XML: Stark strukturierte Dokumente, gegenseitige Abhängigkeiten in Zeichenketten

XML: Stark strukturierte Dokumente, gegenseitige Abhängigkeiten in Zeichenketten

XML: Stark strukturierte Dokumente, gegenseitige Abhängigkeiten in Zeichenketten

➪ Eine Variante der Datenbankstruktur liegt vor, wenn die Struktur des XML-Input-Dokuments zwar dem Ergebnis der Datenbankabfragen entspricht, die gegenseitigen Abhängigkeiten jedoch in Zeichenketten deklariert sind. Derartige XML-Strukturen erfordern eine nochmals andere Formulierung der XPath-Statements und der Auswertungslogik.

pic/XML_Datenstruktur_stark_keyvalue.png


<xs:schema 
    xmlns:xs="http://www.w3.org/2001/XMLSchema" 
    elementFormDefault="qualified">
    <xs:element name="infoset">
        <xs:complexType>
            <xs:sequence>
                <xs:element 
                    ref="info" 
                    minOccurs="0" 
                    maxOccurs="unbounded"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="info">
        <xs:complexType>
            <xs:attribute name="key" type="xs:string"/>
            <xs:attribute name="value" type="xs:string"/>
        </xs:complexType>
    </xs:element>
</xs:schema>

Das XML-Beispieldokument


<infoset>
   <info key="Ort1#name" value="Neustadt"/>
   <info key="Ort2#name" value="Darmstadt"/>
   <info key="Ort3#name" value="Kapstadt"/>
   <info key="Mensch1#name" value="Holzflos"/>
   <info key="Mensch1#vorname" value="Hugo"/>
   <info key="Mensch1#Gehalt" value="234.56"/>
   <info key="Mensch1#idOrt" value="1"/>
   <info key="Mensch4#name" value="Nixlos"/>
   <info key="Mensch4#vorname" value="Nicole"/>
   <info key="Mensch4#Gehalt" value="1234.56"/>
   <info key="Mensch4#idOrt" value="1"/>
   <info key="Mensch9#name" value="Sprachlos"/>
   <info key="Mensch9#vorname" value="Stefan"/>
   <info key="Mensch9#Gehalt" value="5430"/>
   <info key="Mensch9#idOrt" value="1"/>
   <info key="Mensch2#name" value="Sagblos"/>
   <info key="Mensch2#vorname" value="Stefan"/>
   <info key="Mensch2#Gehalt" value="321.45"/>
   <info key="Mensch2#idOrt" value="1"/>
   <info key="Mensch3#name" value="Sorglos"/>
   <info key="Mensch3#vorname" value="Siggi"/>
   <info key="Mensch3#Gehalt" value="987.58"/>
   <info key="Mensch3#idOrt" value="1"/>
   <info key="Mensch7#name" value="Herzlos"/>
   <info key="Mensch7#vorname" value="Heini"/>
   <info key="Mensch7#Gehalt" value="654.21"/>
   <info key="Mensch7#idOrt" value="1"/>
   <info key="Mensch8#name" value="Rhodos"/>
   <info key="Mensch8#vorname" value="Rudi"/>
   <info key="Mensch8#Gehalt" value="333.33"/>
   <info key="Mensch8#idOrt" value="2"/>
   <info key="Mensch15#name" value="Kolos"/>
   <info key="Mensch15#vorname" value="Karl"/>
   <info key="Mensch15#Gehalt" value="456"/>
   <info key="Mensch15#idOrt" value="2"/>
   <info key="Mensch16#name" value="Sinnlos"/>
   <info key="Mensch16#vorname" value="Simone"/>
   <info key="Mensch16#Gehalt" value="876.54"/>
   <info key="Mensch16#idOrt" value="2"/>
   <info key="Mensch17#name" value="Zeitlos"/>
   <info key="Mensch17#vorname" value="Horst"/>
   <info key="Mensch17#Gehalt" value="546.77"/>
   <info key="Mensch17#idOrt" value="2"/>
   <info key="Mensch18#name" value="Wunschlos"/>
   <info key="Mensch18#vorname" value="Werner"/>
   <info key="Mensch18#Gehalt" value="777.77"/>
   <info key="Mensch18#idOrt" value="2"/>
   <info key="Mensch5#name" value="Wasistlos"/>
   <info key="Mensch5#vorname" value="Willi"/>
   <info key="Mensch5#Gehalt" value="6789"/>
   <info key="Mensch5#idOrt" value="3"/>
   <info key="Mensch10#name" value="Ruhelos"/>
   <info key="Mensch10#vorname" value="Rita"/>
   <info key="Mensch10#Gehalt" value="234"/>
   <info key="Mensch10#idOrt" value="3"/>
   <info key="Mensch11#name" value="Schlaflos"/>
   <info key="Mensch11#vorname" value="Susi"/>
   <info key="Mensch11#Gehalt" value="321"/>
   <info key="Mensch11#idOrt" value="3"/>
   <info key="Mensch12#name" value="Rielos"/>
   <info key="Mensch12#vorname" value="Lotte"/>
   <info key="Mensch12#Gehalt" value="456"/>
   <info key="Mensch12#idOrt" value="3"/>
   <info key="Mensch6#name" value="Bodenlos"/>
   <info key="Mensch6#vorname" value="Betty"/>
   <info key="Mensch6#Gehalt" value="3450"/>
   <info key="Mensch6#idOrt" value="3"/>
   <info key="Mensch13#name" value="Muehelos"/>
   <info key="Mensch13#vorname" value="Martin"/>
   <info key="Mensch13#Gehalt" value="222"/>
   <info key="Mensch13#idOrt" value="3"/>
   <info key="Mensch14#name" value="Leinenlos"/>
   <info key="Mensch14#vorname" value="Liane"/>
   <info key="Mensch14#Gehalt" value="135"/>
   <info key="Mensch14#idOrt" value="3"/>
   <info key="Mensch19#name" value="Lustlos"/>
   <info key="Mensch19#vorname" value="Ludwig"/>
   <info key="Mensch19#Gehalt" value="357"/>
   <info key="Mensch19#idOrt" value="2"/>
   <info key="Ware1#bez" value="Hemd"/>
   <info key="Ware1#preis" value="12.99"/>
   <info key="Ware2#bez" value="Hose"/>
   <info key="Ware2#preis" value="25.99"/>
   <info key="Ware3#bez" value="Schuhe"/>
   <info key="Ware3#preis" value="151.23"/>
   <info key="Kauf1#anzahl" value="3"/>
   <info key="Kauf1#idMensch" value="1"/>
   <info key="Kauf1#idWare" value="1"/>
   <info key="Kauf2#anzahl" value="7"/>
   <info key="Kauf2#idMensch" value="2"/>
   <info key="Kauf2#idWare" value="2"/>
   <info key="Kauf3#anzahl" value="2"/>
   <info key="Kauf3#idMensch" value="3"/>
   <info key="Kauf3#idWare" value="1"/>
   <info key="Kauf4#anzahl" value="9"/>
   <info key="Kauf4#idMensch" value="1"/>
   <info key="Kauf4#idWare" value="2"/>
   <info key="Kauf5#anzahl" value="9"/>
   <info key="Kauf5#idMensch" value="1"/>
   <info key="Kauf5#idWare" value="1"/>
   <info key="Kauf6#anzahl" value="9"/>
   <info key="Kauf6#idMensch" value="1"/>
   <info key="Kauf6#idWare" value="2"/>
   <info key="Kauf7#anzahl" value="8"/>
   <info key="Kauf7#idMensch" value="1"/>
   <info key="Kauf7#idWare" value="2"/>
   <info key="Kauf8#anzahl" value="8"/>
   <info key="Kauf8#idMensch" value="1"/>
   <info key="Kauf8#idWare" value="3"/>
   <info key="Kauf9#anzahl" value="8"/>
   <info key="Kauf9#idMensch" value="1"/>
   <info key="Kauf9#idWare" value="1"/>
   <info key="Kauf10#anzahl" value="8"/>
   <info key="Kauf10#idMensch" value="1"/>
   <info key="Kauf10#idWare" value="2"/>
   <info key="Kauf11#anzahl" value="8"/>
   <info key="Kauf11#idMensch" value="1"/>
   <info key="Kauf11#idWare" value="3"/>
   <info key="Kauf12#anzahl" value="7"/>
   <info key="Kauf12#idMensch" value="2"/>
   <info key="Kauf12#idWare" value="3"/>
   <info key="Kauf13#anzahl" value="7"/>
   <info key="Kauf13#idMensch" value="2"/>
   <info key="Kauf13#idWare" value="2"/>
   <info key="Kauf14#anzahl" value="7"/>
   <info key="Kauf14#idMensch" value="2"/>
   <info key="Kauf14#idWare" value="1"/>
   <info key="Kauf15#anzahl" value="7"/>
   <info key="Kauf15#idMensch" value="2"/>
   <info key="Kauf15#idWare" value="3"/>
   <info key="Kauf16#anzahl" value="7"/>
   <info key="Kauf16#idMensch" value="2"/>
   <info key="Kauf16#idWare" value="2"/>
   <info key="Kauf17#anzahl" value="8"/>
   <info key="Kauf17#idMensch" value="3"/>
   <info key="Kauf17#idWare" value="1"/>
   <info key="Kauf18#anzahl" value="9"/>
   <info key="Kauf18#idMensch" value="3"/>
   <info key="Kauf18#idWare" value="2"/>
   <info key="Kauf19#anzahl" value="6"/>
   <info key="Kauf19#idMensch" value="3"/>
   <info key="Kauf19#idWare" value="3"/>
   <info key="Kauf20#anzahl" value="5"/>
   <info key="Kauf20#idMensch" value="3"/>
   <info key="Kauf20#idWare" value="3"/>
   <info key="Kauf21#anzahl" value="4"/>
   <info key="Kauf21#idMensch" value="3"/>
   <info key="Kauf21#idWare" value="1"/>
   <info key="Kauf22#anzahl" value="3"/>
   <info key="Kauf22#idMensch" value="3"/>
   <info key="Kauf22#idWare" value="2"/>
   <info key="Kauf23#anzahl" value="2"/>
   <info key="Kauf23#idMensch" value="3"/>
   <info key="Kauf23#idWare" value="3"/>
   <info key="Kauf24#anzahl" value="1"/>
   <info key="Kauf24#idMensch" value="3"/>
   <info key="Kauf24#idWare" value="3"/>
   <info key="Kauf25#anzahl" value="8"/>
   <info key="Kauf25#idMensch" value="4"/>
   <info key="Kauf25#idWare" value="2"/>
   <info key="Kauf26#anzahl" value="7"/>
   <info key="Kauf26#idMensch" value="4"/>
   <info key="Kauf26#idWare" value="2"/>
   <info key="Kauf27#anzahl" value="6"/>
   <info key="Kauf27#idMensch" value="4"/>
   <info key="Kauf27#idWare" value="2"/>
   <info key="Kauf28#anzahl" value="5"/>
   <info key="Kauf28#idMensch" value="4"/>
   <info key="Kauf28#idWare" value="2"/>
   <info key="Kauf29#anzahl" value="4"/>
   <info key="Kauf29#idMensch" value="4"/>
   <info key="Kauf29#idWare" value="2"/>
   <info key="Kauf30#anzahl" value="4"/>
   <info key="Kauf30#idMensch" value="4"/>
   <info key="Kauf30#idWare" value="2"/>
   <info key="Kauf31#anzahl" value="3"/>
   <info key="Kauf31#idMensch" value="4"/>
   <info key="Kauf31#idWare" value="2"/>
   <info key="Kauf32#anzahl" value="2"/>
   <info key="Kauf32#idMensch" value="15"/>
   <info key="Kauf32#idWare" value="1"/>
   <info key="Kauf33#anzahl" value="3"/>
   <info key="Kauf33#idMensch" value="5"/>
   <info key="Kauf33#idWare" value="2"/>
   <info key="Kauf34#anzahl" value="4"/>
   <info key="Kauf34#idMensch" value="5"/>
   <info key="Kauf34#idWare" value="1"/>
   <info key="Kauf35#anzahl" value="5"/>
   <info key="Kauf35#idMensch" value="5"/>
   <info key="Kauf35#idWare" value="2"/>
   <info key="Kauf36#anzahl" value="6"/>
   <info key="Kauf36#idMensch" value="6"/>
   <info key="Kauf36#idWare" value="1"/>
   <info key="Kauf37#anzahl" value="7"/>
   <info key="Kauf37#idMensch" value="6"/>
   <info key="Kauf37#idWare" value="2"/>
   <info key="Kauf38#anzahl" value="5"/>
   <info key="Kauf38#idMensch" value="6"/>
   <info key="Kauf38#idWare" value="1"/>
   <info key="Kauf39#anzahl" value="6"/>
   <info key="Kauf39#idMensch" value="16"/>
   <info key="Kauf39#idWare" value="2"/>
   <info key="Kauf40#anzahl" value="7"/>
   <info key="Kauf40#idMensch" value="7"/>
   <info key="Kauf40#idWare" value="1"/>
   <info key="Kauf41#anzahl" value="8"/>
   <info key="Kauf41#idMensch" value="7"/>
   <info key="Kauf41#idWare" value="2"/>
   <info key="Kauf42#anzahl" value="9"/>
   <info key="Kauf42#idMensch" value="7"/>
   <info key="Kauf42#idWare" value="1"/>
   <info key="Kauf43#anzahl" value="3"/>
   <info key="Kauf43#idMensch" value="17"/>
   <info key="Kauf43#idWare" value="1"/>
   <info key="Kauf44#anzahl" value="5"/>
   <info key="Kauf44#idMensch" value="8"/>
   <info key="Kauf44#idWare" value="2"/>
   <info key="Kauf45#anzahl" value="4"/>
   <info key="Kauf45#idMensch" value="18"/>
   <info key="Kauf45#idWare" value="2"/>
   <info key="Kauf46#anzahl" value="3"/>
   <info key="Kauf46#idMensch" value="8"/>
   <info key="Kauf46#idWare" value="1"/>
   <info key="Kauf47#anzahl" value="22"/>
   <info key="Kauf47#idMensch" value="8"/>
   <info key="Kauf47#idWare" value="2"/>
   <info key="Kauf48#anzahl" value="11"/>
   <info key="Kauf48#idMensch" value="9"/>
   <info key="Kauf48#idWare" value="1"/>
   <info key="Kauf49#anzahl" value="33"/>
   <info key="Kauf49#idMensch" value="9"/>
   <info key="Kauf49#idWare" value="2"/>
   <info key="Kauf50#anzahl" value="22"/>
   <info key="Kauf50#idMensch" value="9"/>
   <info key="Kauf50#idWare" value="1"/>
   <info key="Kauf51#anzahl" value="44"/>
   <info key="Kauf51#idMensch" value="9"/>
   <info key="Kauf51#idWare" value="2"/>
   <info key="Kauf52#anzahl" value="33"/>
   <info key="Kauf52#idMensch" value="9"/>
   <info key="Kauf52#idWare" value="1"/>
   <info key="Kauf53#anzahl" value="55"/>
   <info key="Kauf53#idMensch" value="9"/>
   <info key="Kauf53#idWare" value="2"/>
   <info key="Kauf54#anzahl" value="44"/>
   <info key="Kauf54#idMensch" value="5"/>
   <info key="Kauf54#idWare" value="1"/>
   <info key="Kauf55#anzahl" value="4"/>
   <info key="Kauf55#idMensch" value="10"/>
   <info key="Kauf55#idWare" value="1"/>
   <info key="Kauf56#anzahl" value="5"/>
   <info key="Kauf56#idMensch" value="11"/>
   <info key="Kauf56#idWare" value="3"/>
   <info key="Kauf57#anzahl" value="6"/>
   <info key="Kauf57#idMensch" value="12"/>
   <info key="Kauf57#idWare" value="2"/>
   <info key="Kauf58#anzahl" value="7"/>
   <info key="Kauf58#idMensch" value="13"/>
   <info key="Kauf58#idWare" value="1"/>
   <info key="Kauf59#anzahl" value="8"/>
   <info key="Kauf59#idMensch" value="14"/>
   <info key="Kauf59#idWare" value="2"/>
   <info key="Kauf60#anzahl" value="9"/>
   <info key="Kauf60#idMensch" value="12"/>
   <info key="Kauf60#idWare" value="3"/>
   <info key="Kauf61#anzahl" value="1"/>
   <info key="Kauf61#idMensch" value="10"/>
   <info key="Kauf61#idWare" value="3"/>
   <info key="Kauf62#anzahl" value="2"/>
   <info key="Kauf62#idMensch" value="11"/>
   <info key="Kauf62#idWare" value="2"/>
   <info key="Kauf63#anzahl" value="3"/>
   <info key="Kauf63#idMensch" value="12"/>
   <info key="Kauf63#idWare" value="1"/>
   <info key="Kauf64#anzahl" value="4"/>
   <info key="Kauf64#idMensch" value="13"/>
   <info key="Kauf64#idWare" value="1"/>
   <info key="Kauf65#anzahl" value="5"/>
   <info key="Kauf65#idMensch" value="14"/>
   <info key="Kauf65#idWare" value="3"/>
   <info key="Kauf66#anzahl" value="6"/>
   <info key="Kauf66#idMensch" value="15"/>
   <info key="Kauf66#idWare" value="2"/>
</infoset>

wg / 3. April 2020



Fragen? Anmerkungen? Tipps?

Bitte nehmen Sie Kontakt zu mir auf.






Vielen Dank für Ihr Interesse an meiner Arbeit.



V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de

www.wilfried-grupe.de/XML_Strukturalternativen7.html