[cxml-devel] Bugs in handling namespaces
Sunil Mishra
smishra at sfmishras.com
Tue Aug 22 17:08:36 UTC 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi David,
I've attached a document that I then manipulate, to demonstrate the
problem I'm still having... I insert a new child <use/> in the document,
then add an "xlink:href" attribute. This somehow mangles the xlink
namespace declaration in the <svg/> element. BTW, note that the
graph.xml here is the same as the one I had sent with the clone-node
problem. I have made sure when parsing that the DTD is available and
included when the document is parsed. I don't know if that will make a
difference in your testing.
Sunil
CL-USER(22): (dom:insert-before (dom:document-element /d)
(dom:create-element-ns /d "http://www.w3.org/2000/svg" "use") nil)
#<RUNE-DOM::ELEMENT use @ #x20bdbaca>
CL-USER(23): (dom:set-attribute-ns * "http://www.w3.org/1999/xlink"
"href" "#nothing")
CL-USER(24): (dom:map-document (cxml:make-namespace-normalizer
(cxml:make-octet-stream-sink *standard-output*))
/d :include-doctype :canonical-notations)
<svg xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg">
<defs>
<rect
fill="black" height="10" id="default-node-shape" stroke="blue"
width="60"></rect>
</defs>
<use xlink:href="#nothing"></use></svg>
#<MULTIVALENT stream socket connected from localhost/3982 to
localhost/3983 @ #x205003d2>
Sunil Mishra wrote:
> Hi David,
>
> Thanks for the fixes, they do address some of the issues I was seeing,
> but there's still a problem in my program. I will send you another test
> by Wednesday.
>
> Sunil
>
> David Lichteblau wrote:
>> Quoting Sunil Mishra (smishra at sfmishras.com):
>>> 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.
>> Thanks for the reports.
>
>> The namespace normalizer (xml/xmlns-normalizer.lisp) is very new and
>> very untested. In addition, there was a buglet in map-document.
>
>> (It would be quite helpful if you could come up with more test cases for
>> the namespace normalizer as a basis for a little test suite!)
>
>>> 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>
>> Okay, now that gives:
>> <svg NS1:href="#nothing" xmlns="http://www.w3.org/2000/svg" xmlns:NS1="http://www.w3.org/1999/xlink"></svg>
>
>>> <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>
>> Fixed that too.
>
>
>> Please update to CVS and test again.
>
>
>> Thanks,
>> d.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFE6zoUjRnqWMAEf1cRAiseAKC05xs/jlVCFvU3vTWotcOr+W46PwCgzG5Y
FwGOslNR8RcurmPA+wyKdUg=
=UNPt
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graph.xml
Type: text/xml
Size: 367 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/cxml-devel/attachments/20060822/7e3bdf24/attachment.xml>
More information about the cxml-devel
mailing list