nokolexbor 0.2.0

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 (486) hide show
  1. checksums.yaml +7 -0
  2. data/ext/nokolexbor/config.h +186 -0
  3. data/ext/nokolexbor/extconf.rb +131 -0
  4. data/ext/nokolexbor/libxml/HTMLparser.h +320 -0
  5. data/ext/nokolexbor/libxml/SAX2.h +173 -0
  6. data/ext/nokolexbor/libxml/chvalid.h +230 -0
  7. data/ext/nokolexbor/libxml/debugXML.h +217 -0
  8. data/ext/nokolexbor/libxml/dict.h +81 -0
  9. data/ext/nokolexbor/libxml/encoding.h +232 -0
  10. data/ext/nokolexbor/libxml/entities.h +153 -0
  11. data/ext/nokolexbor/libxml/globals.h +529 -0
  12. data/ext/nokolexbor/libxml/hash.h +236 -0
  13. data/ext/nokolexbor/libxml/list.h +137 -0
  14. data/ext/nokolexbor/libxml/parser.h +1264 -0
  15. data/ext/nokolexbor/libxml/parserInternals.h +641 -0
  16. data/ext/nokolexbor/libxml/pattern.h +100 -0
  17. data/ext/nokolexbor/libxml/threads.h +94 -0
  18. data/ext/nokolexbor/libxml/tree.h +1315 -0
  19. data/ext/nokolexbor/libxml/uri.h +94 -0
  20. data/ext/nokolexbor/libxml/valid.h +448 -0
  21. data/ext/nokolexbor/libxml/xmlIO.h +369 -0
  22. data/ext/nokolexbor/libxml/xmlautomata.h +146 -0
  23. data/ext/nokolexbor/libxml/xmlerror.h +919 -0
  24. data/ext/nokolexbor/libxml/xmlexports.h +79 -0
  25. data/ext/nokolexbor/libxml/xmlmemory.h +226 -0
  26. data/ext/nokolexbor/libxml/xmlregexp.h +222 -0
  27. data/ext/nokolexbor/libxml/xmlstring.h +140 -0
  28. data/ext/nokolexbor/libxml/xmlversion.h +526 -0
  29. data/ext/nokolexbor/libxml/xpath.h +575 -0
  30. data/ext/nokolexbor/libxml/xpathInternals.h +632 -0
  31. data/ext/nokolexbor/libxml/xpointer.h +137 -0
  32. data/ext/nokolexbor/libxml.h +76 -0
  33. data/ext/nokolexbor/memory.c +39 -0
  34. data/ext/nokolexbor/nl_document.c +51 -0
  35. data/ext/nokolexbor/nl_node.c +790 -0
  36. data/ext/nokolexbor/nl_node_set.c +368 -0
  37. data/ext/nokolexbor/nl_xpath_context.c +200 -0
  38. data/ext/nokolexbor/nokolexbor.c +63 -0
  39. data/ext/nokolexbor/nokolexbor.h +37 -0
  40. data/ext/nokolexbor/private/buf.h +70 -0
  41. data/ext/nokolexbor/private/dict.h +11 -0
  42. data/ext/nokolexbor/private/enc.h +17 -0
  43. data/ext/nokolexbor/private/error.h +21 -0
  44. data/ext/nokolexbor/private/globals.h +9 -0
  45. data/ext/nokolexbor/private/memory.h +9 -0
  46. data/ext/nokolexbor/private/parser.h +27 -0
  47. data/ext/nokolexbor/private/string.h +9 -0
  48. data/ext/nokolexbor/private/threads.h +50 -0
  49. data/ext/nokolexbor/private/tree.h +18 -0
  50. data/ext/nokolexbor/private/xpath.h +7 -0
  51. data/ext/nokolexbor/timsort.h +601 -0
  52. data/ext/nokolexbor/xml_SAX2.c +80 -0
  53. data/ext/nokolexbor/xml_buf.c +363 -0
  54. data/ext/nokolexbor/xml_chvalid.c +334 -0
  55. data/ext/nokolexbor/xml_dict.c +1264 -0
  56. data/ext/nokolexbor/xml_encoding.c +124 -0
  57. data/ext/nokolexbor/xml_error.c +134 -0
  58. data/ext/nokolexbor/xml_globals.c +1085 -0
  59. data/ext/nokolexbor/xml_hash.c +1141 -0
  60. data/ext/nokolexbor/xml_memory.c +203 -0
  61. data/ext/nokolexbor/xml_parser.c +127 -0
  62. data/ext/nokolexbor/xml_parserInternals.c +338 -0
  63. data/ext/nokolexbor/xml_pattern.c +2375 -0
  64. data/ext/nokolexbor/xml_string.c +1051 -0
  65. data/ext/nokolexbor/xml_threads.c +881 -0
  66. data/ext/nokolexbor/xml_tree.c +148 -0
  67. data/ext/nokolexbor/xml_xpath.c +14743 -0
  68. data/lib/nokolexbor/attribute.rb +18 -0
  69. data/lib/nokolexbor/document.rb +6 -0
  70. data/lib/nokolexbor/node.rb +264 -0
  71. data/lib/nokolexbor/node_set.rb +124 -0
  72. data/lib/nokolexbor/version.rb +5 -0
  73. data/lib/nokolexbor/xpath_context.rb +14 -0
  74. data/lib/nokolexbor.rb +17 -0
  75. data/patches/0001-lexbor-support-text-pseudo-element.patch +137 -0
  76. data/patches/0002-lexbor-match-id-class-case-sensitive.patch +22 -0
  77. data/patches/0003-lexbor-attach-template-content-to-self.patch +13 -0
  78. data/vendor/lexbor/CMakeLists.txt +331 -0
  79. data/vendor/lexbor/config.cmake +890 -0
  80. data/vendor/lexbor/feature.cmake +134 -0
  81. data/vendor/lexbor/source/lexbor/core/array.c +208 -0
  82. data/vendor/lexbor/source/lexbor/core/array.h +100 -0
  83. data/vendor/lexbor/source/lexbor/core/array_obj.c +216 -0
  84. data/vendor/lexbor/source/lexbor/core/array_obj.h +134 -0
  85. data/vendor/lexbor/source/lexbor/core/avl.c +442 -0
  86. data/vendor/lexbor/source/lexbor/core/avl.h +82 -0
  87. data/vendor/lexbor/source/lexbor/core/base.h +86 -0
  88. data/vendor/lexbor/source/lexbor/core/bst.c +468 -0
  89. data/vendor/lexbor/source/lexbor/core/bst.h +108 -0
  90. data/vendor/lexbor/source/lexbor/core/bst_map.c +238 -0
  91. data/vendor/lexbor/source/lexbor/core/bst_map.h +87 -0
  92. data/vendor/lexbor/source/lexbor/core/config.cmake +12 -0
  93. data/vendor/lexbor/source/lexbor/core/conv.c +203 -0
  94. data/vendor/lexbor/source/lexbor/core/conv.h +53 -0
  95. data/vendor/lexbor/source/lexbor/core/core.h +35 -0
  96. data/vendor/lexbor/source/lexbor/core/def.h +57 -0
  97. data/vendor/lexbor/source/lexbor/core/diyfp.c +153 -0
  98. data/vendor/lexbor/source/lexbor/core/diyfp.h +258 -0
  99. data/vendor/lexbor/source/lexbor/core/dobject.c +187 -0
  100. data/vendor/lexbor/source/lexbor/core/dobject.h +92 -0
  101. data/vendor/lexbor/source/lexbor/core/dtoa.c +404 -0
  102. data/vendor/lexbor/source/lexbor/core/dtoa.h +28 -0
  103. data/vendor/lexbor/source/lexbor/core/fs.h +60 -0
  104. data/vendor/lexbor/source/lexbor/core/hash.c +476 -0
  105. data/vendor/lexbor/source/lexbor/core/hash.h +218 -0
  106. data/vendor/lexbor/source/lexbor/core/in.c +267 -0
  107. data/vendor/lexbor/source/lexbor/core/in.h +172 -0
  108. data/vendor/lexbor/source/lexbor/core/lexbor.h +35 -0
  109. data/vendor/lexbor/source/lexbor/core/mem.c +228 -0
  110. data/vendor/lexbor/source/lexbor/core/mem.h +141 -0
  111. data/vendor/lexbor/source/lexbor/core/mraw.c +428 -0
  112. data/vendor/lexbor/source/lexbor/core/mraw.h +114 -0
  113. data/vendor/lexbor/source/lexbor/core/perf.h +45 -0
  114. data/vendor/lexbor/source/lexbor/core/plog.c +73 -0
  115. data/vendor/lexbor/source/lexbor/core/plog.h +102 -0
  116. data/vendor/lexbor/source/lexbor/core/print.c +168 -0
  117. data/vendor/lexbor/source/lexbor/core/print.h +39 -0
  118. data/vendor/lexbor/source/lexbor/core/sbst.h +59 -0
  119. data/vendor/lexbor/source/lexbor/core/serialize.c +27 -0
  120. data/vendor/lexbor/source/lexbor/core/serialize.h +32 -0
  121. data/vendor/lexbor/source/lexbor/core/shs.c +118 -0
  122. data/vendor/lexbor/source/lexbor/core/shs.h +82 -0
  123. data/vendor/lexbor/source/lexbor/core/str.c +617 -0
  124. data/vendor/lexbor/source/lexbor/core/str.h +247 -0
  125. data/vendor/lexbor/source/lexbor/core/str_res.h +369 -0
  126. data/vendor/lexbor/source/lexbor/core/strtod.c +326 -0
  127. data/vendor/lexbor/source/lexbor/core/strtod.h +28 -0
  128. data/vendor/lexbor/source/lexbor/core/types.h +39 -0
  129. data/vendor/lexbor/source/lexbor/core/utils.c +43 -0
  130. data/vendor/lexbor/source/lexbor/core/utils.h +36 -0
  131. data/vendor/lexbor/source/lexbor/css/base.h +44 -0
  132. data/vendor/lexbor/source/lexbor/css/config.cmake +2 -0
  133. data/vendor/lexbor/source/lexbor/css/css.h +25 -0
  134. data/vendor/lexbor/source/lexbor/css/log.c +336 -0
  135. data/vendor/lexbor/source/lexbor/css/log.h +103 -0
  136. data/vendor/lexbor/source/lexbor/css/node.h +29 -0
  137. data/vendor/lexbor/source/lexbor/css/parser.c +473 -0
  138. data/vendor/lexbor/source/lexbor/css/parser.h +368 -0
  139. data/vendor/lexbor/source/lexbor/css/selectors/base.h +48 -0
  140. data/vendor/lexbor/source/lexbor/css/selectors/pseudo.c +91 -0
  141. data/vendor/lexbor/source/lexbor/css/selectors/pseudo.h +66 -0
  142. data/vendor/lexbor/source/lexbor/css/selectors/pseudo_const.h +109 -0
  143. data/vendor/lexbor/source/lexbor/css/selectors/pseudo_res.h +302 -0
  144. data/vendor/lexbor/source/lexbor/css/selectors/pseudo_state.c +279 -0
  145. data/vendor/lexbor/source/lexbor/css/selectors/pseudo_state.h +85 -0
  146. data/vendor/lexbor/source/lexbor/css/selectors/selector.c +927 -0
  147. data/vendor/lexbor/source/lexbor/css/selectors/selector.h +200 -0
  148. data/vendor/lexbor/source/lexbor/css/selectors/selectors.c +340 -0
  149. data/vendor/lexbor/source/lexbor/css/selectors/selectors.h +137 -0
  150. data/vendor/lexbor/source/lexbor/css/selectors/state.c +1718 -0
  151. data/vendor/lexbor/source/lexbor/css/selectors/state.h +79 -0
  152. data/vendor/lexbor/source/lexbor/css/stylesheet.h +37 -0
  153. data/vendor/lexbor/source/lexbor/css/syntax/anb.c +443 -0
  154. data/vendor/lexbor/source/lexbor/css/syntax/anb.h +45 -0
  155. data/vendor/lexbor/source/lexbor/css/syntax/base.h +33 -0
  156. data/vendor/lexbor/source/lexbor/css/syntax/parser.c +9 -0
  157. data/vendor/lexbor/source/lexbor/css/syntax/parser.h +25 -0
  158. data/vendor/lexbor/source/lexbor/css/syntax/res.h +48 -0
  159. data/vendor/lexbor/source/lexbor/css/syntax/state.c +2603 -0
  160. data/vendor/lexbor/source/lexbor/css/syntax/state.h +140 -0
  161. data/vendor/lexbor/source/lexbor/css/syntax/state_res.h +273 -0
  162. data/vendor/lexbor/source/lexbor/css/syntax/syntax.c +67 -0
  163. data/vendor/lexbor/source/lexbor/css/syntax/token.c +618 -0
  164. data/vendor/lexbor/source/lexbor/css/syntax/token.h +298 -0
  165. data/vendor/lexbor/source/lexbor/css/syntax/token_res.h +68 -0
  166. data/vendor/lexbor/source/lexbor/css/syntax/tokenizer/error.c +30 -0
  167. data/vendor/lexbor/source/lexbor/css/syntax/tokenizer/error.h +58 -0
  168. data/vendor/lexbor/source/lexbor/css/syntax/tokenizer.c +278 -0
  169. data/vendor/lexbor/source/lexbor/css/syntax/tokenizer.h +121 -0
  170. data/vendor/lexbor/source/lexbor/dom/base.h +32 -0
  171. data/vendor/lexbor/source/lexbor/dom/collection.c +97 -0
  172. data/vendor/lexbor/source/lexbor/dom/collection.h +112 -0
  173. data/vendor/lexbor/source/lexbor/dom/config.cmake +3 -0
  174. data/vendor/lexbor/source/lexbor/dom/dom.h +29 -0
  175. data/vendor/lexbor/source/lexbor/dom/exception.c +18 -0
  176. data/vendor/lexbor/source/lexbor/dom/exception.h +73 -0
  177. data/vendor/lexbor/source/lexbor/dom/interface.c +110 -0
  178. data/vendor/lexbor/source/lexbor/dom/interface.h +88 -0
  179. data/vendor/lexbor/source/lexbor/dom/interfaces/attr.c +445 -0
  180. data/vendor/lexbor/source/lexbor/dom/interfaces/attr.h +152 -0
  181. data/vendor/lexbor/source/lexbor/dom/interfaces/attr_const.h +62 -0
  182. data/vendor/lexbor/source/lexbor/dom/interfaces/attr_res.h +143 -0
  183. data/vendor/lexbor/source/lexbor/dom/interfaces/cdata_section.c +55 -0
  184. data/vendor/lexbor/source/lexbor/dom/interfaces/cdata_section.h +38 -0
  185. data/vendor/lexbor/source/lexbor/dom/interfaces/character_data.c +110 -0
  186. data/vendor/lexbor/source/lexbor/dom/interfaces/character_data.h +51 -0
  187. data/vendor/lexbor/source/lexbor/dom/interfaces/comment.c +64 -0
  188. data/vendor/lexbor/source/lexbor/dom/interfaces/comment.h +42 -0
  189. data/vendor/lexbor/source/lexbor/dom/interfaces/document.c +536 -0
  190. data/vendor/lexbor/source/lexbor/dom/interfaces/document.h +243 -0
  191. data/vendor/lexbor/source/lexbor/dom/interfaces/document_fragment.c +36 -0
  192. data/vendor/lexbor/source/lexbor/dom/interfaces/document_fragment.h +36 -0
  193. data/vendor/lexbor/source/lexbor/dom/interfaces/document_type.c +125 -0
  194. data/vendor/lexbor/source/lexbor/dom/interfaces/document_type.h +108 -0
  195. data/vendor/lexbor/source/lexbor/dom/interfaces/element.c +1411 -0
  196. data/vendor/lexbor/source/lexbor/dom/interfaces/element.h +319 -0
  197. data/vendor/lexbor/source/lexbor/dom/interfaces/event_target.c +32 -0
  198. data/vendor/lexbor/source/lexbor/dom/interfaces/event_target.h +34 -0
  199. data/vendor/lexbor/source/lexbor/dom/interfaces/node.c +661 -0
  200. data/vendor/lexbor/source/lexbor/dom/interfaces/node.h +192 -0
  201. data/vendor/lexbor/source/lexbor/dom/interfaces/processing_instruction.c +87 -0
  202. data/vendor/lexbor/source/lexbor/dom/interfaces/processing_instruction.h +66 -0
  203. data/vendor/lexbor/source/lexbor/dom/interfaces/shadow_root.c +36 -0
  204. data/vendor/lexbor/source/lexbor/dom/interfaces/shadow_root.h +44 -0
  205. data/vendor/lexbor/source/lexbor/dom/interfaces/text.c +63 -0
  206. data/vendor/lexbor/source/lexbor/dom/interfaces/text.h +42 -0
  207. data/vendor/lexbor/source/lexbor/encoding/base.h +218 -0
  208. data/vendor/lexbor/source/lexbor/encoding/big5.c +42839 -0
  209. data/vendor/lexbor/source/lexbor/encoding/config.cmake +12 -0
  210. data/vendor/lexbor/source/lexbor/encoding/const.h +65 -0
  211. data/vendor/lexbor/source/lexbor/encoding/decode.c +3193 -0
  212. data/vendor/lexbor/source/lexbor/encoding/decode.h +370 -0
  213. data/vendor/lexbor/source/lexbor/encoding/encode.c +1931 -0
  214. data/vendor/lexbor/source/lexbor/encoding/encode.h +377 -0
  215. data/vendor/lexbor/source/lexbor/encoding/encoding.c +252 -0
  216. data/vendor/lexbor/source/lexbor/encoding/encoding.h +475 -0
  217. data/vendor/lexbor/source/lexbor/encoding/euc_kr.c +53883 -0
  218. data/vendor/lexbor/source/lexbor/encoding/gb18030.c +47905 -0
  219. data/vendor/lexbor/source/lexbor/encoding/iso_2022_jp_katakana.c +159 -0
  220. data/vendor/lexbor/source/lexbor/encoding/jis0208.c +22477 -0
  221. data/vendor/lexbor/source/lexbor/encoding/jis0212.c +15787 -0
  222. data/vendor/lexbor/source/lexbor/encoding/multi.h +53 -0
  223. data/vendor/lexbor/source/lexbor/encoding/range.c +71 -0
  224. data/vendor/lexbor/source/lexbor/encoding/range.h +34 -0
  225. data/vendor/lexbor/source/lexbor/encoding/res.c +222 -0
  226. data/vendor/lexbor/source/lexbor/encoding/res.h +34 -0
  227. data/vendor/lexbor/source/lexbor/encoding/single.c +13748 -0
  228. data/vendor/lexbor/source/lexbor/encoding/single.h +116 -0
  229. data/vendor/lexbor/source/lexbor/html/base.h +44 -0
  230. data/vendor/lexbor/source/lexbor/html/config.cmake +3 -0
  231. data/vendor/lexbor/source/lexbor/html/encoding.c +574 -0
  232. data/vendor/lexbor/source/lexbor/html/encoding.h +106 -0
  233. data/vendor/lexbor/source/lexbor/html/html.h +107 -0
  234. data/vendor/lexbor/source/lexbor/html/interface.c +165 -0
  235. data/vendor/lexbor/source/lexbor/html/interface.h +186 -0
  236. data/vendor/lexbor/source/lexbor/html/interface_res.h +4449 -0
  237. data/vendor/lexbor/source/lexbor/html/interfaces/anchor_element.c +36 -0
  238. data/vendor/lexbor/source/lexbor/html/interfaces/anchor_element.h +34 -0
  239. data/vendor/lexbor/source/lexbor/html/interfaces/area_element.c +36 -0
  240. data/vendor/lexbor/source/lexbor/html/interfaces/area_element.h +34 -0
  241. data/vendor/lexbor/source/lexbor/html/interfaces/audio_element.c +36 -0
  242. data/vendor/lexbor/source/lexbor/html/interfaces/audio_element.h +34 -0
  243. data/vendor/lexbor/source/lexbor/html/interfaces/base_element.c +36 -0
  244. data/vendor/lexbor/source/lexbor/html/interfaces/base_element.h +34 -0
  245. data/vendor/lexbor/source/lexbor/html/interfaces/body_element.c +36 -0
  246. data/vendor/lexbor/source/lexbor/html/interfaces/body_element.h +34 -0
  247. data/vendor/lexbor/source/lexbor/html/interfaces/br_element.c +36 -0
  248. data/vendor/lexbor/source/lexbor/html/interfaces/br_element.h +34 -0
  249. data/vendor/lexbor/source/lexbor/html/interfaces/button_element.c +36 -0
  250. data/vendor/lexbor/source/lexbor/html/interfaces/button_element.h +34 -0
  251. data/vendor/lexbor/source/lexbor/html/interfaces/canvas_element.c +36 -0
  252. data/vendor/lexbor/source/lexbor/html/interfaces/canvas_element.h +34 -0
  253. data/vendor/lexbor/source/lexbor/html/interfaces/d_list_element.c +36 -0
  254. data/vendor/lexbor/source/lexbor/html/interfaces/d_list_element.h +34 -0
  255. data/vendor/lexbor/source/lexbor/html/interfaces/data_element.c +36 -0
  256. data/vendor/lexbor/source/lexbor/html/interfaces/data_element.h +34 -0
  257. data/vendor/lexbor/source/lexbor/html/interfaces/data_list_element.c +36 -0
  258. data/vendor/lexbor/source/lexbor/html/interfaces/data_list_element.h +34 -0
  259. data/vendor/lexbor/source/lexbor/html/interfaces/details_element.c +36 -0
  260. data/vendor/lexbor/source/lexbor/html/interfaces/details_element.h +34 -0
  261. data/vendor/lexbor/source/lexbor/html/interfaces/dialog_element.c +36 -0
  262. data/vendor/lexbor/source/lexbor/html/interfaces/dialog_element.h +34 -0
  263. data/vendor/lexbor/source/lexbor/html/interfaces/directory_element.c +36 -0
  264. data/vendor/lexbor/source/lexbor/html/interfaces/directory_element.h +34 -0
  265. data/vendor/lexbor/source/lexbor/html/interfaces/div_element.c +36 -0
  266. data/vendor/lexbor/source/lexbor/html/interfaces/div_element.h +34 -0
  267. data/vendor/lexbor/source/lexbor/html/interfaces/document.c +444 -0
  268. data/vendor/lexbor/source/lexbor/html/interfaces/document.h +256 -0
  269. data/vendor/lexbor/source/lexbor/html/interfaces/element.c +64 -0
  270. data/vendor/lexbor/source/lexbor/html/interfaces/element.h +54 -0
  271. data/vendor/lexbor/source/lexbor/html/interfaces/embed_element.c +36 -0
  272. data/vendor/lexbor/source/lexbor/html/interfaces/embed_element.h +34 -0
  273. data/vendor/lexbor/source/lexbor/html/interfaces/field_set_element.c +36 -0
  274. data/vendor/lexbor/source/lexbor/html/interfaces/field_set_element.h +34 -0
  275. data/vendor/lexbor/source/lexbor/html/interfaces/font_element.c +36 -0
  276. data/vendor/lexbor/source/lexbor/html/interfaces/font_element.h +34 -0
  277. data/vendor/lexbor/source/lexbor/html/interfaces/form_element.c +36 -0
  278. data/vendor/lexbor/source/lexbor/html/interfaces/form_element.h +34 -0
  279. data/vendor/lexbor/source/lexbor/html/interfaces/frame_element.c +36 -0
  280. data/vendor/lexbor/source/lexbor/html/interfaces/frame_element.h +34 -0
  281. data/vendor/lexbor/source/lexbor/html/interfaces/frame_set_element.c +36 -0
  282. data/vendor/lexbor/source/lexbor/html/interfaces/frame_set_element.h +34 -0
  283. data/vendor/lexbor/source/lexbor/html/interfaces/head_element.c +36 -0
  284. data/vendor/lexbor/source/lexbor/html/interfaces/head_element.h +34 -0
  285. data/vendor/lexbor/source/lexbor/html/interfaces/heading_element.c +36 -0
  286. data/vendor/lexbor/source/lexbor/html/interfaces/heading_element.h +34 -0
  287. data/vendor/lexbor/source/lexbor/html/interfaces/hr_element.c +36 -0
  288. data/vendor/lexbor/source/lexbor/html/interfaces/hr_element.h +34 -0
  289. data/vendor/lexbor/source/lexbor/html/interfaces/html_element.c +36 -0
  290. data/vendor/lexbor/source/lexbor/html/interfaces/html_element.h +34 -0
  291. data/vendor/lexbor/source/lexbor/html/interfaces/iframe_element.c +36 -0
  292. data/vendor/lexbor/source/lexbor/html/interfaces/iframe_element.h +34 -0
  293. data/vendor/lexbor/source/lexbor/html/interfaces/image_element.c +36 -0
  294. data/vendor/lexbor/source/lexbor/html/interfaces/image_element.h +34 -0
  295. data/vendor/lexbor/source/lexbor/html/interfaces/input_element.c +36 -0
  296. data/vendor/lexbor/source/lexbor/html/interfaces/input_element.h +34 -0
  297. data/vendor/lexbor/source/lexbor/html/interfaces/label_element.c +36 -0
  298. data/vendor/lexbor/source/lexbor/html/interfaces/label_element.h +34 -0
  299. data/vendor/lexbor/source/lexbor/html/interfaces/legend_element.c +36 -0
  300. data/vendor/lexbor/source/lexbor/html/interfaces/legend_element.h +34 -0
  301. data/vendor/lexbor/source/lexbor/html/interfaces/li_element.c +36 -0
  302. data/vendor/lexbor/source/lexbor/html/interfaces/li_element.h +34 -0
  303. data/vendor/lexbor/source/lexbor/html/interfaces/link_element.c +36 -0
  304. data/vendor/lexbor/source/lexbor/html/interfaces/link_element.h +34 -0
  305. data/vendor/lexbor/source/lexbor/html/interfaces/map_element.c +36 -0
  306. data/vendor/lexbor/source/lexbor/html/interfaces/map_element.h +34 -0
  307. data/vendor/lexbor/source/lexbor/html/interfaces/marquee_element.c +36 -0
  308. data/vendor/lexbor/source/lexbor/html/interfaces/marquee_element.h +34 -0
  309. data/vendor/lexbor/source/lexbor/html/interfaces/media_element.c +36 -0
  310. data/vendor/lexbor/source/lexbor/html/interfaces/media_element.h +34 -0
  311. data/vendor/lexbor/source/lexbor/html/interfaces/menu_element.c +36 -0
  312. data/vendor/lexbor/source/lexbor/html/interfaces/menu_element.h +34 -0
  313. data/vendor/lexbor/source/lexbor/html/interfaces/meta_element.c +36 -0
  314. data/vendor/lexbor/source/lexbor/html/interfaces/meta_element.h +34 -0
  315. data/vendor/lexbor/source/lexbor/html/interfaces/meter_element.c +36 -0
  316. data/vendor/lexbor/source/lexbor/html/interfaces/meter_element.h +34 -0
  317. data/vendor/lexbor/source/lexbor/html/interfaces/mod_element.c +36 -0
  318. data/vendor/lexbor/source/lexbor/html/interfaces/mod_element.h +34 -0
  319. data/vendor/lexbor/source/lexbor/html/interfaces/o_list_element.c +36 -0
  320. data/vendor/lexbor/source/lexbor/html/interfaces/o_list_element.h +34 -0
  321. data/vendor/lexbor/source/lexbor/html/interfaces/object_element.c +36 -0
  322. data/vendor/lexbor/source/lexbor/html/interfaces/object_element.h +34 -0
  323. data/vendor/lexbor/source/lexbor/html/interfaces/opt_group_element.c +36 -0
  324. data/vendor/lexbor/source/lexbor/html/interfaces/opt_group_element.h +34 -0
  325. data/vendor/lexbor/source/lexbor/html/interfaces/option_element.c +36 -0
  326. data/vendor/lexbor/source/lexbor/html/interfaces/option_element.h +34 -0
  327. data/vendor/lexbor/source/lexbor/html/interfaces/output_element.c +36 -0
  328. data/vendor/lexbor/source/lexbor/html/interfaces/output_element.h +34 -0
  329. data/vendor/lexbor/source/lexbor/html/interfaces/paragraph_element.c +36 -0
  330. data/vendor/lexbor/source/lexbor/html/interfaces/paragraph_element.h +34 -0
  331. data/vendor/lexbor/source/lexbor/html/interfaces/param_element.c +36 -0
  332. data/vendor/lexbor/source/lexbor/html/interfaces/param_element.h +34 -0
  333. data/vendor/lexbor/source/lexbor/html/interfaces/picture_element.c +36 -0
  334. data/vendor/lexbor/source/lexbor/html/interfaces/picture_element.h +34 -0
  335. data/vendor/lexbor/source/lexbor/html/interfaces/pre_element.c +36 -0
  336. data/vendor/lexbor/source/lexbor/html/interfaces/pre_element.h +34 -0
  337. data/vendor/lexbor/source/lexbor/html/interfaces/progress_element.c +36 -0
  338. data/vendor/lexbor/source/lexbor/html/interfaces/progress_element.h +34 -0
  339. data/vendor/lexbor/source/lexbor/html/interfaces/quote_element.c +36 -0
  340. data/vendor/lexbor/source/lexbor/html/interfaces/quote_element.h +34 -0
  341. data/vendor/lexbor/source/lexbor/html/interfaces/script_element.c +36 -0
  342. data/vendor/lexbor/source/lexbor/html/interfaces/script_element.h +34 -0
  343. data/vendor/lexbor/source/lexbor/html/interfaces/select_element.c +36 -0
  344. data/vendor/lexbor/source/lexbor/html/interfaces/select_element.h +34 -0
  345. data/vendor/lexbor/source/lexbor/html/interfaces/slot_element.c +36 -0
  346. data/vendor/lexbor/source/lexbor/html/interfaces/slot_element.h +34 -0
  347. data/vendor/lexbor/source/lexbor/html/interfaces/source_element.c +36 -0
  348. data/vendor/lexbor/source/lexbor/html/interfaces/source_element.h +34 -0
  349. data/vendor/lexbor/source/lexbor/html/interfaces/span_element.c +36 -0
  350. data/vendor/lexbor/source/lexbor/html/interfaces/span_element.h +34 -0
  351. data/vendor/lexbor/source/lexbor/html/interfaces/style_element.c +36 -0
  352. data/vendor/lexbor/source/lexbor/html/interfaces/style_element.h +34 -0
  353. data/vendor/lexbor/source/lexbor/html/interfaces/table_caption_element.c +36 -0
  354. data/vendor/lexbor/source/lexbor/html/interfaces/table_caption_element.h +34 -0
  355. data/vendor/lexbor/source/lexbor/html/interfaces/table_cell_element.c +36 -0
  356. data/vendor/lexbor/source/lexbor/html/interfaces/table_cell_element.h +34 -0
  357. data/vendor/lexbor/source/lexbor/html/interfaces/table_col_element.c +36 -0
  358. data/vendor/lexbor/source/lexbor/html/interfaces/table_col_element.h +34 -0
  359. data/vendor/lexbor/source/lexbor/html/interfaces/table_element.c +36 -0
  360. data/vendor/lexbor/source/lexbor/html/interfaces/table_element.h +34 -0
  361. data/vendor/lexbor/source/lexbor/html/interfaces/table_row_element.c +36 -0
  362. data/vendor/lexbor/source/lexbor/html/interfaces/table_row_element.h +34 -0
  363. data/vendor/lexbor/source/lexbor/html/interfaces/table_section_element.c +36 -0
  364. data/vendor/lexbor/source/lexbor/html/interfaces/table_section_element.h +34 -0
  365. data/vendor/lexbor/source/lexbor/html/interfaces/template_element.c +46 -0
  366. data/vendor/lexbor/source/lexbor/html/interfaces/template_element.h +38 -0
  367. data/vendor/lexbor/source/lexbor/html/interfaces/text_area_element.c +36 -0
  368. data/vendor/lexbor/source/lexbor/html/interfaces/text_area_element.h +34 -0
  369. data/vendor/lexbor/source/lexbor/html/interfaces/time_element.c +36 -0
  370. data/vendor/lexbor/source/lexbor/html/interfaces/time_element.h +34 -0
  371. data/vendor/lexbor/source/lexbor/html/interfaces/title_element.c +133 -0
  372. data/vendor/lexbor/source/lexbor/html/interfaces/title_element.h +42 -0
  373. data/vendor/lexbor/source/lexbor/html/interfaces/track_element.c +36 -0
  374. data/vendor/lexbor/source/lexbor/html/interfaces/track_element.h +34 -0
  375. data/vendor/lexbor/source/lexbor/html/interfaces/u_list_element.c +36 -0
  376. data/vendor/lexbor/source/lexbor/html/interfaces/u_list_element.h +34 -0
  377. data/vendor/lexbor/source/lexbor/html/interfaces/unknown_element.c +36 -0
  378. data/vendor/lexbor/source/lexbor/html/interfaces/unknown_element.h +34 -0
  379. data/vendor/lexbor/source/lexbor/html/interfaces/video_element.c +36 -0
  380. data/vendor/lexbor/source/lexbor/html/interfaces/video_element.h +34 -0
  381. data/vendor/lexbor/source/lexbor/html/interfaces/window.c +36 -0
  382. data/vendor/lexbor/source/lexbor/html/interfaces/window.h +34 -0
  383. data/vendor/lexbor/source/lexbor/html/node.c +14 -0
  384. data/vendor/lexbor/source/lexbor/html/node.h +67 -0
  385. data/vendor/lexbor/source/lexbor/html/parser.c +469 -0
  386. data/vendor/lexbor/source/lexbor/html/parser.h +170 -0
  387. data/vendor/lexbor/source/lexbor/html/serialize.c +1510 -0
  388. data/vendor/lexbor/source/lexbor/html/serialize.h +93 -0
  389. data/vendor/lexbor/source/lexbor/html/tag.h +103 -0
  390. data/vendor/lexbor/source/lexbor/html/tag_res.h +2262 -0
  391. data/vendor/lexbor/source/lexbor/html/token.c +386 -0
  392. data/vendor/lexbor/source/lexbor/html/token.h +130 -0
  393. data/vendor/lexbor/source/lexbor/html/token_attr.c +44 -0
  394. data/vendor/lexbor/source/lexbor/html/token_attr.h +67 -0
  395. data/vendor/lexbor/source/lexbor/html/tokenizer/error.c +28 -0
  396. data/vendor/lexbor/source/lexbor/html/tokenizer/error.h +141 -0
  397. data/vendor/lexbor/source/lexbor/html/tokenizer/res.h +4956 -0
  398. data/vendor/lexbor/source/lexbor/html/tokenizer/state.c +2171 -0
  399. data/vendor/lexbor/source/lexbor/html/tokenizer/state.h +225 -0
  400. data/vendor/lexbor/source/lexbor/html/tokenizer/state_comment.c +489 -0
  401. data/vendor/lexbor/source/lexbor/html/tokenizer/state_comment.h +27 -0
  402. data/vendor/lexbor/source/lexbor/html/tokenizer/state_doctype.c +1654 -0
  403. data/vendor/lexbor/source/lexbor/html/tokenizer/state_doctype.h +27 -0
  404. data/vendor/lexbor/source/lexbor/html/tokenizer/state_rawtext.c +303 -0
  405. data/vendor/lexbor/source/lexbor/html/tokenizer/state_rawtext.h +32 -0
  406. data/vendor/lexbor/source/lexbor/html/tokenizer/state_rcdata.c +311 -0
  407. data/vendor/lexbor/source/lexbor/html/tokenizer/state_rcdata.h +32 -0
  408. data/vendor/lexbor/source/lexbor/html/tokenizer/state_script.c +1209 -0
  409. data/vendor/lexbor/source/lexbor/html/tokenizer/state_script.h +32 -0
  410. data/vendor/lexbor/source/lexbor/html/tokenizer.c +499 -0
  411. data/vendor/lexbor/source/lexbor/html/tokenizer.h +343 -0
  412. data/vendor/lexbor/source/lexbor/html/tree/active_formatting.c +241 -0
  413. data/vendor/lexbor/source/lexbor/html/tree/active_formatting.h +117 -0
  414. data/vendor/lexbor/source/lexbor/html/tree/error.c +26 -0
  415. data/vendor/lexbor/source/lexbor/html/tree/error.h +114 -0
  416. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_after_body.c +62 -0
  417. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_after_frameset.c +63 -0
  418. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_body.c +82 -0
  419. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_frameset.c +88 -0
  420. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/after_head.c +222 -0
  421. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/before_head.c +144 -0
  422. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/before_html.c +166 -0
  423. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/foreign_content.c +358 -0
  424. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_body.c +1974 -0
  425. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_caption.c +158 -0
  426. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_cell.c +187 -0
  427. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_column_group.c +194 -0
  428. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_frameset.c +149 -0
  429. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_head.c +374 -0
  430. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_head_noscript.c +121 -0
  431. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_row.c +211 -0
  432. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_select.c +341 -0
  433. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_select_in_table.c +115 -0
  434. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_table.c +451 -0
  435. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_table_body.c +208 -0
  436. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_table_text.c +127 -0
  437. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/in_template.c +189 -0
  438. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/initial.c +411 -0
  439. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode/text.c +61 -0
  440. data/vendor/lexbor/source/lexbor/html/tree/insertion_mode.h +135 -0
  441. data/vendor/lexbor/source/lexbor/html/tree/open_elements.c +251 -0
  442. data/vendor/lexbor/source/lexbor/html/tree/open_elements.h +105 -0
  443. data/vendor/lexbor/source/lexbor/html/tree/template_insertion.c +10 -0
  444. data/vendor/lexbor/source/lexbor/html/tree/template_insertion.h +100 -0
  445. data/vendor/lexbor/source/lexbor/html/tree.c +1726 -0
  446. data/vendor/lexbor/source/lexbor/html/tree.h +431 -0
  447. data/vendor/lexbor/source/lexbor/html/tree_res.h +111 -0
  448. data/vendor/lexbor/source/lexbor/ns/base.h +32 -0
  449. data/vendor/lexbor/source/lexbor/ns/config.cmake +2 -0
  450. data/vendor/lexbor/source/lexbor/ns/const.h +37 -0
  451. data/vendor/lexbor/source/lexbor/ns/ns.c +154 -0
  452. data/vendor/lexbor/source/lexbor/ns/ns.h +66 -0
  453. data/vendor/lexbor/source/lexbor/ns/res.h +97 -0
  454. data/vendor/lexbor/source/lexbor/ports/posix/config.cmake +11 -0
  455. data/vendor/lexbor/source/lexbor/ports/posix/lexbor/core/fs.c +236 -0
  456. data/vendor/lexbor/source/lexbor/ports/posix/lexbor/core/memory.c +33 -0
  457. data/vendor/lexbor/source/lexbor/ports/posix/lexbor/core/perf.c +158 -0
  458. data/vendor/lexbor/source/lexbor/ports/windows_nt/config.cmake +18 -0
  459. data/vendor/lexbor/source/lexbor/ports/windows_nt/lexbor/core/fs.c +239 -0
  460. data/vendor/lexbor/source/lexbor/ports/windows_nt/lexbor/core/memory.c +33 -0
  461. data/vendor/lexbor/source/lexbor/ports/windows_nt/lexbor/core/perf.c +81 -0
  462. data/vendor/lexbor/source/lexbor/selectors/base.h +30 -0
  463. data/vendor/lexbor/source/lexbor/selectors/config.cmake +2 -0
  464. data/vendor/lexbor/source/lexbor/selectors/selectors.c +1591 -0
  465. data/vendor/lexbor/source/lexbor/selectors/selectors.h +71 -0
  466. data/vendor/lexbor/source/lexbor/tag/base.h +32 -0
  467. data/vendor/lexbor/source/lexbor/tag/config.cmake +2 -0
  468. data/vendor/lexbor/source/lexbor/tag/const.h +225 -0
  469. data/vendor/lexbor/source/lexbor/tag/res.h +562 -0
  470. data/vendor/lexbor/source/lexbor/tag/tag.c +144 -0
  471. data/vendor/lexbor/source/lexbor/tag/tag.h +123 -0
  472. data/vendor/lexbor/source/lexbor/utils/base.h +32 -0
  473. data/vendor/lexbor/source/lexbor/utils/config.cmake +2 -0
  474. data/vendor/lexbor/source/lexbor/utils/http.c +534 -0
  475. data/vendor/lexbor/source/lexbor/utils/http.h +90 -0
  476. data/vendor/lexbor/source/lexbor/utils/utils.h +15 -0
  477. data/vendor/lexbor/source/lexbor/utils/warc.c +817 -0
  478. data/vendor/lexbor/source/lexbor/utils/warc.h +126 -0
  479. data/vendor/lexbor/utils/lexbor/css/selectors/pseudo.py +231 -0
  480. data/vendor/lexbor/utils/lexbor/css/selectors/tmp/const.h +21 -0
  481. data/vendor/lexbor/utils/lexbor/css/selectors/tmp/res.h +26 -0
  482. data/vendor/lexbor/utils/lexbor/css/syntax/definitions.py +49 -0
  483. data/vendor/lexbor/utils/lexbor/css/syntax/token_res.py +54 -0
  484. data/vendor/lexbor/utils/lexbor/css/syntax/tokenizer_code_map.py +36 -0
  485. data/vendor/lexbor/version +1 -0
  486. metadata +542 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 22cb30b169c61cb01d5a5b9d81a036ab3b47a99e34ff83f480bf1bd5b5a5eb0c
4
+ data.tar.gz: 12a185344aebf6e69088f65209c8750f9f946c5d62127e2f4c90ce9873a7368c
5
+ SHA512:
6
+ metadata.gz: 663443bf82ab4061e2c15fdf00de6c762786125731346ed5afac99fbaabe26845e850510181e4d280294c9da9e36973a3cd3bc68a06d154b7563e1fe5000956b
7
+ data.tar.gz: a02a164cde0ce3209f518dd01d3d805a7c7010ef86e77fd398e136eb9d6ae60e1d4c913c7c0795fbde5f5ed57dffd824a9553a8df04122ca047ae11f84ea1df4
@@ -0,0 +1,186 @@
1
+ /* config.h. Generated from config.h.in by configure. */
2
+ /* config.h.in. Generated from configure.ac by autoheader. */
3
+
4
+ /* A form that will not confuse apibuild.py */
5
+ #define ATTRIBUTE_DESTRUCTOR __attribute__((destructor))
6
+
7
+ /* Define to 1 if you have the <arpa/inet.h> header file. */
8
+ #define HAVE_ARPA_INET_H 1
9
+
10
+ /* Define if __attribute__((destructor)) is accepted */
11
+ #define HAVE_ATTRIBUTE_DESTRUCTOR 1
12
+
13
+ /* Define to 1 if you have the <dlfcn.h> header file. */
14
+ #define HAVE_DLFCN_H 1
15
+
16
+ /* Have dlopen based dso */
17
+ #define HAVE_DLOPEN /**/
18
+
19
+ /* Define to 1 if you have the <dl.h> header file. */
20
+ /* #undef HAVE_DL_H */
21
+
22
+ /* Define to 1 if you have the <fcntl.h> header file. */
23
+ #define HAVE_FCNTL_H 1
24
+
25
+ /* Define to 1 if you have the `ftime' function. */
26
+ #define HAVE_FTIME 1
27
+
28
+ /* Define to 1 if you have the `gettimeofday' function. */
29
+ #define HAVE_GETTIMEOFDAY 1
30
+
31
+ /* Define to 1 if you have the <glob.h> header file. */
32
+ #define HAVE_GLOB_H 1
33
+
34
+ /* Define to 1 if you have the <inttypes.h> header file. */
35
+ #define HAVE_INTTYPES_H 1
36
+
37
+ /* Define to 1 if you have the `isascii' function. */
38
+ #define HAVE_ISASCII 1
39
+
40
+ /* Define if history library is there (-lhistory) */
41
+ /* #undef HAVE_LIBHISTORY */
42
+
43
+ /* Define if readline library is there (-lreadline) */
44
+ /* #undef HAVE_LIBREADLINE */
45
+
46
+ /* Define to 1 if you have the <lzma.h> header file. */
47
+ /* #undef HAVE_LZMA_H */
48
+
49
+ /* Define to 1 if you have the `mmap' function. */
50
+ #define HAVE_MMAP 1
51
+
52
+ /* Define to 1 if you have the `munmap' function. */
53
+ #define HAVE_MUNMAP 1
54
+
55
+ /* mmap() is no good without munmap() */
56
+ #if defined(HAVE_MMAP) && !defined(HAVE_MUNMAP)
57
+ # undef /**/ HAVE_MMAP
58
+ #endif
59
+
60
+ /* Define to 1 if you have the <netdb.h> header file. */
61
+ #define HAVE_NETDB_H 1
62
+
63
+ /* Define to 1 if you have the <netinet/in.h> header file. */
64
+ #define HAVE_NETINET_IN_H 1
65
+
66
+ /* Define to 1 if you have the <poll.h> header file. */
67
+ #define HAVE_POLL_H 1
68
+
69
+ /* Define to 1 if you have the <pthread.h> header file. */
70
+ #define HAVE_PTHREAD_H /**/
71
+
72
+ /* Define to 1 if you have the `putenv' function. */
73
+ #define HAVE_PUTENV 1
74
+
75
+ /* Define to 1 if you have the `rand_r' function. */
76
+ #define HAVE_RAND_R 1
77
+
78
+ /* Have shl_load based dso */
79
+ /* #undef HAVE_SHLLOAD */
80
+
81
+ /* Define to 1 if you have the `snprintf' function. */
82
+ #define HAVE_SNPRINTF 1
83
+
84
+ /* Define to 1 if you have the `stat' function. */
85
+ #define HAVE_STAT 1
86
+
87
+ /* Define to 1 if you have the <stdint.h> header file. */
88
+ #define HAVE_STDINT_H 1
89
+
90
+ /* Define to 1 if you have the <stdio.h> header file. */
91
+ #define HAVE_STDIO_H 1
92
+
93
+ /* Define to 1 if you have the <stdlib.h> header file. */
94
+ #define HAVE_STDLIB_H 1
95
+
96
+ /* Define to 1 if you have the <strings.h> header file. */
97
+ #define HAVE_STRINGS_H 1
98
+
99
+ /* Define to 1 if you have the <string.h> header file. */
100
+ #define HAVE_STRING_H 1
101
+
102
+ /* Define to 1 if you have the <sys/mman.h> header file. */
103
+ #define HAVE_SYS_MMAN_H 1
104
+
105
+ /* Define to 1 if you have the <sys/select.h> header file. */
106
+ #define HAVE_SYS_SELECT_H 1
107
+
108
+ /* Define to 1 if you have the <sys/socket.h> header file. */
109
+ #define HAVE_SYS_SOCKET_H 1
110
+
111
+ /* Define to 1 if you have the <sys/stat.h> header file. */
112
+ #define HAVE_SYS_STAT_H 1
113
+
114
+ /* Define to 1 if you have the <sys/timeb.h> header file. */
115
+ #define HAVE_SYS_TIMEB_H 1
116
+
117
+ /* Define to 1 if you have the <sys/time.h> header file. */
118
+ #define HAVE_SYS_TIME_H 1
119
+
120
+ /* Define to 1 if you have the <sys/types.h> header file. */
121
+ #define HAVE_SYS_TYPES_H 1
122
+
123
+ /* Define to 1 if you have the <unistd.h> header file. */
124
+ #define HAVE_UNISTD_H 1
125
+
126
+ /* Whether va_copy() is available */
127
+ #define HAVE_VA_COPY 1
128
+
129
+ /* Define to 1 if you have the `vsnprintf' function. */
130
+ #define HAVE_VSNPRINTF 1
131
+
132
+ /* Define to 1 if you have the <zlib.h> header file. */
133
+ /* #undef HAVE_ZLIB_H */
134
+
135
+ /* Whether __va_copy() is available */
136
+ /* #undef HAVE___VA_COPY */
137
+
138
+ /* Define to the sub-directory where libtool stores uninstalled libraries. */
139
+ #define LT_OBJDIR ".libs/"
140
+
141
+ /* Name of package */
142
+ #define PACKAGE "libxml2"
143
+
144
+ /* Define to the address where bug reports for this package should be sent. */
145
+ #define PACKAGE_BUGREPORT ""
146
+
147
+ /* Define to the full name of this package. */
148
+ #define PACKAGE_NAME "libxml2"
149
+
150
+ /* Define to the full name and version of this package. */
151
+ #define PACKAGE_STRING "libxml2 2.11.0"
152
+
153
+ /* Define to the one symbol short name of this package. */
154
+ #define PACKAGE_TARNAME "libxml2"
155
+
156
+ /* Define to the home page for this package. */
157
+ #define PACKAGE_URL ""
158
+
159
+ /* Define to the version of this package. */
160
+ #define PACKAGE_VERSION "2.11.0"
161
+
162
+ /* Define to 1 if all of the C90 standard headers exist (not just the ones
163
+ required in a freestanding environment). This macro is provided for
164
+ backward compatibility; new code need not use it. */
165
+ #define STDC_HEADERS 1
166
+
167
+ /* Support for IPv6 */
168
+ #define SUPPORT_IP6 /**/
169
+
170
+ /* Define if va_list is an array type */
171
+ #define VA_LIST_IS_ARRAY 1
172
+
173
+ /* Version number of package */
174
+ #define VERSION "2.11.0"
175
+
176
+ /* Determine what socket length (socklen_t) data type is */
177
+ #define XML_SOCKLEN_T socklen_t
178
+
179
+ /* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
180
+ <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
181
+ #define below would cause a syntax error. */
182
+ /* #undef _UINT32_T */
183
+
184
+ /* Define to the type of an unsigned integer type of width exactly 32 bits if
185
+ such a type exists and the standard includes do not define it. */
186
+ /* #undef uint32_t */
@@ -0,0 +1,131 @@
1
+ require 'mkmf'
2
+ require 'timeout'
3
+
4
+ # For debugging
5
+ # CONFIG["optflags"] = "-O0"
6
+ # CONFIG["debugflags"] = "-ggdb3"
7
+
8
+ cmake_flags = [ ENV["CMAKE_FLAGS"] ]
9
+ cmake_flags << "-DLEXBOR_BUILD_TESTS_CPP=OFF"
10
+ cmake_flags << "-DLEXBOR_BUILD_SHARED=OFF"
11
+ cmake_flags << "-DLEXBOR_BUILD_STATIC=ON"
12
+ # For debugging
13
+ # cmake_flags << "-DLEXBOR_OPTIMIZATION_LEVEL='-O0 -g'"
14
+
15
+ def sys(cmd)
16
+ puts " -- #{cmd}"
17
+ unless ret = xsystem(cmd)
18
+ raise "ERROR: '#{cmd}' failed"
19
+ end
20
+ ret
21
+ end
22
+
23
+ # Thrown when we detect CMake is taking too long and we killed it
24
+ class CMakeTimeout < StandardError
25
+ end
26
+
27
+ def self.run_cmake(timeout, args)
28
+ # Set to process group so we can kill it and its children
29
+ pgroup = Gem.win_platform? ? :new_pgroup : :pgroup
30
+ pid = Process.spawn("cmake #{args}", pgroup => true)
31
+
32
+ Timeout.timeout(timeout) do
33
+ Process.waitpid(pid)
34
+ end
35
+
36
+ rescue Timeout::Error
37
+ # Kill it, #detach is essentially a background wait, since we don't actually
38
+ # care about waiting for it now
39
+ Process.kill(-9, pid)
40
+ Process.detach(pid)
41
+ raise CMakeTimeout.new("cmake has exceeded its timeout of #{timeout}s")
42
+ end
43
+
44
+ # From: https://stackoverflow.com/questions/2108727
45
+ # Cross-platform way of finding an executable in the $PATH.
46
+ #
47
+ # which('ruby') #=> /usr/bin/ruby
48
+ def which(cmd)
49
+ exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
50
+ ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
51
+ exts.each { |ext|
52
+ exe = File.join(path, "#{cmd}#{ext}")
53
+ return exe if File.executable? exe
54
+ }
55
+ end
56
+ return nil
57
+ end
58
+
59
+ # From: https://github.com/flavorjones/mini_portile/blob/main/lib/mini_portile2/mini_portile.rb#L94
60
+ def apply_patch(patch_file, chdir)
61
+ case
62
+ when which('git')
63
+ # By --work-tree=. git-apply uses the current directory as
64
+ # the project root and will not search upwards for .git.
65
+ Process.waitpid(Process.spawn("git --git-dir=. --work-tree=. apply #{patch_file}", chdir: chdir))
66
+ when which('patch')
67
+ Process.waitpid(Process.spawn("patch -p1 -i #{patch_file}", chdir: chdir))
68
+ else
69
+ raise "Failed to complete patch task; patch(1) or git(1) is required."
70
+ end
71
+ end
72
+
73
+
74
+ MAKE = if Gem.win_platform?
75
+ # On Windows, Ruby-DevKit only has 'make'.
76
+ find_executable('make')
77
+ else
78
+ find_executable('gmake') || find_executable('make')
79
+ end
80
+
81
+ if !MAKE
82
+ abort "ERROR: GNU make is required to build Rugged."
83
+ end
84
+
85
+ CWD = File.expand_path(File.dirname(__FILE__))
86
+ LEXBOR_DIR = File.join(CWD, '..', '..', 'vendor', 'lexbor')
87
+ INSTALL_DIR = File.join(LEXBOR_DIR, 'dist')
88
+
89
+ if !find_executable('cmake')
90
+ abort "ERROR: CMake is required to build Rugged."
91
+ end
92
+
93
+ if !Gem.win_platform? && !find_executable('pkg-config')
94
+ abort "ERROR: pkg-config is required to build Rugged."
95
+ end
96
+
97
+ Dir.chdir(LEXBOR_DIR) do
98
+ # Patch lexbor
99
+ Dir['../../patches/*-lexbor-*.patch'].each do |patch_file|
100
+ apply_patch(patch_file, '.')
101
+ end
102
+
103
+ Dir.mkdir("build") if !Dir.exist?("build")
104
+
105
+ Dir.chdir("build") do
106
+ # On Windows, Ruby-DevKit is MSYS-based, so ensure to use MSYS Makefiles.
107
+ generator = "-G \"MSYS Makefiles\"" if Gem.win_platform?
108
+ run_cmake(10 * 60, ".. -DCMAKE_INSTALL_PREFIX:PATH=#{INSTALL_DIR} #{cmake_flags.join(' ')} #{generator}")
109
+ sys("#{MAKE} install")
110
+ end
111
+ end
112
+
113
+ # Prepend the vendored lexbor build dir to the $DEFLIBPATH.
114
+ #
115
+ # By default, $DEFLIBPATH includes $(libpath), which usually points
116
+ # to something like /usr/lib for system ruby versions (not those
117
+ # installed through rbenv or rvm).
118
+ #
119
+ # This was causing system-wide lexbor installations to be preferred
120
+ # over of our vendored lexbor version when building rugged.
121
+ #
122
+ # By putting the path to the vendored lexbor library at the front of
123
+ # $DEFLIBPATH, we can ensure that our bundled version is always used.
124
+ $DEFLIBPATH.unshift("#{INSTALL_DIR}/lib")
125
+ dir_config('lexbor', "#{INSTALL_DIR}/include", "#{INSTALL_DIR}/lib")
126
+
127
+ unless have_library 'lexbor_static' and have_header 'lexbor/html/html.h'
128
+ abort "ERROR: Failed to build lexbor"
129
+ end
130
+
131
+ create_makefile('nokolexbor/nokolexbor')
@@ -0,0 +1,320 @@
1
+ /*
2
+ * Summary: interface for an HTML 4.0 non-verifying parser
3
+ * Description: this module implements an HTML 4.0 non-verifying parser
4
+ * with API compatible with the XML parser ones. It should
5
+ * be able to parse "real world" HTML, even if severely
6
+ * broken from a specification point of view.
7
+ *
8
+ * Copy: See Copyright for the status of this software.
9
+ *
10
+ * Author: Daniel Veillard
11
+ */
12
+
13
+ #ifndef __HTML_PARSER_H__
14
+ #define __HTML_PARSER_H__
15
+ #include "xmlversion.h"
16
+ #include "parser.h"
17
+
18
+ #ifdef LIBXML_HTML_ENABLED
19
+
20
+ #ifdef __cplusplus
21
+ extern "C" {
22
+ #endif
23
+
24
+ /*
25
+ * Most of the back-end structures from XML and HTML are shared.
26
+ */
27
+ typedef xmlParserCtxt htmlParserCtxt;
28
+ typedef xmlParserCtxtPtr htmlParserCtxtPtr;
29
+ typedef xmlParserNodeInfo htmlParserNodeInfo;
30
+ typedef xmlSAXHandler htmlSAXHandler;
31
+ typedef xmlSAXHandlerPtr htmlSAXHandlerPtr;
32
+ typedef xmlParserInput htmlParserInput;
33
+ typedef xmlParserInputPtr htmlParserInputPtr;
34
+ typedef lxb_dom_document_t_ptr htmlDocPtr;
35
+ typedef lxb_dom_node_t_ptr htmlNodePtr;
36
+
37
+ /*
38
+ * Internal description of an HTML element, representing HTML 4.01
39
+ * and XHTML 1.0 (which share the same structure).
40
+ */
41
+ typedef struct _htmlElemDesc htmlElemDesc;
42
+ typedef htmlElemDesc *htmlElemDescPtr;
43
+ struct _htmlElemDesc {
44
+ const char *name; /* The tag name */
45
+ char startTag; /* Whether the start tag can be implied */
46
+ char endTag; /* Whether the end tag can be implied */
47
+ char saveEndTag; /* Whether the end tag should be saved */
48
+ char empty; /* Is this an empty element ? */
49
+ char depr; /* Is this a deprecated element ? */
50
+ char dtd; /* 1: only in Loose DTD, 2: only Frameset one */
51
+ char isinline; /* is this a block 0 or inline 1 element */
52
+ const char *desc; /* the description */
53
+
54
+ /* NRK Jan.2003
55
+ * New fields encapsulating HTML structure
56
+ *
57
+ * Bugs:
58
+ * This is a very limited representation. It fails to tell us when
59
+ * an element *requires* subelements (we only have whether they're
60
+ * allowed or not), and it doesn't tell us where CDATA and PCDATA
61
+ * are allowed. Some element relationships are not fully represented:
62
+ * these are flagged with the word MODIFIER
63
+ */
64
+ const char** subelts; /* allowed sub-elements of this element */
65
+ const char* defaultsubelt; /* subelement for suggested auto-repair
66
+ if necessary or NULL */
67
+ const char** attrs_opt; /* Optional Attributes */
68
+ const char** attrs_depr; /* Additional deprecated attributes */
69
+ const char** attrs_req; /* Required attributes */
70
+ };
71
+
72
+ /*
73
+ * Internal description of an HTML entity.
74
+ */
75
+ typedef struct _htmlEntityDesc htmlEntityDesc;
76
+ typedef htmlEntityDesc *htmlEntityDescPtr;
77
+ struct _htmlEntityDesc {
78
+ unsigned int value; /* the UNICODE value for the character */
79
+ const char *name; /* The entity name */
80
+ const char *desc; /* the description */
81
+ };
82
+
83
+ /*
84
+ * There is only few public functions.
85
+ */
86
+ XML_DEPRECATED
87
+ XMLPUBFUN void XMLCALL
88
+ htmlInitAutoClose (void);
89
+ XMLPUBFUN const htmlElemDesc * XMLCALL
90
+ htmlTagLookup (const xmlChar *tag);
91
+ XMLPUBFUN const htmlEntityDesc * XMLCALL
92
+ htmlEntityLookup(const xmlChar *name);
93
+ XMLPUBFUN const htmlEntityDesc * XMLCALL
94
+ htmlEntityValueLookup(unsigned int value);
95
+
96
+ XMLPUBFUN int XMLCALL
97
+ htmlIsAutoClosed(htmlDocPtr doc,
98
+ htmlNodePtr elem);
99
+ XMLPUBFUN int XMLCALL
100
+ htmlAutoCloseTag(htmlDocPtr doc,
101
+ const xmlChar *name,
102
+ htmlNodePtr elem);
103
+ XML_DEPRECATED
104
+ XMLPUBFUN const htmlEntityDesc * XMLCALL
105
+ htmlParseEntityRef(htmlParserCtxtPtr ctxt,
106
+ const xmlChar **str);
107
+ XML_DEPRECATED
108
+ XMLPUBFUN int XMLCALL
109
+ htmlParseCharRef(htmlParserCtxtPtr ctxt);
110
+ XML_DEPRECATED
111
+ XMLPUBFUN void XMLCALL
112
+ htmlParseElement(htmlParserCtxtPtr ctxt);
113
+
114
+ XMLPUBFUN htmlParserCtxtPtr XMLCALL
115
+ htmlNewParserCtxt(void);
116
+ XMLPUBFUN htmlParserCtxtPtr XMLCALL
117
+ htmlNewSAXParserCtxt(const htmlSAXHandler *sax,
118
+ void *userData);
119
+
120
+ XMLPUBFUN htmlParserCtxtPtr XMLCALL
121
+ htmlCreateMemoryParserCtxt(const char *buffer,
122
+ int size);
123
+
124
+ XMLPUBFUN int XMLCALL
125
+ htmlParseDocument(htmlParserCtxtPtr ctxt);
126
+ XML_DEPRECATED
127
+ XMLPUBFUN htmlDocPtr XMLCALL
128
+ htmlSAXParseDoc (const xmlChar *cur,
129
+ const char *encoding,
130
+ htmlSAXHandlerPtr sax,
131
+ void *userData);
132
+ XMLPUBFUN htmlDocPtr XMLCALL
133
+ htmlParseDoc (const xmlChar *cur,
134
+ const char *encoding);
135
+ XMLPUBFUN htmlParserCtxtPtr XMLCALL
136
+ htmlCreateFileParserCtxt(const char *filename,
137
+ const char *encoding);
138
+ XML_DEPRECATED
139
+ XMLPUBFUN htmlDocPtr XMLCALL
140
+ htmlSAXParseFile(const char *filename,
141
+ const char *encoding,
142
+ htmlSAXHandlerPtr sax,
143
+ void *userData);
144
+ XMLPUBFUN htmlDocPtr XMLCALL
145
+ htmlParseFile (const char *filename,
146
+ const char *encoding);
147
+ XMLPUBFUN int XMLCALL
148
+ UTF8ToHtml (unsigned char *out,
149
+ int *outlen,
150
+ const unsigned char *in,
151
+ int *inlen);
152
+ XMLPUBFUN int XMLCALL
153
+ htmlEncodeEntities(unsigned char *out,
154
+ int *outlen,
155
+ const unsigned char *in,
156
+ int *inlen, int quoteChar);
157
+ XMLPUBFUN int XMLCALL
158
+ htmlIsScriptAttribute(const xmlChar *name);
159
+ XMLPUBFUN int XMLCALL
160
+ htmlHandleOmittedElem(int val);
161
+
162
+ #ifdef LIBXML_PUSH_ENABLED
163
+ /**
164
+ * Interfaces for the Push mode.
165
+ */
166
+ XMLPUBFUN htmlParserCtxtPtr XMLCALL
167
+ htmlCreatePushParserCtxt(htmlSAXHandlerPtr sax,
168
+ void *user_data,
169
+ const char *chunk,
170
+ int size,
171
+ const char *filename,
172
+ xmlCharEncoding enc);
173
+ XMLPUBFUN int XMLCALL
174
+ htmlParseChunk (htmlParserCtxtPtr ctxt,
175
+ const char *chunk,
176
+ int size,
177
+ int terminate);
178
+ #endif /* LIBXML_PUSH_ENABLED */
179
+
180
+ XMLPUBFUN void XMLCALL
181
+ htmlFreeParserCtxt (htmlParserCtxtPtr ctxt);
182
+
183
+ /*
184
+ * New set of simpler/more flexible APIs
185
+ */
186
+ /**
187
+ * xmlParserOption:
188
+ *
189
+ * This is the set of XML parser options that can be passed down
190
+ * to the xmlReadDoc() and similar calls.
191
+ */
192
+ typedef enum {
193
+ HTML_PARSE_RECOVER = 1<<0, /* Relaxed parsing */
194
+ HTML_PARSE_NODEFDTD = 1<<2, /* do not default a doctype if not found */
195
+ HTML_PARSE_NOERROR = 1<<5, /* suppress error reports */
196
+ HTML_PARSE_NOWARNING= 1<<6, /* suppress warning reports */
197
+ HTML_PARSE_PEDANTIC = 1<<7, /* pedantic error reporting */
198
+ HTML_PARSE_NOBLANKS = 1<<8, /* remove blank nodes */
199
+ HTML_PARSE_NONET = 1<<11,/* Forbid network access */
200
+ HTML_PARSE_NOIMPLIED= 1<<13,/* Do not add implied html/body... elements */
201
+ HTML_PARSE_COMPACT = 1<<16,/* compact small text nodes */
202
+ HTML_PARSE_IGNORE_ENC=1<<21 /* ignore internal document encoding hint */
203
+ } htmlParserOption;
204
+
205
+ XMLPUBFUN void XMLCALL
206
+ htmlCtxtReset (htmlParserCtxtPtr ctxt);
207
+ XMLPUBFUN int XMLCALL
208
+ htmlCtxtUseOptions (htmlParserCtxtPtr ctxt,
209
+ int options);
210
+ XMLPUBFUN htmlDocPtr XMLCALL
211
+ htmlReadDoc (const xmlChar *cur,
212
+ const char *URL,
213
+ const char *encoding,
214
+ int options);
215
+ XMLPUBFUN htmlDocPtr XMLCALL
216
+ htmlReadFile (const char *URL,
217
+ const char *encoding,
218
+ int options);
219
+ XMLPUBFUN htmlDocPtr XMLCALL
220
+ htmlReadMemory (const char *buffer,
221
+ int size,
222
+ const char *URL,
223
+ const char *encoding,
224
+ int options);
225
+ XMLPUBFUN htmlDocPtr XMLCALL
226
+ htmlReadFd (int fd,
227
+ const char *URL,
228
+ const char *encoding,
229
+ int options);
230
+ XMLPUBFUN htmlDocPtr XMLCALL
231
+ htmlReadIO (xmlInputReadCallback ioread,
232
+ xmlInputCloseCallback ioclose,
233
+ void *ioctx,
234
+ const char *URL,
235
+ const char *encoding,
236
+ int options);
237
+ XMLPUBFUN htmlDocPtr XMLCALL
238
+ htmlCtxtReadDoc (xmlParserCtxtPtr ctxt,
239
+ const xmlChar *cur,
240
+ const char *URL,
241
+ const char *encoding,
242
+ int options);
243
+ XMLPUBFUN htmlDocPtr XMLCALL
244
+ htmlCtxtReadFile (xmlParserCtxtPtr ctxt,
245
+ const char *filename,
246
+ const char *encoding,
247
+ int options);
248
+ XMLPUBFUN htmlDocPtr XMLCALL
249
+ htmlCtxtReadMemory (xmlParserCtxtPtr ctxt,
250
+ const char *buffer,
251
+ int size,
252
+ const char *URL,
253
+ const char *encoding,
254
+ int options);
255
+ XMLPUBFUN htmlDocPtr XMLCALL
256
+ htmlCtxtReadFd (xmlParserCtxtPtr ctxt,
257
+ int fd,
258
+ const char *URL,
259
+ const char *encoding,
260
+ int options);
261
+ XMLPUBFUN htmlDocPtr XMLCALL
262
+ htmlCtxtReadIO (xmlParserCtxtPtr ctxt,
263
+ xmlInputReadCallback ioread,
264
+ xmlInputCloseCallback ioclose,
265
+ void *ioctx,
266
+ const char *URL,
267
+ const char *encoding,
268
+ int options);
269
+
270
+ /* NRK/Jan2003: further knowledge of HTML structure
271
+ */
272
+ typedef enum {
273
+ HTML_NA = 0 , /* something we don't check at all */
274
+ HTML_INVALID = 0x1 ,
275
+ HTML_DEPRECATED = 0x2 ,
276
+ HTML_VALID = 0x4 ,
277
+ HTML_REQUIRED = 0xc /* VALID bit set so ( & HTML_VALID ) is TRUE */
278
+ } htmlStatus ;
279
+
280
+ /* Using htmlElemDesc rather than name here, to emphasise the fact
281
+ that otherwise there's a lookup overhead
282
+ */
283
+ XMLPUBFUN htmlStatus XMLCALL htmlAttrAllowed(const htmlElemDesc*, const xmlChar*, int) ;
284
+ XMLPUBFUN int XMLCALL htmlElementAllowedHere(const htmlElemDesc*, const xmlChar*) ;
285
+ XMLPUBFUN htmlStatus XMLCALL htmlElementStatusHere(const htmlElemDesc*, const htmlElemDesc*) ;
286
+ XMLPUBFUN htmlStatus XMLCALL htmlNodeStatus(const htmlNodePtr, int) ;
287
+ /**
288
+ * htmlDefaultSubelement:
289
+ * @elt: HTML element
290
+ *
291
+ * Returns the default subelement for this element
292
+ */
293
+ #define htmlDefaultSubelement(elt) elt->defaultsubelt
294
+ /**
295
+ * htmlElementAllowedHereDesc:
296
+ * @parent: HTML parent element
297
+ * @elt: HTML element
298
+ *
299
+ * Checks whether an HTML element description may be a
300
+ * direct child of the specified element.
301
+ *
302
+ * Returns 1 if allowed; 0 otherwise.
303
+ */
304
+ #define htmlElementAllowedHereDesc(parent,elt) \
305
+ htmlElementAllowedHere((parent), (elt)->name)
306
+ /**
307
+ * htmlRequiredAttrs:
308
+ * @elt: HTML element
309
+ *
310
+ * Returns the attributes required for the specified element.
311
+ */
312
+ #define htmlRequiredAttrs(elt) (elt)->attrs_req
313
+
314
+
315
+ #ifdef __cplusplus
316
+ }
317
+ #endif
318
+
319
+ #endif /* LIBXML_HTML_ENABLED */
320
+ #endif /* __HTML_PARSER_H__ */