[OpenSIPS-Users] Use of colon in XML element names

Vlad Patrascu vladp at opensips.org
Thu Aug 31 10:43:07 EDT 2017


Hi xaled,

There should be no problem with colons in element names (libxml will 
produce some errors, because namespaces are not handled by the xml 
module and the prefix is simply considered as part of the element name, 
but they can be ignored), your issue seems to be caused by something 
else. What errors or other relevant messages do the logs produce? I do 
spot on the other hand a wrong access to the first element when adding 
the attribute, which should look like 
"$xml(xml_s/tns:messageType.attr/xmlns:tns)" but the document should 
still be created fine without that attribute.

As for adding the encoding, you could initialize the $xml variable 
directly with the required XML declaration, like this:

     $xml(xml_s) = '<?xml version="1.0" 
encoding="UTF-8"?><tns:messageType></tns:messageType>';

Formatted output is not possible currently, you can open a feature 
request on Github regarding this, but if you really need the XML 
document to actually contain the indentation characters, you could do so 
explicitly when inserting the nodes (as in the documentation example).

Regards,

Vlad Patrascu
OpenSIPS Developer
http://www.opensips-solutions.com

On 08/20/2017 07:08 PM, xaled wrote:
>
> Hi,
>
> Just tried the new xml module and have some issues with colon in 
> element names. Should I use some escape magic for colons with opensips 
> xml module?
>
> Another question is how to add encoding="UTF-8" to have it like this - 
> <?xml version="1.0" encoding="UTF-8"?>
>
> It would be also great to have formatted XML output. Something like 
> format parameter in toString method of XML::LibXML::Document in perl.
>
> test:/usr/local/etc/opensips # /usr/local/sbin/opensips -V
>
> version: opensips 2.3.1 (x86_64/linux)
>
> flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, 
> F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
>
> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, 
> MAX_URI_SIZE 1024, BUF_SIZE 65535
>
> poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
>
> git revision: 72fa146
>
> main.c compiled on 18:53:05 Aug 16 2017 with gcc 4.8
>
> $xml(xml_s) = "<tns:messageType></tns:messageType>";
>
> $xml(xml_s.attr/xmlns:tns) = "http://test.org/abc/params/xml/abc";
>
> $xml(xml_s/tns:messageType) = "<tns:crtg></tns:crtg>";
>
> $xml(xml_s/tns:messageType/tns:crtg) = 
> "<tns:ControlIndicators></tns:ControlIndicators>";
>
> $xml(xml_s/tns:messageType/tns:crtg/tns:ControlIndicators) = 
> "<tns:Factor>5</tns:Factor>";
>
> xlog("XML_TEST: $xml(xml_s)\n");
>
> 2017-08-20T17:46:38.320273+02:00 test /usr/local/sbin/opensips[32422]: 
> XML_TEST: <?xml version="1.0"?>#012<messageType/>
>
> The final XML should be like this:
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <tns:messageType xmlns:tns="http://test.org/abc/params/xml/abc">
>
>   <tns:crtg>
>
>     <tns:ControlIndicators>
>
>      <tns:Factor>5</tns:Factor>
>
>     </tns:ControlIndicators>
>
>   </tns:crtg>
>
> </tns:messageType>
>
> Thanks,
>
> xaled
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20170831/681a73cb/attachment.html>


More information about the Users mailing list