From 391041c14190f9326b0f9970beffa597c1772d6c Mon Sep 17 00:00:00 2001 From: Mike Travers Date: Wed, 2 Apr 2025 11:04:41 -0700 Subject: [PATCH] patch out xml code to fix dependency conflict issues --- project.clj | 9 +++++---- src/pl/danieljanus/tagsoup.clj | 10 +++++++--- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/project.clj b/project.clj index eb793ac..d439ccc 100644 --- a/project.clj +++ b/project.clj @@ -1,6 +1,7 @@ -(defproject clj-tagsoup "0.3.0" +;;; Hacked to run with more modern data.xml +(defproject clj-tagsoup "0.4.0" :description "A HTML parser for Clojure." - :dependencies [[org.clojure/clojure "1.2.0"] - [org.clojure/data.xml "0.0.8"] + :dependencies [[org.clojure/clojure "1.12.0"] + #_ [org.clojure/data.xml "0.0.8"] [org.clojars.nathell/tagsoup "1.2.1"] - [net.java.dev.stax-utils/stax-utils "20040917"]]) + #_ [net.java.dev.stax-utils/stax-utils "20040917"]]) diff --git a/src/pl/danieljanus/tagsoup.clj b/src/pl/danieljanus/tagsoup.clj index 210e1c3..c389213 100644 --- a/src/pl/danieljanus/tagsoup.clj +++ b/src/pl/danieljanus/tagsoup.clj @@ -1,13 +1,13 @@ (ns pl.danieljanus.tagsoup (:require [clojure.zip :as zip] [clojure.xml :as xml] - [clojure.data.xml :as lazy-xml]) + #_ [clojure.data.xml :as lazy-xml]) (:import (org.ccil.cowan.tagsoup Parser) (java.net URI URL MalformedURLException Socket) (java.io InputStream File FileInputStream ByteArrayInputStream BufferedInputStream InputStreamReader BufferedReader) - (javax.xml.stream XMLEventReader XMLStreamConstants) + #_ (javax.xml.stream XMLEventReader XMLStreamConstants) (javax.xml.stream.events Attribute StartElement XMLEvent) - (javanet.staxutils ContentHandlerToXMLEventWriter XMLEventPipe) + #_ (javanet.staxutils ContentHandlerToXMLEventWriter XMLEventPipe) (org.xml.sax Attributes InputSource))) (defn- attributes-map @@ -181,6 +181,7 @@ in the same format as clojure.xml/parse." [^StartElement x] (keyword (.getLocalPart (.getName x)))) +#_ (defn eventize "Convert a javax.xml.stream.events.XMLEvent to a clojure.data.xml.Event." [^XMLEvent ev] @@ -199,11 +200,13 @@ in the same format as clojure.xml/parse." (lazy-xml/event :characters nil nil (.getData ev)) nil)) +#_ (defn event-seq "Like clojure.data.xml/pull-seq, but works on XMLEventReaders instead of stream readers." [^XMLEventReader ereader] (keep eventize (iterator-seq ereader))) +#_ (defn cancellable-lazy-parse-xml [input] (let [pipe (XMLEventPipe.) @@ -217,6 +220,7 @@ in the same format as clojure.xml/parse." (finally (.close ewriter)))) :data (event-seq ereader)})) +#_ (defn lazy-parse-xml "Parses the XML using TagSoup and as result, returns a lazy sequence of elements in the same format as