vtd_xml 0.0.3-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 (545) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +4 -0
  3. data/Gemfile.lock +23 -0
  4. data/LICENSE.txt +20 -0
  5. data/README.md +29 -0
  6. data/Rakefile +20 -0
  7. data/bundle/bundler/setup.rb +10 -0
  8. data/bundle/jruby/1.9/bin/convert_to_should_syntax +23 -0
  9. data/bundle/jruby/1.9/bin/nokogiri +23 -0
  10. data/bundle/jruby/1.9/bin/rake +23 -0
  11. data/bundle/jruby/1.9/build_info/mini_portile-0.5.2.info +1 -0
  12. data/bundle/jruby/1.9/build_info/nokogiri-1.6.1-java.info +1 -0
  13. data/bundle/jruby/1.9/build_info/rake-10.1.1.info +1 -0
  14. data/bundle/jruby/1.9/build_info/shoulda-context-1.1.6.info +1 -0
  15. data/bundle/jruby/1.9/cache/mini_portile-0.5.2.gem +0 -0
  16. data/bundle/jruby/1.9/cache/nokogiri-1.6.1-java.gem +0 -0
  17. data/bundle/jruby/1.9/cache/rake-10.1.1.gem +0 -0
  18. data/bundle/jruby/1.9/cache/shoulda-context-1.1.6.gem +0 -0
  19. data/bundle/jruby/1.9/gems/mini_portile-0.5.2/History.txt +65 -0
  20. data/bundle/jruby/1.9/gems/mini_portile-0.5.2/LICENSE.txt +20 -0
  21. data/bundle/jruby/1.9/gems/mini_portile-0.5.2/README.rdoc +169 -0
  22. data/bundle/jruby/1.9/gems/mini_portile-0.5.2/Rakefile +44 -0
  23. data/bundle/jruby/1.9/gems/mini_portile-0.5.2/examples/Rakefile +55 -0
  24. data/bundle/jruby/1.9/gems/mini_portile-0.5.2/lib/mini_portile.rb +404 -0
  25. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/CHANGELOG.ja.rdoc +828 -0
  26. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/CHANGELOG.rdoc +835 -0
  27. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/C_CODING_STYLE.rdoc +33 -0
  28. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/Gemfile +21 -0
  29. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/Manifest.txt +315 -0
  30. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/README.ja.rdoc +106 -0
  31. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/README.rdoc +175 -0
  32. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ROADMAP.md +90 -0
  33. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/Rakefile +248 -0
  34. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/STANDARD_RESPONSES.md +47 -0
  35. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/Y_U_NO_GEMSPEC.md +155 -0
  36. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/bin/nokogiri +78 -0
  37. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/build_all +105 -0
  38. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/dependencies.yml +4 -0
  39. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/EncodingHandler.java +124 -0
  40. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/HtmlDocument.java +189 -0
  41. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/HtmlElementDescription.java +145 -0
  42. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/HtmlEntityLookup.java +79 -0
  43. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/HtmlSaxParserContext.java +259 -0
  44. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/NokogiriService.java +605 -0
  45. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlAttr.java +190 -0
  46. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlAttributeDecl.java +130 -0
  47. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlCdata.java +84 -0
  48. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlComment.java +95 -0
  49. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlDocument.java +598 -0
  50. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlDocumentFragment.java +210 -0
  51. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlDtd.java +480 -0
  52. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlElement.java +88 -0
  53. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlElementContent.java +382 -0
  54. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlElementDecl.java +152 -0
  55. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlEntityDecl.java +162 -0
  56. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlEntityReference.java +101 -0
  57. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlNamespace.java +216 -0
  58. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlNode.java +1637 -0
  59. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlNodeSet.java +270 -0
  60. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlProcessingInstruction.java +99 -0
  61. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlReader.java +532 -0
  62. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlRelaxng.java +144 -0
  63. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlSaxParserContext.java +356 -0
  64. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlSaxPushParser.java +232 -0
  65. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlSchema.java +324 -0
  66. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlSyntaxError.java +136 -0
  67. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlText.java +107 -0
  68. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XmlXpathContext.java +203 -0
  69. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/XsltStylesheet.java +360 -0
  70. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/ClosedStreamException.java +10 -0
  71. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/HtmlDomParserContext.java +243 -0
  72. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriBlockingQueueInputStream.java +151 -0
  73. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriDocumentCache.java +73 -0
  74. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriDomParser.java +116 -0
  75. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriEncodingReaderWrapper.java +109 -0
  76. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriEntityResolver.java +123 -0
  77. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriErrorHandler.java +86 -0
  78. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriHandler.java +341 -0
  79. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriHelpers.java +826 -0
  80. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriNamespaceCache.java +180 -0
  81. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriNamespaceContext.java +130 -0
  82. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriNonStrictErrorHandler.java +98 -0
  83. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriNonStrictErrorHandler4NekoHtml.java +121 -0
  84. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriStrictErrorHandler.java +79 -0
  85. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriXPathFunction.java +141 -0
  86. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriXPathFunctionResolver.java +73 -0
  87. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriXPathVariableResolver.java +67 -0
  88. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/NokogiriXsltErrorListener.java +87 -0
  89. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/ParserContext.java +289 -0
  90. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/ReaderNode.java +534 -0
  91. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/SaveContextVisitor.java +780 -0
  92. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/SchemaErrorHandler.java +76 -0
  93. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/UncloseableInputStream.java +102 -0
  94. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/XmlDeclHandler.java +42 -0
  95. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/XmlDomParserContext.java +275 -0
  96. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/XmlSaxParser.java +65 -0
  97. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/java/nokogiri/internals/XsltExtensionFunction.java +72 -0
  98. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/depend +358 -0
  99. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/extconf.rb +195 -0
  100. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_document.c +170 -0
  101. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_document.h +10 -0
  102. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_element_description.c +279 -0
  103. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_element_description.h +10 -0
  104. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_entity_lookup.c +32 -0
  105. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_entity_lookup.h +8 -0
  106. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_sax_parser_context.c +116 -0
  107. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_sax_parser_context.h +11 -0
  108. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_sax_push_parser.c +87 -0
  109. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/html_sax_push_parser.h +9 -0
  110. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/nokogiri.c +143 -0
  111. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/nokogiri.h +164 -0
  112. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_attr.c +94 -0
  113. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_attr.h +9 -0
  114. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_attribute_decl.c +70 -0
  115. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_attribute_decl.h +9 -0
  116. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_cdata.c +56 -0
  117. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_cdata.h +9 -0
  118. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_comment.c +54 -0
  119. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_comment.h +9 -0
  120. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_document.c +576 -0
  121. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_document.h +23 -0
  122. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_document_fragment.c +48 -0
  123. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_document_fragment.h +10 -0
  124. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_dtd.c +202 -0
  125. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_dtd.h +10 -0
  126. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_element_content.c +123 -0
  127. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_element_content.h +10 -0
  128. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_element_decl.c +69 -0
  129. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_element_decl.h +9 -0
  130. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_encoding_handler.c +79 -0
  131. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_encoding_handler.h +8 -0
  132. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_entity_decl.c +110 -0
  133. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_entity_decl.h +10 -0
  134. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_entity_reference.c +52 -0
  135. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_entity_reference.h +9 -0
  136. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_io.c +56 -0
  137. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_io.h +11 -0
  138. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_libxml2_hacks.c +112 -0
  139. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_libxml2_hacks.h +12 -0
  140. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_namespace.c +78 -0
  141. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_namespace.h +13 -0
  142. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_node.c +1534 -0
  143. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_node.h +13 -0
  144. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_node_set.c +467 -0
  145. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_node_set.h +14 -0
  146. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_processing_instruction.c +56 -0
  147. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_processing_instruction.h +9 -0
  148. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_reader.c +681 -0
  149. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_reader.h +10 -0
  150. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_relax_ng.c +161 -0
  151. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_relax_ng.h +9 -0
  152. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_sax_parser.c +312 -0
  153. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_sax_parser.h +39 -0
  154. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_sax_parser_context.c +222 -0
  155. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_sax_parser_context.h +10 -0
  156. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_sax_push_parser.c +115 -0
  157. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_sax_push_parser.h +9 -0
  158. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_schema.c +205 -0
  159. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_schema.h +9 -0
  160. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_syntax_error.c +58 -0
  161. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_syntax_error.h +13 -0
  162. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_text.c +52 -0
  163. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_text.h +9 -0
  164. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_xpath_context.c +319 -0
  165. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xml_xpath_context.h +10 -0
  166. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xslt_stylesheet.c +270 -0
  167. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/ext/nokogiri/xslt_stylesheet.h +14 -0
  168. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/isorelax.jar +0 -0
  169. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/jing.jar +0 -0
  170. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nekodtd.jar +0 -0
  171. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nekohtml.jar +0 -0
  172. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/node.rb +102 -0
  173. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/parser.rb +720 -0
  174. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/parser.y +258 -0
  175. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/parser_extras.rb +91 -0
  176. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/syntax_error.rb +7 -0
  177. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/tokenizer.rb +152 -0
  178. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/tokenizer.rex +55 -0
  179. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css/xpath_visitor.rb +171 -0
  180. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/css.rb +27 -0
  181. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/decorators/slop.rb +35 -0
  182. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/builder.rb +35 -0
  183. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/document.rb +254 -0
  184. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/document_fragment.rb +41 -0
  185. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/element_description.rb +23 -0
  186. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/element_description_defaults.rb +671 -0
  187. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/entity_lookup.rb +13 -0
  188. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/sax/parser.rb +52 -0
  189. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/sax/parser_context.rb +16 -0
  190. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html/sax/push_parser.rb +16 -0
  191. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/html.rb +37 -0
  192. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/nokogiri.jar +0 -0
  193. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/syntax_error.rb +4 -0
  194. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/version.rb +106 -0
  195. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/attr.rb +14 -0
  196. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/attribute_decl.rb +18 -0
  197. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/builder.rb +443 -0
  198. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/cdata.rb +11 -0
  199. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/character_data.rb +7 -0
  200. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/document.rb +279 -0
  201. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/document_fragment.rb +112 -0
  202. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/dtd.rb +22 -0
  203. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/element_content.rb +36 -0
  204. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/element_decl.rb +13 -0
  205. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/entity_decl.rb +19 -0
  206. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/namespace.rb +13 -0
  207. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/node/save_options.rb +61 -0
  208. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/node.rb +957 -0
  209. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/node_set.rb +355 -0
  210. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/notation.rb +6 -0
  211. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/parse_options.rb +98 -0
  212. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/pp/character_data.rb +18 -0
  213. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/pp/node.rb +56 -0
  214. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/pp.rb +2 -0
  215. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/processing_instruction.rb +8 -0
  216. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/reader.rb +112 -0
  217. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/relax_ng.rb +32 -0
  218. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/sax/document.rb +171 -0
  219. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/sax/parser.rb +123 -0
  220. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/sax/parser_context.rb +16 -0
  221. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/sax/push_parser.rb +60 -0
  222. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/sax.rb +4 -0
  223. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/schema.rb +63 -0
  224. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/syntax_error.rb +47 -0
  225. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/text.rb +9 -0
  226. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/xpath/syntax_error.rb +11 -0
  227. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/xpath.rb +10 -0
  228. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml/xpath_context.rb +16 -0
  229. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xml.rb +73 -0
  230. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xslt/stylesheet.rb +25 -0
  231. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri/xslt.rb +56 -0
  232. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/nokogiri.rb +128 -0
  233. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/xercesImpl.jar +0 -0
  234. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/lib/xsd/xmlparser/nokogiri.rb +102 -0
  235. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/tasks/cross_compile.rb +134 -0
  236. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/tasks/nokogiri.org.rb +24 -0
  237. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/tasks/test.rb +95 -0
  238. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/css/test_nthiness.rb +159 -0
  239. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/css/test_parser.rb +341 -0
  240. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/css/test_tokenizer.rb +198 -0
  241. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/css/test_xpath_visitor.rb +91 -0
  242. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/decorators/test_slop.rb +16 -0
  243. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/2ch.html +108 -0
  244. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/address_book.rlx +12 -0
  245. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/address_book.xml +10 -0
  246. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/bar/bar.xsd +4 -0
  247. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/bogus.xml +0 -0
  248. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/dont_hurt_em_why.xml +422 -0
  249. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/encoding.html +82 -0
  250. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/encoding.xhtml +84 -0
  251. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/exslt.xml +8 -0
  252. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/exslt.xslt +35 -0
  253. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/foo/foo.xsd +4 -0
  254. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/metacharset.html +10 -0
  255. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/noencoding.html +47 -0
  256. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/po.xml +32 -0
  257. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/po.xsd +66 -0
  258. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/saml/saml20assertion_schema.xsd +283 -0
  259. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/saml/saml20protocol_schema.xsd +302 -0
  260. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/saml/xenc_schema.xsd +146 -0
  261. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/saml/xmldsig_schema.xsd +318 -0
  262. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/shift_jis.html +10 -0
  263. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/shift_jis.xml +5 -0
  264. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/snuggles.xml +3 -0
  265. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/staff.dtd +10 -0
  266. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/staff.xml +59 -0
  267. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/staff.xslt +32 -0
  268. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/test_document_url/bar.xml +2 -0
  269. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/test_document_url/document.dtd +4 -0
  270. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/test_document_url/document.xml +6 -0
  271. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/tlm.html +850 -0
  272. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/to_be_xincluded.xml +2 -0
  273. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/valid_bar.xml +2 -0
  274. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/files/xinclude.xml +4 -0
  275. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/helper.rb +154 -0
  276. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/sax/test_parser.rb +141 -0
  277. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/sax/test_parser_context.rb +46 -0
  278. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_builder.rb +164 -0
  279. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_document.rb +552 -0
  280. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_document_encoding.rb +138 -0
  281. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_document_fragment.rb +261 -0
  282. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_element_description.rb +105 -0
  283. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_named_characters.rb +14 -0
  284. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_node.rb +196 -0
  285. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/html/test_node_encoding.rb +27 -0
  286. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/namespaces/test_additional_namespaces_in_builder_doc.rb +14 -0
  287. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/namespaces/test_namespaces_in_builder_doc.rb +75 -0
  288. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/namespaces/test_namespaces_in_created_doc.rb +75 -0
  289. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/namespaces/test_namespaces_in_parsed_doc.rb +66 -0
  290. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_convert_xpath.rb +135 -0
  291. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_css_cache.rb +45 -0
  292. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_encoding_handler.rb +46 -0
  293. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_memory_leak.rb +156 -0
  294. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_nokogiri.rb +132 -0
  295. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_reader.rb +555 -0
  296. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_soap4r_sax.rb +52 -0
  297. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/test_xslt_transforms.rb +254 -0
  298. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/node/test_save_options.rb +28 -0
  299. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/node/test_subclass.rb +44 -0
  300. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/sax/test_parser.rb +366 -0
  301. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/sax/test_parser_context.rb +106 -0
  302. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/sax/test_push_parser.rb +157 -0
  303. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_attr.rb +64 -0
  304. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_attribute_decl.rb +86 -0
  305. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_builder.rb +306 -0
  306. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_c14n.rb +151 -0
  307. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_cdata.rb +48 -0
  308. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_comment.rb +29 -0
  309. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_document.rb +868 -0
  310. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_document_encoding.rb +28 -0
  311. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_document_fragment.rb +223 -0
  312. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_dtd.rb +103 -0
  313. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_dtd_encoding.rb +33 -0
  314. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_element_content.rb +56 -0
  315. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_element_decl.rb +73 -0
  316. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_entity_decl.rb +122 -0
  317. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_entity_reference.rb +245 -0
  318. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_namespace.rb +95 -0
  319. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_node.rb +1137 -0
  320. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_node_attributes.rb +96 -0
  321. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_node_encoding.rb +107 -0
  322. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_node_inheritance.rb +32 -0
  323. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_node_reparenting.rb +374 -0
  324. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_node_set.rb +755 -0
  325. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_parse_options.rb +64 -0
  326. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_processing_instruction.rb +30 -0
  327. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_reader_encoding.rb +142 -0
  328. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_relax_ng.rb +60 -0
  329. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_schema.rb +103 -0
  330. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_syntax_error.rb +12 -0
  331. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_text.rb +45 -0
  332. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_unparented_node.rb +422 -0
  333. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_xinclude.rb +83 -0
  334. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xml/test_xpath.rb +295 -0
  335. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xslt/test_custom_functions.rb +133 -0
  336. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test/xslt/test_exception_handling.rb +37 -0
  337. data/bundle/jruby/1.9/gems/nokogiri-1.6.1-java/test_all +81 -0
  338. data/bundle/jruby/1.9/gems/rake-10.1.1/CHANGES +530 -0
  339. data/bundle/jruby/1.9/gems/rake-10.1.1/MIT-LICENSE +21 -0
  340. data/bundle/jruby/1.9/gems/rake-10.1.1/README.rdoc +187 -0
  341. data/bundle/jruby/1.9/gems/rake-10.1.1/Rakefile +374 -0
  342. data/bundle/jruby/1.9/gems/rake-10.1.1/TODO +21 -0
  343. data/bundle/jruby/1.9/gems/rake-10.1.1/bin/rake +33 -0
  344. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/command_line_usage.rdoc +152 -0
  345. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/example/Rakefile1 +38 -0
  346. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/example/Rakefile2 +35 -0
  347. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/example/a.c +6 -0
  348. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/example/b.c +6 -0
  349. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/example/main.c +11 -0
  350. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/glossary.rdoc +51 -0
  351. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/jamis.rb +591 -0
  352. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/proto_rake.rdoc +127 -0
  353. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/rake.1.gz +0 -0
  354. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/rakefile.rdoc +617 -0
  355. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/rational.rdoc +151 -0
  356. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.4.14.rdoc +23 -0
  357. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.4.15.rdoc +35 -0
  358. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.5.0.rdoc +53 -0
  359. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.5.3.rdoc +78 -0
  360. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.5.4.rdoc +46 -0
  361. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.6.0.rdoc +141 -0
  362. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.7.0.rdoc +119 -0
  363. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.7.1.rdoc +59 -0
  364. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.7.2.rdoc +121 -0
  365. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.7.3.rdoc +47 -0
  366. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.8.0.rdoc +114 -0
  367. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.8.2.rdoc +165 -0
  368. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.8.3.rdoc +112 -0
  369. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.8.4.rdoc +147 -0
  370. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.8.5.rdoc +53 -0
  371. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.8.6.rdoc +55 -0
  372. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.8.7.rdoc +55 -0
  373. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.0.rdoc +112 -0
  374. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.1.rdoc +52 -0
  375. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  376. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.2.rdoc +49 -0
  377. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.3.rdoc +102 -0
  378. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.4.rdoc +110 -0
  379. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.5.rdoc +114 -0
  380. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-0.9.6.rdoc +127 -0
  381. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-10.0.0.rdoc +178 -0
  382. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-10.0.1.rdoc +187 -0
  383. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-10.0.2.rdoc +191 -0
  384. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-10.0.3.rdoc +191 -0
  385. data/bundle/jruby/1.9/gems/rake-10.1.1/doc/release_notes/rake-10.1.0.rdoc +61 -0
  386. data/bundle/jruby/1.9/gems/rake-10.1.1/install.rb +80 -0
  387. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/alt_system.rb +108 -0
  388. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/application.rb +728 -0
  389. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/backtrace.rb +20 -0
  390. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/clean.rb +55 -0
  391. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/cloneable.rb +16 -0
  392. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/contrib/compositepublisher.rb +21 -0
  393. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/contrib/ftptools.rb +139 -0
  394. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/contrib/publisher.rb +73 -0
  395. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/contrib/rubyforgepublisher.rb +16 -0
  396. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/contrib/sshpublisher.rb +50 -0
  397. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/contrib/sys.rb +2 -0
  398. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/default_loader.rb +10 -0
  399. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/dsl_definition.rb +157 -0
  400. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/early_time.rb +18 -0
  401. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/ext/core.rb +28 -0
  402. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/ext/module.rb +0 -0
  403. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/ext/string.rb +166 -0
  404. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/ext/time.rb +15 -0
  405. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/file_creation_task.rb +24 -0
  406. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/file_list.rb +416 -0
  407. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/file_task.rb +46 -0
  408. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/file_utils.rb +116 -0
  409. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/file_utils_ext.rb +144 -0
  410. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/gempackagetask.rb +2 -0
  411. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/invocation_chain.rb +57 -0
  412. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/invocation_exception_mixin.rb +16 -0
  413. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/linked_list.rb +103 -0
  414. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/loaders/makefile.rb +40 -0
  415. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/multi_task.rb +13 -0
  416. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/name_space.rb +25 -0
  417. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/packagetask.rb +190 -0
  418. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/pathmap.rb +1 -0
  419. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/phony.rb +15 -0
  420. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/private_reader.rb +20 -0
  421. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/promise.rb +99 -0
  422. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/pseudo_status.rb +29 -0
  423. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/rake_module.rb +37 -0
  424. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/rake_test_loader.rb +22 -0
  425. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/rdoctask.rb +2 -0
  426. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/ruby182_test_unit_fix.rb +27 -0
  427. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/rule_recursion_overflow_error.rb +20 -0
  428. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/runtest.rb +22 -0
  429. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/scope.rb +42 -0
  430. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/task.rb +378 -0
  431. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/task_argument_error.rb +7 -0
  432. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/task_arguments.rb +89 -0
  433. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/task_manager.rb +297 -0
  434. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/tasklib.rb +22 -0
  435. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/testtask.rb +201 -0
  436. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/thread_history_display.rb +48 -0
  437. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/thread_pool.rb +161 -0
  438. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/trace_output.rb +22 -0
  439. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/version.rb +9 -0
  440. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake/win32.rb +56 -0
  441. data/bundle/jruby/1.9/gems/rake-10.1.1/lib/rake.rb +73 -0
  442. data/bundle/jruby/1.9/gems/rake-10.1.1/test/file_creation.rb +34 -0
  443. data/bundle/jruby/1.9/gems/rake-10.1.1/test/helper.rb +128 -0
  444. data/bundle/jruby/1.9/gems/rake-10.1.1/test/support/rakefile_definitions.rb +444 -0
  445. data/bundle/jruby/1.9/gems/rake-10.1.1/test/support/ruby_runner.rb +33 -0
  446. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_private_reader.rb +42 -0
  447. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake.rb +40 -0
  448. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_application.rb +517 -0
  449. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_application_options.rb +457 -0
  450. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_backtrace.rb +113 -0
  451. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_clean.rb +46 -0
  452. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_definitions.rb +79 -0
  453. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_directory_task.rb +57 -0
  454. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_dsl.rb +40 -0
  455. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_early_time.rb +31 -0
  456. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_extension.rb +59 -0
  457. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_file_creation_task.rb +56 -0
  458. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_file_list.rb +627 -0
  459. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_file_list_path_map.rb +8 -0
  460. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_file_task.rb +122 -0
  461. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_file_utils.rb +309 -0
  462. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_ftp_file.rb +74 -0
  463. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_functional.rb +466 -0
  464. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_invocation_chain.rb +64 -0
  465. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_linked_list.rb +84 -0
  466. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_makefile_loader.rb +46 -0
  467. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_multi_task.rb +58 -0
  468. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_name_space.rb +43 -0
  469. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_package_task.rb +79 -0
  470. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_path_map.rb +168 -0
  471. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_path_map_explode.rb +34 -0
  472. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_path_map_partial.rb +18 -0
  473. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_pseudo_status.rb +21 -0
  474. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_rake_test_loader.rb +20 -0
  475. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_reduce_compat.rb +26 -0
  476. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_require.rb +40 -0
  477. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_rules.rb +362 -0
  478. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_scope.rb +44 -0
  479. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_task.rb +376 -0
  480. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_task_argument_parsing.rb +103 -0
  481. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_task_arguments.rb +121 -0
  482. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_task_lib.rb +9 -0
  483. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_task_manager.rb +158 -0
  484. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_task_manager_argument_resolution.rb +19 -0
  485. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_task_with_arguments.rb +171 -0
  486. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_test_task.rb +119 -0
  487. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_thread_pool.rb +142 -0
  488. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_top_level_functions.rb +71 -0
  489. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_rake_win32.rb +72 -0
  490. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_thread_history_display.rb +101 -0
  491. data/bundle/jruby/1.9/gems/rake-10.1.1/test/test_trace_output.rb +52 -0
  492. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/Appraisals +21 -0
  493. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/CONTRIBUTING.md +38 -0
  494. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/Gemfile +3 -0
  495. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/MIT-LICENSE +22 -0
  496. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/README.md +54 -0
  497. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/Rakefile +21 -0
  498. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/bin/convert_to_should_syntax +42 -0
  499. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/3.0.gemfile +7 -0
  500. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/3.0.gemfile.lock +91 -0
  501. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/3.1.gemfile +9 -0
  502. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/3.1.gemfile.lock +112 -0
  503. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/3.2.gemfile +9 -0
  504. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/3.2.gemfile.lock +111 -0
  505. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/4.0.gemfile +9 -0
  506. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/gemfiles/4.0.gemfile.lock +107 -0
  507. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/init.rb +1 -0
  508. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/assertions.rb +96 -0
  509. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/autoload_macros.rb +46 -0
  510. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/context.rb +481 -0
  511. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/proc_extensions.rb +14 -0
  512. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/tasks/list_tests.rake +29 -0
  513. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/tasks/yaml_to_shoulda.rake +28 -0
  514. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/tasks.rb +3 -0
  515. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context/version.rb +5 -0
  516. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda/context.rb +33 -0
  517. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/lib/shoulda-context.rb +1 -0
  518. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/rails/init.rb +4 -0
  519. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/shoulda-context.gemspec +27 -0
  520. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/tasks/shoulda.rake +1 -0
  521. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/test/fake_rails_root/test/shoulda_macros/custom_macro.rb +6 -0
  522. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/test/shoulda/autoload_macro_test.rb +18 -0
  523. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/test/shoulda/context_test.rb +360 -0
  524. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/test/shoulda/convert_to_should_syntax_test.rb +63 -0
  525. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/test/shoulda/helpers_test.rb +190 -0
  526. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/test/shoulda/should_test.rb +291 -0
  527. data/bundle/jruby/1.9/gems/shoulda-context-1.1.6/test/test_helper.rb +11 -0
  528. data/bundle/jruby/1.9/specifications/mini_portile-0.5.2.gemspec +22 -0
  529. data/bundle/jruby/1.9/specifications/nokogiri-1.6.1-java.gemspec +69 -0
  530. data/bundle/jruby/1.9/specifications/rake-10.1.1.gemspec +35 -0
  531. data/bundle/jruby/1.9/specifications/shoulda-context-1.1.6.gemspec +44 -0
  532. data/lib/vtd-xml-2.11.jar +0 -0
  533. data/lib/vtd_xml/document.rb +124 -0
  534. data/lib/vtd_xml/extraction_error.rb +4 -0
  535. data/lib/vtd_xml/modify_error.rb +5 -0
  536. data/lib/vtd_xml/parse_error.rb +5 -0
  537. data/lib/vtd_xml/version.rb +4 -0
  538. data/lib/vtd_xml/xpath_error.rb +4 -0
  539. data/lib/vtd_xml.rb +8 -0
  540. data/pkg/vtd_xml-0.0.3-java.gem +0 -0
  541. data/test/test_load_paths.rb +18 -0
  542. data/test/unit/vtd_xml/document_test.rb +266 -0
  543. data/vtd_xml.gemspec +25 -0
  544. data/vtd_xml.iml +16 -0
  545. metadata +648 -0
@@ -0,0 +1,243 @@
1
+ /**
2
+ * (The MIT License)
3
+ *
4
+ * Copyright (c) 2008 - 2012:
5
+ *
6
+ * * {Aaron Patterson}[http://tenderlovemaking.com]
7
+ * * {Mike Dalessio}[http://mike.daless.io]
8
+ * * {Charles Nutter}[http://blog.headius.com]
9
+ * * {Sergio Arbeo}[http://www.serabe.com]
10
+ * * {Patrick Mahoney}[http://polycrystal.org]
11
+ * * {Yoko Harada}[http://yokolet.blogspot.com]
12
+ *
13
+ * Permission is hereby granted, free of charge, to any person obtaining
14
+ * a copy of this software and associated documentation files (the
15
+ * 'Software'), to deal in the Software without restriction, including
16
+ * without limitation the rights to use, copy, modify, merge, publish,
17
+ * distribute, sublicense, and/or sell copies of the Software, and to
18
+ * permit persons to whom the Software is furnished to do so, subject to
19
+ * the following conditions:
20
+ *
21
+ * The above copyright notice and this permission notice shall be
22
+ * included in all copies or substantial portions of the Software.
23
+ *
24
+ * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
25
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
27
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
28
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
29
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
30
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31
+ */
32
+
33
+ package nokogiri.internals;
34
+
35
+ import static nokogiri.internals.NokogiriHelpers.getNokogiriClass;
36
+ import static nokogiri.internals.NokogiriHelpers.isNamespace;
37
+ import static nokogiri.internals.NokogiriHelpers.stringOrNil;
38
+ import nokogiri.HtmlDocument;
39
+ import nokogiri.NokogiriService;
40
+ import nokogiri.XmlDocument;
41
+
42
+ import org.apache.xerces.parsers.DOMParser;
43
+ import org.apache.xerces.xni.Augmentations;
44
+ import org.apache.xerces.xni.QName;
45
+ import org.apache.xerces.xni.XMLAttributes;
46
+ import org.apache.xerces.xni.XNIException;
47
+ import org.apache.xerces.xni.parser.XMLDocumentFilter;
48
+ import org.apache.xerces.xni.parser.XMLParserConfiguration;
49
+ import org.cyberneko.html.HTMLConfiguration;
50
+ import org.cyberneko.html.filters.DefaultFilter;
51
+ import org.jruby.Ruby;
52
+ import org.jruby.RubyClass;
53
+ import org.jruby.runtime.ThreadContext;
54
+ import org.jruby.runtime.builtin.IRubyObject;
55
+ import org.w3c.dom.Document;
56
+ import org.w3c.dom.NamedNodeMap;
57
+ import org.w3c.dom.NodeList;
58
+
59
+ /**
60
+ * Parser for HtmlDocument. This class actually parses HtmlDocument using NekoHtml.
61
+ *
62
+ * @author sergio
63
+ * @author Patrick Mahoney <pat@polycrystal.org>
64
+ * @author Yoko Harada <yokolet@gmail.com>
65
+ */
66
+ public class HtmlDomParserContext extends XmlDomParserContext {
67
+
68
+ public HtmlDomParserContext(Ruby runtime, IRubyObject options) {
69
+ super(runtime, options);
70
+ }
71
+
72
+ public HtmlDomParserContext(Ruby runtime, IRubyObject encoding, IRubyObject options) {
73
+ super(runtime, encoding, options);
74
+ }
75
+
76
+ @Override
77
+ protected void initErrorHandler() {
78
+ if (options.strict) {
79
+ errorHandler = new NokogiriStrictErrorHandler(options.noError, options.noWarning);
80
+ } else {
81
+ errorHandler = new NokogiriNonStrictErrorHandler4NekoHtml(options.noError, options.noWarning);
82
+ }
83
+ }
84
+
85
+ @Override
86
+ protected void initParser(Ruby runtime) {
87
+ XMLParserConfiguration config = new HTMLConfiguration();
88
+ XMLDocumentFilter removeNSAttrsFilter = new RemoveNSAttrsFilter();
89
+ XMLDocumentFilter elementValidityCheckFilter = new ElementValidityCheckFilter(errorHandler);
90
+ //XMLDocumentFilter[] filters = { removeNSAttrsFilter, elementValidityCheckFilter};
91
+ XMLDocumentFilter[] filters = { elementValidityCheckFilter};
92
+
93
+ config.setErrorHandler(this.errorHandler);
94
+
95
+ parser = new NokogiriDomParser(config);
96
+
97
+ // see http://nekohtml.sourceforge.net/settings.html for details
98
+ setProperty("http://cyberneko.org/html/properties/default-encoding", java_encoding);
99
+ setProperty("http://cyberneko.org/html/properties/names/elems", "lower");
100
+ setProperty("http://cyberneko.org/html/properties/names/attrs", "lower");
101
+ setProperty("http://cyberneko.org/html/properties/filters", filters);
102
+ setFeature("http://cyberneko.org/html/features/report-errors", true);
103
+ setFeature("http://xml.org/sax/features/namespaces", false);
104
+ }
105
+
106
+ /**
107
+ * Enable NekoHTML feature for balancing tags in a document fragment.
108
+ *
109
+ * This method is used in XmlNode#in_context method.
110
+ */
111
+ public void enableDocumentFragment() {
112
+ setFeature("http://cyberneko.org/html/features/balance-tags/document-fragment", true);
113
+ }
114
+
115
+ @Override
116
+ protected XmlDocument getNewEmptyDocument(ThreadContext context) {
117
+ IRubyObject[] args = new IRubyObject[0];
118
+ return (XmlDocument) XmlDocument.rbNew(context, getNokogiriClass(context.getRuntime(), "Nokogiri::HTML::Document"), args);
119
+ }
120
+
121
+ @Override
122
+ protected XmlDocument wrapDocument(ThreadContext context,
123
+ RubyClass klazz,
124
+ Document document) {
125
+ HtmlDocument htmlDocument = (HtmlDocument) NokogiriService.HTML_DOCUMENT_ALLOCATOR.allocate(context.getRuntime(), klazz);
126
+ htmlDocument.setDocumentNode(context, document);
127
+ if (ruby_encoding.isNil()) {
128
+ // ruby_encoding might have detected by HtmlDocument::EncodingReader
129
+ if (detected_encoding != null && !detected_encoding.isNil()) {
130
+ ruby_encoding = detected_encoding;
131
+ } else {
132
+ // no encoding given & no encoding detected, then try to get it
133
+ String charset = tryGetCharsetFromHtml5MetaTag(document);
134
+ ruby_encoding = stringOrNil(context.getRuntime(), charset);
135
+ }
136
+ }
137
+ htmlDocument.setEncoding(ruby_encoding);
138
+ htmlDocument.setParsedEncoding(java_encoding);
139
+ return htmlDocument;
140
+ }
141
+
142
+ // NekoHtml doesn't understand HTML5 meta tag format. This fails to detect charset
143
+ // from an HTML5 style meta tag. Luckily, the meta tag and charset exists in DOM tree
144
+ // so, this method attempts to find the charset.
145
+ private String tryGetCharsetFromHtml5MetaTag(Document document) {
146
+ if (!"html".equalsIgnoreCase(document.getDocumentElement().getNodeName())) return null;
147
+ NodeList list = document.getDocumentElement().getChildNodes();
148
+ for (int i = 0; i < list.getLength(); i++) {
149
+ if ("head".equalsIgnoreCase(list.item(i).getNodeName())) {
150
+ NodeList headers = list.item(i).getChildNodes();
151
+ for (int j = 0; j < headers.getLength(); j++) {
152
+ if ("meta".equalsIgnoreCase(headers.item(j).getNodeName())) {
153
+ NamedNodeMap nodeMap = headers.item(j).getAttributes();
154
+ for (int k = 0; k < nodeMap.getLength(); k++) {
155
+ if ("charset".equalsIgnoreCase(nodeMap.item(k).getNodeName())) {
156
+ return nodeMap.item(k).getNodeValue();
157
+ }
158
+ }
159
+ }
160
+ }
161
+ }
162
+ }
163
+ return null;
164
+ }
165
+
166
+ /**
167
+ * Filter to strip out attributes that pertain to XML namespaces.
168
+ */
169
+ public static class RemoveNSAttrsFilter extends DefaultFilter {
170
+ @Override
171
+ public void startElement(QName element, XMLAttributes attrs,
172
+ Augmentations augs) throws XNIException {
173
+ int i;
174
+ for (i = 0; i < attrs.getLength(); ++i) {
175
+ if (isNamespace(attrs.getQName(i))) {
176
+ attrs.removeAttributeAt(i);
177
+ --i;
178
+ }
179
+ }
180
+
181
+ element.uri = null;
182
+ super.startElement(element, attrs, augs);
183
+ }
184
+ }
185
+
186
+ public static class ElementValidityCheckFilter extends DefaultFilter {
187
+ private NokogiriErrorHandler errorHandler;
188
+
189
+ private ElementValidityCheckFilter(NokogiriErrorHandler errorHandler) {
190
+ this.errorHandler = errorHandler;
191
+ }
192
+
193
+ // element names from xhtml1-strict.dtd
194
+ private static String[][] element_names = {
195
+ {"a", "abbr", "acronym", "address", "area"},
196
+ {"b", "base", "basefont", "bdo", "big", "blockquote", "body", "br", "button"},
197
+ {"caption", "cite", "code", "col", "colgroup"},
198
+ {"dd", "del", "dfn", "div", "dl", "dt"},
199
+ {"em"},
200
+ {"fieldset", "font", "form", "frame", "frameset"},
201
+ {}, // g
202
+ {"h1", "h2", "h3", "h4", "h5", "h6", "head", "hr", "html"},
203
+ {"i", "iframe", "img", "input", "ins"},
204
+ {}, // j
205
+ {"kbd"},
206
+ {"label", "legend", "li", "link"},
207
+ {"map", "meta"},
208
+ {"noframes", "noscript"},
209
+ {"object", "ol", "optgroup", "option"},
210
+ {"p", "param", "pre"},
211
+ {"q"},
212
+ {}, // r
213
+ {"s", "samp", "script", "select", "small", "span", "strike", "strong", "style", "sub", "sup"},
214
+ {"table", "tbody", "td", "textarea", "tfoot", "th", "thead", "title", "tr", "tt"},
215
+ {"u", "ul"},
216
+ {"var"},
217
+ {}, // w
218
+ {}, // x
219
+ {}, // y
220
+ {} // z
221
+ };
222
+
223
+ private boolean isValid(String testee) {
224
+ char[] c = testee.toCharArray();
225
+ int index = new Integer(c[0]) - 97;
226
+ if (index > 25) return false;
227
+ for (int i=0; i<element_names[index].length; i++) {
228
+ if (testee.equals(element_names[index][i])) {
229
+ return true;
230
+ }
231
+ }
232
+ return false;
233
+ }
234
+
235
+ @Override
236
+ public void startElement(QName name, XMLAttributes attrs, Augmentations augs) throws XNIException {
237
+ if (!isValid(name.rawname)) {
238
+ errorHandler.getErrors().add(new Exception("Tag " + name.rawname + " invalid"));
239
+ }
240
+ super.startElement(name, attrs, augs);
241
+ }
242
+ }
243
+ }
@@ -0,0 +1,151 @@
1
+ /**
2
+ *
3
+ */
4
+ package nokogiri.internals;
5
+
6
+ import java.io.ByteArrayInputStream;
7
+ import java.io.IOException;
8
+ import java.io.InputStream;
9
+ import java.util.LinkedList;
10
+ import java.util.List;
11
+ import java.util.concurrent.Callable;
12
+ import java.util.concurrent.Future;
13
+ import java.util.concurrent.FutureTask;
14
+ import java.util.concurrent.LinkedBlockingQueue;
15
+
16
+ import nokogiri.XmlSaxPushParser;
17
+
18
+ /**
19
+ * A smart input stream that signals the caller when a chunk of data is consumed
20
+ * from the stream. The main use of this stream is to synchronize the
21
+ * {@link XmlSaxPushParser} and the {@link XmlSaxParser} which runs in a
22
+ * different thread.
23
+ *
24
+ * @author John Shahid <jvshahid@gmail.com>
25
+ */
26
+ public class NokogiriBlockingQueueInputStream extends InputStream {
27
+ private final LinkedBlockingQueue<Task> queue;
28
+ protected Task currentTask;
29
+ protected ByteArrayInputStream currentStream;
30
+ protected int position;
31
+ protected boolean closed = false;
32
+
33
+ public static final ByteArrayInputStream END = new ByteArrayInputStream(new byte[0]);
34
+
35
+ private static class Task extends FutureTask<Void> {
36
+ private final ByteArrayInputStream stream;
37
+
38
+ public Task(ByteArrayInputStream stream) {
39
+ super(new Callable<Void>() {
40
+ @Override
41
+ public Void call() throws Exception {
42
+ // TODO Auto-generated method stub
43
+ return null;
44
+ }
45
+ });
46
+ this.stream = stream;
47
+ }
48
+
49
+ public ByteArrayInputStream getStream() {
50
+ return stream;
51
+ }
52
+
53
+ @Override
54
+ public void run() {
55
+ // don't do anything
56
+ }
57
+
58
+ @Override
59
+ public boolean runAndReset() {
60
+ // don't do anything
61
+ return true;
62
+ }
63
+
64
+ @Override
65
+ public void set(Void v) {
66
+ super.set(v);
67
+ }
68
+ }
69
+
70
+ public NokogiriBlockingQueueInputStream() {
71
+ queue = new LinkedBlockingQueue<Task>();
72
+ }
73
+
74
+ /**
75
+ * This method shouldn't be called unless the parser has finished parsing or
76
+ * threw an exception while doing so, otherwise, there'll be the protential
77
+ * that the read method will block indefinitely.
78
+ */
79
+ @Override
80
+ public synchronized void close() {
81
+ closed = true;
82
+ List<Task> tasks = new LinkedList<Task>();
83
+ queue.drainTo(tasks);
84
+ tasks.add(currentTask);
85
+ for (Task task : tasks) {
86
+ task.set(null);
87
+ }
88
+ }
89
+
90
+ /**
91
+ * Add @param stream to the end of the queue of data that will be returned by
92
+ * {@link #read()} and its variants. The method will @return a future whose
93
+ * {@link Future#get()} will block until the data in @param stream is read.
94
+ *
95
+ * Passing the special stream {@link #END} to this method, will cause
96
+ * {@link #read()} to return an eof indicator (i.e. -1) to the caller, after
97
+ * all the data inserted before {@link #END} is processed.
98
+ *
99
+ * @return
100
+ */
101
+ public synchronized Future<Void> addChunk(ByteArrayInputStream stream) throws ClosedStreamException {
102
+ if (closed)
103
+ throw new ClosedStreamException("Cannot add a chunk to a closed stream");
104
+ Task task = new Task(stream);
105
+ queue.add(task);
106
+ return task;
107
+ }
108
+
109
+ /*
110
+ * (non-Javadoc)
111
+ *
112
+ * @see java.io.InputStream#read()
113
+ */
114
+ @Override
115
+ public int read() throws IOException {
116
+ if (currentTask == null || currentStream.available() == 0)
117
+ if (getNextTask() == -1)
118
+ return -1;
119
+ return currentStream.read();
120
+ }
121
+
122
+ /*
123
+ * (non-Javadoc)
124
+ *
125
+ * @see java.io.InputStream#read(byte[], int, int)
126
+ */
127
+ @Override
128
+ public int read(byte[] bytes, int off, int len) {
129
+ if (currentTask == null || currentStream.available() == 0) {
130
+ if (getNextTask() == -1) {
131
+ currentTask.set(null);
132
+ return -1;
133
+ }
134
+ }
135
+ return currentStream.read(bytes, off, len);
136
+ }
137
+
138
+ protected int getNextTask() {
139
+ while (true) {
140
+ try {
141
+ if (currentTask != null)
142
+ currentTask.set(null);
143
+ currentTask = queue.take();
144
+ currentStream = currentTask.getStream();
145
+ return currentStream.available() == 0 ? -1 : currentStream.available();
146
+ } catch (InterruptedException ex) {
147
+ // keep retrying to read
148
+ }
149
+ }
150
+ }
151
+ }
@@ -0,0 +1,73 @@
1
+ /**
2
+ * (The MIT License)
3
+ *
4
+ * Copyright (c) 2008 - 2011:
5
+ *
6
+ * * {Aaron Patterson}[http://tenderlovemaking.com]
7
+ * * {Mike Dalessio}[http://mike.daless.io]
8
+ * * {Charles Nutter}[http://blog.headius.com]
9
+ * * {Sergio Arbeo}[http://www.serabe.com]
10
+ * * {Patrick Mahoney}[http://polycrystal.org]
11
+ * * {Yoko Harada}[http://yokolet.blogspot.com]
12
+ *
13
+ * Permission is hereby granted, free of charge, to any person obtaining
14
+ * a copy of this software and associated documentation files (the
15
+ * 'Software'), to deal in the Software without restriction, including
16
+ * without limitation the rights to use, copy, modify, merge, publish,
17
+ * distribute, sublicense, and/or sell copies of the Software, and to
18
+ * permit persons to whom the Software is furnished to do so, subject to
19
+ * the following conditions:
20
+ *
21
+ * The above copyright notice and this permission notice shall be
22
+ * included in all copies or substantial portions of the Software.
23
+ *
24
+ * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
25
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
27
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
28
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
29
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
30
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31
+ */
32
+
33
+ package nokogiri.internals;
34
+
35
+ import java.util.Hashtable;
36
+ import nokogiri.XmlDocument;
37
+ import org.w3c.dom.Document;
38
+
39
+ /**
40
+ * Currently, this class is not used anywhere.
41
+ * I'm not sure what for this class was written.(Yoko)
42
+ *
43
+ * @author sergio
44
+ */
45
+ public class NokogiriDocumentCache {
46
+
47
+ private static NokogiriDocumentCache instance;
48
+ protected Hashtable<Document, XmlDocument> cache;
49
+
50
+ private NokogiriDocumentCache() {
51
+ this.cache = new Hashtable<Document, XmlDocument>();
52
+ }
53
+
54
+ public static NokogiriDocumentCache getInstance() {
55
+ if(instance == null) {
56
+ instance = new NokogiriDocumentCache();
57
+ }
58
+ return instance;
59
+ }
60
+
61
+ public XmlDocument getXmlDocument(Document doc) {
62
+ return this.cache.get(doc);
63
+ }
64
+
65
+ public void putDocument(Document doc, XmlDocument xmlDoc) {
66
+ this.cache.put(doc, xmlDoc);
67
+ }
68
+
69
+ public XmlDocument removeDocument(Document doc) {
70
+ return this.cache.remove(doc);
71
+ }
72
+
73
+ }
@@ -0,0 +1,116 @@
1
+ /**
2
+ * (The MIT License)
3
+ *
4
+ * Copyright (c) 2008 - 2011:
5
+ *
6
+ * * {Aaron Patterson}[http://tenderlovemaking.com]
7
+ * * {Mike Dalessio}[http://mike.daless.io]
8
+ * * {Charles Nutter}[http://blog.headius.com]
9
+ * * {Sergio Arbeo}[http://www.serabe.com]
10
+ * * {Patrick Mahoney}[http://polycrystal.org]
11
+ * * {Yoko Harada}[http://yokolet.blogspot.com]
12
+ *
13
+ * Permission is hereby granted, free of charge, to any person obtaining
14
+ * a copy of this software and associated documentation files (the
15
+ * 'Software'), to deal in the Software without restriction, including
16
+ * without limitation the rights to use, copy, modify, merge, publish,
17
+ * distribute, sublicense, and/or sell copies of the Software, and to
18
+ * permit persons to whom the Software is furnished to do so, subject to
19
+ * the following conditions:
20
+ *
21
+ * The above copyright notice and this permission notice shall be
22
+ * included in all copies or substantial portions of the Software.
23
+ *
24
+ * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
25
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
27
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
28
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
29
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
30
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31
+ */
32
+
33
+ package nokogiri.internals;
34
+
35
+ import java.io.IOException;
36
+
37
+ import nokogiri.XmlDocument;
38
+
39
+ import org.apache.xerces.parsers.DOMParser;
40
+ import org.apache.xerces.parsers.XIncludeParserConfiguration;
41
+ import org.apache.xerces.xni.parser.XMLParserConfiguration;
42
+ import org.cyberneko.dtd.DTDConfiguration;
43
+ import org.w3c.dom.Document;
44
+ import org.xml.sax.Attributes;
45
+ import org.xml.sax.ContentHandler;
46
+ import org.xml.sax.InputSource;
47
+ import org.xml.sax.Locator;
48
+ import org.xml.sax.SAXException;
49
+
50
+ /**
51
+ * Sets up a Xerces/XNI DOM Parser for use with Nokogiri. Uses
52
+ * NekoDTD to parse the DTD into a tree of Nodes.
53
+ *
54
+ * @author Patrick Mahoney <pat@polycrystal.org>
55
+ */
56
+ public class NokogiriDomParser extends DOMParser {
57
+ protected DOMParser dtd;
58
+ protected boolean xInclude;
59
+ protected XMLParserConfiguration config;
60
+
61
+ public NokogiriDomParser(XMLParserConfiguration config) {
62
+ super(config);
63
+ this.config = config;
64
+ initialize();
65
+ }
66
+
67
+ public NokogiriDomParser(ParserContext.Options options) {
68
+ xInclude = options.xInclude;
69
+ initialize();
70
+ }
71
+
72
+ protected void initialize() {
73
+ if (config == null) {
74
+ if (xInclude) {
75
+ config = new XIncludeParserConfiguration();
76
+ } else {
77
+ config = getXMLParserConfiguration();
78
+ }
79
+ }
80
+
81
+ DTDConfiguration dtdConfig = new DTDConfiguration();
82
+ dtd = new DOMParser(dtdConfig);
83
+
84
+ config.setDTDHandler(dtdConfig);
85
+ config.setDTDContentModelHandler(dtdConfig);
86
+ }
87
+
88
+ @Override
89
+ public void parse(InputSource source) throws SAXException, IOException {
90
+ dtd.reset();
91
+ if (xInclude) {
92
+ setEntityResolver(new NokogiriXInlcudeEntityResolver(source));
93
+ }
94
+ super.parse(source);
95
+ Document doc = getDocument();
96
+ if (doc == null)
97
+ throw new RuntimeException("null document");
98
+
99
+ doc.setUserData(XmlDocument.DTD_RAW_DOCUMENT, dtd.getDocument(), null);
100
+ }
101
+
102
+ private class NokogiriXInlcudeEntityResolver implements org.xml.sax.EntityResolver {
103
+ InputSource source;
104
+ private NokogiriXInlcudeEntityResolver(InputSource source) {
105
+ this.source = source;
106
+ }
107
+
108
+ @Override
109
+ public InputSource resolveEntity(String publicId, String systemId)
110
+ throws SAXException, IOException {
111
+ if (systemId != null) source.setSystemId(systemId);
112
+ if (publicId != null) source.setPublicId(publicId);
113
+ return source;
114
+ }
115
+ }
116
+ }
@@ -0,0 +1,109 @@
1
+ package nokogiri.internals;
2
+
3
+ import java.io.IOException;
4
+ import java.io.InputStream;
5
+
6
+ import org.jruby.Ruby;
7
+ import org.jruby.RubyObject;
8
+ import org.jruby.RubyProcess.Sys;
9
+ import org.jruby.exceptions.RaiseException;
10
+ import org.jruby.javasupport.util.RuntimeHelpers;
11
+ import org.jruby.runtime.ThreadContext;
12
+ import org.jruby.runtime.builtin.IRubyObject;
13
+ import org.jruby.util.ByteList;
14
+
15
+ /**
16
+ * This class wraps the EncodingReader which act like a rewinding input stream,
17
+ * it tries to read the first 1K of data to detect the encoding, but save
18
+ * this data in a buffer for the subsequent read. Unfortunately, the EncodingReader
19
+ * will behave as expected only if encoding was detected, otherwise, the read data
20
+ * won't be stored and EncodingReader will fallback to read directory from the io stream.
21
+ * this is kind of lame, since we need to have similar logic in both layers. The alternative
22
+ * is to implement the encoding detection similar to the way C-Nokogiri does it; it starts
23
+ * parsing assuming encoding is unknown and if encoding is detected it will throw an exception
24
+ * causing parsing to stop, in which case we have to intercept the exception and set the encoding.
25
+ * Also in this case we don't have to restart the parsing since html/document.rb does that for us.
26
+ *
27
+ * @author John Shahid <jvshahid@gmail.com>
28
+ *
29
+ */
30
+ public class NokogiriEncodingReaderWrapper extends InputStream {
31
+ private final ThreadContext context;
32
+ private final IRubyObject encodingReader;
33
+ private final Ruby ruby;
34
+ private IRubyObject detectedEncoding;
35
+ private final byte[] firstChunk = new byte[1024];
36
+ private int firstChunkOff = 0;
37
+ private int firstChunkLength = 0;
38
+
39
+ public NokogiriEncodingReaderWrapper(ThreadContext context, RubyObject encodingReader) {
40
+ this.context = context;
41
+ this.encodingReader = encodingReader;
42
+ this.ruby = context.getRuntime();
43
+
44
+ if (!RuntimeHelpers.invoke(context, encodingReader, "respond_to?", ruby.newSymbol("read").to_sym()).isTrue()
45
+ || encodingReader.getInstanceVariable("@io") == null) {
46
+ throw ruby.newArgumentError("Argument doesn't respond to read or doesn't have instance variable @io");
47
+ }
48
+ }
49
+
50
+ public boolean detectEncoding() {
51
+ try {
52
+ firstChunkLength = read(firstChunk);
53
+ } catch (RaiseException e) {
54
+ detectedEncoding = e.getException().getInstanceVariable("@found_encoding");
55
+ return true;
56
+ }
57
+ detectedEncoding = context.nil;
58
+ return false;
59
+ }
60
+
61
+ public IRubyObject getEncoding() {
62
+ return detectedEncoding;
63
+ }
64
+
65
+ @Override
66
+ public int read(byte b[]) {
67
+ return read(b, 0, b.length);
68
+ }
69
+
70
+ @Override
71
+ public int read(byte b[], int off, int len) {
72
+ if (b == null) {
73
+ throw new NullPointerException();
74
+ } else if (off < 0 || len < 0 || len > b.length - off) {
75
+ throw new IndexOutOfBoundsException();
76
+ } else if (len == 0) {
77
+ return 0;
78
+ }
79
+
80
+ int copyLength = Math.min(firstChunkLength - firstChunkOff, len);
81
+ if (copyLength > 0) {
82
+ System.arraycopy(firstChunk, firstChunkOff, b, off, copyLength);
83
+ len -= copyLength;
84
+ firstChunkOff += copyLength;
85
+ }
86
+
87
+ if (len <= 0)
88
+ return copyLength;
89
+
90
+ IRubyObject returnValue = encodingReader.callMethod(context, "read", ruby.newFixnum(len));
91
+ if (returnValue.isNil())
92
+ return -1;
93
+
94
+ ByteList bytes = returnValue.asString().getByteList();
95
+ int length = bytes.length();
96
+ System.arraycopy(bytes.unsafeBytes(), bytes.getBegin(), b, off + copyLength, length);
97
+ return length + copyLength;
98
+ }
99
+
100
+ @Override
101
+ public int read() {
102
+ byte[] bytes = new byte[1];
103
+ int count = read(bytes, 0, 1);
104
+ if (count < 1)
105
+ return count;
106
+ return bytes[0];
107
+ }
108
+
109
+ }