请分享您的想法,参与 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 accidental).


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"]}


*Approach:* Update doc-string to reflect that s also can be an InputSource
*Patch:* CLJ-1290.patch
*Screened by:*

3 答案

0

评论由:edipofederle 提供

您是否意味着 (doc xml/parse) 应包含 "可以是一个 xml 字符串"?
我不知道我是否正确理解了您的意思。
谢谢。

0

评论由:pbwolf 提供

{{InputSource}} 是 {{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报告)
...