Hi!
I'm having trouble outputting case-sensitive XML using cl-who. The *downcase-tokens-p* variable claims to be the answer, but it only controls whether the output is all-upper-case or all-lower-case:
(setq *downcase-tokens-p* nil) (with-html-output-to-string (s) (:twoWords)) => "<TWOWORDS/>"
(setq *downcase-tokens-p* t) (with-html-output-to-string (s) (:twoWords)) => "<twowords/>"
I don't get how this is supposed to help with case-sensitive XML: keywords (like all symbols) are case-folded by the CL reader before cl-who sees them, no? :twoWords => :TWOWORDS. To support generation of XML with mixedCase tags or attributes, I would think that cl-who would need to allow strings where it allows only keywords now.
Or maybe I'm just completely missing something, because the question that prompted the creation of *downcase-tokens-p* was a camelCase attribute.
Can cl-who support mixedCase tags/attributes? Or if it's as simple as changing (keywordp x) to (or (keywordp x) (stringp x)), would such a patch be well-received?
thanks!
- Ken