list- und item-Elemente¶
<list>
¶
Das <list>
-Element definiert eine Sammlung von Datenelementen, wobei jedes Element seine eigenen Attribute, SchlĂŒssel und Arrays enthalten kann. Listen sind nĂŒtzlich, um strukturierte Daten darzustellen, wie beispielsweise Zeilen in einer Tabelle oder Sammlungen von Objekten mit gemeinsamen Attributen. Das <list>
kann mehrere <item>
-Elemente enthalten, die einzelne EintrÀge reprÀsentieren.
Attribute¶
name
: Gibt den Namen der Liste an, der als SchlĂŒssel fĂŒr die Liste in den generierten Daten dienen wird. Dies ist ein obligatorisches Attribut.
Kindelemente¶
item
: Das<item>
-Element definiert einzelne EintrĂ€ge innerhalb der Liste. Jedes Element kann seinen eigenen Satz von Attributen, SchlĂŒsseln, verschachtelten SchlĂŒsseln, Listen und Arrays haben.
<item>
¶
Das <item>
-Element stellt einen individuellen Eintrag innerhalb einer <list>
dar. Elemente können ihre eigenen SchlĂŒssel-Wert-Paare, verschachtelte Datenstrukturen, Arrays oder sogar andere Listen enthalten, was es dir ermöglicht, komplexe und verschachtelte Datenmodelle zu erstellen.
Attribute¶
- condition: (Optional) Gibt eine Bedingung an, die bestimmt, ob das Element in der generierten Ausgabe enthalten sein soll. Die Bedingung sollte zu
true
oderfalse
auswerten. - source: Spezifiziert die Quelle der Daten fĂŒr das Element. Dies kann eine Datenbank, eine Datei oder ein anderes System sein, aus dem die Daten abgerufen werden.
- sourceScripted: Bestimmt, ob die Quelle geskriptet ist (optional). Wenn auf
True
gesetzt, ermöglicht es die dynamische Variablenersetzung in den Quelldaten, Àhnlich wie bei<generate>
. - separator: Spezifiziert einen Separator fĂŒr das Element, der verwendet wird, wenn die Daten in einem bestimmten Format (z.B. CSV) generiert werden.
- variablePrefix: Definiert das PrĂ€fix fĂŒr die Variablenersetzung in dynamischen Zeichenketten (Standard ist
__
). - variableSuffix: Definiert das Suffix fĂŒr die Variablenersetzung in dynamischen Zeichenketten (Standard ist
__
).
Kindelemente¶
key
: Definiert individuelle SchlĂŒssel-Wert-Paare fĂŒr das Element.nestedKey
: Ermöglicht es dir, verschachtelte SchlĂŒssel-Wert-Paare anzugeben, um hierarchische Strukturen innerhalb eines Elements zu erstellen.list
: Ermöglicht verschachtelte Listen innerhalb eines Elements fĂŒr komplexe Datenhierarchien.array
: Definiert Arrays innerhalb des Elements.
Beispiel 1: Einfache Liste mit statischen Elementen¶
In diesem grundlegenden Beispiel wird jedes Element in der Liste mit statischen SchlĂŒssel-Wert-Paaren definiert.
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Hier enthÀlt die employees
-Liste zwei Elemente, die zwei Mitarbeiter reprÀsentieren, jeweils mit first_name
, last_name
und position
-SchlĂŒsseln.
Beispiel 2: Liste mit dynamischem Inhalt¶
Du kannst Listen dynamisch generieren, indem du Generatoren oder Skripte verwendest, um die Werte zu fĂŒllen.
1 2 3 4 5 6 7 8 9 10 |
|
In diesem Beispiel enthÀlt die products
-Liste zwei Elemente, bei denen die product_name
und price
dynamisch mit Python-AusdrĂŒcken generiert werden.
Beispiel 3: Liste mit Arrays in Elementen¶
Jedes Element in einer Liste kann Arrays verwandter Daten enthalten, was es dir ermöglicht, komplexere Strukturen darzustellen.
1 2 3 4 5 6 7 8 9 10 |
|
Hier enthÀlt die departments
-Liste zwei Abteilungen, jede mit einem Array von team_members
.
Beispiel 4: Liste mit verschachtelten Strukturen¶
Du kannst zusĂ€tzliche Listen oder SchlĂŒssel innerhalb von Elementen verschachteln, um hierarchische Daten zu erstellen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
In diesem Beispiel enthÀlt die companies
-Liste zwei Unternehmen, jedes mit einer verschachtelten address
-Struktur und einem Array von employees
.
Beispiel 5: Liste mit bedingten Elementen¶
Du kannst Bedingungen zu Elementen hinzufĂŒgen, um zu steuern, ob sie in der generierten Ausgabe erscheinen sollen.
1 2 3 4 5 6 7 8 9 10 |
|
Hier enthÀlt die users
-Liste zwei Elemente, aber das erste Element wird nur einbezogen, wenn die Bedingung (random.randint(0, 1) == 1
) zu true
auswertet.
Beispiel 6: Liste von verschachtelten Listen¶
Du kannst zusĂ€tzliche Listen innerhalb von Elementen fĂŒr komplexere Hierarchien verschachteln, wie zum Beispiel die Darstellung eines Unternehmens mit mehreren Abteilungen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
In diesem Beispiel enthÀlt die company
-Liste ein Element fĂŒr Acme Corp
, das eine verschachtelte Liste von departments
enthÀlt, jede mit einem Array von employees
.
Beispiel 7: Liste mit dynamischen Daten und Arrays¶
Du kannst dynamische Daten innerhalb einer Liste generieren und Arrays dynamisch innerhalb der Elemente fĂŒllen.
1 2 3 4 5 6 7 8 9 10 |
|
In diesem Beispiel enthÀlt die projects
-Liste zwei Projekte, jedes mit dynamisch generierten Projektnamen und Meilensteinen.
Best Practices fĂŒr die Verwendung von <list>
- und <item>
-Elementen¶
-
Bedingte Logik verwenden: Nutze das
condition
-Attribut in<item>
, um zu steuern, welche Elemente in der Ausgabe erscheinen, was dir ermöglicht, VariabilitĂ€t und Kontrolle in deinen generierten Daten hinzuzufĂŒgen. -
Verschachtelung fĂŒr KomplexitĂ€t: Kombiniere
<list>
,<item>
,<nestedKey>
und<array>
-Elemente, um komplexe hierarchische Datenstrukturen wie Organisationen, Produkte oder mehrstufige DatensÀtze zu erstellen. -
Dynamische Datengenerierung: Verwende das
script
-Attribut innerhalb von<key>
,<array>
und<nestedKey>
, um dynamisch Inhalte fĂŒr deine Listen und Elemente zu generieren. -
Typenabgleich: Stelle sicher, dass die Datentypen (z.B.
string
,int
,float
,bool
) in deinen Arrays und Listen dem erwarteten Format entsprechen, um Probleme in der Ausgabe zu vermeiden. -
Skalierbarkeit: Listen und Elemente können kombiniert werden, um groĂe DatensĂ€tze oder komplexe Modelle zu generieren, aber eine sorgfĂ€ltige Verwaltung der SkriptkomplexitĂ€t und Bedingungen wird helfen, Lesbarkeit und Skalierbarkeit zu erhalten.