请分享您的想法,参加 2024 年 Clojure 状态调查!

欢迎!请参阅 关于 页面了解有关此工作机制的更多信息。

0
文档
The clojure.xml parse docstring mentions that parameter s "can be a File, InputStream or String naming a URI."  But those choices do not cover a common case, parsing the value of a String.  Actually, parse also allows InputSource, which solves the problem.  The docstring should mention InputSource (or clarify its omission, if not inadvertent).


user> (use '[clojure.xml :as xml])
nil
user> (import '[java.io StringReader])
java.io.StringReader
user> (import '[org.xml.sax InputSource])
org.xml.sax.InputSource
user> (xml/parse (InputSource. (StringReader. "<egg>green</egg>")))
{:tag :egg, :attrs nil, :content ["green"]}


*方法:* 更新 doc-string 以反映 s 也可以是一个 InputSource
*补丁:* CLJ-1290.patch
*检查者:**

3 个回答

0

评论由:edipofederle 发布

你说的是不是 (doc xml/parse) 应该包括 "可以是 xml String" 也能包含?
我不知道我是否正确理解了你的意思。
谢谢。

0

评论由:pbwolf 发布

{{InputSource}} 是 docstring 中未涵盖的 {{xml/parse}} 使用的

(xml/parse (InputSource. (StringReader. "<egg>green</egg>")))

也许 {{xml/parse}} 希望通过为 {{InputSource}} 的一些功能提供具体规定来隐藏 {{InputSource}}。但是读取一个 {{String}} 很重要,而 {{xml/parse}} 不接受一个 {{StringReader}},因此 {{InputSource}} 仍然很重要。

0
参考:https://clojure.atlassian.net/browse/CLJ-1290(由 alex+import 报告)
...