Почему clojure.xml / emit печатает новые строки вокруг содержимого строки внутри тегов? - PullRequest
1 голос
/ 02 мая 2020

clojure.xml/emit печатает новую строку вокруг содержимого строки в теге, подобном этому.

user=> (require '[clojure.xml :as xml])
user=> (xml/emit-element {:tag :example :content ["Example"]})
<example>
Example
</example>
nil

Я ожидаю "<example>Example</example>", а не "<example>\nExample\n</example>".

XML спецификация гласит:

2.10 Обработка пробелов

Процессор XML должен всегда передавать все символы в документе, которые не размечены, приложению. Проверяющий процессор XML также должен сообщить приложению, какие из этих символов представляют собой пробелы, появляющиеся в содержимом элемента.

Расширяемый язык разметки (XML) 1.0 (пятое издание)

Так что они не равны.

В исходном коде xml.clj они называют (println ">") вместо print.

clojure / src /clj/clojure/xml.clj

Я использую пользовательскую версию для замены println на print.

Интересно, почему они печатают новые строки. Я вижу git blame но намека нет. Кто-нибудь знает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...