Hello Stephane,

You are right: it is a kind of bug: http://bugzilla.scilab.org/show_bug.cgi?id=13509 I'm currently fixing it: when the second arg will be an empty matrix, then the prefix will empty.

Thanks

Calixte

On 08/07/2014 14:50, Stéphane Mottelet wrote:
Hello,

xmlNS is not able to create an XML namespace without a prefix, although this is completely correct in XML, as it allows inheritance of it. Example:

<a xmlns="http://name.space";>
   <b>1</b>
</a>

here the "b" element is in the "http://name.space"; namespace. The only workaround I have found is the following :

s = "<root><a xmlns=""http://name.space""/><b/></root>"
doc = xmlReadStr(s)
ns=xmlGetNsByHref(doc.root.children(1), "http://name.space";)
xmlAddNs(doc.root.children(2),ns);
xmlDump(doc)

Scilab (correct) output is :

 ans  =

!<?xml version="1.0"?>             !
!                                  !
!<root>                            !
!                                  !
!  <a xmlns="http://name.space"/>  !
!                                  !
!  <b xmlns="http://name.space"/>  !
!                                  !
!</root>                           !


But if I use xmlNS, Scilab (incorrect) output is :

s = "<root><a/><b/></root>"
doc = xmlReadStr(s)
ns=xmlNs(doc.root,"","http://name.space";);
xmlAddNs(doc.root.children(1),ns);
xmlAddNs(doc.root.children(2),ns);
xmlDump(doc)
 ans  =

!<?xml version="1.0"?>              !
!                                   !
!<root xmlns:="http://name.space";>  !
!                                   !
!  <a xmlns:="http://name.space"/>  !
!                                   !
!  <b xmlns:="http://name.space"/>  !
!                                   !
!</root>

xmlNs should interpret and empty string as prefix, as no prefix for the namespace.

S.
_______________________________________________
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users


--
Calixte Denizet
Software Development Engineer
-----------------------------------------------------------
Scilab Enterprises
143bis rue Yves Le Coz - 78000 Versailles, France
http://www.scilab-enterprises.com

_______________________________________________
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users

Reply via email to