Well from w3c:

"The term <![CDATA] is used about text data that should not be parsed by the 
XML parser."

I interpreted this as not been processed, but it seems it is do not parse. 
Lastly shouldn't dlr-url be urlencoded, addressing all these issues?

Nikos
  ----- Original Message ----- 
  From: Alejandro Guerrieri 
  To: Nikos Balkanas 
  Cc: [email protected] 
  Sent: Sunday, October 25, 2009 12:07 PM
  Subject: Re: rejection of dlr-url field in CDATA


  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