私はxml構造で親ノードのIDを与えるこの関数を持っています。
(ns foo.core
(:require [clojure.data.zip.xml :as cdzx]))
(defn id-of-parent [zipper child-id node1 node2 node3 node4]
(cdzx/xml-> zipper node1 node2 node3 node4
(cdzx/attr= :Id child-id) zip/up zip/up (cdzx/attr :Id)))
それは次のように呼ばれます
(id-of-parent zipper child-id :Foos :Foo :Bars :Bar)
4 つの「ノード」を単純な「& パス」に置き換えて、この関数をより一般的なものにして、任意の数のノードを使用してパスを設定できるようにします。
(defn id-of-parent [zipper child-id & path]
(cdzx/xml-> zipper ????path????
(cdzx/attr= :Id child-id) zip/up zip/up (cdzx/attr :Id)))
一連のキーワードを単一のキーワードに展開する適切な方法は何ですか?