Treeql is a fairly thin query facility over Trees. It implements an ordered set of nodes which are generated and filtered by application of the treeql query language to each node in turn.
Tree TransformersThese are low level functional transformers which apply operations to the underlying tree via the node set, and generate a new node set.applycmdargsreturns the list of results of applicationapply [tree$node {*}cmd {*}args] form to each node in node setsapplycmdargsreturns the concatenated strings of results of applicationapply [tree$node {*}cmd {*}args] form to each node in node setapplyselfcmdargsreturns the list of results of the applicationapply [query {*}cmdnode {*}args] to each node, discarding null resultsmapselfcmdreturns the list of results of the applicationapply [query {*}cmdnode {*}args] to each node in node set, keeping null resultsTree FiltersThese are low level filters, which apply predicates to the underlying tree via the node set, and reduce the nodeset accordingly.filtercmdargsreturns the list of results of application when application is non nilfilter nodes by [tree {*}cmd {*}args]boolcmdargsreturns the list of results of application when application is truefilter nodes by the predicate [tree {*}cmd {*}args]stringPopattrreturns the list of nodes for which predicate is truefilter nodes by predicate [string {*}op] over attribute attrstringNPopattrreturns the list of nodes for which predicate is falsefilter nodes by negating the predicate [string {*}op] over attribute attrexprPopattrreturns the list of nodes for which predicate is truefilter nodes by predicate [expr {*}op] over attribute attrexprNPopattrreturns the list of nodes for which predicate is falsefilter nodes by predicate ![expr {*}op] over attribute attr