kousaeng: Umformung xml über XSLT

Hallo Leute,

ich möchte eine ähnliche wie die folgenden xml-Struktur:

  
<wuzel>  
            <kunde id="234" name="max" nachname="mustermann"/>  
                          <daten rechnungsanschrift="bla" ort="blubb"/>  
                          <sonstiges haustier="hund" lieblingsgericht="reis"/>  
            </kunde>  
            <kunde id="324" name="maxi" nachname="musterfrau"/>  
                          <daten rechnungsanschrift="bla" ort="bla"/>  
                          <sonstiges haustier="katze" lieblingsgericht="mais"/>  
            </kunde>  
            <kunde id="234" name="max" nachname="mustermann"/>  
                          <daten lieferungsanschrift="bla" ort="bla"/>  
                          <sonstiges haustier="katze" lieblingsgericht="kartoffeln"/>  
            </kunde>  
                .  
                .  
                .  
</wuzel>  

mittels xslt in eine andere xml Struktur:

  
<wuzel>  
            <kunde>  
                        <id>234</id>  
                        <name>max</name>  
                        <nachname>mustermann</nachname>  
                        <daten>  
                                    <lieferungsanschrift>bla</lieferungsanschrift>  
                                    <ort>blubb</ort>  
                         </daten>  
                         <daten>  
                                    <rechnungsanschrift>bla</rechnungsanschrift>  
                                    <ort>blubb</ort>  
                         </daten>  
                         <sonstiges>  
                                    <haustier>hund</haustier>  
                                    <lieblingsgericht>reis</lieblingsgericht/>  
                         </sonstiges>  
                         <sonstiges>  
                                    <haustier>katze</haustier>  
                                    <lieblingsgericht>reis</lieblingsgericht/>  
                         </sonstiges>  
            </kunde>  
            <kunde>  
                        <id>234</id>  
                        <name>max</name>  
                        <nachname>mustermann</nachname>  
                        <daten>  
                                    <lieferungsanschrift>bla</lieferungsanschrift>  
                                    <ort>blubb</ort>  
                         </daten>  
                         <sonstiges>  
                                    <haustier>hund</haustier>  
                                    <lieblingsgericht>reis</lieblingsgericht/>  
                         </sonstiges>  
            </kunde>  
                .  
                .  
                .  
</wuzel>  

umformen.
Das erstellen der Elemente aus den Atributten ist kein Problem, jedoch bereitet mir der 3. Kunde, der die gleichen Daten wie der 1. mehr Probleme, da ich eine Möglichkeit brauche um die diese Kunden in den xml-Dokument zu finden und danach auch, wie im 2. xml-Dokument zu sehen, zusammen zu führen, so dass am Schluss nur 1 Kunden-Knote pro Kunde existiert, der alle Kinder zusamemngefasst enthält.
Ich hoffe ich konnte mein Problem darstellen und das jemand mir helfen kann.

  1. Hi,

    ich möchte eine ähnliche wie die folgenden xml-Struktur:
    <wuzel>
                <kunde id="234" name="max" nachname="mustermann"/>
                              <daten rechnungsanschrift="bla" ort="blubb"/>
                              <sonstiges haustier="hund" lieblingsgericht="reis"/>
                </kunde>

    Das ist kein XML. Hier wird ein kunde-Element geschlossen, obwohl keines offen ist.

    Das erstellen der Elemente aus den Atributten ist kein Problem, jedoch bereitet mir der 3. Kunde, der die gleichen Daten wie der 1. mehr Probleme,

    Könntest Du das nochmal auf deutsch schreiben?

    da ich eine Möglichkeit brauche um die diese Kunden in den xml-Dokument zu finden und danach auch, wie im 2. xml-Dokument zu sehen, zusammen zu führen, so dass am Schluss nur 1 Kunden-Knote pro Kunde existiert, der alle Kinder zusamemngefasst enthält.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. Du hattest recht :) und ich versuchs nochmal:

    Hallo Leute,

    ich möchte eine ähnliche wie die folgenden xml-Struktur

    Das Ausgangsdokument sieht im Prinzip so aus:

    <wuzel>
                <kunde id="234" name="max" nachname="mustermann"/>
                              <daten rechnungsanschrift="bla" ort="blubb"/>
                              <sonstiges haustier="hund" lieblingsgericht="reis"/>
                </kunde>
                <kunde id="324" name="maxi" nachname="musterfrau"/>
                              <daten rechnungsanschrift="bla" ort="bla"/>
                              <sonstiges haustier="katze" lieblingsgericht="mais"/>
                </kunde>
                <kunde id="234" name="max" nachname="mustermann"/>
                              <daten lieferungsanschrift="bla" ort="bla"/>
                              <sonstiges haustier="katze" lieblingsgericht="kartoffeln"/>
                </kunde>
                    .
                    .
                    .
    </wuzel>

    
    >   
    >   
    > mittels xslt in eine andere xml Struktur die dann so aussehen sollte:  
    
    Das Zieldokument sollte so aussehen:  
    
    >   
    > ~~~xml
      
    
    > <wuzel>  
    >             <kunde>  
    >                         <id>234</id>  
    >                         <name>max</name>  
    >                         <nachname>mustermann</nachname>  
    >                         <daten>  
    >                                     <lieferungsanschrift>bla</lieferungsanschrift>  
    >                                     <ort>blubb</ort>  
    >                          </daten>  
    >                          <daten>  
    >                                     <rechnungsanschrift>bla</rechnungsanschrift>  
    >                                     <ort>blubb</ort>  
    >                          </daten>  
    >                          <sonstiges>  
    >                                     <haustier>hund</haustier>  
    >                                     <lieblingsgericht>reis</lieblingsgericht/>  
    >                          </sonstiges>  
    >                          <sonstiges>  
    >                                     <haustier>katze</haustier>  
    >                                     <lieblingsgericht>reis</lieblingsgericht/>  
    >                          </sonstiges>  
    >             </kunde>  
    >             <kunde>  
    >                         <id>234</id>  
    >                         <name>max</name>  
    >                         <nachname>mustermann</nachname>  
    >                         <daten>  
    >                                     <lieferungsanschrift>bla</lieferungsanschrift>  
    >                                     <ort>blubb</ort>  
    >                          </daten>  
    >                          <sonstiges>  
    >                                     <haustier>hund</haustier>  
    >                                     <lieblingsgericht>reis</lieblingsgericht/>  
    >                          </sonstiges>  
    >             </kunde>  
    >                 .  
    >                 .  
    >                 .  
    > </wuzel>  
    > 
    
    

    umformen.
    Das erstellen der Elemente aus den Atributten ist kein Problem, jedoch bereitet mir der 3. Kunde, der die gleichen Daten wie der 1. mehr Probleme, da ich eine Möglichkeit brauche um die diese Kunden in den xml-Dokument zu finden und danach auch, wie im 2. xml-Dokument zu sehen, zusammen zu führen, so dass am Schluss nur 1 Kunden-Knote pro Kunde existiert, der alle Kinder zusamemngefasst enthält.
    Ich hoffe ich konnte mein Problem darstellen und das jemand mir helfen kann.

    Also im Grunde möchte ich aus den Ausgangsdokument das Zieldokument erzeugen und ich habe im Moment das Problem, das ich im Ausgangsdokument den Kunde mit Namen Max Mustermann doppelt habe, diese haben jedoch unterschiedliche Kinderelemente (Siehe Ausgangsdokument). Und ich möchte im Zieldokument die Elemente Kunde so zusammenführen, so dass ich nur noch ein Kunde mit Namen Max Mustermann habe. Im Element Kunde im Zieldokument sollen jedoch alle Kinderelemente aus den Ausgangsdokument enthalten sein (Siehe Zieldokument).
    Genau hier ist nun mein Problem denn ich finde keine Lösung wie ich die doppelten Elemente zusammen führen kann.
    Ich hoffe ich konnte nun meine Problematik besser beschreiben!

    1. Du hattest recht :) und ich versuchs nochmal:

      Hallo Leute,

      »»

      ich möchte eine ähnliche wie die folgenden xml-Struktur

      »»
      Das Ausgangsdokument sieht im Prinzip so aus:

      <wuzel>
                  <kunde id="234" name="max" nachname="mustermann">
                                <daten rechnungsanschrift="bla" ort="blubb"/>
                                <sonstiges haustier="hund" lieblingsgericht="reis"/>
                  </kunde>
                  <kunde id="324" name="maxi" nachname="musterfrau">
                                <daten rechnungsanschrift="bla" ort="bla"/>
                                <sonstiges haustier="katze" lieblingsgericht="mais"/>
                  </kunde>
                  <kunde id="234" name="max" nachname="mustermann">
                                <daten lieferungsanschrift="bla" ort="bla"/>
                                <sonstiges haustier="katze" lieblingsgericht="kartoffeln"/>
                  </kunde>
                      .
                      .
                      .
      </wuzel>

      »»
      »»
      »»

      mittels xslt in eine andere xml Struktur die dann so aussehen sollte:

      Das Zieldokument sollte so aussehen:
      »»

      <wuzel>
                  <kunde>
                              <id>234</id>
                              <name>max</name>
                              <nachname>mustermann</nachname>
                              <daten>
                                          <lieferungsanschrift>bla</lieferungsanschrift>
                                          <ort>blubb</ort>
                               </daten>
                               <daten>
                                          <rechnungsanschrift>bla</rechnungsanschrift>
                                          <ort>blubb</ort>
                               </daten>
                               <sonstiges>
                                          <haustier>hund</haustier>
                                          <lieblingsgericht>reis</lieblingsgericht/>
                               </sonstiges>
                               <sonstiges>
                                          <haustier>katze</haustier>
                                          <lieblingsgericht>reis</lieblingsgericht/>
                               </sonstiges>
                  </kunde>
                  <kunde>
                              <id>234</id>
                              <name>max</name>
                              <nachname>mustermann</nachname>
                              <daten>
                                          <lieferungsanschrift>bla</lieferungsanschrift>
                                          <ort>blubb</ort>
                               </daten>
                               <sonstiges>
                                          <haustier>hund</haustier>
                                          <lieblingsgericht>reis</lieblingsgericht/>
                               </sonstiges>
                  </kunde>
                      .
                      .
                      .
      </wuzel>

      »»
      »»

      umformen.
      Das erstellen der Elemente aus den Atributten ist kein Problem, jedoch bereitet mir der 3. Kunde, der die gleichen Daten wie der 1. mehr Probleme, da ich eine Möglichkeit brauche um die diese Kunden in den xml-Dokument zu finden und danach auch, wie im 2. xml-Dokument zu sehen, zusammen zu führen, so dass am Schluss nur 1 Kunden-Knote pro Kunde existiert, der alle Kinder zusamemngefasst enthält.
      Ich hoffe ich konnte mein Problem darstellen und das jemand mir helfen kann.

      Also im Grunde möchte ich aus den Ausgangsdokument das Zieldokument erzeugen und ich habe im Moment das Problem, das ich im Ausgangsdokument den Kunde mit Namen Max Mustermann doppelt habe, diese haben jedoch unterschiedliche Kinderelemente (Siehe Ausgangsdokument). Und ich möchte im Zieldokument die Elemente Kunde so zusammenführen, so dass ich nur noch ein Kunde mit Namen Max Mustermann habe. Im Element Kunde im Zieldokument sollen jedoch alle Kinderelemente aus den Ausgangsdokument enthalten sein (Siehe Zieldokument).
      Genau hier ist nun mein Problem denn ich finde keine Lösung wie ich die doppelten Elemente zusammen führen kann.
      Ich hoffe ich konnte nun meine Problematik besser beschreiben!

      1. okey hat sich schon erledigt!!!