Grandchildren, too

DOM has getElementsByTagName("foo").

We have:
(defun map-recursively (fn node) ...)
(defmacro do-recursively ((var node &optional result) &body body) ...)

(defun find-recursively (item node &key key test) ...)
(defun filter-recursively (test node &key key))

Try this:
(stp:filter-recursively (stp:of-name "foo") node)