[Inhalt] [Zurück] [Weiter] [Thema] [Index]

BaumFilter()


Syntax:

BaumFilter (Baum B, String muster) : Baum
B : Baum
muster : Muster, nach dem gesucht werden soll

Beispiel:

res := BaumFilter(B, "selected=true, dir=True")

Beschreibung:

Filtert aus einem Baum alle Knoten, die auf ein Muster passen. Der Filter wird als Liste von Schlüssel-Werte-Paaren angegeben. Schlüssel und Wert sind mit einem = getrennt, die Paare mit Kommata. Die Schlüssel und Werte beziehen sich auf den Attributesatz eines Knotens (siehe BaumAttrs()). Ein Leerstring als Muster passt auf alle Knoten.

Um Knoten zu finden, deren Namen passt, übergibt man als Schlüssel @name, Beispiel: res := BaumFilter(B, "@name=*hausen").

Das Ergebnis ist ein flacher Baum, dessen Wurzelknoten alle gefundenen Knoten als Kinder enthält, die wiederum keine Kinder besitzen. Die Attribute dieser Kindknoten verweisen direkt auf die Attribute des ursprünglichen Baums B. Änderungen an ihnen wirken sich also unmittelbar auf B aus.

Der Ergebnisbaum kann mittels FORALL durchlaufen werden. Beispiel:

		B   := DirBaum ("", "*", False)
		res := BaumFilter(B, "dir=True")
		FORALL C IN res
			print (C["fullname"])
		ENDFOR
	

Siehe auch BaumSearch(), AddChild(), BaumAttrs(), Child().



toposoft 25.04.2024