vtd_xml 0.0.3-java → 0.0.6-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 */