Zum Inhalt

Element <generator>

Zweck: Registriert eine projektspezifische Generator-Klasse unter einer descriptorlokalen ID.

Warum: Verwende dieses Element, um einen wiederverwendbaren Generatorausdruck an einen projektlokalen Namen zu binden.

Beispiel

1
<generator name="id_generator" generator="IncrementGenerator(start=1)"/>

Entscheidungshilfe

Fachlicher Nutzen: Erlaubt mehreren Feldern oder Tasks, bewusst dieselbe konfigurierte Generatorinstanz zu teilen.

  • Verwenden, wenn

    • Wenn eine zustandsbehaftete oder aufwendige Generatorkonfiguration per Name wiederverwendet werden muss.
  • Anderen Ansatz wählen, wenn

    • Wenn nur ein Feld den Generator nutzt oder unabhängige Instanzen gewünscht sind.
  • Voraussetzungen

    • Wähle einen registrierten Generator und einen eindeutigen descriptorlokalen Namen.
  • Alternativen

    • Konfiguriere einen einmaligen Generator direkt auf key oder id. (Siehe: <key>)

Vollständige Beispiele

Eine zustandsbehaftete Generatorinstanz registrieren und wiederverwenden

Verwende einen benannten Generator, wenn mehrere Felder oder Tasks bewusst dieselbe konfigurierte Generatorinstanz statt unabhängiger Instanzen nutzen sollen.

named-generator/script/preflight.scr.py
1
assert 2 + 2 == 4
named-generator/datamimic.xml
1
2
3
4
5
6
7
<setup>
    <execute uri="script/preflight.scr.py"/>
    <generator name="document_sequence" generator="IncrementGenerator(start=100)"/>
    <generate name="documents" count="3" target="LogExporter">
        <id name="document_id" generator="document_sequence"/>
    </generate>
</setup>

Regeln und ungültige Kombinationen

Keine zusätzlichen elementspezifischen Regeln. Pflichtattribute, Typen und unterstützte Werte stehen unten.

Erlaubte Elternelemente / Erlaubte Kindelemente

Erlaubte Elternelemente: else, else-if, if, setup, while

Erlaubte Kindelemente:

Keine

Attribute

Alle 2 Attribute anzeigen

generator

Generator expression to register.

erforderlich; string.

name

Name of the generator binding.

erforderlich; string.