aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/lazy_xml
diff options
context:
space:
mode:
authorStuart Sierra <mail@stuartsierra.com>2010-01-20 15:39:56 -0500
committerStuart Sierra <mail@stuartsierra.com>2010-01-20 15:39:56 -0500
commit2ede388a9267d175bfaa7781ee9d57532eb4f20f (patch)
treebb42002af196405d7e25cc4e30b4c1c9de5c06d5 /src/clojure/contrib/lazy_xml
parent1bc820d96048a6536706ff999e9892649b53c700 (diff)
Move source files into Maven-style directory structure.
Diffstat (limited to 'src/clojure/contrib/lazy_xml')
-rw-r--r--src/clojure/contrib/lazy_xml/with_pull.clj58
1 files changed, 0 insertions, 58 deletions
diff --git a/src/clojure/contrib/lazy_xml/with_pull.clj b/src/clojure/contrib/lazy_xml/with_pull.clj
deleted file mode 100644
index 06181569..00000000
--- a/src/clojure/contrib/lazy_xml/with_pull.clj
+++ /dev/null
@@ -1,58 +0,0 @@
-; Copyright (c) Chris Houser, Dec 2008. All rights reserved.
-; The use and distribution terms for this software are covered by the
-; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
-; which can be found in the file epl-v10.html at the root of this distribution.
-; By using this software in any fashion, you are agreeing to be bound by
-; the terms of this license.
-; You must not remove this notice, or any other, from this software.
-
-; optional module to allow lazy-xml to use pull parser instead of sax
-
-(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]
- (let [step (fn [xpp]
- (condp = (.next xpp)
- XmlPullParser/START_TAG
- (cons (struct node :start-element
- (keyword (.getName xpp))
- (attr-hash xpp))
- (pull-step xpp))
- XmlPullParser/END_TAG
- (cons (struct node :end-element
- (keyword (.getName xpp)))
- (pull-step xpp))
- XmlPullParser/TEXT
- (let [text (.trim (.getText xpp))]
- (if (empty? text)
- (recur xpp)
- (cons (struct node :characters nil nil text)
- (pull-step xpp))))))]
- (lazy-seq (step 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)