Hallo Thomas!
Auf Basis unterer Baumstruktur und der Basisquery
http://www.selfphp.de/forum/showthread.php?t=23668 suche ich eine Möglichkeit der XML Ausgabe bei gruppierten Elementen. Der Vorteil liegt im einfacheren Einfügen von Elementen bei grossen Bäumen.
Code:
vcard
n
given
familie
additional
geo
latitude
longitude
adr
street
city
country
zip
Code:
<vcard>
<n>
<given>Max</given>
<familie>Mustermann</familie>
<additional>Dr</additional>
</n>
<geo>
<latitude>48°12'N</latitude>
<longitude>16°22'E</longitude>
</geo>
<adr>
<street>Mustergasse 13</street>
<city>Vienna</city>
<country>Austria</country>
<zip>1010</zip>
</adr>
</vcard>
Meine Überlegung. Da das Einfügen in einen Nested Set Baum recht aufwendig ist. (Alle lft,rgt des gesamte Baum
hinter den neuen Element müssen neu beschrieben werden). Gibt es zwei Möglichkeiten.
Lösungsansatz 1) Zusammenfassen von Elemente zu Gruppen
zB: Element geo besteht aus Unterelemente latitude,longitude wobei die Reihenfolge der der Unterelemente egal ist
Am Beispiel vcard würde die Grundstruktur so ausschauen
vcard[1,8]
n[2,3]
geo[4,5]
adr[6,7]
für alle Unterelemente von geo[4,5] gilt (man kann den beliebig viele Unterelemente einfügen mit geringstem Aufwand)
latitude[4,5]
longitude[4,5]
Ergebnis:
vcard[1,8]
n[2,3]
geo[4,5],latitude[4,5],longitude[4,5]
adr[6,7]
geo hat die Eigenschaft die niedrigste id in der Gruppe zu besitzen
Ansatz: Baum mit Elemente zusammenbauen (wie bisher), Unterelemente per group_concat zusammenbauen und nach <> anhängen
Lösungsansatz 2) Zweite Tabelle anlegen
Eine Tabelle für Grobstruktur, eine für Unterelemente
Im Sinne des Nested Set "alles aus eine Struktur" finde ich die erste Lösung besser. Was sagt Du?
grüsse helmut
(Content liefere ich jeweils nach)