-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi all,
Given how many issues I'm posting, I should probably start contributing fixes too :-) Is there a starter document that describes the components of cxml at a high level?
So, here's what I'm seeing when I try to introduce multiple namespaces into an XML document... Note that the final output states the namespaces for both svg and xlink as implicit. Further, implicit namespace declarations are not necessarily applied to attributes.
CL-USER(36): (setq svg (dom:create-document 'rune-dom:implementation "http://www.w3.org/2000/svg" "svg" (dom:create-document-type 'rune-dom:implementation "svg" "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"))) #<RUNE-DOM::DOCUMENT @ #x21142992> CL-USER(37): (dom:set-attribute-ns (dom:document-element svg) "http://www.w3.org/1999/xlink" "href" "#nothing") CL-USER(38): (dom:map-document (cxml:make-namespace-normalizer (cxml:make-octet-stream-sink *standard-output*)) svg :include-doctype :canonical-notations) <svg href="#nothing" xmlns="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"></svg>
Now we see what happens when we start with a document in a string. See the attached file. Here's what happens when I parse and re-output the file:
CL-USER(54): (setq svg (cxml:parse-file #p"C:\test.xml" (rune-dom:make-dom-builder))) #<RUNE-DOM::DOCUMENT @ #x20c05482> CL-USER(55): (dom:map-document (cxml:make-namespace-normalizer (cxml:make-octet-stream-sink *standard-output*)) svg :include-doctype :canonical-notations) <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/2000/svg"> <defs> <rect fill="black" height="10" id="default-node-shape" stroke="blue" width="60"></rect> </defs> </svg>
Thanks in advance,
Sunil