Baumerzeugung

Top  Previous  Next

Beispiele > XML > Baumerzeugung

 

Das zuletzt angeklickte nDoc ist in der document-Produktion deklariert:

 

{{node nDoc("document");}}

 

node (Knoten) ist eine Struktur, die durch ein Label (hier: "document") und einen str-Wert charakterisiert ist. Außerdem haben Knoten die besondere Eigenschaft, dass sie sich baumartig miteinander verknüpfen lassen. Eine solche Verknüpfung mit anderen Knoten geschieht in den anderen Produktionen, die während des Parsens durchlaufen werden. Zunächst wird nDoc durch an die Produktion element übergeben:

 

element[ nDoc ]

 

Dort wird zunächst ein weiterer Knoten, nun mit dem Label: "element", deklariert:

 

{{node nElem("element"); }}

 

der wiederum an die content-Produktion weitergereicht wird:

 

content[nElem]

 

Nachdem die content-Produktion abgearbeitet ist, wird nElem als Kind.Knoten an xNode (das übergebene nDoc) angehängt.

 

xNode.addChildLast(nElem);

 

In gleicher Weise wurden mittlerweile beim Durchlaufen der content-Produktion andere Kind-Knoten an nElem angehängt. So entsteht der Baum, der dann im Variablen-Inspektor angezeigt werden kann.

 

Eine Alternative innerhalb der content-Produktion ist CharData. Das Token CharData bildet ein Blatt des Baumes. Hier wird ebenfalls ein node-Objekt erzeugt. Anders als die bisherigen Knoten erhält dieser jedoch einen Wert.

 



Diese Seite gehört zur TextTransformer Dokumentation

Home  Inhalt  English