(defn- zero-deltas [zip] (loop [loc zip] (if (zip/end? loc) loc (recur (zip/next (if (= (:tag (zip/node loc)) :delta) (zip/edit loc #(assoc-in % [:attrs :value] "0")) loc))))))
Всё хорошо, но непонятно, что можно вернуть из функции, чтобы можно было аналогичную звать дальшe:
(-> filename parse xml-zip zero-deltas something-else)
Переписал на data.xml с рекурсивным беганием map-ами по :content. Омерзительно. В недоумении.
Upd: слава
Upd2: работает вот так, но недоумение остаётся:
(if (zip/end? loc) (with-meta (vector (zip/root loc) nil) (meta zip))
Error
Your IP address will be recorded