Hi, I'm the guy working on the newer proposal, which is almost done (TM). It seems you have found the way to emulate namespacing with the current data.xml impl: by taking care of xmlns attributes and prefixes yourself. I definitely want to keep compatibility with that representation. Feel free to check out my proposal branch here https://github.com/bendlas/data.xml
cheers 2014-05-06 21:53 GMT+02:00 Timothy Washington <twash...@gmail.com>: > Ok, scratch that. I got it working, lol :) > > Sorry for the false alarm. For future reference, this: > > (def e4 (xml/sexp-as-element > [:thing:first {:xmlns:thing "http://thing"} > [:thing:second {}]])) > > > ...gives you this: > > user> (process/print-esequel process/e4) > > <?xml version="1.0" encoding="UTF-8"?> > <thing:first xmlns:thing="http://thing"> > <thing:second/> > </thing:first> > > > > Tim Washington > Interruptsoftware.com <http://interruptsoftware.com> > > > On Tue, May 6, 2014 at 3:45 PM, Timothy Washington <twash...@gmail.com>wrote: > >> Got a bit further here. I want to be able to get tag namespaces without a >> :root tag (that includes the namespace definition). Assume the below code >> has (require '[clojure.data.xml :as xml]). >> >> >> Working with attributes is fine. >> >> (def e1 (xml/element :use {:xmlns:xlink "http://testing", >> :xlink:href "#whiskers", >> :transform "scale(-1 1) translate(-140 0)"})) >> >> >> Namespace prefixes is possible with tags; however, I had to add the >> unwanted :root tag (that includes ns definition) >> >> (def e2 (xml/element :root {:xmlns:thing "http://thing"} >> (xml/element :thing:use {}))) >> >> (def e3 (xml/element :root {:xmlns:thing "http://thing"} >> (xml/sexp-as-element >> [:thing:first {} >> [:thing:second {}]]))) >> >> (defn print-esequel [elem] >> (println (xml/indent-str elem))) >> >> >> >> The resulting XML is close. But we want the tag namespaces, without the >> root node >> >> user> (print-esequel process/e2) >> >> <?xml version="1.0" encoding="UTF-8"?> >> <root xmlns:thing="http://thing"> >> <thing:use/> >> </root> >> >> user> (print-esequel process/e3) >> >> <?xml version="1.0" encoding="UTF-8"?> >> <root xmlns:thing="http://thing"> >> <thing:first> >> <thing:second/> >> </thing:first> >> </root> >> >> >> >> Tim Washington >> Interruptsoftware.com <http://interruptsoftware.com> >> >> >> On Tue, May 6, 2014 at 3:24 PM, Timothy Washington <twash...@gmail.com>wrote: >> >>> Hi there, >>> >>> >>> *A)* I'm just writing some SOAP XML, trying to use >>> data.xml<https://github.com/clojure/data.xml>. >>> This SO >>> thread<http://stackoverflow.com/questions/10868050/clojure-data-xml-create-key-named-xlinkhref> >>> outlines >>> how to write out namespace aware XML. But the example is for a namespace on >>> an attribute. I'm combing through the code now, but does anyone know how to >>> set this up? >>> >>> >>> *B)* There's actually this Fuller XML >>> Support<http://dev.clojure.org/display/DXML/Fuller+XML+support>proposal >>> (referring to this >>> thread<https://groups.google.com/forum/#!msg/clojure-dev/3_jkBrdQKgs/dUwtevWqlwkJ>), >>> and this Namespaced >>> XML<http://dev.clojure.org/display/DXML/Namespaced+XML>proposal. But I >>> don't see that namespaces are fully implemented in any of >>> the core libs. >>> >>> I only see this ArmageDOM <https://github.com/pepijndevos/ArmageDOM>lib, >>> which supports namespaces. Anything else out there that I've missed? >>> >>> >>> Thanks >>> >>> Tim Washington >>> Interruptsoftware.com <http://interruptsoftware.com> >>> >>> >>> >>> >> > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.