[ANN] nokogiri 1.3.0 Released

nokogiri version 1.3.0 has been released!

* <http://nokogiri.rubyforge.org/>
* <http://github.com/tenderlove/nokogiri/wikis>
* <http://github.com/tenderlove/nokogiri/tree/master>
* <http://rubyforge.org/mailman/listinfo/nokogiri-talk>
* <http://github.com/tenderlove/nokogiri/issues>

Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser.

Changes:

### 1.3.0 / 2009-05-30

* New Features

  * Builder changes scope based on block arity
  * Builder supports methods ending in underscore similar to tagz
  * Nokogiri::XML::Node#<=> compares nodes based on Document position
  * Nokogiri::XML::Node#matches? returns true if Node can be found with
    given selector.
  * Nokogiri::XML::Node#ancestors now returns an Nokogiri::XML::NodeSet
  * Nokogiri::XML::Node#ancestors will match parents against optional selector
  * Nokogiri::HTML::Document#meta_encoding for getting the meta encoding
  * Nokogiri::HTML::Document#meta_encoding= for setting the meta encoding
  * Nokogiri::XML::Document#encoding= to set the document encoding
  * Nokogiri::XML::Schema for validating documents against XSD schema
  * Nokogiri::XML::RelaxNG for validating documents against RelaxNG schema
  * Nokogiri::HTML::ElementDescription for fetching HTML element descriptions
  * Nokogiri::XML::Node#description to fetch the node description
  * Nokogiri::XML::Node#accept implements Visitor pattern
  * bin/nokogiri for easily examining documents (Thanks Yutaka HARA!)
  * Nokogiri::XML::NodeSet now supports more Array and Enumerable operators:
    index, delete, slice, - (difference), + (concatenation), & (intersection),
    push, pop, shift, ==
  * Nokogiri.XML, Nokogiri.HTML take blocks that receive
    Nokogiri::XML::ParseOptions objects
  * Nokogiri::XML::Node#namespace returns a Nokogiri::XML::Namespace
  * Nokogiri::XML::Node#namespace= for setting a node's namespace
  * Nokogiri::XML::DocumentFragment and Nokogiri::HTML::DocumentFragment
    have a sensible API and a more robust implementation.
  * JRuby 1.3.0 support via FFI.

* Bugfixes

  * Fixed a problem with nil passed to CDATA constructor
  * Fragment method deals with regular expression characters
    (Thanks Joel!) LH #73
  * Fixing builder scope issues LH #61, LH #74, LH #70
  * Fixed a problem when adding a child could remove the child namespace LH#78
  * Fixed bug with unlinking a node then reparenting it. (GH#22)
  * Fixed failure to catch errors during XSLT parsing (GH#32)
  * Fixed a bug with attribute conditions in CSS selectors (GH#36)
  * Fixed intolerance of HTML attributes without values in Node#before/after/inner_html=. (GH#35)

* <http://nokogiri.rubyforge.org/>
* <http://github.com/tenderlove/nokogiri/wikis>
* <http://github.com/tenderlove/nokogiri/tree/master>
* <http://rubyforge.org/mailman/listinfo/nokogiri-talk>
* <http://github.com/tenderlove/nokogiri/issues>

···

--
Aaron Patterson
http://tenderlovemaking.com/

Aaron Patterson wrote:

nokogiri version 1.3.0 has been released!

Cool. Any instructions on how to install that in windows?
-=r

···

--
Posted via http://www.ruby-forum.com/\.

Congratulations on the JRuby support! Nokogiri has to be one of the #1 most requested items for us. And hopefully over the summer we'll get a Java+Ruby(+ no C at all) version released too!

Aaron Patterson wrote:

···

nokogiri version 1.3.0 has been released!

* <http://nokogiri.rubyforge.org/&gt;
* <http://github.com/tenderlove/nokogiri/wikis&gt;
* <http://github.com/tenderlove/nokogiri/tree/master&gt;
* <http://rubyforge.org/mailman/listinfo/nokogiri-talk&gt;
* <http://github.com/tenderlove/nokogiri/issues&gt;

Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser.

Changes:

### 1.3.0 / 2009-05-30

* New Features

  * Builder changes scope based on block arity
  * Builder supports methods ending in underscore similar to tagz
  * Nokogiri::XML::Node#<=> compares nodes based on Document position
  * Nokogiri::XML::Node#matches? returns true if Node can be found with
    given selector.
  * Nokogiri::XML::Node#ancestors now returns an Nokogiri::XML::NodeSet
  * Nokogiri::XML::Node#ancestors will match parents against optional selector
  * Nokogiri::HTML::Document#meta_encoding for getting the meta encoding
  * Nokogiri::HTML::Document#meta_encoding= for setting the meta encoding
  * Nokogiri::XML::Document#encoding= to set the document encoding
  * Nokogiri::XML::Schema for validating documents against XSD schema
  * Nokogiri::XML::RelaxNG for validating documents against RelaxNG schema
  * Nokogiri::HTML::ElementDescription for fetching HTML element descriptions
  * Nokogiri::XML::Node#description to fetch the node description
  * Nokogiri::XML::Node#accept implements Visitor pattern
  * bin/nokogiri for easily examining documents (Thanks Yutaka HARA!)
  * Nokogiri::XML::NodeSet now supports more Array and Enumerable operators:
    index, delete, slice, - (difference), + (concatenation), & (intersection),
    push, pop, shift, ==
  * Nokogiri.XML, Nokogiri.HTML take blocks that receive
    Nokogiri::XML::ParseOptions objects
  * Nokogiri::XML::Node#namespace returns a Nokogiri::XML::Namespace
  * Nokogiri::XML::Node#namespace= for setting a node's namespace
  * Nokogiri::XML::DocumentFragment and Nokogiri::HTML::DocumentFragment
    have a sensible API and a more robust implementation.
  * JRuby 1.3.0 support via FFI.

* Bugfixes

  * Fixed a problem with nil passed to CDATA constructor
  * Fragment method deals with regular expression characters
    (Thanks Joel!) LH #73
  * Fixing builder scope issues LH #61, LH #74, LH #70
  * Fixed a problem when adding a child could remove the child namespace LH#78
  * Fixed bug with unlinking a node then reparenting it. (GH#22)
  * Fixed failure to catch errors during XSLT parsing (GH#32)
  * Fixed a bug with attribute conditions in CSS selectors (GH#36)
  * Fixed intolerance of HTML attributes without values in Node#before/after/inner_html=. (GH#35)

* <http://nokogiri.rubyforge.org/&gt;
* <http://github.com/tenderlove/nokogiri/wikis&gt;
* <http://github.com/tenderlove/nokogiri/tree/master&gt;
* <http://rubyforge.org/mailman/listinfo/nokogiri-talk&gt;
* <http://github.com/tenderlove/nokogiri/issues&gt;

People,

I had problems getting v1.2.3 installed so for this version I firstly uninstalled the previous version. This time the gem install went OK and "gem list" gives:

   nokogiri (1.3.0)

but when I run the demo program I get:

   ./t095.rb:3:in `require': no such file to load -- nokogiri (LoadError)

and the same from irb:

   irb
   irb(main):001:0> require 'nokogiri'
   LoadError: no such file to load -- nokogiri
         from (irb):1:in `require'
         from (irb):1

What now?

Thanks,

Phil.

···

On 2009-05-31 07:10, Aaron Patterson wrote:

nokogiri version 1.3.0 has been released!

*<http://nokogiri.rubyforge.org/&gt;
*<http://github.com/tenderlove/nokogiri/wikis&gt;
*<http://github.com/tenderlove/nokogiri/tree/master&gt;
*<http://rubyforge.org/mailman/listinfo/nokogiri-talk&gt;
*<http://github.com/tenderlove/nokogiri/issues&gt;

Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser.

Changes:

### 1.3.0 / 2009-05-30

* New Features

   * Builder changes scope based on block arity
   * Builder supports methods ending in underscore similar to tagz
   * Nokogiri::XML::Node#<=> compares nodes based on Document position
   * Nokogiri::XML::Node#matches? returns true if Node can be found with
     given selector.
   * Nokogiri::XML::Node#ancestors now returns an Nokogiri::XML::NodeSet
   * Nokogiri::XML::Node#ancestors will match parents against optional selector
   * Nokogiri::HTML::Document#meta_encoding for getting the meta encoding
   * Nokogiri::HTML::Document#meta_encoding= for setting the meta encoding
   * Nokogiri::XML::Document#encoding= to set the document encoding
   * Nokogiri::XML::Schema for validating documents against XSD schema
   * Nokogiri::XML::RelaxNG for validating documents against RelaxNG schema
   * Nokogiri::HTML::ElementDescription for fetching HTML element descriptions
   * Nokogiri::XML::Node#description to fetch the node description
   * Nokogiri::XML::Node#accept implements Visitor pattern
   * bin/nokogiri for easily examining documents (Thanks Yutaka HARA!)
   * Nokogiri::XML::NodeSet now supports more Array and Enumerable operators:
     index, delete, slice, - (difference), + (concatenation),& (intersection),
     push, pop, shift, ==
   * Nokogiri.XML, Nokogiri.HTML take blocks that receive
     Nokogiri::XML::ParseOptions objects
   * Nokogiri::XML::Node#namespace returns a Nokogiri::XML::Namespace
   * Nokogiri::XML::Node#namespace= for setting a node's namespace
   * Nokogiri::XML::DocumentFragment and Nokogiri::HTML::DocumentFragment
     have a sensible API and a more robust implementation.
   * JRuby 1.3.0 support via FFI.

* Bugfixes

   * Fixed a problem with nil passed to CDATA constructor
   * Fragment method deals with regular expression characters
     (Thanks Joel!) LH #73
   * Fixing builder scope issues LH #61, LH #74, LH #70
   * Fixed a problem when adding a child could remove the child namespace LH#78
   * Fixed bug with unlinking a node then reparenting it. (GH#22)
   * Fixed failure to catch errors during XSLT parsing (GH#32)
   * Fixed a bug with attribute conditions in CSS selectors (GH#36)
   * Fixed intolerance of HTML attributes without values in Node#before/after/inner_html=. (GH#35)

*<http://nokogiri.rubyforge.org/&gt;
*<http://github.com/tenderlove/nokogiri/wikis&gt;
*<http://github.com/tenderlove/nokogiri/tree/master&gt;
*<http://rubyforge.org/mailman/listinfo/nokogiri-talk&gt;
*<http://github.com/tenderlove/nokogiri/issues&gt;

--
Philip Rhoades

GPO Box 3411
Sydney NSW 2001
Australia
E-mail: phil@pricom.com.au

gem install nokogiri

The mirrors probably aren't updated yet.

···

On Sun, May 31, 2009 at 06:43:05AM +0900, Roger Pack wrote:

Aaron Patterson wrote:
> nokogiri version 1.3.0 has been released!

Cool. Any instructions on how to install that in windows?

--
Aaron Patterson
http://tenderlovemaking.com/

require 'rubygems'
require 'nokogiri'

Did you try that?

Best,
Michael Guterl

···

On Sun, May 31, 2009 at 10:47 AM, Philip Rhoades <phil@pricom.com.au> wrote:

People,

I had problems getting v1.2.3 installed so for this version I firstly
uninstalled the previous version. This time the gem install went OK and
"gem list" gives:

nokogiri (1.3.0)

but when I run the demo program I get:

./t095.rb:3:in `require': no such file to load -- nokogiri (LoadError)

and the same from irb:

irb
irb(main):001:0> require 'nokogiri'
LoadError: no such file to load -- nokogiri
from (irb):1:in `require'
from (irb):1

What now?

gem install nokogiri

The mirrors probably aren't updated yet.

But it still doesn't work under mingw version of Ruby 1.9.1. It's very
frustrated when you need testing app using webrat :-|...

···

--
Posted via http://www.ruby-forum.com/\.

Michael,

···

On 2009-06-01 02:42, Michael Guterl wrote:

On Sun, May 31, 2009 at 10:47 AM, Philip Rhoades<phil@pricom.com.au> wrote:

People,

I had problems getting v1.2.3 installed so for this version I firstly
uninstalled the previous version. This time the gem install went OK and
"gem list" gives:

  nokogiri (1.3.0)

but when I run the demo program I get:

  ./t095.rb:3:in `require': no such file to load -- nokogiri (LoadError)

and the same from irb:

  irb
  irb(main):001:0> require 'nokogiri'
  LoadError: no such file to load -- nokogiri
        from (irb):1:in `require'
        from (irb):1

What now?

require 'rubygems'
require 'nokogiri'

Did you try that?

That works - thanks! - shouldn't the line "require 'rubygems'" be in the example code on:

  http://nokogiri.rubyforge.org/nokogiri/

?

Regards,

Phil.
--
Philip Rhoades

GPO Box 3411
Sydney NSW 2001
Australia
E-mail: phil@pricom.com.au

Do you mind expanding on this? I tested it with that particular version
of ruby on windows, so I'm surprised it doesn't work. As of 1.3.0, we
support that version, so if it doesn't work, I consider that a bug.

···

On Sun, May 31, 2009 at 08:37:54AM +0900, Iii Iii wrote:

> gem install nokogiri
>
> The mirrors probably aren't updated yet.

But it still doesn't work under mingw version of Ruby 1.9.1. It's very
frustrated when you need testing app using webrat :-|...

--
Aaron Patterson
http://tenderlovemaking.com/

It should be self-evident that if you install software using RubyGems you need to load RubyGems to use that software

···

On May 31, 2009, at 12:49, Philip Rhoades wrote:

On 2009-06-01 02:42, Michael Guterl wrote:

require 'rubygems'
require 'nokogiri'

Did you try that?

That works - thanks! - shouldn't the line "require 'rubygems'" be in the example code

Philip Rhoades wrote:

require 'rubygems'
require 'nokogiri'

That works - thanks! - shouldn't the line "require 'rubygems'" be in the example code on:

  http://nokogiri.rubyforge.org/nokogiri/

Yes, but that's a FAQ for every ruby gem out there. The root documentation for all gems should contain that line, but El Goog will always be able to help if they don't.

Eric Hodel wrote:

It should be self-evident that if you install software using RubyGems you need to load RubyGems to use that software

+1. We probably should have T-shirts printed up that say that.

···

--
RMagick: http://rmagick.rubyforge.org/

Eric Hodel wrote:

···

On May 31, 2009, at 12:49, Philip Rhoades wrote:

That works - thanks! - shouldn't the line "require 'rubygems'" be in the example code

It should be self-evident that if you install software using RubyGems you need to load RubyGems to use that software

It might be, but I get tripped up by "require 'rubygems'" every few
months anyway.

When can RubyGems merge with Ruby? Or can't it?

Later,
--
Bil Kleb
http://fun3d.larc.nasa.gov

Do you mind expanding on this? I tested it with that particular version
of ruby on windows, so I'm surprised it doesn't work. As of 1.3.0, we
support that version, so if it doesn't work, I consider that a bug.

Of course...

gem install nokogiri -> failed

I copied libxml, libxslt* to ruby installation manually.

c:\gem install nokogiri
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
    ERROR: Failed to build gem native extension.

c:/ruby/bin/ruby.exe extconf.rb
checking for iconv.h in
/opt/local/include/,/opt/local/include/libxml2,/opt/local/include,c:/ruby/include/libxml2,c:/ruby/include,/usr/local/include/libxml2,/usr/include/libxml2...
yes
checking for libxml/parser.h in
/opt/local/include/,/opt/local/include/libxml2,/opt/local/include,c:/ruby/include/libxml2,c:/ruby/include,/usr/local/include/libxml2,/usr/include/libxml2...
yes
checking for libxslt/xslt.h in
/opt/local/include/,/opt/local/include/libxml2,/opt/local/include,c:/ruby/include/libxml2,c:/ruby/include,/usr/local/include/libxml2,/usr/include/libxml2...
yes
checking for libexslt/exslt.h in
/opt/local/include/,/opt/local/include/libxml2,/opt/local/include,c:/ruby/include/libxml2,c:/ruby/include,/usr/local/include/libxml2,/usr/include/libxml2...
yes
checking for xmlParseDoc() in -lxml2... no
libxml2 is missing. try 'port install libxml2' or 'yum install libxml2'
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

gem install nokogiri -s http://tenderlovemaking.com/ -> failed
c:\>gem install nokogiri -s http://tenderlovemaking.com/
ERROR: Error installing nokogiri:
        nokogiri requires Ruby version ~> 1.8.0

I tried to use rake-compiler on OpenSUSE and Debian with Ruby 1.9.1 (in
system) and it failed on frex error. I tried to use it again with Ruby
1.8 (in system). Nokogiri didn't find ruby header files (I installed
every ruby dev package)

* Index of /pub/libxml/

The result is the nokogiri is impossible to install on Windows with Ruby
1.9.1. Yeah, I'm not a rocket scientist :frowning:

···

--
Posted via http://www.ruby-forum.com/\.

Do you mind expanding on this? I tested it with that particular version
of ruby on windows, so I'm surprised it doesn't work. As of 1.3.0, we
support that version, so if it doesn't work, I consider that a bug.

no windows love for me, even with 1.8.6

d:\dev>ruby -v
ruby 1.8.6 (2009-03-31 patchlevel 368) [i386-mingw32]

d:\dev>gem install nokogiri
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
        ERROR: Failed to build gem native extension.

d:\dev>gem install nokogiri --platform=mswin32
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
        ERROR: Failed to build gem native extension.

···

--
Posted via http://www.ruby-forum.com/\.

Old discusion. But my 2$ :wink:

If you deploy to for example boxed environment, or host that does have ruby but don't have rubygems, or project requires that all dependencies (gems in this case) be unpacked and stored in svn/git. You might find that his little `require 'rubygems'` suddenly breaks application deployed into production.

It's a host responsibility to provide library, whatever way it sees fit - rubygems is just one option.

It is in 1.9.

For Ruby 1.8, setting the environment variable RUBY_OPTS to "-rubygems" pretty much does what you want.

Regards,
Florian Gilcher

···

On Jun 1, 2009, at 12:30 PM, Bil Kleb wrote:

Eric Hodel wrote:

On May 31, 2009, at 12:49, Philip Rhoades wrote:

That works - thanks! - shouldn't the line "require 'rubygems'" be in the example code

It should be self-evident that if you install software using RubyGems you need to load RubyGems to use that software

It might be, but I get tripped up by "require 'rubygems'" every few
months anyway.

When can RubyGems merge with Ruby? Or can't it?

Later,
--
Bil Kleb
http://fun3d.larc.nasa.gov

--
Florian Gilcher

smtp: flo@andersground.net
jabber: Skade@jabber.ccc.de
gpg: 533148E2

Okay. It shouldn't try to compile anything. I will take a look because
this should "just work".

···

On Mon, Jun 01, 2009 at 08:03:51PM +0900, Iii Iii wrote:

> Do you mind expanding on this? I tested it with that particular version
> of ruby on windows, so I'm surprised it doesn't work. As of 1.3.0, we
> support that version, so if it doesn't work, I consider that a bug.
Of course...

gem install nokogiri -> failed

I copied libxml, libxslt* to ruby installation manually.

c:\gem install nokogiri
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
    ERROR: Failed to build gem native extension.

--
Aaron Patterson
http://tenderlovemaking.com/

Hi! It should be working now. I accidentally messed up the gem spec
platform string. I've uploaded a new gem to rubyforge, and was able to
install it on windows.

Let me know how this one works out!

···

On Mon, Jun 01, 2009 at 10:48:08PM +0900, Roger Pack wrote:

> Do you mind expanding on this? I tested it with that particular version
> of ruby on windows, so I'm surprised it doesn't work. As of 1.3.0, we
> support that version, so if it doesn't work, I consider that a bug.

no windows love for me, even with 1.8.6

d:\dev>ruby -v
ruby 1.8.6 (2009-03-31 patchlevel 368) [i386-mingw32]

d:\dev>gem install nokogiri
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
        ERROR: Failed to build gem native extension.

d:\dev>gem install nokogiri --platform=mswin32
Building native extensions. This could take a while...
ERROR: Error installing nokogiri:
        ERROR: Failed to build gem native extension.

--
Aaron Patterson
http://tenderlovemaking.com/

RubyGems was merged for 1.9

···

On Jun 1, 2009, at 03:30, Bil Kleb wrote:

Eric Hodel wrote:

On May 31, 2009, at 12:49, Philip Rhoades wrote:

That works - thanks! - shouldn't the line "require 'rubygems'" be in the example code

It should be self-evident that if you install software using RubyGems you need to load RubyGems to use that software

It might be, but I get tripped up by "require 'rubygems'" every few
months anyway.

When can RubyGems merge with Ruby? Or can't it?