diff --git a/README.md b/README.md
index 595e83c9..d0d5fa0d 100644
--- a/README.md
+++ b/README.md
@@ -1245,6 +1245,11 @@ $ examples/which.clj rg
/usr/local/Cellar/ripgrep/11.0.1/bin/rg
```
+### pom.xml version
+
+A script to retrieve the version from a `pom.xml` file. See
+[examples/pom_version.clj](https://github.com/borkdude/babashka/blob/master/examples/pom_version.clj). Written by [@wilkerlucio](https://github.com/wilkerlucio).
+
## Thanks
- [adgoji](https://www.adgoji.com/) for financial support
diff --git a/examples/pom_version.clj b/examples/pom_version.clj
new file mode 100755
index 00000000..bd842e6f
--- /dev/null
+++ b/examples/pom_version.clj
@@ -0,0 +1,22 @@
+#!/usr/bin/env bb
+
+(ns pom-version
+ {:author "Wilker Lucio"}
+ (:require [clojure.data.xml :as xml]
+ [clojure.string :as str]))
+
+(defn tag-name? [tag tname]
+ (some-> tag :tag name #{tname}))
+
+(defn tag-content-str [tag]
+ (->> tag :content (filter string?) (str/join "")))
+
+(defn pom-version
+ ([] (pom-version "pom.xml"))
+ ([path]
+ (->> (xml-seq (xml/parse-str (slurp path)))
+ (filter #(tag-name? % "version"))
+ first
+ tag-content-str)))
+
+(pom-version)
diff --git a/src/babashka/impl/clojure/core.clj b/src/babashka/impl/clojure/core.clj
index c7e9452a..95938f55 100644
--- a/src/babashka/impl/clojure/core.clj
+++ b/src/babashka/impl/clojure/core.clj
@@ -31,4 +31,5 @@
'time (with-meta time* {:sci/macro true})
'Throwable->map (copy-core-var Throwable->map)
'compare-and-set! (copy-core-var compare-and-set!)
- '*data-readers* (sci/new-dynamic-var '*data-readers* nil)})
+ '*data-readers* (sci/new-dynamic-var '*data-readers* nil)
+ 'xml-seq (copy-core-var xml-seq)})
diff --git a/test/babashka/main_test.clj b/test/babashka/main_test.clj
index e9b43336..d88115eb 100644
--- a/test/babashka/main_test.clj
+++ b/test/babashka/main_test.clj
@@ -376,7 +376,8 @@
(deftest clojure-data-xml-test
(is (= "- 1
- 2
"
- (bb nil "(let [xml (xml/parse-str \"- 1
- 2
\")] (xml/emit-str xml))"))))
+ (bb nil "(let [xml (xml/parse-str \"- 1
- 2
\")] (xml/emit-str xml))")))
+ (is (= "0.0.87-SNAPSHOT" (bb nil "examples/pom_version.clj" (.getPath (io/file "test-resources" "pom.xml"))))))
(deftest uberscript-test
(let [tmp-file (java.io.File/createTempFile "uberscript" ".clj")]