2.39 :select_next()
Diese Methode wird vom transformer-Objekt aufgerufen, um während einer Transformation den nächsten zu besuchenden Knoten zu bestimmen. Mit dieser Methode kann also die Reihenfolge, in der die Knoten eines XML-Baums bzw einer IDM-Objekthierarchie während einer Transformation besucht werden, überdefiniert werden. Die Default-Implementierung dieser Methode definiert einen Tiefendurchlauf.
Die Methode kann überdefiniert werden (ähnlich zu :init()).
Definition
object :select_next
(
object Src input
)
Parameter
- object Src input
-
In diesem Parameter wird der aktuelle, gerade abgearbeitete Knoten übergeben. In der Default-Implementierung orientiert sich :select_next am Typ des .root-Attributs.
-
.root ist ein String
In Src wird ein Doccursor-Objekt erwartet, das auf den aktuellen Knoten im XML-Baum verweist. Dieser Cursor wird auf den nächsten (im Sinne der Pre-Order-Reihenfolge) Knoten im XML-Baum gesetzt und als Rückgabewert wieder zurückgeliefert.
-
.root ist ein IDM-Objekt
In Src wird ein IDM-Objekt erwartet, das den aktuellen Knoten repräsentiert. Ausgehend von diesem wird der Nachfolger bestimmt.
-
Rückgabewert
Es wird der nächste Knoten zurückgeliefert oder null, falls die Transformation beendet werden muss.
Die Default-Implementierung liefert folgendes:
-
.root ist ein String
Hier wird das Doccursor-Objekt zurückgeliefert, das in Src übergeben und nun weitergestellt wurde.
-
.root ist ein IDM-Objekt
Hier wird ein IDM-Objekt zurückgeliefert, das als nächstes untersucht werden soll.
Objekte mit dieser Methode
Siehe auch
Attribut .root
Obje