FWIW I found a solution by mimicking the original tag=: With data.zip as dz and clojure.zip as zip the following predicate can be used inside of xml->
(defn tag-is-one-of [tagnames] (fn [loc] (filter (fn [l] (and (zip/branch? l) (some #(= % (:tag (zip/node l))) tagnames))) (if (dz/auto? loc) (dz/children-auto loc) (list (dz/auto true loc)))))) (clojure.data.zip.xml/xml-> x :a (tag-is-one-of [:b1 :b3]) :c) (Now I only need to read about all those auto-functions.) Regards, stefan -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en