That would be incorrect behavior for libxml2 -- as Liam and I both said -- you 
have to encode some how.  CDATA is one way and URL encoding (e.g. &lt, &gt, 
etc).

I sent you a link.  
https://stackoverflow.com/questions/1398571/html-inside-xml-should-i-use-cdata-or-encode-the-html

Which I believe is the correct answer.  If someone else is making the XML then 
they should fix it.  I also like the "soup" answer and agree.

We have people send invalid XML to our customers all the time ... my customers 
have chosen to make me fix it :-) .  That is what I get paid for so ...

We pre-process all XML files and fix every mistake we know (and the program 
slowly grows) before parsing it.  Examples include attributes without a space 
between the quote and start of next attribute.  It would be wrong for me to ask 
libxml2 to do this -- not on spec.  So I do it.

So if was you and you have you take the files like this -- then pre-process 
them and fix them with either CDATA or encoding because I don't think anyone 
else would support the kind of change you are asking for ...

Eric




Eric S Eberhard
VICS (Vertical Integrated Computer Systems)
Voice: 928 567 3529
Cell    : 928 301 7537  (not reliable except for text or if not home)
2933 W Middle Verde Rd
Camp Verde, AZ  86322


-----Original Message-----
From: xml [mailto:xml-boun...@gnome.org] On Behalf Of André Rothe
Sent: Monday, August 20, 2018 12:48 AM
To: xml@gnome.org; Liam R. E. Quin <l...@fromoldbooks.org>
Subject: Re: [xml] Error on parsing HTML with libxml

I can't chage the source of the HTML page, because the page will be generated 
by another system, where I don't have access. I get only the pages from there 
and our Apache module makes a post-processing step just before the pages will 
be sent to the user's browser. And there I need a parser to change something 
within the page.

So I think, the libxml should not parse the content of inline scripts to handle 
that.

There is also a comment on

https://stackoverflow.com/questions/51892455/php-5-4-16-domdocument-removes-parts-of-javascript

which describes your idea with CDATA, but it didn't work.

~André

On 18.08.2018 04:13, Liam R. E. Quin wrote:
> On Fri, 2018-08-17 at 14:42 +0200, André Rothe wrote:
>>
>> https://3v4l.org/O0iEf
> 
> Try changing
>     ...writeln('</td>');
> to
>     ...writeln('<' + '/td>');
> and see if that helps; or use a CDATA section, <script><![CDATA[
>   //..
> ]]></script> to escape the </td> markup from the HTML parser.
> Although it may depend on what the missing //... lines look like, 
> assuming this is not the complete source.
> 
> Better yet, don't use document.write at all, and switch to more modern 
> practices :)
> 
> I'm not sure there's actually a bug here; if you feed the parser tag 
> soup, expect a mess. Keep zPHP, JavaScript, HTML, CSS in separate 
> files and life will probably be simpler.

_______________________________________________
xml mailing list, project page  http://xmlsoft.org/ xml@gnome.org 
https://mail.gnome.org/mailman/listinfo/xml


_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
xml@gnome.org
https://mail.gnome.org/mailman/listinfo/xml

Reply via email to