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
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Summary: library of generic URI related routines
3
+ * Description: library of generic URI related routines
4
+ * Implements RFC 2396
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_URI_H__
12
+ #define __XML_URI_H__
13
+
14
+ #include "xmlversion.h"
15
+ #include "tree.h"
16
+
17
+ #ifdef __cplusplus
18
+ extern "C" {
19
+ #endif
20
+
21
+ /**
22
+ * xmlURI:
23
+ *
24
+ * A parsed URI reference. This is a struct containing the various fields
25
+ * as described in RFC 2396 but separated for further processing.
26
+ *
27
+ * Note: query is a deprecated field which is incorrectly unescaped.
28
+ * query_raw takes precedence over query if the former is set.
29
+ * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127
30
+ */
31
+ typedef struct _xmlURI xmlURI;
32
+ typedef xmlURI *xmlURIPtr;
33
+ struct _xmlURI {
34
+ char *scheme; /* the URI scheme */
35
+ char *opaque; /* opaque part */
36
+ char *authority; /* the authority part */
37
+ char *server; /* the server part */
38
+ char *user; /* the user part */
39
+ int port; /* the port number */
40
+ char *path; /* the path string */
41
+ char *query; /* the query string (deprecated - use with caution) */
42
+ char *fragment; /* the fragment identifier */
43
+ int cleanup; /* parsing potentially unclean URI */
44
+ char *query_raw; /* the query string (as it appears in the URI) */
45
+ };
46
+
47
+ /*
48
+ * This function is in tree.h:
49
+ * xmlChar * xmlNodeGetBase (xmlDocPtr doc,
50
+ * xmlNodePtr cur);
51
+ */
52
+ XMLPUBFUN xmlURIPtr
53
+ xmlCreateURI (void);
54
+ XMLPUBFUN xmlChar *
55
+ xmlBuildURI (const xmlChar *URI,
56
+ const xmlChar *base);
57
+ XMLPUBFUN xmlChar *
58
+ xmlBuildRelativeURI (const xmlChar *URI,
59
+ const xmlChar *base);
60
+ XMLPUBFUN xmlURIPtr
61
+ xmlParseURI (const char *str);
62
+ XMLPUBFUN xmlURIPtr
63
+ xmlParseURIRaw (const char *str,
64
+ int raw);
65
+ XMLPUBFUN int
66
+ xmlParseURIReference (xmlURIPtr uri,
67
+ const char *str);
68
+ XMLPUBFUN xmlChar *
69
+ xmlSaveUri (xmlURIPtr uri);
70
+ XMLPUBFUN void
71
+ xmlPrintURI (FILE *stream,
72
+ xmlURIPtr uri);
73
+ XMLPUBFUN xmlChar *
74
+ xmlURIEscapeStr (const xmlChar *str,
75
+ const xmlChar *list);
76
+ XMLPUBFUN char *
77
+ xmlURIUnescapeString (const char *str,
78
+ int len,
79
+ char *target);
80
+ XMLPUBFUN int
81
+ xmlNormalizeURIPath (char *path);
82
+ XMLPUBFUN xmlChar *
83
+ xmlURIEscape (const xmlChar *str);
84
+ XMLPUBFUN void
85
+ xmlFreeURI (xmlURIPtr uri);
86
+ XMLPUBFUN xmlChar*
87
+ xmlCanonicPath (const xmlChar *path);
88
+ XMLPUBFUN xmlChar*
89
+ xmlPathToURI (const xmlChar *path);
90
+
91
+ #ifdef __cplusplus
92
+ }
93
+ #endif
94
+ #endif /* __XML_URI_H__ */
@@ -0,0 +1,448 @@
1
+ /*
2
+ * Summary: The DTD validation
3
+ * Description: API for the DTD handling and the validity checking
4
+ *
5
+ * Copy: See Copyright for the status of this software.
6
+ *
7
+ * Author: Daniel Veillard
8
+ */
9
+
10
+
11
+ #ifndef __XML_VALID_H__
12
+ #define __XML_VALID_H__
13
+
14
+ #include "xmlversion.h"
15
+ #include "xmlerror.h"
16
+ #include "tree.h"
17
+ #include "list.h"
18
+ #include "xmlautomata.h"
19
+ #include "xmlregexp.h"
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+ /*
26
+ * Validation state added for non-determinist content model.
27
+ */
28
+ typedef struct _xmlValidState xmlValidState;
29
+ typedef xmlValidState *xmlValidStatePtr;
30
+
31
+ /**
32
+ * xmlValidityErrorFunc:
33
+ * @ctx: usually an xmlValidCtxtPtr to a validity error context,
34
+ * but comes from ctxt->userData (which normally contains such
35
+ * a pointer); ctxt->userData can be changed by the user.
36
+ * @msg: the string to format *printf like vararg
37
+ * @...: remaining arguments to the format
38
+ *
39
+ * Callback called when a validity error is found. This is a message
40
+ * oriented function similar to an *printf function.
41
+ */
42
+ typedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx,
43
+ const char *msg,
44
+ ...) LIBXML_ATTR_FORMAT(2,3);
45
+
46
+ /**
47
+ * xmlValidityWarningFunc:
48
+ * @ctx: usually an xmlValidCtxtPtr to a validity error context,
49
+ * but comes from ctxt->userData (which normally contains such
50
+ * a pointer); ctxt->userData can be changed by the user.
51
+ * @msg: the string to format *printf like vararg
52
+ * @...: remaining arguments to the format
53
+ *
54
+ * Callback called when a validity warning is found. This is a message
55
+ * oriented function similar to an *printf function.
56
+ */
57
+ typedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
58
+ const char *msg,
59
+ ...) LIBXML_ATTR_FORMAT(2,3);
60
+
61
+ /*
62
+ * xmlValidCtxt:
63
+ * An xmlValidCtxt is used for error reporting when validating.
64
+ */
65
+ typedef struct _xmlValidCtxt xmlValidCtxt;
66
+ typedef xmlValidCtxt *xmlValidCtxtPtr;
67
+ struct _xmlValidCtxt {
68
+ void *userData; /* user specific data block */
69
+ xmlValidityErrorFunc error; /* the callback in case of errors */
70
+ xmlValidityWarningFunc warning; /* the callback in case of warning */
71
+
72
+ /* Node analysis stack used when validating within entities */
73
+ lxb_dom_node_t_ptr node; /* Current parsed Node */
74
+ int nodeNr; /* Depth of the parsing stack */
75
+ int nodeMax; /* Max depth of the parsing stack */
76
+ lxb_dom_node_t_ptr *nodeTab; /* array of nodes */
77
+
78
+ unsigned int flags; /* internal flags */
79
+ lxb_dom_document_t_ptr doc; /* the document */
80
+ int valid; /* temporary validity check result */
81
+
82
+ /* state state used for non-determinist content validation */
83
+ xmlValidState *vstate; /* current state */
84
+ int vstateNr; /* Depth of the validation stack */
85
+ int vstateMax; /* Max depth of the validation stack */
86
+ xmlValidState *vstateTab; /* array of validation states */
87
+
88
+ #ifdef LIBXML_REGEXP_ENABLED
89
+ xmlAutomataPtr am; /* the automata */
90
+ xmlAutomataStatePtr state; /* used to build the automata */
91
+ #else
92
+ void *am;
93
+ void *state;
94
+ #endif
95
+ };
96
+
97
+ /*
98
+ * ALL notation declarations are stored in a table.
99
+ * There is one table per DTD.
100
+ */
101
+
102
+ typedef struct _xmlHashTable xmlNotationTable;
103
+ typedef xmlNotationTable *xmlNotationTablePtr;
104
+
105
+ /*
106
+ * ALL element declarations are stored in a table.
107
+ * There is one table per DTD.
108
+ */
109
+
110
+ typedef struct _xmlHashTable xmlElementTable;
111
+ typedef xmlElementTable *xmlElementTablePtr;
112
+
113
+ /*
114
+ * ALL attribute declarations are stored in a table.
115
+ * There is one table per DTD.
116
+ */
117
+
118
+ typedef struct _xmlHashTable xmlAttributeTable;
119
+ typedef xmlAttributeTable *xmlAttributeTablePtr;
120
+
121
+ /*
122
+ * ALL IDs attributes are stored in a table.
123
+ * There is one table per document.
124
+ */
125
+
126
+ typedef struct _xmlHashTable xmlIDTable;
127
+ typedef xmlIDTable *xmlIDTablePtr;
128
+
129
+ /*
130
+ * ALL Refs attributes are stored in a table.
131
+ * There is one table per document.
132
+ */
133
+
134
+ typedef struct _xmlHashTable xmlRefTable;
135
+ typedef xmlRefTable *xmlRefTablePtr;
136
+
137
+ /* Notation */
138
+ XMLPUBFUN xmlNotationPtr XMLCALL
139
+ xmlAddNotationDecl (xmlValidCtxtPtr ctxt,
140
+ xmlDtdPtr dtd,
141
+ const xmlChar *name,
142
+ const xmlChar *PublicID,
143
+ const xmlChar *SystemID);
144
+ #ifdef LIBXML_TREE_ENABLED
145
+ XMLPUBFUN xmlNotationTablePtr XMLCALL
146
+ xmlCopyNotationTable (xmlNotationTablePtr table);
147
+ #endif /* LIBXML_TREE_ENABLED */
148
+ XMLPUBFUN void XMLCALL
149
+ xmlFreeNotationTable (xmlNotationTablePtr table);
150
+ #ifdef LIBXML_OUTPUT_ENABLED
151
+ XMLPUBFUN void XMLCALL
152
+ xmlDumpNotationDecl (xmlBufferPtr buf,
153
+ xmlNotationPtr nota);
154
+ XMLPUBFUN void XMLCALL
155
+ xmlDumpNotationTable (xmlBufferPtr buf,
156
+ xmlNotationTablePtr table);
157
+ #endif /* LIBXML_OUTPUT_ENABLED */
158
+
159
+ /* Element Content */
160
+ /* the non Doc version are being deprecated */
161
+ XMLPUBFUN xmlElementContentPtr XMLCALL
162
+ xmlNewElementContent (const xmlChar *name,
163
+ xmlElementContentType type);
164
+ XMLPUBFUN xmlElementContentPtr XMLCALL
165
+ xmlCopyElementContent (xmlElementContentPtr content);
166
+ XMLPUBFUN void XMLCALL
167
+ xmlFreeElementContent (xmlElementContentPtr cur);
168
+ /* the new versions with doc argument */
169
+ XMLPUBFUN xmlElementContentPtr XMLCALL
170
+ xmlNewDocElementContent (lxb_dom_document_t_ptr doc,
171
+ const xmlChar *name,
172
+ xmlElementContentType type);
173
+ XMLPUBFUN xmlElementContentPtr XMLCALL
174
+ xmlCopyDocElementContent(lxb_dom_document_t_ptr doc,
175
+ xmlElementContentPtr content);
176
+ XMLPUBFUN void XMLCALL
177
+ xmlFreeDocElementContent(lxb_dom_document_t_ptr doc,
178
+ xmlElementContentPtr cur);
179
+ XMLPUBFUN void XMLCALL
180
+ xmlSnprintfElementContent(char *buf,
181
+ int size,
182
+ xmlElementContentPtr content,
183
+ int englob);
184
+ #ifdef LIBXML_OUTPUT_ENABLED
185
+ /* DEPRECATED */
186
+ XMLPUBFUN void XMLCALL
187
+ xmlSprintfElementContent(char *buf,
188
+ xmlElementContentPtr content,
189
+ int englob);
190
+ #endif /* LIBXML_OUTPUT_ENABLED */
191
+ /* DEPRECATED */
192
+
193
+ /* Element */
194
+ XMLPUBFUN xmlElementPtr XMLCALL
195
+ xmlAddElementDecl (xmlValidCtxtPtr ctxt,
196
+ xmlDtdPtr dtd,
197
+ const xmlChar *name,
198
+ xmlElementTypeVal type,
199
+ xmlElementContentPtr content);
200
+ #ifdef LIBXML_TREE_ENABLED
201
+ XMLPUBFUN xmlElementTablePtr XMLCALL
202
+ xmlCopyElementTable (xmlElementTablePtr table);
203
+ #endif /* LIBXML_TREE_ENABLED */
204
+ XMLPUBFUN void XMLCALL
205
+ xmlFreeElementTable (xmlElementTablePtr table);
206
+ #ifdef LIBXML_OUTPUT_ENABLED
207
+ XMLPUBFUN void XMLCALL
208
+ xmlDumpElementTable (xmlBufferPtr buf,
209
+ xmlElementTablePtr table);
210
+ XMLPUBFUN void XMLCALL
211
+ xmlDumpElementDecl (xmlBufferPtr buf,
212
+ xmlElementPtr elem);
213
+ #endif /* LIBXML_OUTPUT_ENABLED */
214
+
215
+ /* Enumeration */
216
+ XMLPUBFUN xmlEnumerationPtr XMLCALL
217
+ xmlCreateEnumeration (const xmlChar *name);
218
+ XMLPUBFUN void XMLCALL
219
+ xmlFreeEnumeration (xmlEnumerationPtr cur);
220
+ #ifdef LIBXML_TREE_ENABLED
221
+ XMLPUBFUN xmlEnumerationPtr XMLCALL
222
+ xmlCopyEnumeration (xmlEnumerationPtr cur);
223
+ #endif /* LIBXML_TREE_ENABLED */
224
+
225
+ /* Attribute */
226
+ XMLPUBFUN xmlAttributePtr XMLCALL
227
+ xmlAddAttributeDecl (xmlValidCtxtPtr ctxt,
228
+ xmlDtdPtr dtd,
229
+ const xmlChar *elem,
230
+ const xmlChar *name,
231
+ const xmlChar *ns,
232
+ xmlAttributeType type,
233
+ xmlAttributeDefault def,
234
+ const xmlChar *defaultValue,
235
+ xmlEnumerationPtr tree);
236
+ #ifdef LIBXML_TREE_ENABLED
237
+ XMLPUBFUN xmlAttributeTablePtr XMLCALL
238
+ xmlCopyAttributeTable (xmlAttributeTablePtr table);
239
+ #endif /* LIBXML_TREE_ENABLED */
240
+ XMLPUBFUN void XMLCALL
241
+ xmlFreeAttributeTable (xmlAttributeTablePtr table);
242
+ #ifdef LIBXML_OUTPUT_ENABLED
243
+ XMLPUBFUN void XMLCALL
244
+ xmlDumpAttributeTable (xmlBufferPtr buf,
245
+ xmlAttributeTablePtr table);
246
+ XMLPUBFUN void XMLCALL
247
+ xmlDumpAttributeDecl (xmlBufferPtr buf,
248
+ xmlAttributePtr attr);
249
+ #endif /* LIBXML_OUTPUT_ENABLED */
250
+
251
+ /* IDs */
252
+ XMLPUBFUN xmlIDPtr XMLCALL
253
+ xmlAddID (xmlValidCtxtPtr ctxt,
254
+ lxb_dom_document_t_ptr doc,
255
+ const xmlChar *value,
256
+ lxb_dom_attr_t_ptr attr);
257
+ XMLPUBFUN void XMLCALL
258
+ xmlFreeIDTable (xmlIDTablePtr table);
259
+ XMLPUBFUN lxb_dom_attr_t_ptr XMLCALL
260
+ xmlGetID (lxb_dom_document_t_ptr doc,
261
+ const xmlChar *ID);
262
+ XMLPUBFUN int XMLCALL
263
+ xmlIsID (lxb_dom_document_t_ptr doc,
264
+ lxb_dom_node_t_ptr elem,
265
+ lxb_dom_attr_t_ptr attr);
266
+ XMLPUBFUN int XMLCALL
267
+ xmlRemoveID (lxb_dom_document_t_ptr doc,
268
+ lxb_dom_attr_t_ptr attr);
269
+
270
+ /* IDREFs */
271
+ XML_DEPRECATED
272
+ XMLPUBFUN xmlRefPtr XMLCALL
273
+ xmlAddRef (xmlValidCtxtPtr ctxt,
274
+ lxb_dom_document_t_ptr doc,
275
+ const xmlChar *value,
276
+ lxb_dom_attr_t_ptr attr);
277
+ XML_DEPRECATED
278
+ XMLPUBFUN void XMLCALL
279
+ xmlFreeRefTable (xmlRefTablePtr table);
280
+ XML_DEPRECATED
281
+ XMLPUBFUN int XMLCALL
282
+ xmlIsRef (lxb_dom_document_t_ptr doc,
283
+ lxb_dom_node_t_ptr elem,
284
+ lxb_dom_attr_t_ptr attr);
285
+ XML_DEPRECATED
286
+ XMLPUBFUN int XMLCALL
287
+ xmlRemoveRef (lxb_dom_document_t_ptr doc,
288
+ lxb_dom_attr_t_ptr attr);
289
+ XML_DEPRECATED
290
+ XMLPUBFUN xmlListPtr XMLCALL
291
+ xmlGetRefs (lxb_dom_document_t_ptr doc,
292
+ const xmlChar *ID);
293
+
294
+ /**
295
+ * The public function calls related to validity checking.
296
+ */
297
+ #ifdef LIBXML_VALID_ENABLED
298
+ /* Allocate/Release Validation Contexts */
299
+ XMLPUBFUN xmlValidCtxtPtr XMLCALL
300
+ xmlNewValidCtxt(void);
301
+ XMLPUBFUN void XMLCALL
302
+ xmlFreeValidCtxt(xmlValidCtxtPtr);
303
+
304
+ XMLPUBFUN int XMLCALL
305
+ xmlValidateRoot (xmlValidCtxtPtr ctxt,
306
+ lxb_dom_document_t_ptr doc);
307
+ XMLPUBFUN int XMLCALL
308
+ xmlValidateElementDecl (xmlValidCtxtPtr ctxt,
309
+ lxb_dom_document_t_ptr doc,
310
+ xmlElementPtr elem);
311
+ XMLPUBFUN xmlChar * XMLCALL
312
+ xmlValidNormalizeAttributeValue(lxb_dom_document_t_ptr doc,
313
+ lxb_dom_node_t_ptr elem,
314
+ const xmlChar *name,
315
+ const xmlChar *value);
316
+ XMLPUBFUN xmlChar * XMLCALL
317
+ xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
318
+ lxb_dom_document_t_ptr doc,
319
+ lxb_dom_node_t_ptr elem,
320
+ const xmlChar *name,
321
+ const xmlChar *value);
322
+ XMLPUBFUN int XMLCALL
323
+ xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt,
324
+ lxb_dom_document_t_ptr doc,
325
+ xmlAttributePtr attr);
326
+ XMLPUBFUN int XMLCALL
327
+ xmlValidateAttributeValue(xmlAttributeType type,
328
+ const xmlChar *value);
329
+ XMLPUBFUN int XMLCALL
330
+ xmlValidateNotationDecl (xmlValidCtxtPtr ctxt,
331
+ lxb_dom_document_t_ptr doc,
332
+ xmlNotationPtr nota);
333
+ XMLPUBFUN int XMLCALL
334
+ xmlValidateDtd (xmlValidCtxtPtr ctxt,
335
+ lxb_dom_document_t_ptr doc,
336
+ xmlDtdPtr dtd);
337
+ XMLPUBFUN int XMLCALL
338
+ xmlValidateDtdFinal (xmlValidCtxtPtr ctxt,
339
+ lxb_dom_document_t_ptr doc);
340
+ XMLPUBFUN int XMLCALL
341
+ xmlValidateDocument (xmlValidCtxtPtr ctxt,
342
+ lxb_dom_document_t_ptr doc);
343
+ XMLPUBFUN int XMLCALL
344
+ xmlValidateElement (xmlValidCtxtPtr ctxt,
345
+ lxb_dom_document_t_ptr doc,
346
+ lxb_dom_node_t_ptr elem);
347
+ XMLPUBFUN int XMLCALL
348
+ xmlValidateOneElement (xmlValidCtxtPtr ctxt,
349
+ lxb_dom_document_t_ptr doc,
350
+ lxb_dom_node_t_ptr elem);
351
+ XMLPUBFUN int XMLCALL
352
+ xmlValidateOneAttribute (xmlValidCtxtPtr ctxt,
353
+ lxb_dom_document_t_ptr doc,
354
+ lxb_dom_node_t_ptr elem,
355
+ lxb_dom_attr_t_ptr attr,
356
+ const xmlChar *value);
357
+ XMLPUBFUN int XMLCALL
358
+ xmlValidateOneNamespace (xmlValidCtxtPtr ctxt,
359
+ lxb_dom_document_t_ptr doc,
360
+ lxb_dom_node_t_ptr elem,
361
+ const xmlChar *prefix,
362
+ xmlNsPtr ns,
363
+ const xmlChar *value);
364
+ XMLPUBFUN int XMLCALL
365
+ xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt,
366
+ lxb_dom_document_t_ptr doc);
367
+ #endif /* LIBXML_VALID_ENABLED */
368
+
369
+ #if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
370
+ XMLPUBFUN int XMLCALL
371
+ xmlValidateNotationUse (xmlValidCtxtPtr ctxt,
372
+ lxb_dom_document_t_ptr doc,
373
+ const xmlChar *notationName);
374
+ #endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */
375
+
376
+ XMLPUBFUN int XMLCALL
377
+ xmlIsMixedElement (lxb_dom_document_t_ptr doc,
378
+ const xmlChar *name);
379
+ XMLPUBFUN xmlAttributePtr XMLCALL
380
+ xmlGetDtdAttrDesc (xmlDtdPtr dtd,
381
+ const xmlChar *elem,
382
+ const xmlChar *name);
383
+ XMLPUBFUN xmlAttributePtr XMLCALL
384
+ xmlGetDtdQAttrDesc (xmlDtdPtr dtd,
385
+ const xmlChar *elem,
386
+ const xmlChar *name,
387
+ const xmlChar *prefix);
388
+ XMLPUBFUN xmlNotationPtr XMLCALL
389
+ xmlGetDtdNotationDesc (xmlDtdPtr dtd,
390
+ const xmlChar *name);
391
+ XMLPUBFUN xmlElementPtr XMLCALL
392
+ xmlGetDtdQElementDesc (xmlDtdPtr dtd,
393
+ const xmlChar *name,
394
+ const xmlChar *prefix);
395
+ XMLPUBFUN xmlElementPtr XMLCALL
396
+ xmlGetDtdElementDesc (xmlDtdPtr dtd,
397
+ const xmlChar *name);
398
+
399
+ #ifdef LIBXML_VALID_ENABLED
400
+
401
+ XMLPUBFUN int XMLCALL
402
+ xmlValidGetPotentialChildren(xmlElementContent *ctree,
403
+ const xmlChar **names,
404
+ int *len,
405
+ int max);
406
+
407
+ XMLPUBFUN int XMLCALL
408
+ xmlValidGetValidElements(xmlNode *prev,
409
+ xmlNode *next,
410
+ const xmlChar **names,
411
+ int max);
412
+ XMLPUBFUN int XMLCALL
413
+ xmlValidateNameValue (const xmlChar *value);
414
+ XMLPUBFUN int XMLCALL
415
+ xmlValidateNamesValue (const xmlChar *value);
416
+ XMLPUBFUN int XMLCALL
417
+ xmlValidateNmtokenValue (const xmlChar *value);
418
+ XMLPUBFUN int XMLCALL
419
+ xmlValidateNmtokensValue(const xmlChar *value);
420
+
421
+ #ifdef LIBXML_REGEXP_ENABLED
422
+ /*
423
+ * Validation based on the regexp support
424
+ */
425
+ XMLPUBFUN int XMLCALL
426
+ xmlValidBuildContentModel(xmlValidCtxtPtr ctxt,
427
+ xmlElementPtr elem);
428
+
429
+ XMLPUBFUN int XMLCALL
430
+ xmlValidatePushElement (xmlValidCtxtPtr ctxt,
431
+ lxb_dom_document_t_ptr doc,
432
+ lxb_dom_node_t_ptr elem,
433
+ const xmlChar *qname);
434
+ XMLPUBFUN int XMLCALL
435
+ xmlValidatePushCData (xmlValidCtxtPtr ctxt,
436
+ const xmlChar *data,
437
+ int len);
438
+ XMLPUBFUN int XMLCALL
439
+ xmlValidatePopElement (xmlValidCtxtPtr ctxt,
440
+ lxb_dom_document_t_ptr doc,
441
+ lxb_dom_node_t_ptr elem,
442
+ const xmlChar *qname);
443
+ #endif /* LIBXML_REGEXP_ENABLED */
444
+ #endif /* LIBXML_VALID_ENABLED */
445
+ #ifdef __cplusplus
446
+ }
447
+ #endif
448
+ #endif /* __XML_VALID_H__ */