与普通映射和记录不同,在启用 *print-meta* 时,XML 元素记录不会打印元数据。当打印时让 data.xml 尊重此设置将会很有用。
(require '[clojure.data.xml :as xml]))
(set! *print-meta* true)
(with-meta (xml/element :foo) {::xml/location-info {}})
;; => #xml/element{:tag :foo}
(with-meta {:tag :foo} {::xml/location-info {}})
;; => ^#:clojure.data.xml{:location-info {}} {:tag :foo}
这是一个小的增强,但在我调试 data.xml 数据结构时遗漏了这一点。