sparklemotion/nokogiri — pull request #959 by rdingwell (2013-08-23 20:57:50+00:00)
Title: Namespace cache rework

I realize that this is a fairly large pull request but I believe that it address some issues on the Java side of Nokogiri. The main thrust of the work is a reworking of the NamespaceCache to cache namespaces based on the node from which they are declared. The caching itself is still performed in a central object but it has been reworked to store the namespaces in a hierarchal manor. This allows for a namespace prefixes and default namespaces to be redeclared on elements as allowed for by the xml specification. This pull request also address issues #902 #940 and #943.

All of the tests pass though 2 of them needed to be skipped do to allowing namespace redefinition. The 2 tests that were skipped are in the test_builder.rb file and are specifically related to testing that you cannot redefine namespaces.