On 2020-04-06 21:38, Arvin Schnell wrote:
> On Mon, Apr 06, 2020 at 05:15:46PM +0200, josef Reidinger wrote:
> 
>> as you can read in previous mails, I am playing with xml parser used in 
>> YaST. Nokogiri looks like the best option due to its relax ng support and 
>> its availability in SLE (used in SLES-HA).
>>
>> And nokogiri has also one interesting feature and that is relaxed parsing 
>> that tries hard to parse document even when it is malformed[1] ( but you can 
>> still log errors).
>> Example that nokogiri can parse:
>> <test>
>>   <not_closed>
>>     <not_closed2>
>>       value
>>     </not_opened>
>> </test>
>>
>> which results in something like test -> not_closed -> not_closed2 -> value 
>> tree
>>
>> I check old yast yast parser and it is strict here and return nil and set 
>> error.
>> Question is should we keep old behavior or try to relax it and just logs 
>> errors and warnings? For working profiles nothing changes.
> 
> I think there parser should continue to be strict. Just imagine
> people start to use broken XML as AutoYaST profiles. Years later
> we cannot change the XML parser implementation because it behaves
> different for those broken profiles and people complain that we
> break compatibility.

I agree. Let's be strict and fail early. Let's not perpetuate the mistakes.

> Also see the criticism section in
> https://en.wikipedia.org/wiki/Robustness_principle.

That's kind of similar to the idea of making errors during installation
visible right away, instead of trying to hide them and just continue the
process pretending nothing happened.

Cheers.
-- 
Ancor González Sosa
YaST Team at SUSE Linux GmbH
-- 
To unsubscribe, e-mail: yast-devel+unsubscr...@opensuse.org
To contact the owner, e-mail: yast-devel+ow...@opensuse.org

Reply via email to