Back
Element (clj)
(source)variable
Examples
clojure/data.xml
(ns clojure.data.xml.spec
(:require [clojure.spec :as s]
[#?(:cljs cljs.spec.impl.gen :clj clojure.spec.gen) :as gen]
clojure.test.check.generators
[clojure.data.xml :as xml]
[clojure.data.xml.name :as name]
[clojure.data.xml.name :as node]
#?@(:cljs [[clojure.data.xml.js.dom :as dom]])
[clojure.string :as str]))
(s/def ::node/Element
(s/keys :req-un [::node/tag]
:opt-un [::node/attrs ::node/content]))
#?(:cljs
(do (s/def ::dom/Element (s/with-gen (partial instance? dom/Element)
#(gen/fmap dom/element-node (s/gen ::node/Element))))
(s/def ::dom/Text (s/with-gen (partial instance? dom/Text)
#(gen/fmap dom/text-node (gen/string-ascii))))))
(s/def ::xml/Element
#?(:clj ::node/Element
:cljs (s/or :dom ::dom/Element
:rec ::node/Element)))
(s/def ::xml/Node
(s/or :text ::xml/Text
:elem ::xml/Element))