-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nokogiri Pain Points #14
Comments
My personal issues:
|
|
|
2nded, the jruby version behaves completely differently. Namespaces also don't work in jruby. |
Nokogiri on JRuby is unusably buggy. Take a look at these issues I reported:
All of these issues were uncovered by the nanoc test cases. |
Difficulty/slowness of compilation is my biggest painpoint for sure. In current variations that can take minutes to compile. And on some servers I still have to go installing various supporting libraries at the right versions to get a succesful compile. Next painpoint would be nokogiri's inconsistency in some places in how it handles XML namespaces. The API is inconsistent and works different ways in different places. It looks like oga is still under development and not yet mature. Very interested and plan on keeping an eye on it. Nokogiri's support for CSS selectors (an idea it took from HPricot) are super useful, not sure if you're planning on doing those too. |
@jrochkind Oga will support both XPath expressions and CSS selectors (these would be compiled into their XPath equivalents and evaluated). Most of the current work is happening on the xpath branch. There indeed is still a lot of work to be done. |
@yorickpeterse I don't like that Nokogiri adds some stuff everywhere (doctype, cdata in scripts, xmlns:lang attributes, ...). This is a pain point especially in combination with html5. However I like the Nokogiri API: For example element[:attribute] which is not supported by oga, there I have to write element.attribute(:attribute) which I don't like very much. I would suggest to make the API more or less compatible. I am also missing the css selector. |
@minad CSS selector support is a work in progress which I can hopefully release in 1-2 months. Progress is tracked at #11 and https://github.com/YorickPeterse/oga/tree/css |
Closing this one as I've migrated most of these points to the Wiki page https://github.com/YorickPeterse/oga/wiki/Problems-with-Nokogiri. |
When I started sharing the word of my work on Oga various developers remarked that they were very happy with a pure Ruby XML/HTML parser. I found this a bit surprising as I've always assumed people were generally happy enough with Nokogiri (at least before they started shipping libxml). To be more specific, I've not come across a lot of negative articles/resources about Nokogiri.
As a result of this I'll be using this issue to keep track of requests/suggestions/problems people currently have with Nokgiri and XML/HTML parsing in general. In particular I'd like to know what people dislike about Nokogiri to see if I can whip together something for that.
In other words, if there's something about Nokogiri that absolutely pisses you off please specify so in a comment below.
The text was updated successfully, but these errors were encountered: