aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/with_pull.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/clojure/contrib/with_pull.clj')
-rw-r--r--src/clojure/contrib/with_pull.clj46
1 files changed, 0 insertions, 46 deletions
diff --git a/src/clojure/contrib/with_pull.clj b/src/clojure/contrib/with_pull.clj
deleted file mode 100644
index e22b5e56..00000000
--- a/src/clojure/contrib/with_pull.clj
+++ /dev/null
@@ -1,46 +0,0 @@
-(in-ns 'clojure.contrib.lazy-xml)
-(import '(org.xmlpull.v1 XmlPullParser XmlPullParserFactory))
-
-(defn- attrs [xpp]
- (for [i (range (.getAttributeCount xpp))]
- [(keyword (.getAttributeName xpp i))
- (.getAttributeValue xpp i)]))
-
-(defn- ns-decs [xpp]
- (let [d (.getDepth xpp)]
- (for [i (range (.getNamespaceCount xpp (dec d)) (.getNamespaceCount xpp d))]
- (let [prefix (.getNamespacePrefix xpp i)]
- [(keyword (str "xmlns" (when prefix (str ":" prefix))))
- (.getNamespaceUri xpp i)]))))
-
-(defn- attr-hash [xpp]
- (into {} (concat (ns-decs xpp) (attrs xpp))))
-
-(defn- pull-step [xpp]
- (case (.next xpp)
- XmlPullParser/START_TAG
- (lazy-cons (struct node :start-element
- (keyword (.getName xpp))
- (attr-hash xpp))
- (pull-step xpp))
- XmlPullParser/END_TAG
- (lazy-cons (struct node :end-element
- (keyword (.getName xpp)))
- (pull-step xpp))
- XmlPullParser/TEXT
- (let [text (.trim (.getText xpp))]
- (if (seq text)
- (lazy-cons (struct node :characters nil nil text)
- (pull-step xpp))
- (recur xpp)))))
-
-(def #^{:private true} factory
- (doto (XmlPullParserFactory/newInstance)
- (setNamespaceAware true)))
-
-(defn- parse-seq-pull [s]
- (let [xpp (.newPullParser factory)]
- (.setInput xpp s)
- (pull-step xpp)))
-
-(def has-pull true)