Announcement

Collapse
No announcement yet.

Gruppierung von Elementen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Gruppierung von Elementen

    Hallo beisammen,
    ich hab ein Problem bei der Gruppierung von Elementen. In meiner Quell XML stehen viele Elemente, bei denen einige die gleiche ID (Attribut) haben (die gehören auch zusammen). Jetzt würde ich die Elemente mit der gleichen ID zusammen in einem neuen Element zusammenfassen/gruppieren.
    Bsp.:
    Quelldaten:
    Code:
    <data>
    <record id="2" .... />
    <record id="2" .... />
    <record id="3" .... />
    <record id="5" .... />
    <record id="5" .... />
    <record id="5" .... />
    <record id="6" .... />
    </data>
    Zieldaten sollen so aussehen:
    Code:
    <data>
    <record id="2">
        <record id="2" .... />
        <record id="2" .... />
    </record>
    <record id="3">
        <record id="3" .... />
    </record>
    <record id="5">
        <record id="5" .... />
        <record id="5" .... />
        <record id="5" .... />
    </record>
    <record id="6">
        <record id="6" .... />
    </record>
    </data>
    Die ID's sind völlig unterschiedlich und nicht vorhersehbar/sortiert/lückenlos.
    Mein erster Gedanke war zu prüfen, ob der vorangegangene Eintrag die gleiche ID hat, aber das hat nicht funktioniert.
    Kann mir dabei jmd helfen?
    Danke schon mal
    Grüße

  • #2
    Nach einer ganzen Weile suchen und probieren habe ich hier eine Möglichkeit gefunden, die mir ziemlich genau das beschert, was ich brauche.
    Das Problem dabei ist, dass meine <records> alle nur Attribute enthalten. Wie bekomme ich die auch mittels <xsl:apply-templates mode="copy" /> weiterhin in meinem Ziel-<record> ??

    Comment


    • #3
      Originally posted by nanuschi View Post
      Wie bekomme ich die auch mittels <xsl:apply-templates mode="copy" /> weiterhin in meinem Ziel-<record> ??
      Konnte es mir gerade selbst beantworten:
      <xsl:apply-templates select="@*" />

      und es klappt so wie es soll
      Cool, habs doch selber hinbekommen

      Viele Grüße und danke fürs lesen

      Comment


      • #4
        Hab noch eine bessere Lösung gefunden!
        Das bisherige Beispiel hatte immer mal einen Datensatz übersprungen.
        Dieser Link beinhaltet eine Lösung, gut erklärt, und klappt prima!

        Grüße

        Comment

        Working...
        X