No, any complaint XML parser should treat a CDATA section "as is", without
enforcing XML compliance with the data inside. The goal of CDATA is to be
able to pass data without having to worry for invalid characters, etc. If
you want to ignore something on XML, you should use a <!-- comment -->.

I also think the "string hack" is for performance reasons. Besides, ois not
a big deal to create valid xml, specially for a simple url: usually just
replacing &, > and < for their xml counterparts (&amp; &gt; and &lt;) does
the trick (you may need to replace other symbols maybe).

Regards,

Alejandro



2009/10/25 Nikos Balkanas <[email protected]>

> Hi,
>
> This is expected behaviour. Libxml would also ignore the CDATA secrion, as
> it should, resulting in an empty dlr-url address, which would also probably
> fail kannel as malformed.
>
> What you want to do is to use test1, but with dlr-url urlencoded.
>
>
> BR,
> Nikos
> ----- Original Message ----- From: "Garth Patil" <[email protected]>
> To: <[email protected]>
> Sent: Sunday, October 25, 2009 3:08 AM
> Subject: rejection of dlr-url field in CDATA
>
>
>
>  Hi,
>> I am trying to send a message to the smsbox using the XML format
>> specified here (
>> http://kannel.org/download/1.4.3/userguide-1.4.3/userguide.html#POSTXML).
>> I have attached 2 example documents that should both work properly.
>> The only difference is that the second one has the dlr-url element
>> enclosed in a CDATA section. The message in post_test1.xml succeeds,
>> and the message in post_test2.xml fails with the error "DLR-URL field
>> misformed, rejected" and produces the following logging statement in
>> the smsbox log:
>> 2009-10-24 17:56:10 [4572] [3] DEBUG: Status: 400 Answer: <DLR-URL
>> field misformed, rejected>
>> Any ideas why using a CDATA section around the dlr-url should cause
>> parsing of this field to fail? On a related note, NOT using a CDATA
>> section or otherwise encoding the url causes the XML to be malformed,
>> so if the parser was being strict (try opening it in Firefox) it
>> should fail.
>> Thanks for your help,
>> Garth
>>
>>
>
>

Reply via email to