vtd_xml 0.0.3-java → 0.0.6-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (536) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/LICENSE.txt +340 -20
  4. data/lib/vtd_xml/document.rb +76 -28
  5. data/lib/vtd_xml/version.rb +1 -1
  6. data/pkg/vtd_xml-0.0.4-java.gem +0 -0
  7. data/pkg/vtd_xml-0.0.6-java.gem +0 -0
  8. data/test/test_load_paths.rb +1 -0
  9. data/test/unit/vtd_xml/document_test.rb +173 -17
  10. metadata +11 -535
  11. data/bundle/bundler/setup.rb +0 -10
  12. data/bundle/jruby/1.9/bin/convert_to_should_syntax +0 -23
  13. data/bundle/jruby/1.9/bin/nokogiri +0 -23
  14. data/bundle/jruby/1.9/bin/rake +0 -23
  15. data/bundle/jruby/1.9/build_info/mini_portile-0.5.2.info +0 -1
  16. data/bundle/jruby/1.9/build_info/nokogiri-1.6.1-java.info +0 -1
  17. data/bundle/jruby/1.9/build_info/rake-10.1.1.info +0 -1
  18. data/bundle/jruby/1.9/build_info/shoulda-context-1.1.6.info +0 -1
  19. data/bundle/jruby/1.9/cache/mini_portile-0.5.2.gem +0 -0
  20. data/bundle/jruby/1.9/cache/nokogiri-1.6.1-java.gem +0 -0
  21. data/bundle/jruby/1.9/cache/rake-10.1.1.gem +0 -0
  22. data/bundle/jruby/1.9/cache/shoulda-context-1.1.6.gem +0 -0
  23. data/bundle/jruby/1.9/gems/mini_portile-0.5.2/History.txt +0 -65
  24. data/bundle/jruby/1.9/gems/mini_portile-0.5.2/LICENSE.txt +0 -20
  25. data/bundle/jruby/1.9/gems/mini_portile-0.5.2/README.rdoc +0 -169
  26. data/bundle/jruby/1.9/gems/mini_portile-0.5.2/Rakefile +0 -44
  27. data/bundle/jruby/1.9/gems/mini_portile-0.5.2/examples/Rakefile +0 -55
  28. data/bundle/jruby/1.9/gems/mini_portile-0.5.2/lib/mini_portile.rb +0 -404
  29. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/CHANGELOG.ja.rdoc +0 -828
  30. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/CHANGELOG.rdoc +0 -835
  31. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/C_CODING_STYLE.rdoc +0 -33
  32. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/Gemfile +0 -21
  33. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/Manifest.txt +0 -315
  34. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/README.ja.rdoc +0 -106
  35. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/README.rdoc +0 -175
  36. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ROADMAP.md +0 -90
  37. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/Rakefile +0 -248
  38. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/STANDARD_RESPONSES.md +0 -47
  39. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/Y_U_NO_GEMSPEC.md +0 -155
  40. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/bin/nokogiri +0 -78
  41. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/build_all +0 -105
  42. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/dependencies.yml +0 -4
  43. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/EncodingHandler.java +0 -124
  44. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/HtmlDocument.java +0 -189
  45. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/HtmlElementDescription.java +0 -145
  46. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/HtmlEntityLookup.java +0 -79
  47. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/HtmlSaxParserContext.java +0 -259
  48. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/NokogiriService.java +0 -605
  49. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlAttr.java +0 -190
  50. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlAttributeDecl.java +0 -130
  51. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlCdata.java +0 -84
  52. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlComment.java +0 -95
  53. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlDocument.java +0 -598
  54. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlDocumentFragment.java +0 -210
  55. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlDtd.java +0 -480
  56. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlElement.java +0 -88
  57. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlElementContent.java +0 -382
  58. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlElementDecl.java +0 -152
  59. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlEntityDecl.java +0 -162
  60. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlEntityReference.java +0 -101
  61. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlNamespace.java +0 -216
  62. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlNode.java +0 -1637
  63. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlNodeSet.java +0 -270
  64. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlProcessingInstruction.java +0 -99
  65. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlReader.java +0 -532
  66. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlRelaxng.java +0 -144
  67. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlSaxParserContext.java +0 -356
  68. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlSaxPushParser.java +0 -232
  69. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlSchema.java +0 -324
  70. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlSyntaxError.java +0 -136
  71. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlText.java +0 -107
  72. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlXpathContext.java +0 -203
  73. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XsltStylesheet.java +0 -360
  74. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/ClosedStreamException.java +0 -10
  75. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/HtmlDomParserContext.java +0 -243
  76. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriBlockingQueueInputStream.java +0 -151
  77. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriDocumentCache.java +0 -73
  78. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriDomParser.java +0 -116
  79. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriEncodingReaderWrapper.java +0 -109
  80. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriEntityResolver.java +0 -123
  81. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriErrorHandler.java +0 -86
  82. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriHandler.java +0 -341
  83. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriHelpers.java +0 -826
  84. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriNamespaceCache.java +0 -180
  85. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriNamespaceContext.java +0 -130
  86. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriNonStrictErrorHandler.java +0 -98
  87. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriNonStrictErrorHandler4NekoHtml.java +0 -121
  88. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriStrictErrorHandler.java +0 -79
  89. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriXPathFunction.java +0 -141
  90. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriXPathFunctionResolver.java +0 -73
  91. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriXPathVariableResolver.java +0 -67
  92. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriXsltErrorListener.java +0 -87
  93. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/ParserContext.java +0 -289
  94. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/ReaderNode.java +0 -534
  95. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/SaveContextVisitor.java +0 -780
  96. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/SchemaErrorHandler.java +0 -76
  97. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/UncloseableInputStream.java +0 -102
  98. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/XmlDeclHandler.java +0 -42
  99. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/XmlDomParserContext.java +0 -275
  100. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/XmlSaxParser.java +0 -65
  101. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/XsltExtensionFunction.java +0 -72
  102. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/depend +0 -358
  103. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/extconf.rb +0 -195
  104. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_document.c +0 -170
  105. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_document.h +0 -10
  106. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_element_description.c +0 -279
  107. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_element_description.h +0 -10
  108. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_entity_lookup.c +0 -32
  109. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_entity_lookup.h +0 -8
  110. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_sax_parser_context.c +0 -116
  111. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_sax_parser_context.h +0 -11
  112. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_sax_push_parser.c +0 -87
  113. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_sax_push_parser.h +0 -9
  114. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/nokogiri.c +0 -143
  115. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/nokogiri.h +0 -164
  116. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_attr.c +0 -94
  117. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_attr.h +0 -9
  118. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_attribute_decl.c +0 -70
  119. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_attribute_decl.h +0 -9
  120. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_cdata.c +0 -56
  121. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_cdata.h +0 -9
  122. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_comment.c +0 -54
  123. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_comment.h +0 -9
  124. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_document.c +0 -576
  125. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_document.h +0 -23
  126. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_document_fragment.c +0 -48
  127. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_document_fragment.h +0 -10
  128. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_dtd.c +0 -202
  129. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_dtd.h +0 -10
  130. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_element_content.c +0 -123
  131. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_element_content.h +0 -10
  132. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_element_decl.c +0 -69
  133. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_element_decl.h +0 -9
  134. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_encoding_handler.c +0 -79
  135. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_encoding_handler.h +0 -8
  136. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_entity_decl.c +0 -110
  137. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_entity_decl.h +0 -10
  138. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_entity_reference.c +0 -52
  139. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_entity_reference.h +0 -9
  140. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_io.c +0 -56
  141. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_io.h +0 -11
  142. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  143. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  144. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_namespace.c +0 -78
  145. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_namespace.h +0 -13
  146. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_node.c +0 -1534
  147. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_node.h +0 -13
  148. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_node_set.c +0 -467
  149. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_node_set.h +0 -14
  150. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_processing_instruction.c +0 -56
  151. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_processing_instruction.h +0 -9
  152. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_reader.c +0 -681
  153. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_reader.h +0 -10
  154. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_relax_ng.c +0 -161
  155. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_relax_ng.h +0 -9
  156. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_sax_parser.c +0 -312
  157. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_sax_parser.h +0 -39
  158. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_sax_parser_context.c +0 -222
  159. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_sax_parser_context.h +0 -10
  160. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_sax_push_parser.c +0 -115
  161. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_sax_push_parser.h +0 -9
  162. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_schema.c +0 -205
  163. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_schema.h +0 -9
  164. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_syntax_error.c +0 -58
  165. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_syntax_error.h +0 -13
  166. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_text.c +0 -52
  167. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_text.h +0 -9
  168. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_xpath_context.c +0 -319
  169. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_xpath_context.h +0 -10
  170. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xslt_stylesheet.c +0 -270
  171. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xslt_stylesheet.h +0 -14
  172. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/isorelax.jar +0 -0
  173. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/jing.jar +0 -0
  174. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nekodtd.jar +0 -0
  175. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nekohtml.jar +0 -0
  176. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/node.rb +0 -102
  177. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/parser.rb +0 -720
  178. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/parser.y +0 -258
  179. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/parser_extras.rb +0 -91
  180. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/syntax_error.rb +0 -7
  181. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/tokenizer.rb +0 -152
  182. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/tokenizer.rex +0 -55
  183. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/xpath_visitor.rb +0 -171
  184. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css.rb +0 -27
  185. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/decorators/slop.rb +0 -35
  186. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/builder.rb +0 -35
  187. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/document.rb +0 -254
  188. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/document_fragment.rb +0 -41
  189. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/element_description.rb +0 -23
  190. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/element_description_defaults.rb +0 -671
  191. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/entity_lookup.rb +0 -13
  192. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/sax/parser.rb +0 -52
  193. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/sax/parser_context.rb +0 -16
  194. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/sax/push_parser.rb +0 -16
  195. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html.rb +0 -37
  196. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/nokogiri.jar +0 -0
  197. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/syntax_error.rb +0 -4
  198. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/version.rb +0 -106
  199. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/attr.rb +0 -14
  200. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/attribute_decl.rb +0 -18
  201. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/builder.rb +0 -443
  202. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/cdata.rb +0 -11
  203. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/character_data.rb +0 -7
  204. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/document.rb +0 -279
  205. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/document_fragment.rb +0 -112
  206. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/dtd.rb +0 -22
  207. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/element_content.rb +0 -36
  208. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/element_decl.rb +0 -13
  209. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/entity_decl.rb +0 -19
  210. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/namespace.rb +0 -13
  211. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/node/save_options.rb +0 -61
  212. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/node.rb +0 -957
  213. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/node_set.rb +0 -355
  214. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/notation.rb +0 -6
  215. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/parse_options.rb +0 -98
  216. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/pp/character_data.rb +0 -18
  217. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/pp/node.rb +0 -56
  218. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/pp.rb +0 -2
  219. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/processing_instruction.rb +0 -8
  220. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/reader.rb +0 -112
  221. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/relax_ng.rb +0 -32
  222. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/sax/document.rb +0 -171
  223. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/sax/parser.rb +0 -123
  224. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/sax/parser_context.rb +0 -16
  225. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/sax/push_parser.rb +0 -60
  226. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/sax.rb +0 -4
  227. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/schema.rb +0 -63
  228. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/syntax_error.rb +0 -47
  229. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/text.rb +0 -9
  230. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/xpath/syntax_error.rb +0 -11
  231. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/xpath.rb +0 -10
  232. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/xpath_context.rb +0 -16
  233. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml.rb +0 -73
  234. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xslt/stylesheet.rb +0 -25
  235. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xslt.rb +0 -56
  236. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri.rb +0 -128
  237. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/xercesImpl.jar +0 -0
  238. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/xsd/xmlparser/nokogiri.rb +0 -102
  239. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/tasks/cross_compile.rb +0 -134
  240. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/tasks/nokogiri.org.rb +0 -24
  241. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/tasks/test.rb +0 -95
  242. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/css/test_nthiness.rb +0 -159
  243. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/css/test_parser.rb +0 -341
  244. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/css/test_tokenizer.rb +0 -198
  245. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/css/test_xpath_visitor.rb +0 -91
  246. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/decorators/test_slop.rb +0 -16
  247. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/2ch.html +0 -108
  248. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/address_book.rlx +0 -12
  249. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/address_book.xml +0 -10
  250. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/bar/bar.xsd +0 -4
  251. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/bogus.xml +0 -0
  252. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/dont_hurt_em_why.xml +0 -422
  253. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/encoding.html +0 -82
  254. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/encoding.xhtml +0 -84
  255. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/exslt.xml +0 -8
  256. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/exslt.xslt +0 -35
  257. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/foo/foo.xsd +0 -4
  258. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/metacharset.html +0 -10
  259. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/noencoding.html +0 -47
  260. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/po.xml +0 -32
  261. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/po.xsd +0 -66
  262. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/saml/saml20assertion_schema.xsd +0 -283
  263. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/saml/saml20protocol_schema.xsd +0 -302
  264. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/saml/xenc_schema.xsd +0 -146
  265. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/saml/xmldsig_schema.xsd +0 -318
  266. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/shift_jis.html +0 -10
  267. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/shift_jis.xml +0 -5
  268. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/snuggles.xml +0 -3
  269. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/staff.dtd +0 -10
  270. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/staff.xml +0 -59
  271. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/staff.xslt +0 -32
  272. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/test_document_url/bar.xml +0 -2
  273. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/test_document_url/document.dtd +0 -4
  274. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/test_document_url/document.xml +0 -6
  275. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/tlm.html +0 -850
  276. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/to_be_xincluded.xml +0 -2
  277. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/valid_bar.xml +0 -2
  278. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/xinclude.xml +0 -4
  279. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/helper.rb +0 -154
  280. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/sax/test_parser.rb +0 -141
  281. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/sax/test_parser_context.rb +0 -46
  282. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_builder.rb +0 -164
  283. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_document.rb +0 -552
  284. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_document_encoding.rb +0 -138
  285. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_document_fragment.rb +0 -261
  286. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_element_description.rb +0 -105
  287. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_named_characters.rb +0 -14
  288. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_node.rb +0 -196
  289. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_node_encoding.rb +0 -27
  290. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/namespaces/test_additional_namespaces_in_builder_doc.rb +0 -14
  291. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/namespaces/test_namespaces_in_builder_doc.rb +0 -75
  292. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/namespaces/test_namespaces_in_created_doc.rb +0 -75
  293. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/namespaces/test_namespaces_in_parsed_doc.rb +0 -66
  294. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_convert_xpath.rb +0 -135
  295. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_css_cache.rb +0 -45
  296. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_encoding_handler.rb +0 -46
  297. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_memory_leak.rb +0 -156
  298. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_nokogiri.rb +0 -132
  299. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_reader.rb +0 -555
  300. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_soap4r_sax.rb +0 -52
  301. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_xslt_transforms.rb +0 -254
  302. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/node/test_save_options.rb +0 -28
  303. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/node/test_subclass.rb +0 -44
  304. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/sax/test_parser.rb +0 -366
  305. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/sax/test_parser_context.rb +0 -106
  306. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/sax/test_push_parser.rb +0 -157
  307. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_attr.rb +0 -64
  308. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_attribute_decl.rb +0 -86
  309. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_builder.rb +0 -306
  310. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_c14n.rb +0 -151
  311. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_cdata.rb +0 -48
  312. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_comment.rb +0 -29
  313. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_document.rb +0 -868
  314. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_document_encoding.rb +0 -28
  315. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_document_fragment.rb +0 -223
  316. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_dtd.rb +0 -103
  317. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_dtd_encoding.rb +0 -33
  318. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_element_content.rb +0 -56
  319. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_element_decl.rb +0 -73
  320. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_entity_decl.rb +0 -122
  321. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_entity_reference.rb +0 -245
  322. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_namespace.rb +0 -95
  323. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_node.rb +0 -1137
  324. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_node_attributes.rb +0 -96
  325. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_node_encoding.rb +0 -107
  326. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_node_inheritance.rb +0 -32
  327. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_node_reparenting.rb +0 -374
  328. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_node_set.rb +0 -755
  329. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_parse_options.rb +0 -64
  330. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_processing_instruction.rb +0 -30
  331. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_reader_encoding.rb +0 -142
  332. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_relax_ng.rb +0 -60
  333. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_schema.rb +0 -103
  334. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_syntax_error.rb +0 -12
  335. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_text.rb +0 -45
  336. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_unparented_node.rb +0 -422
  337. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_xinclude.rb +0 -83
  338. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_xpath.rb +0 -295
  339. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xslt/test_custom_functions.rb +0 -133
  340. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xslt/test_exception_handling.rb +0 -37
  341. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test_all +0 -81
  342. data/bundle/jruby/1.9/gems/rake-10.1.1/CHANGES +0 -530
  343. data/bundle/jruby/1.9/gems/rake-10.1.1/MIT-LICENSE +0 -21
  344. data/bundle/jruby/1.9/gems/rake-10.1.1/README.rdoc +0 -187
  345. data/bundle/jruby/1.9/gems/rake-10.1.1/Rakefile +0 -374
  346. data/bundle/jruby/1.9/gems/rake-10.1.1/TODO +0 -21
  347. data/bundle/jruby/1.9/gems/rake-10.1.1/bin/rake +0 -33
  348. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/command_line_usage.rdoc +0 -152
  349. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/example/Rakefile1 +0 -38
  350. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/example/Rakefile2 +0 -35
  351. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/example/a.c +0 -6
  352. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/example/b.c +0 -6
  353. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/example/main.c +0 -11
  354. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/glossary.rdoc +0 -51
  355. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/jamis.rb +0 -591
  356. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/proto_rake.rdoc +0 -127
  357. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/rake.1.gz +0 -0
  358. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/rakefile.rdoc +0 -617
  359. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/rational.rdoc +0 -151
  360. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.4.14.rdoc +0 -23
  361. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.4.15.rdoc +0 -35
  362. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.5.0.rdoc +0 -53
  363. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.5.3.rdoc +0 -78
  364. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.5.4.rdoc +0 -46
  365. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.6.0.rdoc +0 -141
  366. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.7.0.rdoc +0 -119
  367. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.7.1.rdoc +0 -59
  368. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.7.2.rdoc +0 -121
  369. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.7.3.rdoc +0 -47
  370. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.8.0.rdoc +0 -114
  371. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.8.2.rdoc +0 -165
  372. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.8.3.rdoc +0 -112
  373. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.8.4.rdoc +0 -147
  374. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.8.5.rdoc +0 -53
  375. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.8.6.rdoc +0 -55
  376. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.8.7.rdoc +0 -55
  377. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.0.rdoc +0 -112
  378. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.1.rdoc +0 -52
  379. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  380. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.2.rdoc +0 -49
  381. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.3.rdoc +0 -102
  382. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.4.rdoc +0 -110
  383. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.5.rdoc +0 -114
  384. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.6.rdoc +0 -127
  385. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-10.0.0.rdoc +0 -178
  386. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-10.0.1.rdoc +0 -187
  387. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-10.0.2.rdoc +0 -191
  388. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-10.0.3.rdoc +0 -191
  389. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-10.1.0.rdoc +0 -61
  390. data/bundle/jruby/1.9/gems/rake-10.1.1/install.rb +0 -80
  391. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/alt_system.rb +0 -108
  392. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/application.rb +0 -728
  393. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/backtrace.rb +0 -20
  394. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/clean.rb +0 -55
  395. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/cloneable.rb +0 -16
  396. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/contrib/compositepublisher.rb +0 -21
  397. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/contrib/ftptools.rb +0 -139
  398. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/contrib/publisher.rb +0 -73
  399. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/contrib/rubyforgepublisher.rb +0 -16
  400. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/contrib/sshpublisher.rb +0 -50
  401. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/contrib/sys.rb +0 -2
  402. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/default_loader.rb +0 -10
  403. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/dsl_definition.rb +0 -157
  404. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/early_time.rb +0 -18
  405. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/ext/core.rb +0 -28
  406. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/ext/module.rb +0 -0
  407. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/ext/string.rb +0 -166
  408. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/ext/time.rb +0 -15
  409. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/file_creation_task.rb +0 -24
  410. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/file_list.rb +0 -416
  411. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/file_task.rb +0 -46
  412. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/file_utils.rb +0 -116
  413. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/file_utils_ext.rb +0 -144
  414. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/gempackagetask.rb +0 -2
  415. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/invocation_chain.rb +0 -57
  416. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/invocation_exception_mixin.rb +0 -16
  417. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/linked_list.rb +0 -103
  418. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/loaders/makefile.rb +0 -40
  419. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/multi_task.rb +0 -13
  420. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/name_space.rb +0 -25
  421. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/packagetask.rb +0 -190
  422. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/pathmap.rb +0 -1
  423. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/phony.rb +0 -15
  424. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/private_reader.rb +0 -20
  425. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/promise.rb +0 -99
  426. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/pseudo_status.rb +0 -29
  427. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/rake_module.rb +0 -37
  428. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/rake_test_loader.rb +0 -22
  429. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/rdoctask.rb +0 -2
  430. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/ruby182_test_unit_fix.rb +0 -27
  431. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/rule_recursion_overflow_error.rb +0 -20
  432. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/runtest.rb +0 -22
  433. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/scope.rb +0 -42
  434. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/task.rb +0 -378
  435. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/task_argument_error.rb +0 -7
  436. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/task_arguments.rb +0 -89
  437. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/task_manager.rb +0 -297
  438. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/tasklib.rb +0 -22
  439. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/testtask.rb +0 -201
  440. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/thread_history_display.rb +0 -48
  441. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/thread_pool.rb +0 -161
  442. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/trace_output.rb +0 -22
  443. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/version.rb +0 -9
  444. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/win32.rb +0 -56
  445. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake.rb +0 -73
  446. data/bundle/jruby/1.9/gems/rake-10.1.1/test/file_creation.rb +0 -34
  447. data/bundle/jruby/1.9/gems/rake-10.1.1/test/helper.rb +0 -128
  448. data/bundle/jruby/1.9/gems/rake-10.1.1/test/support/rakefile_definitions.rb +0 -444
  449. data/bundle/jruby/1.9/gems/rake-10.1.1/test/support/ruby_runner.rb +0 -33
  450. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_private_reader.rb +0 -42
  451. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake.rb +0 -40
  452. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_application.rb +0 -517
  453. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_application_options.rb +0 -457
  454. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_backtrace.rb +0 -113
  455. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_clean.rb +0 -46
  456. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_definitions.rb +0 -79
  457. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_directory_task.rb +0 -57
  458. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_dsl.rb +0 -40
  459. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_early_time.rb +0 -31
  460. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_extension.rb +0 -59
  461. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_file_creation_task.rb +0 -56
  462. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_file_list.rb +0 -627
  463. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_file_list_path_map.rb +0 -8
  464. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_file_task.rb +0 -122
  465. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_file_utils.rb +0 -309
  466. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_ftp_file.rb +0 -74
  467. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_functional.rb +0 -466
  468. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_invocation_chain.rb +0 -64
  469. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_linked_list.rb +0 -84
  470. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_makefile_loader.rb +0 -46
  471. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_multi_task.rb +0 -58
  472. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_name_space.rb +0 -43
  473. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_package_task.rb +0 -79
  474. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_path_map.rb +0 -168
  475. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_path_map_explode.rb +0 -34
  476. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_path_map_partial.rb +0 -18
  477. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_pseudo_status.rb +0 -21
  478. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_rake_test_loader.rb +0 -20
  479. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_reduce_compat.rb +0 -26
  480. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_require.rb +0 -40
  481. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_rules.rb +0 -362
  482. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_scope.rb +0 -44
  483. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_task.rb +0 -376
  484. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_task_argument_parsing.rb +0 -103
  485. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_task_arguments.rb +0 -121
  486. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_task_lib.rb +0 -9
  487. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_task_manager.rb +0 -158
  488. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_task_manager_argument_resolution.rb +0 -19
  489. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_task_with_arguments.rb +0 -171
  490. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_test_task.rb +0 -119
  491. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_thread_pool.rb +0 -142
  492. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_top_level_functions.rb +0 -71
  493. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_win32.rb +0 -72
  494. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_thread_history_display.rb +0 -101
  495. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_trace_output.rb +0 -52
  496. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/Appraisals +0 -21
  497. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/CONTRIBUTING.md +0 -38
  498. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/Gemfile +0 -3
  499. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/MIT-LICENSE +0 -22
  500. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/README.md +0 -54
  501. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/Rakefile +0 -21
  502. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/bin/convert_to_should_syntax +0 -42
  503. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/3.0.gemfile +0 -7
  504. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/3.0.gemfile.lock +0 -91
  505. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/3.1.gemfile +0 -9
  506. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/3.1.gemfile.lock +0 -112
  507. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/3.2.gemfile +0 -9
  508. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/3.2.gemfile.lock +0 -111
  509. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/4.0.gemfile +0 -9
  510. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/4.0.gemfile.lock +0 -107
  511. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/init.rb +0 -1
  512. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/assertions.rb +0 -96
  513. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/autoload_macros.rb +0 -46
  514. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/context.rb +0 -481
  515. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/proc_extensions.rb +0 -14
  516. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/tasks/list_tests.rake +0 -29
  517. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/tasks/yaml_to_shoulda.rake +0 -28
  518. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/tasks.rb +0 -3
  519. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/version.rb +0 -5
  520. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context.rb +0 -33
  521. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda-context.rb +0 -1
  522. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/rails/init.rb +0 -4
  523. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/shoulda-context.gemspec +0 -27
  524. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/tasks/shoulda.rake +0 -1
  525. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/test/fake_rails_root/test/shoulda_macros/custom_macro.rb +0 -6
  526. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/test/shoulda/autoload_macro_test.rb +0 -18
  527. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/test/shoulda/context_test.rb +0 -360
  528. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/test/shoulda/convert_to_should_syntax_test.rb +0 -63
  529. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/test/shoulda/helpers_test.rb +0 -190
  530. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/test/shoulda/should_test.rb +0 -291
  531. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/test/test_helper.rb +0 -11
  532. data/bundle/jruby/1.9/specifications/mini_portile-0.5.2.gemspec +0 -22
  533. data/bundle/jruby/1.9/specifications/nokogiri-1.6.1-java.gemspec +0 -69
  534. data/bundle/jruby/1.9/specifications/rake-10.1.1.gemspec +0 -35
  535. data/bundle/jruby/1.9/specifications/shoulda-context-1.1.6.gemspec +0 -44
  536. data/pkg/vtd_xml-0.0.3-java.gem +0 -0
@@ -1,1534 +0,0 @@
1
- #include <xml_node.h>
2
-
3
- static ID decorate, decorate_bang;
4
-
5
- #ifdef DEBUG
6
- static void debug_node_dealloc(xmlNodePtr x)
7
- {
8
- NOKOGIRI_DEBUG_START(x)
9
- NOKOGIRI_DEBUG_END(x)
10
- }
11
- #else
12
- # define debug_node_dealloc 0
13
- #endif
14
-
15
- static void mark(xmlNodePtr node)
16
- {
17
- rb_gc_mark(DOC_RUBY_OBJECT(node->doc));
18
- }
19
-
20
- /* :nodoc: */
21
- typedef xmlNodePtr (*pivot_reparentee_func)(xmlNodePtr, xmlNodePtr);
22
-
23
- /* :nodoc: */
24
- static void relink_namespace(xmlNodePtr reparented)
25
- {
26
- xmlChar *name, *prefix;
27
- xmlNodePtr child;
28
- xmlNsPtr ns;
29
-
30
- if (reparented->type != XML_ATTRIBUTE_NODE &&
31
- reparented->type != XML_ELEMENT_NODE) return;
32
-
33
- if (reparented->ns == NULL || reparented->ns->prefix == NULL) {
34
- name = xmlSplitQName2(reparented->name, &prefix);
35
-
36
- if(reparented->type == XML_ATTRIBUTE_NODE) {
37
- if (prefix == NULL || strcmp((char*)prefix, XMLNS_PREFIX) == 0) return;
38
- }
39
-
40
- ns = xmlSearchNs(reparented->doc, reparented, prefix);
41
-
42
- if (ns == NULL && reparented->parent) {
43
- ns = xmlSearchNs(reparented->doc, reparented->parent, prefix);
44
- }
45
-
46
- if (ns != NULL) {
47
- xmlNodeSetName(reparented, name);
48
- xmlSetNs(reparented, ns);
49
- }
50
- }
51
-
52
- /* Avoid segv when relinking against unlinked nodes. */
53
- if (reparented->type != XML_ELEMENT_NODE || !reparented->parent) return;
54
-
55
- /* Make sure that our reparented node has the correct namespaces */
56
- if(!reparented->ns && reparented->doc != (xmlDocPtr)reparented->parent)
57
- xmlSetNs(reparented, reparented->parent->ns);
58
-
59
- /* Search our parents for an existing definition */
60
- if(reparented->nsDef) {
61
- xmlNsPtr curr = reparented->nsDef;
62
- xmlNsPtr prev = NULL;
63
-
64
- while(curr) {
65
- xmlNsPtr ns = xmlSearchNsByHref(
66
- reparented->doc,
67
- reparented->parent,
68
- curr->href
69
- );
70
- /* If we find the namespace is already declared, remove it from this
71
- * definition list. */
72
- if(ns && ns != curr) {
73
- if (prev) {
74
- prev->next = curr->next;
75
- } else {
76
- reparented->nsDef = curr->next;
77
- }
78
- nokogiri_root_nsdef(curr, reparented->doc);
79
- } else {
80
- prev = curr;
81
- }
82
- curr = curr->next;
83
- }
84
- }
85
-
86
- /* Only walk all children if there actually is a namespace we need to */
87
- /* reparent. */
88
- if(NULL == reparented->ns) return;
89
-
90
- /* When a node gets reparented, walk it's children to make sure that */
91
- /* their namespaces are reparented as well. */
92
- child = reparented->children;
93
- while(NULL != child) {
94
- relink_namespace(child);
95
- child = child->next;
96
- }
97
-
98
- if (reparented->type == XML_ELEMENT_NODE) {
99
- child = (xmlNodePtr)((xmlElementPtr)reparented)->attributes;
100
- while(NULL != child) {
101
- relink_namespace(child);
102
- child = child->next;
103
- }
104
- }
105
- }
106
-
107
- /* :nodoc: */
108
- static xmlNodePtr xmlReplaceNodeWrapper(xmlNodePtr pivot, xmlNodePtr new_node)
109
- {
110
- xmlNodePtr retval ;
111
-
112
- retval = xmlReplaceNode(pivot, new_node) ;
113
-
114
- if (retval == pivot) {
115
- retval = new_node ; /* return semantics for reparent_node_with */
116
- }
117
-
118
- /* work around libxml2 issue: https://bugzilla.gnome.org/show_bug.cgi?id=615612 */
119
- if (retval && retval->type == XML_TEXT_NODE) {
120
- if (retval->prev && retval->prev->type == XML_TEXT_NODE) {
121
- retval = xmlTextMerge(retval->prev, retval);
122
- }
123
- if (retval->next && retval->next->type == XML_TEXT_NODE) {
124
- retval = xmlTextMerge(retval, retval->next);
125
- }
126
- }
127
-
128
- return retval ;
129
- }
130
-
131
- /* :nodoc: */
132
- static VALUE reparent_node_with(VALUE pivot_obj, VALUE reparentee_obj, pivot_reparentee_func prf)
133
- {
134
- VALUE reparented_obj ;
135
- xmlNodePtr reparentee, pivot, reparented, next_text, new_next_text ;
136
-
137
- if(!rb_obj_is_kind_of(reparentee_obj, cNokogiriXmlNode))
138
- rb_raise(rb_eArgError, "node must be a Nokogiri::XML::Node");
139
- if(rb_obj_is_kind_of(reparentee_obj, cNokogiriXmlDocument))
140
- rb_raise(rb_eArgError, "node must be a Nokogiri::XML::Node");
141
-
142
- Data_Get_Struct(reparentee_obj, xmlNode, reparentee);
143
- Data_Get_Struct(pivot_obj, xmlNode, pivot);
144
-
145
- if(XML_DOCUMENT_NODE == reparentee->type || XML_HTML_DOCUMENT_NODE == reparentee->type)
146
- rb_raise(rb_eArgError, "cannot reparent a document node");
147
-
148
- xmlUnlinkNode(reparentee);
149
-
150
- if (reparentee->doc != pivot->doc || reparentee->type == XML_TEXT_NODE) {
151
- /*
152
- * if the reparentee is a text node, there's a very good chance it will be
153
- * merged with an adjacent text node after being reparented, and in that case
154
- * libxml will free the underlying C struct.
155
- *
156
- * since we clearly have a ruby object which references the underlying
157
- * memory, we can't let the C struct get freed. let's pickle the original
158
- * reparentee by rooting it; and then we'll reparent a duplicate of the
159
- * node that we don't care about preserving.
160
- *
161
- * alternatively, if the reparentee is from a different document than the
162
- * pivot node, libxml2 is going to get confused about which document's
163
- * "dictionary" the node's strings belong to (this is an otherwise
164
- * uninteresting libxml2 implementation detail). as a result, we cannot
165
- * reparent the actual reparentee, so we reparent a duplicate.
166
- */
167
- nokogiri_root_node(reparentee);
168
- if (!(reparentee = xmlDocCopyNode(reparentee, pivot->doc, 1))) {
169
- rb_raise(rb_eRuntimeError, "Could not reparent node (xmlDocCopyNode)");
170
- }
171
- }
172
-
173
- if (prf != xmlAddPrevSibling && prf != xmlAddNextSibling
174
- && reparentee->type == XML_TEXT_NODE && pivot->next && pivot->next->type == XML_TEXT_NODE) {
175
- /*
176
- * libxml merges text nodes in a right-to-left fashion, meaning that if
177
- * there are two text nodes who would be adjacent, the right (or following,
178
- * or next) node will be merged into the left (or preceding, or previous)
179
- * node.
180
- *
181
- * and by "merged" I mean the string contents will be concatenated onto the
182
- * left node's contents, and then the node will be freed.
183
- *
184
- * which means that if we have a ruby object wrapped around the right node,
185
- * its memory would be freed out from under it.
186
- *
187
- * so, we detect this edge case and unlink-and-root the text node before it gets
188
- * merged. then we dup the node and insert that duplicate back into the
189
- * document where the real node was.
190
- *
191
- * yes, this is totally lame.
192
- */
193
- next_text = pivot->next ;
194
- new_next_text = xmlDocCopyNode(next_text, pivot->doc, 1) ;
195
-
196
- xmlUnlinkNode(next_text);
197
- nokogiri_root_node(next_text);
198
-
199
- xmlAddNextSibling(pivot, new_next_text);
200
- }
201
-
202
- if(!(reparented = (*prf)(pivot, reparentee))) {
203
- rb_raise(rb_eRuntimeError, "Could not reparent node");
204
- }
205
-
206
- /*
207
- * make sure the ruby object is pointed at the just-reparented node, which
208
- * might be a duplicate (see above) or might be the result of merging
209
- * adjacent text nodes.
210
- */
211
- DATA_PTR(reparentee_obj) = reparented ;
212
-
213
- relink_namespace(reparented);
214
-
215
- reparented_obj = Nokogiri_wrap_xml_node(Qnil, reparented);
216
-
217
- rb_funcall(reparented_obj, decorate_bang, 0);
218
-
219
- return reparented_obj ;
220
- }
221
-
222
-
223
- /*
224
- * call-seq:
225
- * document
226
- *
227
- * Get the document for this Node
228
- */
229
- static VALUE document(VALUE self)
230
- {
231
- xmlNodePtr node;
232
- Data_Get_Struct(self, xmlNode, node);
233
- return DOC_RUBY_OBJECT(node->doc);
234
- }
235
-
236
- /*
237
- * call-seq:
238
- * pointer_id
239
- *
240
- * Get the internal pointer number
241
- */
242
- static VALUE pointer_id(VALUE self)
243
- {
244
- xmlNodePtr node;
245
- Data_Get_Struct(self, xmlNode, node);
246
-
247
- return INT2NUM((long)(node));
248
- }
249
-
250
- /*
251
- * call-seq:
252
- * encode_special_chars(string)
253
- *
254
- * Encode any special characters in +string+
255
- */
256
- static VALUE encode_special_chars(VALUE self, VALUE string)
257
- {
258
- xmlNodePtr node;
259
- xmlChar *encoded;
260
- VALUE encoded_str;
261
-
262
- Data_Get_Struct(self, xmlNode, node);
263
- encoded = xmlEncodeSpecialChars(
264
- node->doc,
265
- (const xmlChar *)StringValuePtr(string)
266
- );
267
-
268
- encoded_str = NOKOGIRI_STR_NEW2(encoded);
269
- xmlFree(encoded);
270
-
271
- return encoded_str;
272
- }
273
-
274
- /*
275
- * call-seq:
276
- * create_internal_subset(name, external_id, system_id)
277
- *
278
- * Create the internal subset of a document.
279
- *
280
- * doc.create_internal_subset("chapter", "-//OASIS//DTD DocBook XML//EN", "chapter.dtd")
281
- * # => <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML//EN" "chapter.dtd">
282
- *
283
- * doc.create_internal_subset("chapter", nil, "chapter.dtd")
284
- * # => <!DOCTYPE chapter SYSTEM "chapter.dtd">
285
- */
286
- static VALUE create_internal_subset(VALUE self, VALUE name, VALUE external_id, VALUE system_id)
287
- {
288
- xmlNodePtr node;
289
- xmlDocPtr doc;
290
- xmlDtdPtr dtd;
291
-
292
- Data_Get_Struct(self, xmlNode, node);
293
-
294
- doc = node->doc;
295
-
296
- if(xmlGetIntSubset(doc))
297
- rb_raise(rb_eRuntimeError, "Document already has an internal subset");
298
-
299
- dtd = xmlCreateIntSubset(
300
- doc,
301
- NIL_P(name) ? NULL : (const xmlChar *)StringValuePtr(name),
302
- NIL_P(external_id) ? NULL : (const xmlChar *)StringValuePtr(external_id),
303
- NIL_P(system_id) ? NULL : (const xmlChar *)StringValuePtr(system_id)
304
- );
305
-
306
- if(!dtd) return Qnil;
307
-
308
- return Nokogiri_wrap_xml_node(Qnil, (xmlNodePtr)dtd);
309
- }
310
-
311
- /*
312
- * call-seq:
313
- * create_external_subset(name, external_id, system_id)
314
- *
315
- * Create an external subset
316
- */
317
- static VALUE create_external_subset(VALUE self, VALUE name, VALUE external_id, VALUE system_id)
318
- {
319
- xmlNodePtr node;
320
- xmlDocPtr doc;
321
- xmlDtdPtr dtd;
322
-
323
- Data_Get_Struct(self, xmlNode, node);
324
-
325
- doc = node->doc;
326
-
327
- if(doc->extSubset)
328
- rb_raise(rb_eRuntimeError, "Document already has an external subset");
329
-
330
- dtd = xmlNewDtd(
331
- doc,
332
- NIL_P(name) ? NULL : (const xmlChar *)StringValuePtr(name),
333
- NIL_P(external_id) ? NULL : (const xmlChar *)StringValuePtr(external_id),
334
- NIL_P(system_id) ? NULL : (const xmlChar *)StringValuePtr(system_id)
335
- );
336
-
337
- if(!dtd) return Qnil;
338
-
339
- return Nokogiri_wrap_xml_node(Qnil, (xmlNodePtr)dtd);
340
- }
341
-
342
- /*
343
- * call-seq:
344
- * external_subset
345
- *
346
- * Get the external subset
347
- */
348
- static VALUE external_subset(VALUE self)
349
- {
350
- xmlNodePtr node;
351
- xmlDocPtr doc;
352
- xmlDtdPtr dtd;
353
-
354
- Data_Get_Struct(self, xmlNode, node);
355
-
356
- if(!node->doc) return Qnil;
357
-
358
- doc = node->doc;
359
- dtd = doc->extSubset;
360
-
361
- if(!dtd) return Qnil;
362
-
363
- return Nokogiri_wrap_xml_node(Qnil, (xmlNodePtr)dtd);
364
- }
365
-
366
- /*
367
- * call-seq:
368
- * internal_subset
369
- *
370
- * Get the internal subset
371
- */
372
- static VALUE internal_subset(VALUE self)
373
- {
374
- xmlNodePtr node;
375
- xmlDocPtr doc;
376
- xmlDtdPtr dtd;
377
-
378
- Data_Get_Struct(self, xmlNode, node);
379
-
380
- if(!node->doc) return Qnil;
381
-
382
- doc = node->doc;
383
- dtd = xmlGetIntSubset(doc);
384
-
385
- if(!dtd) return Qnil;
386
-
387
- return Nokogiri_wrap_xml_node(Qnil, (xmlNodePtr)dtd);
388
- }
389
-
390
- /*
391
- * call-seq:
392
- * dup
393
- *
394
- * Copy this node. An optional depth may be passed in, but it defaults
395
- * to a deep copy. 0 is a shallow copy, 1 is a deep copy.
396
- */
397
- static VALUE duplicate_node(int argc, VALUE *argv, VALUE self)
398
- {
399
- VALUE level;
400
- xmlNodePtr node, dup;
401
-
402
- if(rb_scan_args(argc, argv, "01", &level) == 0)
403
- level = INT2NUM((long)1);
404
-
405
- Data_Get_Struct(self, xmlNode, node);
406
-
407
- dup = xmlDocCopyNode(node, node->doc, (int)NUM2INT(level));
408
- if(dup == NULL) return Qnil;
409
-
410
- nokogiri_root_node(dup);
411
-
412
- return Nokogiri_wrap_xml_node(rb_obj_class(self), dup);
413
- }
414
-
415
- /*
416
- * call-seq:
417
- * unlink
418
- *
419
- * Unlink this node from its current context.
420
- */
421
- static VALUE unlink_node(VALUE self)
422
- {
423
- xmlNodePtr node;
424
- Data_Get_Struct(self, xmlNode, node);
425
- xmlUnlinkNode(node);
426
- nokogiri_root_node(node);
427
- return self;
428
- }
429
-
430
- /*
431
- * call-seq:
432
- * blank?
433
- *
434
- * Is this node blank?
435
- */
436
- static VALUE blank_eh(VALUE self)
437
- {
438
- xmlNodePtr node;
439
- Data_Get_Struct(self, xmlNode, node);
440
- return (1 == xmlIsBlankNode(node)) ? Qtrue : Qfalse ;
441
- }
442
-
443
- /*
444
- * call-seq:
445
- * next_sibling
446
- *
447
- * Returns the next sibling node
448
- */
449
- static VALUE next_sibling(VALUE self)
450
- {
451
- xmlNodePtr node, sibling;
452
- Data_Get_Struct(self, xmlNode, node);
453
-
454
- sibling = node->next;
455
- if(!sibling) return Qnil;
456
-
457
- return Nokogiri_wrap_xml_node(Qnil, sibling) ;
458
- }
459
-
460
- /*
461
- * call-seq:
462
- * previous_sibling
463
- *
464
- * Returns the previous sibling node
465
- */
466
- static VALUE previous_sibling(VALUE self)
467
- {
468
- xmlNodePtr node, sibling;
469
- Data_Get_Struct(self, xmlNode, node);
470
-
471
- sibling = node->prev;
472
- if(!sibling) return Qnil;
473
-
474
- return Nokogiri_wrap_xml_node(Qnil, sibling);
475
- }
476
-
477
- /*
478
- * call-seq:
479
- * next_element
480
- *
481
- * Returns the next Nokogiri::XML::Element type sibling node.
482
- */
483
- static VALUE next_element(VALUE self)
484
- {
485
- xmlNodePtr node, sibling;
486
- Data_Get_Struct(self, xmlNode, node);
487
-
488
- sibling = xmlNextElementSibling(node);
489
- if(!sibling) return Qnil;
490
-
491
- return Nokogiri_wrap_xml_node(Qnil, sibling);
492
- }
493
-
494
- /*
495
- * call-seq:
496
- * previous_element
497
- *
498
- * Returns the previous Nokogiri::XML::Element type sibling node.
499
- */
500
- static VALUE previous_element(VALUE self)
501
- {
502
- xmlNodePtr node, sibling;
503
- Data_Get_Struct(self, xmlNode, node);
504
-
505
- /*
506
- * note that we don't use xmlPreviousElementSibling here because it's buggy pre-2.7.7.
507
- */
508
- sibling = node->prev;
509
- if(!sibling) return Qnil;
510
-
511
- while(sibling && sibling->type != XML_ELEMENT_NODE)
512
- sibling = sibling->prev;
513
-
514
- return sibling ? Nokogiri_wrap_xml_node(Qnil, sibling) : Qnil ;
515
- }
516
-
517
- /* :nodoc: */
518
- static VALUE replace(VALUE self, VALUE new_node)
519
- {
520
- VALUE reparent = reparent_node_with(self, new_node, xmlReplaceNodeWrapper);
521
-
522
- xmlNodePtr pivot;
523
- Data_Get_Struct(self, xmlNode, pivot);
524
- nokogiri_root_node(pivot);
525
-
526
- return reparent;
527
- }
528
-
529
- /*
530
- * call-seq:
531
- * children
532
- *
533
- * Get the list of children for this node as a NodeSet
534
- */
535
- static VALUE children(VALUE self)
536
- {
537
- xmlNodePtr node;
538
- xmlNodePtr child;
539
- xmlNodeSetPtr set;
540
- VALUE document;
541
- VALUE node_set;
542
-
543
- Data_Get_Struct(self, xmlNode, node);
544
-
545
- child = node->children;
546
- set = xmlXPathNodeSetCreate(child);
547
-
548
- document = DOC_RUBY_OBJECT(node->doc);
549
-
550
- if(!child) return Nokogiri_wrap_xml_node_set(set, document);
551
-
552
- child = child->next;
553
- while(NULL != child) {
554
- xmlXPathNodeSetAddUnique(set, child);
555
- child = child->next;
556
- }
557
-
558
- node_set = Nokogiri_wrap_xml_node_set(set, document);
559
-
560
- return node_set;
561
- }
562
-
563
- /*
564
- * call-seq:
565
- * element_children
566
- *
567
- * Get the list of children for this node as a NodeSet. All nodes will be
568
- * element nodes.
569
- *
570
- * Example:
571
- *
572
- * @doc.root.element_children.all? { |x| x.element? } # => true
573
- */
574
- static VALUE element_children(VALUE self)
575
- {
576
- xmlNodePtr node;
577
- xmlNodePtr child;
578
- xmlNodeSetPtr set;
579
- VALUE document;
580
- VALUE node_set;
581
-
582
- Data_Get_Struct(self, xmlNode, node);
583
-
584
- child = xmlFirstElementChild(node);
585
- set = xmlXPathNodeSetCreate(child);
586
-
587
- document = DOC_RUBY_OBJECT(node->doc);
588
-
589
- if(!child) return Nokogiri_wrap_xml_node_set(set, document);
590
-
591
- child = xmlNextElementSibling(child);
592
- while(NULL != child) {
593
- xmlXPathNodeSetAddUnique(set, child);
594
- child = xmlNextElementSibling(child);
595
- }
596
-
597
- node_set = Nokogiri_wrap_xml_node_set(set, document);
598
-
599
- return node_set;
600
- }
601
-
602
- /*
603
- * call-seq:
604
- * child
605
- *
606
- * Returns the child node
607
- */
608
- static VALUE child(VALUE self)
609
- {
610
- xmlNodePtr node, child;
611
- Data_Get_Struct(self, xmlNode, node);
612
-
613
- child = node->children;
614
- if(!child) return Qnil;
615
-
616
- return Nokogiri_wrap_xml_node(Qnil, child);
617
- }
618
-
619
- /*
620
- * call-seq:
621
- * first_element_child
622
- *
623
- * Returns the first child node of this node that is an element.
624
- *
625
- * Example:
626
- *
627
- * @doc.root.first_element_child.element? # => true
628
- */
629
- static VALUE first_element_child(VALUE self)
630
- {
631
- xmlNodePtr node, child;
632
- Data_Get_Struct(self, xmlNode, node);
633
-
634
- child = xmlFirstElementChild(node);
635
- if(!child) return Qnil;
636
-
637
- return Nokogiri_wrap_xml_node(Qnil, child);
638
- }
639
-
640
- /*
641
- * call-seq:
642
- * last_element_child
643
- *
644
- * Returns the last child node of this node that is an element.
645
- *
646
- * Example:
647
- *
648
- * @doc.root.last_element_child.element? # => true
649
- */
650
- static VALUE last_element_child(VALUE self)
651
- {
652
- xmlNodePtr node, child;
653
- Data_Get_Struct(self, xmlNode, node);
654
-
655
- child = xmlLastElementChild(node);
656
- if(!child) return Qnil;
657
-
658
- return Nokogiri_wrap_xml_node(Qnil, child);
659
- }
660
-
661
- /*
662
- * call-seq:
663
- * key?(attribute)
664
- *
665
- * Returns true if +attribute+ is set
666
- */
667
- static VALUE key_eh(VALUE self, VALUE attribute)
668
- {
669
- xmlNodePtr node;
670
- Data_Get_Struct(self, xmlNode, node);
671
- if(xmlHasProp(node, (xmlChar *)StringValuePtr(attribute)))
672
- return Qtrue;
673
- return Qfalse;
674
- }
675
-
676
- /*
677
- * call-seq:
678
- * namespaced_key?(attribute, namespace)
679
- *
680
- * Returns true if +attribute+ is set with +namespace+
681
- */
682
- static VALUE namespaced_key_eh(VALUE self, VALUE attribute, VALUE namespace)
683
- {
684
- xmlNodePtr node;
685
- Data_Get_Struct(self, xmlNode, node);
686
- if(xmlHasNsProp(node, (xmlChar *)StringValuePtr(attribute),
687
- NIL_P(namespace) ? NULL : (xmlChar *)StringValuePtr(namespace)))
688
- return Qtrue;
689
- return Qfalse;
690
- }
691
-
692
- /*
693
- * call-seq:
694
- * []=(property, value)
695
- *
696
- * Set the +property+ to +value+
697
- */
698
- static VALUE set(VALUE self, VALUE property, VALUE value)
699
- {
700
- xmlNodePtr node, cur;
701
- xmlAttrPtr prop;
702
- Data_Get_Struct(self, xmlNode, node);
703
-
704
- /* If a matching attribute node already exists, then xmlSetProp will destroy
705
- * the existing node's children. However, if Nokogiri has a node object
706
- * pointing to one of those children, we are left with a broken reference.
707
- *
708
- * We can avoid this by unlinking these nodes first.
709
- */
710
- if (node->type != XML_ELEMENT_NODE)
711
- return(Qnil);
712
- prop = xmlHasProp(node, (xmlChar *)StringValuePtr(property));
713
- if (prop && prop->children) {
714
- for (cur = prop->children; cur; cur = cur->next) {
715
- if (cur->_private) {
716
- nokogiri_root_node(cur);
717
- xmlUnlinkNode(cur);
718
- }
719
- }
720
- }
721
-
722
- xmlSetProp(node, (xmlChar *)StringValuePtr(property),
723
- (xmlChar *)StringValuePtr(value));
724
-
725
- return value;
726
- }
727
-
728
- /*
729
- * call-seq:
730
- * get(attribute)
731
- *
732
- * Get the value for +attribute+
733
- */
734
- static VALUE get(VALUE self, VALUE rattribute)
735
- {
736
- xmlNodePtr node;
737
- xmlChar* value = 0;
738
- VALUE rvalue ;
739
- char* attribute = 0;
740
- char *colon = 0, *attr_name = 0, *prefix = 0;
741
- xmlNsPtr ns;
742
-
743
- if (NIL_P(rattribute)) return Qnil;
744
-
745
- Data_Get_Struct(self, xmlNode, node);
746
- attribute = strdup(StringValuePtr(rattribute));
747
-
748
- colon = strchr(attribute, ':');
749
- if (colon) {
750
- (*colon) = 0 ; /* create two null-terminated strings of the prefix and attribute name */
751
- prefix = attribute ;
752
- attr_name = colon + 1 ;
753
- ns = xmlSearchNs(node->doc, node, (const xmlChar *)(prefix));
754
- if (ns) {
755
- value = xmlGetNsProp(node, (xmlChar*)(attr_name), ns->href);
756
- } else {
757
- value = xmlGetProp(node, (xmlChar*)StringValuePtr(rattribute));
758
- }
759
- } else {
760
- value = xmlGetNoNsProp(node, (xmlChar*)attribute);
761
- }
762
-
763
- free(attribute);
764
- if (!value) return Qnil;
765
-
766
- rvalue = NOKOGIRI_STR_NEW2(value);
767
- xmlFree(value);
768
-
769
- return rvalue ;
770
- }
771
-
772
- /*
773
- * call-seq:
774
- * set_namespace(namespace)
775
- *
776
- * Set the namespace to +namespace+
777
- */
778
- static VALUE set_namespace(VALUE self, VALUE namespace)
779
- {
780
- xmlNodePtr node;
781
- xmlNsPtr ns = NULL;
782
-
783
- Data_Get_Struct(self, xmlNode, node);
784
-
785
- if(!NIL_P(namespace))
786
- Data_Get_Struct(namespace, xmlNs, ns);
787
-
788
- xmlSetNs(node, ns);
789
-
790
- return self;
791
- }
792
-
793
- /*
794
- * call-seq:
795
- * attribute(name)
796
- *
797
- * Get the attribute node with +name+
798
- */
799
- static VALUE attr(VALUE self, VALUE name)
800
- {
801
- xmlNodePtr node;
802
- xmlAttrPtr prop;
803
- Data_Get_Struct(self, xmlNode, node);
804
- prop = xmlHasProp(node, (xmlChar *)StringValuePtr(name));
805
-
806
- if(! prop) return Qnil;
807
- return Nokogiri_wrap_xml_node(Qnil, (xmlNodePtr)prop);
808
- }
809
-
810
- /*
811
- * call-seq:
812
- * attribute_with_ns(name, namespace)
813
- *
814
- * Get the attribute node with +name+ and +namespace+
815
- */
816
- static VALUE attribute_with_ns(VALUE self, VALUE name, VALUE namespace)
817
- {
818
- xmlNodePtr node;
819
- xmlAttrPtr prop;
820
- Data_Get_Struct(self, xmlNode, node);
821
- prop = xmlHasNsProp(node, (xmlChar *)StringValuePtr(name),
822
- NIL_P(namespace) ? NULL : (xmlChar *)StringValuePtr(namespace));
823
-
824
- if(! prop) return Qnil;
825
- return Nokogiri_wrap_xml_node(Qnil, (xmlNodePtr)prop);
826
- }
827
-
828
- /*
829
- * call-seq:
830
- * attribute_nodes()
831
- *
832
- * returns a list containing the Node attributes.
833
- */
834
- static VALUE attribute_nodes(VALUE self)
835
- {
836
- /* this code in the mode of xmlHasProp() */
837
- xmlNodePtr node;
838
- VALUE attr;
839
-
840
- Data_Get_Struct(self, xmlNode, node);
841
-
842
- attr = rb_ary_new();
843
- Nokogiri_xml_node_properties(node, attr);
844
-
845
- return attr ;
846
- }
847
-
848
-
849
- /*
850
- * call-seq:
851
- * namespace()
852
- *
853
- * returns the default namespace set on this node (as with an "xmlns="
854
- * attribute), as a Namespace object.
855
- */
856
- static VALUE namespace(VALUE self)
857
- {
858
- xmlNodePtr node ;
859
- Data_Get_Struct(self, xmlNode, node);
860
-
861
- if (node->ns)
862
- return Nokogiri_wrap_xml_namespace(node->doc, node->ns);
863
-
864
- return Qnil ;
865
- }
866
-
867
- /*
868
- * call-seq:
869
- * namespace_definitions()
870
- *
871
- * returns namespaces defined on self element directly, as an array of Namespace objects. Includes both a default namespace (as in"xmlns="), and prefixed namespaces (as in "xmlns:prefix=").
872
- */
873
- static VALUE namespace_definitions(VALUE self)
874
- {
875
- /* this code in the mode of xmlHasProp() */
876
- xmlNodePtr node ;
877
- VALUE list;
878
- xmlNsPtr ns;
879
-
880
- Data_Get_Struct(self, xmlNode, node);
881
-
882
- list = rb_ary_new();
883
-
884
- ns = node->nsDef;
885
-
886
- if(!ns) return list;
887
-
888
- while(NULL != ns) {
889
- rb_ary_push(list, Nokogiri_wrap_xml_namespace(node->doc, ns));
890
- ns = ns->next;
891
- }
892
-
893
- return list;
894
- }
895
-
896
- /*
897
- * call-seq:
898
- * namespace_scopes()
899
- *
900
- * returns namespaces in scope for self -- those defined on self element
901
- * directly or any ancestor node -- as an array of Namespace objects. Default
902
- * namespaces ("xmlns=" style) for self are included in this array; Default
903
- * namespaces for ancestors, however, are not. See also #namespaces
904
- */
905
- static VALUE namespace_scopes(VALUE self)
906
- {
907
- xmlNodePtr node ;
908
- VALUE list;
909
- xmlNsPtr *ns_list;
910
- int j;
911
-
912
- Data_Get_Struct(self, xmlNode, node);
913
-
914
- list = rb_ary_new();
915
- ns_list = xmlGetNsList(node->doc, node);
916
-
917
- if(!ns_list) return list;
918
-
919
- for (j = 0 ; ns_list[j] != NULL ; ++j) {
920
- rb_ary_push(list, Nokogiri_wrap_xml_namespace(node->doc, ns_list[j]));
921
- }
922
-
923
- xmlFree(ns_list);
924
- return list;
925
- }
926
-
927
- /*
928
- * call-seq:
929
- * node_type
930
- *
931
- * Get the type for this Node
932
- */
933
- static VALUE node_type(VALUE self)
934
- {
935
- xmlNodePtr node;
936
- Data_Get_Struct(self, xmlNode, node);
937
- return INT2NUM((long)node->type);
938
- }
939
-
940
- /*
941
- * call-seq:
942
- * content=
943
- *
944
- * Set the content for this Node
945
- */
946
- static VALUE native_content(VALUE self, VALUE content)
947
- {
948
- xmlNodePtr node, child, next ;
949
- Data_Get_Struct(self, xmlNode, node);
950
-
951
- child = node->children;
952
- while (NULL != child) {
953
- next = child->next ;
954
- xmlUnlinkNode(child) ;
955
- nokogiri_root_node(child);
956
- child = next ;
957
- }
958
-
959
- xmlNodeSetContent(node, (xmlChar *)StringValuePtr(content));
960
- return content;
961
- }
962
-
963
- /*
964
- * call-seq:
965
- * content
966
- *
967
- * Returns the content for this Node
968
- */
969
- static VALUE get_content(VALUE self)
970
- {
971
- xmlNodePtr node;
972
- xmlChar * content;
973
-
974
- Data_Get_Struct(self, xmlNode, node);
975
-
976
- content = xmlNodeGetContent(node);
977
- if(content) {
978
- VALUE rval = NOKOGIRI_STR_NEW2(content);
979
- xmlFree(content);
980
- return rval;
981
- }
982
- return Qnil;
983
- }
984
-
985
- /* :nodoc: */
986
- static VALUE add_child(VALUE self, VALUE new_child)
987
- {
988
- return reparent_node_with(self, new_child, xmlAddChild);
989
- }
990
-
991
- /*
992
- * call-seq:
993
- * parent
994
- *
995
- * Get the parent Node for this Node
996
- */
997
- static VALUE get_parent(VALUE self)
998
- {
999
- xmlNodePtr node, parent;
1000
- Data_Get_Struct(self, xmlNode, node);
1001
-
1002
- parent = node->parent;
1003
- if(!parent) return Qnil;
1004
-
1005
- return Nokogiri_wrap_xml_node(Qnil, parent) ;
1006
- }
1007
-
1008
- /*
1009
- * call-seq:
1010
- * name=(new_name)
1011
- *
1012
- * Set the name for this Node
1013
- */
1014
- static VALUE set_name(VALUE self, VALUE new_name)
1015
- {
1016
- xmlNodePtr node;
1017
- Data_Get_Struct(self, xmlNode, node);
1018
- xmlNodeSetName(node, (xmlChar*)StringValuePtr(new_name));
1019
- return new_name;
1020
- }
1021
-
1022
- /*
1023
- * call-seq:
1024
- * name
1025
- *
1026
- * Returns the name for this Node
1027
- */
1028
- static VALUE get_name(VALUE self)
1029
- {
1030
- xmlNodePtr node;
1031
- Data_Get_Struct(self, xmlNode, node);
1032
- if(node->name)
1033
- return NOKOGIRI_STR_NEW2(node->name);
1034
- return Qnil;
1035
- }
1036
-
1037
- /*
1038
- * call-seq:
1039
- * path
1040
- *
1041
- * Returns the path associated with this Node
1042
- */
1043
- static VALUE path(VALUE self)
1044
- {
1045
- xmlNodePtr node;
1046
- xmlChar *path ;
1047
- VALUE rval;
1048
-
1049
- Data_Get_Struct(self, xmlNode, node);
1050
-
1051
- path = xmlGetNodePath(node);
1052
- rval = NOKOGIRI_STR_NEW2(path);
1053
- xmlFree(path);
1054
- return rval ;
1055
- }
1056
-
1057
- /* :nodoc: */
1058
- static VALUE add_next_sibling(VALUE self, VALUE new_sibling)
1059
- {
1060
- return reparent_node_with(self, new_sibling, xmlAddNextSibling) ;
1061
- }
1062
-
1063
- /* :nodoc: */
1064
- static VALUE add_previous_sibling(VALUE self, VALUE new_sibling)
1065
- {
1066
- return reparent_node_with(self, new_sibling, xmlAddPrevSibling) ;
1067
- }
1068
-
1069
- /*
1070
- * call-seq:
1071
- * native_write_to(io, encoding, options)
1072
- *
1073
- * Write this Node to +io+ with +encoding+ and +options+
1074
- */
1075
- static VALUE native_write_to(
1076
- VALUE self,
1077
- VALUE io,
1078
- VALUE encoding,
1079
- VALUE indent_string,
1080
- VALUE options
1081
- ) {
1082
- xmlNodePtr node;
1083
- const char * before_indent;
1084
- xmlSaveCtxtPtr savectx;
1085
-
1086
- Data_Get_Struct(self, xmlNode, node);
1087
-
1088
- xmlIndentTreeOutput = 1;
1089
-
1090
- before_indent = xmlTreeIndentString;
1091
-
1092
- xmlTreeIndentString = StringValuePtr(indent_string);
1093
-
1094
- savectx = xmlSaveToIO(
1095
- (xmlOutputWriteCallback)io_write_callback,
1096
- (xmlOutputCloseCallback)io_close_callback,
1097
- (void *)io,
1098
- RTEST(encoding) ? StringValuePtr(encoding) : NULL,
1099
- (int)NUM2INT(options)
1100
- );
1101
-
1102
- xmlSaveTree(savectx, node);
1103
- xmlSaveClose(savectx);
1104
-
1105
- xmlTreeIndentString = before_indent;
1106
- return io;
1107
- }
1108
-
1109
- /*
1110
- * call-seq:
1111
- * line
1112
- *
1113
- * Returns the line for this Node
1114
- */
1115
- static VALUE line(VALUE self)
1116
- {
1117
- xmlNodePtr node;
1118
- Data_Get_Struct(self, xmlNode, node);
1119
-
1120
- return INT2NUM(xmlGetLineNo(node));
1121
- }
1122
-
1123
- /*
1124
- * call-seq:
1125
- * add_namespace_definition(prefix, href)
1126
- *
1127
- * Adds a namespace definition with +prefix+ using +href+ value. The result is
1128
- * as if parsed XML for this node had included an attribute
1129
- * 'xmlns:prefix=value'. A default namespace for this node ("xmlns=") can be
1130
- * added by passing 'nil' for prefix. Namespaces added this way will not
1131
- * show up in #attributes, but they will be included as an xmlns attribute
1132
- * when the node is serialized to XML.
1133
- */
1134
- static VALUE add_namespace_definition(VALUE self, VALUE prefix, VALUE href)
1135
- {
1136
- xmlNodePtr node, namespacee;
1137
- xmlNsPtr ns;
1138
-
1139
- Data_Get_Struct(self, xmlNode, node);
1140
- namespacee = node ;
1141
-
1142
- ns = xmlSearchNs(
1143
- node->doc,
1144
- node,
1145
- (const xmlChar *)(NIL_P(prefix) ? NULL : StringValuePtr(prefix))
1146
- );
1147
-
1148
- if(!ns) {
1149
- if (node->type != XML_ELEMENT_NODE) {
1150
- namespacee = node->parent;
1151
- }
1152
- ns = xmlNewNs(
1153
- namespacee,
1154
- (const xmlChar *)StringValuePtr(href),
1155
- (const xmlChar *)(NIL_P(prefix) ? NULL : StringValuePtr(prefix))
1156
- );
1157
- }
1158
-
1159
- if (!ns) return Qnil ;
1160
-
1161
- if(NIL_P(prefix) || node != namespacee) xmlSetNs(node, ns);
1162
-
1163
- return Nokogiri_wrap_xml_namespace(node->doc, ns);
1164
- }
1165
-
1166
- /*
1167
- * call-seq:
1168
- * new(name, document)
1169
- *
1170
- * Create a new node with +name+ sharing GC lifecycle with +document+
1171
- */
1172
- static VALUE new(int argc, VALUE *argv, VALUE klass)
1173
- {
1174
- xmlDocPtr doc;
1175
- xmlNodePtr node;
1176
- VALUE name;
1177
- VALUE document;
1178
- VALUE rest;
1179
- VALUE rb_node;
1180
-
1181
- rb_scan_args(argc, argv, "2*", &name, &document, &rest);
1182
-
1183
- Data_Get_Struct(document, xmlDoc, doc);
1184
-
1185
- node = xmlNewNode(NULL, (xmlChar *)StringValuePtr(name));
1186
- node->doc = doc->doc;
1187
- nokogiri_root_node(node);
1188
-
1189
- rb_node = Nokogiri_wrap_xml_node(
1190
- klass == cNokogiriXmlNode ? (VALUE)NULL : klass,
1191
- node
1192
- );
1193
- rb_obj_call_init(rb_node, argc, argv);
1194
-
1195
- if(rb_block_given_p()) rb_yield(rb_node);
1196
-
1197
- return rb_node;
1198
- }
1199
-
1200
- /*
1201
- * call-seq:
1202
- * dump_html
1203
- *
1204
- * Returns the Node as html.
1205
- */
1206
- static VALUE dump_html(VALUE self)
1207
- {
1208
- xmlBufferPtr buf ;
1209
- xmlNodePtr node ;
1210
- VALUE html;
1211
-
1212
- Data_Get_Struct(self, xmlNode, node);
1213
-
1214
- buf = xmlBufferCreate() ;
1215
- htmlNodeDump(buf, node->doc, node);
1216
- html = NOKOGIRI_STR_NEW2(buf->content);
1217
- xmlBufferFree(buf);
1218
- return html ;
1219
- }
1220
-
1221
- /*
1222
- * call-seq:
1223
- * compare(other)
1224
- *
1225
- * Compare this Node to +other+ with respect to their Document
1226
- */
1227
- static VALUE compare(VALUE self, VALUE _other)
1228
- {
1229
- xmlNodePtr node, other;
1230
- Data_Get_Struct(self, xmlNode, node);
1231
- Data_Get_Struct(_other, xmlNode, other);
1232
-
1233
- return INT2NUM((long)xmlXPathCmpNodes(other, node));
1234
- }
1235
-
1236
-
1237
- /*
1238
- * call-seq:
1239
- * process_xincludes(options)
1240
- *
1241
- * Loads and substitutes all xinclude elements below the node. The
1242
- * parser context will be initialized with +options+.
1243
- */
1244
- static VALUE process_xincludes(VALUE self, VALUE options)
1245
- {
1246
- int rcode ;
1247
- xmlNodePtr node;
1248
- VALUE error_list = rb_ary_new();
1249
-
1250
- Data_Get_Struct(self, xmlNode, node);
1251
-
1252
- xmlSetStructuredErrorFunc((void *)error_list, Nokogiri_error_array_pusher);
1253
- rcode = xmlXIncludeProcessTreeFlags(node, (int)NUM2INT(options));
1254
- xmlSetStructuredErrorFunc(NULL, NULL);
1255
-
1256
- if (rcode < 0) {
1257
- xmlErrorPtr error;
1258
-
1259
- error = xmlGetLastError();
1260
- if(error)
1261
- rb_exc_raise(Nokogiri_wrap_xml_syntax_error((VALUE)NULL, error));
1262
- else
1263
- rb_raise(rb_eRuntimeError, "Could not perform xinclude substitution");
1264
- }
1265
-
1266
- return self;
1267
- }
1268
-
1269
-
1270
- /* TODO: DOCUMENT ME */
1271
- static VALUE in_context(VALUE self, VALUE _str, VALUE _options)
1272
- {
1273
- xmlNodePtr node, list = 0, tmp, child_iter, node_children, doc_children;
1274
- xmlNodeSetPtr set;
1275
- xmlParserErrors error;
1276
- VALUE doc, err;
1277
- int doc_is_empty;
1278
-
1279
- Data_Get_Struct(self, xmlNode, node);
1280
-
1281
- doc = DOC_RUBY_OBJECT(node->doc);
1282
- err = rb_iv_get(doc, "@errors");
1283
- doc_is_empty = (node->doc->children == NULL) ? 1 : 0;
1284
- node_children = node->children;
1285
- doc_children = node->doc->children;
1286
-
1287
- xmlSetStructuredErrorFunc((void *)err, Nokogiri_error_array_pusher);
1288
-
1289
- /* Twiddle global variable because of a bug in libxml2.
1290
- * http://git.gnome.org/browse/libxml2/commit/?id=e20fb5a72c83cbfc8e4a8aa3943c6be8febadab7
1291
- */
1292
- #ifndef HTML_PARSE_NOIMPLIED
1293
- htmlHandleOmittedElem(0);
1294
- #endif
1295
-
1296
- /* This function adds a fake node to the child of +node+. If the parser
1297
- * does not exit cleanly with XML_ERR_OK, the list is freed. This can
1298
- * leave the child pointers in a bad state if they were originally empty.
1299
- *
1300
- * http://git.gnome.org/browse/libxml2/tree/parser.c#n13177
1301
- * */
1302
- error = xmlParseInNodeContext(node, StringValuePtr(_str),
1303
- (int)RSTRING_LEN(_str),
1304
- (int)NUM2INT(_options), &list);
1305
-
1306
- /* xmlParseInNodeContext should not mutate the original document or node,
1307
- * so reassigning these pointers should be OK. The reason we're reassigning
1308
- * is because if there were errors, it's possible for the child pointers
1309
- * to be manipulated. */
1310
- if (error != XML_ERR_OK) {
1311
- node->doc->children = doc_children;
1312
- node->children = node_children;
1313
- }
1314
-
1315
- /* make sure parent/child pointers are coherent so an unlink will work
1316
- * properly (#331)
1317
- */
1318
- child_iter = node->doc->children ;
1319
- while (child_iter) {
1320
- if (child_iter->parent != (xmlNodePtr)node->doc)
1321
- child_iter->parent = (xmlNodePtr)node->doc;
1322
- child_iter = child_iter->next;
1323
- }
1324
-
1325
- #ifndef HTML_PARSE_NOIMPLIED
1326
- htmlHandleOmittedElem(1);
1327
- #endif
1328
-
1329
- xmlSetStructuredErrorFunc(NULL, NULL);
1330
-
1331
- /* Workaround for a libxml2 bug where a parsing error may leave a broken
1332
- * node reference in node->doc->children.
1333
- * This workaround is limited to when a parse error occurs, the document
1334
- * went from having no children to having children, and the context node is
1335
- * part of a document fragment.
1336
- * https://bugzilla.gnome.org/show_bug.cgi?id=668155
1337
- */
1338
- if (error != XML_ERR_OK && doc_is_empty && node->doc->children != NULL) {
1339
- child_iter = node;
1340
- while (child_iter->parent)
1341
- child_iter = child_iter->parent;
1342
-
1343
- if (child_iter->type == XML_DOCUMENT_FRAG_NODE)
1344
- node->doc->children = NULL;
1345
- }
1346
-
1347
- /* FIXME: This probably needs to handle more constants... */
1348
- switch (error) {
1349
- case XML_ERR_INTERNAL_ERROR:
1350
- case XML_ERR_NO_MEMORY:
1351
- rb_raise(rb_eRuntimeError, "error parsing fragment (%d)", error);
1352
- break;
1353
- default:
1354
- break;
1355
- }
1356
-
1357
- set = xmlXPathNodeSetCreate(NULL);
1358
-
1359
- while (list) {
1360
- tmp = list->next;
1361
- list->next = NULL;
1362
- xmlXPathNodeSetAddUnique(set, list);
1363
- nokogiri_root_node(list);
1364
- list = tmp;
1365
- }
1366
-
1367
- return Nokogiri_wrap_xml_node_set(set, doc);
1368
- }
1369
-
1370
-
1371
- VALUE Nokogiri_wrap_xml_node(VALUE klass, xmlNodePtr node)
1372
- {
1373
- VALUE document = Qnil ;
1374
- VALUE node_cache = Qnil ;
1375
- VALUE rb_node = Qnil ;
1376
- nokogiriTuplePtr node_has_a_document;
1377
- xmlDocPtr doc;
1378
- void (*mark_method)(xmlNodePtr) = NULL ;
1379
-
1380
- assert(node);
1381
-
1382
- if(node->type == XML_DOCUMENT_NODE || node->type == XML_HTML_DOCUMENT_NODE)
1383
- return DOC_RUBY_OBJECT(node->doc);
1384
-
1385
- /* It's OK if the node doesn't have a fully-realized document (as in XML::Reader). */
1386
- /* see https://github.com/sparklemotion/nokogiri/issues/95 */
1387
- /* and https://github.com/sparklemotion/nokogiri/issues/439 */
1388
- doc = node->doc;
1389
- if (doc->type == XML_DOCUMENT_FRAG_NODE) doc = doc->doc;
1390
- node_has_a_document = DOC_RUBY_OBJECT_TEST(doc);
1391
-
1392
- if(node->_private && node_has_a_document)
1393
- return (VALUE)node->_private;
1394
-
1395
- if(!RTEST(klass)) {
1396
- switch(node->type)
1397
- {
1398
- case XML_ELEMENT_NODE:
1399
- klass = cNokogiriXmlElement;
1400
- break;
1401
- case XML_TEXT_NODE:
1402
- klass = cNokogiriXmlText;
1403
- break;
1404
- case XML_ATTRIBUTE_NODE:
1405
- klass = cNokogiriXmlAttr;
1406
- break;
1407
- case XML_ENTITY_REF_NODE:
1408
- klass = cNokogiriXmlEntityReference;
1409
- break;
1410
- case XML_COMMENT_NODE:
1411
- klass = cNokogiriXmlComment;
1412
- break;
1413
- case XML_DOCUMENT_FRAG_NODE:
1414
- klass = cNokogiriXmlDocumentFragment;
1415
- break;
1416
- case XML_PI_NODE:
1417
- klass = cNokogiriXmlProcessingInstruction;
1418
- break;
1419
- case XML_ENTITY_DECL:
1420
- klass = cNokogiriXmlEntityDecl;
1421
- break;
1422
- case XML_CDATA_SECTION_NODE:
1423
- klass = cNokogiriXmlCData;
1424
- break;
1425
- case XML_DTD_NODE:
1426
- klass = cNokogiriXmlDtd;
1427
- break;
1428
- case XML_ATTRIBUTE_DECL:
1429
- klass = cNokogiriXmlAttributeDecl;
1430
- break;
1431
- case XML_ELEMENT_DECL:
1432
- klass = cNokogiriXmlElementDecl;
1433
- break;
1434
- default:
1435
- klass = cNokogiriXmlNode;
1436
- }
1437
- }
1438
-
1439
- mark_method = node_has_a_document ? mark : NULL ;
1440
-
1441
- rb_node = Data_Wrap_Struct(klass, mark_method, debug_node_dealloc, node) ;
1442
- node->_private = (void *)rb_node;
1443
-
1444
- if (node_has_a_document) {
1445
- document = DOC_RUBY_OBJECT(doc);
1446
- node_cache = DOC_NODE_CACHE(doc);
1447
- rb_ary_push(node_cache, rb_node);
1448
- rb_funcall(document, decorate, 1, rb_node);
1449
- }
1450
-
1451
- return rb_node ;
1452
- }
1453
-
1454
-
1455
- void Nokogiri_xml_node_properties(xmlNodePtr node, VALUE attr_list)
1456
- {
1457
- xmlAttrPtr prop;
1458
- prop = node->properties ;
1459
- while (prop != NULL) {
1460
- rb_ary_push(attr_list, Nokogiri_wrap_xml_node(Qnil, (xmlNodePtr)prop));
1461
- prop = prop->next ;
1462
- }
1463
- }
1464
-
1465
- VALUE cNokogiriXmlNode ;
1466
- VALUE cNokogiriXmlElement ;
1467
-
1468
- void init_xml_node()
1469
- {
1470
- VALUE nokogiri = rb_define_module("Nokogiri");
1471
- VALUE xml = rb_define_module_under(nokogiri, "XML");
1472
- VALUE klass = rb_define_class_under(xml, "Node", rb_cObject);
1473
-
1474
- cNokogiriXmlNode = klass;
1475
-
1476
- cNokogiriXmlElement = rb_define_class_under(xml, "Element", klass);
1477
-
1478
- rb_define_singleton_method(klass, "new", new, -1);
1479
-
1480
- rb_define_method(klass, "add_namespace_definition", add_namespace_definition, 2);
1481
- rb_define_method(klass, "node_name", get_name, 0);
1482
- rb_define_method(klass, "document", document, 0);
1483
- rb_define_method(klass, "node_name=", set_name, 1);
1484
- rb_define_method(klass, "parent", get_parent, 0);
1485
- rb_define_method(klass, "child", child, 0);
1486
- rb_define_method(klass, "first_element_child", first_element_child, 0);
1487
- rb_define_method(klass, "last_element_child", last_element_child, 0);
1488
- rb_define_method(klass, "children", children, 0);
1489
- rb_define_method(klass, "element_children", element_children, 0);
1490
- rb_define_method(klass, "next_sibling", next_sibling, 0);
1491
- rb_define_method(klass, "previous_sibling", previous_sibling, 0);
1492
- rb_define_method(klass, "next_element", next_element, 0);
1493
- rb_define_method(klass, "previous_element", previous_element, 0);
1494
- rb_define_method(klass, "node_type", node_type, 0);
1495
- rb_define_method(klass, "content", get_content, 0);
1496
- rb_define_method(klass, "path", path, 0);
1497
- rb_define_method(klass, "key?", key_eh, 1);
1498
- rb_define_method(klass, "namespaced_key?", namespaced_key_eh, 2);
1499
- rb_define_method(klass, "blank?", blank_eh, 0);
1500
- rb_define_method(klass, "attribute_nodes", attribute_nodes, 0);
1501
- rb_define_method(klass, "attribute", attr, 1);
1502
- rb_define_method(klass, "attribute_with_ns", attribute_with_ns, 2);
1503
- rb_define_method(klass, "namespace", namespace, 0);
1504
- rb_define_method(klass, "namespace_definitions", namespace_definitions, 0);
1505
- rb_define_method(klass, "namespace_scopes", namespace_scopes, 0);
1506
- rb_define_method(klass, "encode_special_chars", encode_special_chars, 1);
1507
- rb_define_method(klass, "dup", duplicate_node, -1);
1508
- rb_define_method(klass, "unlink", unlink_node, 0);
1509
- rb_define_method(klass, "internal_subset", internal_subset, 0);
1510
- rb_define_method(klass, "external_subset", external_subset, 0);
1511
- rb_define_method(klass, "create_internal_subset", create_internal_subset, 3);
1512
- rb_define_method(klass, "create_external_subset", create_external_subset, 3);
1513
- rb_define_method(klass, "pointer_id", pointer_id, 0);
1514
- rb_define_method(klass, "line", line, 0);
1515
- rb_define_method(klass, "native_content=", native_content, 1);
1516
-
1517
- rb_define_private_method(klass, "process_xincludes", process_xincludes, 1);
1518
- rb_define_private_method(klass, "in_context", in_context, 2);
1519
- rb_define_private_method(klass, "add_child_node", add_child, 1);
1520
- rb_define_private_method(klass, "add_previous_sibling_node", add_previous_sibling, 1);
1521
- rb_define_private_method(klass, "add_next_sibling_node", add_next_sibling, 1);
1522
- rb_define_private_method(klass, "replace_node", replace, 1);
1523
- rb_define_private_method(klass, "dump_html", dump_html, 0);
1524
- rb_define_private_method(klass, "native_write_to", native_write_to, 4);
1525
- rb_define_private_method(klass, "get", get, 1);
1526
- rb_define_private_method(klass, "set", set, 2);
1527
- rb_define_private_method(klass, "set_namespace", set_namespace, 1);
1528
- rb_define_private_method(klass, "compare", compare, 1);
1529
-
1530
- decorate = rb_intern("decorate");
1531
- decorate_bang = rb_intern("decorate!");
1532
- }
1533
-
1534
- /* vim: set noet sw=4 sws=4 */