![](https://seccdn.libravatar.org/avatar/feeb205686bc49a16cc68ed0b496ed9a.jpg?s=120&d=mm&r=g)
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+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org