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,1315 @@
1
+ /*
2
+ * Summary: interfaces for tree manipulation
3
+ * Description: this module describes the structures found in an tree resulting
4
+ * from an XML or HTML parsing, as well as the API provided for
5
+ * various processing on that tree
6
+ *
7
+ * Copy: See Copyright for the status of this software.
8
+ *
9
+ * Author: Daniel Veillard
10
+ */
11
+
12
+ #ifndef __XML_TREE_H__
13
+ #define __XML_TREE_H__
14
+
15
+ #include <stdio.h>
16
+ #include <limits.h>
17
+ #include "xmlversion.h"
18
+ #include "xmlstring.h"
19
+ #include "../nokolexbor.h"
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+ /*
26
+ * Some of the basic types pointer to structures:
27
+ */
28
+ /* xmlIO.h */
29
+ typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
30
+ typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
31
+
32
+ typedef struct _xmlOutputBuffer xmlOutputBuffer;
33
+ typedef xmlOutputBuffer *xmlOutputBufferPtr;
34
+
35
+ /* parser.h */
36
+ typedef struct _xmlParserInput xmlParserInput;
37
+ typedef xmlParserInput *xmlParserInputPtr;
38
+
39
+ typedef struct _xmlParserCtxt xmlParserCtxt;
40
+ typedef xmlParserCtxt *xmlParserCtxtPtr;
41
+
42
+ typedef struct _xmlSAXLocator xmlSAXLocator;
43
+ typedef xmlSAXLocator *xmlSAXLocatorPtr;
44
+
45
+ typedef struct _xmlSAXHandler xmlSAXHandler;
46
+ typedef xmlSAXHandler *xmlSAXHandlerPtr;
47
+
48
+ /* entities.h */
49
+ typedef struct _xmlEntity xmlEntity;
50
+ typedef xmlEntity *xmlEntityPtr;
51
+
52
+ /**
53
+ * BASE_BUFFER_SIZE:
54
+ *
55
+ * default buffer size 4000.
56
+ */
57
+ #define BASE_BUFFER_SIZE 4096
58
+
59
+ /**
60
+ * LIBXML_NAMESPACE_DICT:
61
+ *
62
+ * Defines experimental behaviour:
63
+ * 1) xmlNs gets an additional field @context (a xmlDoc)
64
+ * 2) when creating a tree, xmlNs->href is stored in the dict of xmlDoc.
65
+ */
66
+ /* #define LIBXML_NAMESPACE_DICT */
67
+
68
+ /**
69
+ * xmlBufferAllocationScheme:
70
+ *
71
+ * A buffer allocation scheme can be defined to either match exactly the
72
+ * need or double it's allocated size each time it is found too small.
73
+ */
74
+
75
+ typedef enum {
76
+ XML_BUFFER_ALLOC_DOUBLEIT, /* double each time one need to grow */
77
+ XML_BUFFER_ALLOC_EXACT, /* grow only to the minimal size */
78
+ XML_BUFFER_ALLOC_IMMUTABLE, /* immutable buffer, deprecated */
79
+ XML_BUFFER_ALLOC_IO, /* special allocation scheme used for I/O */
80
+ XML_BUFFER_ALLOC_HYBRID, /* exact up to a threshold, and doubleit thereafter */
81
+ XML_BUFFER_ALLOC_BOUNDED /* limit the upper size of the buffer */
82
+ } xmlBufferAllocationScheme;
83
+
84
+ /**
85
+ * xmlBuffer:
86
+ *
87
+ * A buffer structure, this old construct is limited to 2GB and
88
+ * is being deprecated, use API with xmlBuf instead
89
+ */
90
+ typedef struct _xmlBuffer xmlBuffer;
91
+ typedef xmlBuffer *xmlBufferPtr;
92
+ struct _xmlBuffer {
93
+ xmlChar *content; /* The buffer content UTF8 */
94
+ unsigned int use; /* The buffer size used */
95
+ unsigned int size; /* The buffer size */
96
+ xmlBufferAllocationScheme alloc; /* The realloc method */
97
+ xmlChar *contentIO; /* in IO mode we may have a different base */
98
+ };
99
+
100
+ /**
101
+ * xmlBuf:
102
+ *
103
+ * A buffer structure, new one, the actual structure internals are not public
104
+ */
105
+
106
+ typedef struct _xmlBuf xmlBuf;
107
+
108
+ /**
109
+ * xmlBufPtr:
110
+ *
111
+ * A pointer to a buffer structure, the actual structure internals are not
112
+ * public
113
+ */
114
+
115
+ typedef xmlBuf *xmlBufPtr;
116
+
117
+ /*
118
+ * A few public routines for xmlBuf. As those are expected to be used
119
+ * mostly internally the bulk of the routines are internal in buf.h
120
+ */
121
+ XMLPUBFUN xmlChar* XMLCALL xmlBufContent (const xmlBuf* buf);
122
+ XMLPUBFUN xmlChar* XMLCALL xmlBufEnd (xmlBufPtr buf);
123
+ XMLPUBFUN size_t XMLCALL xmlBufUse (const xmlBufPtr buf);
124
+ XMLPUBFUN size_t XMLCALL xmlBufShrink (xmlBufPtr buf, size_t len);
125
+
126
+ /*
127
+ * LIBXML2_NEW_BUFFER:
128
+ *
129
+ * Macro used to express that the API use the new buffers for
130
+ * xmlParserInputBuffer and xmlOutputBuffer. The change was
131
+ * introduced in 2.9.0.
132
+ */
133
+ #define LIBXML2_NEW_BUFFER
134
+
135
+ /**
136
+ * XML_XML_NAMESPACE:
137
+ *
138
+ * This is the namespace for the special xml: prefix predefined in the
139
+ * XML Namespace specification.
140
+ */
141
+ #define XML_XML_NAMESPACE \
142
+ (const xmlChar *) "http://www.w3.org/XML/1998/namespace"
143
+
144
+ /**
145
+ * XML_XML_ID:
146
+ *
147
+ * This is the name for the special xml:id attribute
148
+ */
149
+ #define XML_XML_ID (const xmlChar *) "xml:id"
150
+
151
+ /*
152
+ * The different element types carried by an XML tree.
153
+ *
154
+ * NOTE: This is synchronized with DOM Level1 values
155
+ * See http://www.w3.org/TR/REC-DOM-Level-1/
156
+ *
157
+ * Actually this had diverged a bit, and now XML_DOCUMENT_TYPE_NODE should
158
+ * be deprecated to use an XML_DTD_NODE.
159
+ */
160
+ typedef enum {
161
+ XML_ELEMENT_NODE= 1,
162
+ XML_ATTRIBUTE_NODE= 2,
163
+ XML_TEXT_NODE= 3,
164
+ XML_CDATA_SECTION_NODE= 4,
165
+ XML_ENTITY_REF_NODE= 5,
166
+ XML_ENTITY_NODE= 6,
167
+ XML_PI_NODE= 7,
168
+ XML_COMMENT_NODE= 8,
169
+ XML_DOCUMENT_NODE= 9,
170
+ XML_DOCUMENT_TYPE_NODE= 10,
171
+ XML_DOCUMENT_FRAG_NODE= 11,
172
+ XML_NOTATION_NODE= 12,
173
+ XML_HTML_DOCUMENT_NODE= 13,
174
+ XML_DTD_NODE= 14,
175
+ XML_ELEMENT_DECL= 15,
176
+ XML_ATTRIBUTE_DECL= 16,
177
+ XML_ENTITY_DECL= 17,
178
+ XML_NAMESPACE_DECL= 18,
179
+ XML_XINCLUDE_START= 19,
180
+ XML_XINCLUDE_END= 20
181
+ /* XML_DOCB_DOCUMENT_NODE= 21 */ /* removed */
182
+ } xmlElementType;
183
+
184
+ /** DOC_DISABLE */
185
+ /* For backward compatibility */
186
+ #define XML_DOCB_DOCUMENT_NODE 21
187
+ /** DOC_ENABLE */
188
+
189
+ /**
190
+ * xmlNotation:
191
+ *
192
+ * A DTD Notation definition.
193
+ */
194
+
195
+ typedef struct _xmlNotation xmlNotation;
196
+ typedef xmlNotation *xmlNotationPtr;
197
+ struct _xmlNotation {
198
+ const xmlChar *name; /* Notation name */
199
+ const xmlChar *PublicID; /* Public identifier, if any */
200
+ const xmlChar *SystemID; /* System identifier, if any */
201
+ };
202
+
203
+ /**
204
+ * xmlAttributeType:
205
+ *
206
+ * A DTD Attribute type definition.
207
+ */
208
+
209
+ typedef enum {
210
+ XML_ATTRIBUTE_CDATA = 1,
211
+ XML_ATTRIBUTE_ID,
212
+ XML_ATTRIBUTE_IDREF ,
213
+ XML_ATTRIBUTE_IDREFS,
214
+ XML_ATTRIBUTE_ENTITY,
215
+ XML_ATTRIBUTE_ENTITIES,
216
+ XML_ATTRIBUTE_NMTOKEN,
217
+ XML_ATTRIBUTE_NMTOKENS,
218
+ XML_ATTRIBUTE_ENUMERATION,
219
+ XML_ATTRIBUTE_NOTATION
220
+ } xmlAttributeType;
221
+
222
+ /**
223
+ * xmlAttributeDefault:
224
+ *
225
+ * A DTD Attribute default definition.
226
+ */
227
+
228
+ typedef enum {
229
+ XML_ATTRIBUTE_NONE = 1,
230
+ XML_ATTRIBUTE_REQUIRED,
231
+ XML_ATTRIBUTE_IMPLIED,
232
+ XML_ATTRIBUTE_FIXED
233
+ } xmlAttributeDefault;
234
+
235
+ /**
236
+ * xmlEnumeration:
237
+ *
238
+ * List structure used when there is an enumeration in DTDs.
239
+ */
240
+
241
+ typedef struct _xmlEnumeration xmlEnumeration;
242
+ typedef xmlEnumeration *xmlEnumerationPtr;
243
+ struct _xmlEnumeration {
244
+ struct _xmlEnumeration *next; /* next one */
245
+ const xmlChar *name; /* Enumeration name */
246
+ };
247
+
248
+ /**
249
+ * xmlAttribute:
250
+ *
251
+ * An Attribute declaration in a DTD.
252
+ */
253
+
254
+ typedef struct _xmlAttribute xmlAttribute;
255
+ typedef xmlAttribute *xmlAttributePtr;
256
+ struct _xmlAttribute {
257
+ void *_private; /* application data */
258
+ xmlElementType type; /* XML_ATTRIBUTE_DECL, must be second ! */
259
+ const xmlChar *name; /* Attribute name */
260
+ struct _xmlNode *children; /* NULL */
261
+ struct _xmlNode *last; /* NULL */
262
+ struct _xmlDtd *parent; /* -> DTD */
263
+ struct _xmlNode *next; /* next sibling link */
264
+ struct _xmlNode *prev; /* previous sibling link */
265
+ struct _xmlDoc *doc; /* the containing document */
266
+
267
+ struct _xmlAttribute *nexth; /* next in hash table */
268
+ xmlAttributeType atype; /* The attribute type */
269
+ xmlAttributeDefault def; /* the default */
270
+ const xmlChar *defaultValue; /* or the default value */
271
+ xmlEnumerationPtr tree; /* or the enumeration tree if any */
272
+ const xmlChar *prefix; /* the namespace prefix if any */
273
+ const xmlChar *elem; /* Element holding the attribute */
274
+ };
275
+
276
+ /**
277
+ * xmlElementContentType:
278
+ *
279
+ * Possible definitions of element content types.
280
+ */
281
+ typedef enum {
282
+ XML_ELEMENT_CONTENT_PCDATA = 1,
283
+ XML_ELEMENT_CONTENT_ELEMENT,
284
+ XML_ELEMENT_CONTENT_SEQ,
285
+ XML_ELEMENT_CONTENT_OR
286
+ } xmlElementContentType;
287
+
288
+ /**
289
+ * xmlElementContentOccur:
290
+ *
291
+ * Possible definitions of element content occurrences.
292
+ */
293
+ typedef enum {
294
+ XML_ELEMENT_CONTENT_ONCE = 1,
295
+ XML_ELEMENT_CONTENT_OPT,
296
+ XML_ELEMENT_CONTENT_MULT,
297
+ XML_ELEMENT_CONTENT_PLUS
298
+ } xmlElementContentOccur;
299
+
300
+ /**
301
+ * xmlElementContent:
302
+ *
303
+ * An XML Element content as stored after parsing an element definition
304
+ * in a DTD.
305
+ */
306
+
307
+ typedef struct _xmlElementContent xmlElementContent;
308
+ typedef xmlElementContent *xmlElementContentPtr;
309
+ struct _xmlElementContent {
310
+ xmlElementContentType type; /* PCDATA, ELEMENT, SEQ or OR */
311
+ xmlElementContentOccur ocur; /* ONCE, OPT, MULT or PLUS */
312
+ const xmlChar *name; /* Element name */
313
+ struct _xmlElementContent *c1; /* first child */
314
+ struct _xmlElementContent *c2; /* second child */
315
+ struct _xmlElementContent *parent; /* parent */
316
+ const xmlChar *prefix; /* Namespace prefix */
317
+ };
318
+
319
+ /**
320
+ * xmlElementTypeVal:
321
+ *
322
+ * The different possibilities for an element content type.
323
+ */
324
+
325
+ typedef enum {
326
+ XML_ELEMENT_TYPE_UNDEFINED = 0,
327
+ XML_ELEMENT_TYPE_EMPTY = 1,
328
+ XML_ELEMENT_TYPE_ANY,
329
+ XML_ELEMENT_TYPE_MIXED,
330
+ XML_ELEMENT_TYPE_ELEMENT
331
+ } xmlElementTypeVal;
332
+
333
+ #ifdef __cplusplus
334
+ }
335
+ #endif
336
+ #include "xmlregexp.h"
337
+ #ifdef __cplusplus
338
+ extern "C" {
339
+ #endif
340
+
341
+ /**
342
+ * xmlElement:
343
+ *
344
+ * An XML Element declaration from a DTD.
345
+ */
346
+
347
+ typedef struct _xmlElement xmlElement;
348
+ typedef xmlElement *xmlElementPtr;
349
+ struct _xmlElement {
350
+ void *_private; /* application data */
351
+ xmlElementType type; /* XML_ELEMENT_DECL, must be second ! */
352
+ const xmlChar *name; /* Element name */
353
+ struct _xmlNode *children; /* NULL */
354
+ struct _xmlNode *last; /* NULL */
355
+ struct _xmlDtd *parent; /* -> DTD */
356
+ struct _xmlNode *next; /* next sibling link */
357
+ struct _xmlNode *prev; /* previous sibling link */
358
+ struct _xmlDoc *doc; /* the containing document */
359
+
360
+ xmlElementTypeVal etype; /* The type */
361
+ xmlElementContentPtr content; /* the allowed element content */
362
+ xmlAttributePtr attributes; /* List of the declared attributes */
363
+ const xmlChar *prefix; /* the namespace prefix if any */
364
+ #ifdef LIBXML_REGEXP_ENABLED
365
+ xmlRegexpPtr contModel; /* the validating regexp */
366
+ #else
367
+ void *contModel;
368
+ #endif
369
+ };
370
+
371
+
372
+ /**
373
+ * XML_LOCAL_NAMESPACE:
374
+ *
375
+ * A namespace declaration node.
376
+ */
377
+ #define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL
378
+ typedef xmlElementType xmlNsType;
379
+
380
+ /**
381
+ * xmlNs:
382
+ *
383
+ * An XML namespace.
384
+ * Note that prefix == NULL is valid, it defines the default namespace
385
+ * within the subtree (until overridden).
386
+ *
387
+ * xmlNsType is unified with xmlElementType.
388
+ */
389
+
390
+ typedef struct _xmlNs xmlNs;
391
+ typedef xmlNs *xmlNsPtr;
392
+ struct _xmlNs {
393
+ struct _xmlNs *next; /* next Ns link for this node */
394
+ xmlNsType type; /* global or local */
395
+ const xmlChar *href; /* URL for the namespace */
396
+ const xmlChar *prefix; /* prefix for the namespace */
397
+ void *_private; /* application data */
398
+ struct _xmlDoc *context; /* normally an xmlDoc */
399
+ };
400
+
401
+ /**
402
+ * xmlDtd:
403
+ *
404
+ * An XML DTD, as defined by <!DOCTYPE ... There is actually one for
405
+ * the internal subset and for the external subset.
406
+ */
407
+ typedef struct _xmlDtd xmlDtd;
408
+ typedef xmlDtd *xmlDtdPtr;
409
+ struct _xmlDtd {
410
+ void *_private; /* application data */
411
+ xmlElementType type; /* XML_DTD_NODE, must be second ! */
412
+ const xmlChar *name; /* Name of the DTD */
413
+ struct _xmlNode *children; /* the value of the property link */
414
+ struct _xmlNode *last; /* last child link */
415
+ struct _xmlDoc *parent; /* child->parent link */
416
+ struct _xmlNode *next; /* next sibling link */
417
+ struct _xmlNode *prev; /* previous sibling link */
418
+ struct _xmlDoc *doc; /* the containing document */
419
+
420
+ /* End of common part */
421
+ void *notations; /* Hash table for notations if any */
422
+ void *elements; /* Hash table for elements if any */
423
+ void *attributes; /* Hash table for attributes if any */
424
+ void *entities; /* Hash table for entities if any */
425
+ const xmlChar *ExternalID; /* External identifier for PUBLIC DTD */
426
+ const xmlChar *SystemID; /* URI for a SYSTEM or PUBLIC DTD */
427
+ void *pentities; /* Hash table for param entities if any */
428
+ };
429
+
430
+ /**
431
+ * xmlAttr:
432
+ *
433
+ * An attribute on an XML node.
434
+ */
435
+ typedef struct _xmlAttr xmlAttr;
436
+ typedef lxb_dom_attr_t *lxb_dom_attr_t_ptr;
437
+ struct _xmlAttr {
438
+ void *_private; /* application data */
439
+ xmlElementType type; /* XML_ATTRIBUTE_NODE, must be second ! */
440
+ const xmlChar *name; /* the name of the property */
441
+ struct _xmlNode *children; /* the value of the property */
442
+ struct _xmlNode *last; /* NULL */
443
+ struct _xmlNode *parent; /* child->parent link */
444
+ struct _xmlAttr *next; /* next sibling link */
445
+ struct _xmlAttr *prev; /* previous sibling link */
446
+ struct _xmlDoc *doc; /* the containing document */
447
+ xmlNs *ns; /* pointer to the associated namespace */
448
+ xmlAttributeType atype; /* the attribute type if validating */
449
+ void *psvi; /* for type/PSVI information */
450
+ };
451
+
452
+ /**
453
+ * xmlID:
454
+ *
455
+ * An XML ID instance.
456
+ */
457
+
458
+ typedef struct _xmlID xmlID;
459
+ typedef xmlID *xmlIDPtr;
460
+ struct _xmlID {
461
+ struct _xmlID *next; /* next ID */
462
+ const xmlChar *value; /* The ID name */
463
+ lxb_dom_attr_t_ptr attr; /* The attribute holding it */
464
+ const xmlChar *name; /* The attribute if attr is not available */
465
+ int lineno; /* The line number if attr is not available */
466
+ struct _xmlDoc *doc; /* The document holding the ID */
467
+ };
468
+
469
+ /**
470
+ * xmlRef:
471
+ *
472
+ * An XML IDREF instance.
473
+ */
474
+
475
+ typedef struct _xmlRef xmlRef;
476
+ typedef xmlRef *xmlRefPtr;
477
+ struct _xmlRef {
478
+ struct _xmlRef *next; /* next Ref */
479
+ const xmlChar *value; /* The Ref name */
480
+ lxb_dom_attr_t_ptr attr; /* The attribute holding it */
481
+ const xmlChar *name; /* The attribute if attr is not available */
482
+ int lineno; /* The line number if attr is not available */
483
+ };
484
+
485
+ /**
486
+ * xmlNode:
487
+ *
488
+ * A node in an XML tree.
489
+ */
490
+ typedef struct _xmlNode xmlNode;
491
+ typedef lxb_dom_node_t *lxb_dom_node_t_ptr;
492
+ struct _xmlNode {
493
+ void *_private; /* application data */
494
+ xmlElementType type; /* type number, must be second ! */
495
+ const xmlChar *name; /* the name of the node, or the entity */
496
+ struct _xmlNode *children; /* parent->childs link */
497
+ struct _xmlNode *last; /* last child link */
498
+ struct _xmlNode *parent; /* child->parent link */
499
+ struct _xmlNode *next; /* next sibling link */
500
+ struct _xmlNode *prev; /* previous sibling link */
501
+ struct _xmlDoc *doc; /* the containing document */
502
+
503
+ /* End of common part */
504
+ xmlNs *ns; /* pointer to the associated namespace */
505
+ xmlChar *content; /* the content */
506
+ struct _xmlAttr *properties;/* properties list */
507
+ xmlNs *nsDef; /* namespace definitions on this node */
508
+ void *psvi; /* for type/PSVI information */
509
+ unsigned short line; /* line number */
510
+ unsigned short extra; /* extra data for XPath/XSLT */
511
+ };
512
+
513
+ /**
514
+ * XML_GET_CONTENT:
515
+ *
516
+ * Macro to extract the content pointer of a node.
517
+ */
518
+ #define XML_GET_CONTENT(n) \
519
+ ((n)->type == XML_ELEMENT_NODE ? NULL : (n)->content)
520
+
521
+ /**
522
+ * XML_GET_LINE:
523
+ *
524
+ * Macro to extract the line number of an element node.
525
+ */
526
+ #define XML_GET_LINE(n) \
527
+ (xmlGetLineNo(n))
528
+
529
+ /**
530
+ * xmlDocProperty
531
+ *
532
+ * Set of properties of the document as found by the parser
533
+ * Some of them are linked to similarly named xmlParserOption
534
+ */
535
+ typedef enum {
536
+ XML_DOC_WELLFORMED = 1<<0, /* document is XML well formed */
537
+ XML_DOC_NSVALID = 1<<1, /* document is Namespace valid */
538
+ XML_DOC_OLD10 = 1<<2, /* parsed with old XML-1.0 parser */
539
+ XML_DOC_DTDVALID = 1<<3, /* DTD validation was successful */
540
+ XML_DOC_XINCLUDE = 1<<4, /* XInclude substitution was done */
541
+ XML_DOC_USERBUILT = 1<<5, /* Document was built using the API
542
+ and not by parsing an instance */
543
+ XML_DOC_INTERNAL = 1<<6, /* built for internal processing */
544
+ XML_DOC_HTML = 1<<7 /* parsed or built HTML document */
545
+ } xmlDocProperties;
546
+
547
+ /**
548
+ * xmlDoc:
549
+ *
550
+ * An XML document.
551
+ */
552
+ typedef struct _xmlDoc xmlDoc;
553
+ typedef lxb_dom_document_t *lxb_dom_document_t_ptr;
554
+ struct _xmlDoc {
555
+ void *_private; /* application data */
556
+ xmlElementType type; /* XML_DOCUMENT_NODE, must be second ! */
557
+ char *name; /* name/filename/URI of the document */
558
+ struct _xmlNode *children; /* the document tree */
559
+ struct _xmlNode *last; /* last child link */
560
+ struct _xmlNode *parent; /* child->parent link */
561
+ struct _xmlNode *next; /* next sibling link */
562
+ struct _xmlNode *prev; /* previous sibling link */
563
+ struct _xmlDoc *doc; /* autoreference to itself */
564
+
565
+ /* End of common part */
566
+ int compression;/* level of zlib compression */
567
+ int standalone; /* standalone document (no external refs)
568
+ 1 if standalone="yes"
569
+ 0 if standalone="no"
570
+ -1 if there is no XML declaration
571
+ -2 if there is an XML declaration, but no
572
+ standalone attribute was specified */
573
+ struct _xmlDtd *intSubset; /* the document internal subset */
574
+ struct _xmlDtd *extSubset; /* the document external subset */
575
+ struct _xmlNs *oldNs; /* Global namespace, the old way */
576
+ const xmlChar *version; /* the XML version string */
577
+ const xmlChar *encoding; /* external initial encoding, if any */
578
+ void *ids; /* Hash table for ID attributes if any */
579
+ void *refs; /* Hash table for IDREFs attributes if any */
580
+ const xmlChar *URL; /* The URI for that document */
581
+ int charset; /* Internal flag for charset handling,
582
+ actually an xmlCharEncoding */
583
+ struct _xmlDict *dict; /* dict used to allocate names or NULL */
584
+ void *psvi; /* for type/PSVI information */
585
+ int parseFlags; /* set of xmlParserOption used to parse the
586
+ document */
587
+ int properties; /* set of xmlDocProperties for this document
588
+ set at the end of parsing */
589
+ };
590
+
591
+
592
+ typedef struct _xmlDOMWrapCtxt xmlDOMWrapCtxt;
593
+ typedef xmlDOMWrapCtxt *xmlDOMWrapCtxtPtr;
594
+
595
+ /**
596
+ * xmlDOMWrapAcquireNsFunction:
597
+ * @ctxt: a DOM wrapper context
598
+ * @node: the context node (element or attribute)
599
+ * @nsName: the requested namespace name
600
+ * @nsPrefix: the requested namespace prefix
601
+ *
602
+ * A function called to acquire namespaces (xmlNs) from the wrapper.
603
+ *
604
+ * Returns an xmlNsPtr or NULL in case of an error.
605
+ */
606
+ typedef xmlNsPtr (*xmlDOMWrapAcquireNsFunction) (xmlDOMWrapCtxtPtr ctxt,
607
+ lxb_dom_node_t_ptr node,
608
+ const xmlChar *nsName,
609
+ const xmlChar *nsPrefix);
610
+
611
+ /**
612
+ * xmlDOMWrapCtxt:
613
+ *
614
+ * Context for DOM wrapper-operations.
615
+ */
616
+ struct _xmlDOMWrapCtxt {
617
+ void * _private;
618
+ /*
619
+ * The type of this context, just in case we need specialized
620
+ * contexts in the future.
621
+ */
622
+ int type;
623
+ /*
624
+ * Internal namespace map used for various operations.
625
+ */
626
+ void * namespaceMap;
627
+ /*
628
+ * Use this one to acquire an xmlNsPtr intended for node->ns.
629
+ * (Note that this is not intended for elem->nsDef).
630
+ */
631
+ xmlDOMWrapAcquireNsFunction getNsForNodeFunc;
632
+ };
633
+
634
+ /**
635
+ * xmlChildrenNode:
636
+ *
637
+ * Macro for compatibility naming layer with libxml1. Maps
638
+ * to "children."
639
+ */
640
+ #ifndef xmlChildrenNode
641
+ #define xmlChildrenNode children
642
+ #endif
643
+
644
+ /**
645
+ * xmlRootNode:
646
+ *
647
+ * Macro for compatibility naming layer with libxml1. Maps
648
+ * to "children".
649
+ */
650
+ #ifndef xmlRootNode
651
+ #define xmlRootNode children
652
+ #endif
653
+
654
+ /*
655
+ * Variables.
656
+ */
657
+
658
+ /*
659
+ * Some helper functions
660
+ */
661
+ #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \
662
+ defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || \
663
+ defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || \
664
+ defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || \
665
+ defined(LIBXML_LEGACY_ENABLED)
666
+ XMLPUBFUN int XMLCALL
667
+ xmlValidateNCName (const xmlChar *value,
668
+ int space);
669
+ #endif
670
+
671
+ #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
672
+ XMLPUBFUN int XMLCALL
673
+ xmlValidateQName (const xmlChar *value,
674
+ int space);
675
+ XMLPUBFUN int XMLCALL
676
+ xmlValidateName (const xmlChar *value,
677
+ int space);
678
+ XMLPUBFUN int XMLCALL
679
+ xmlValidateNMToken (const xmlChar *value,
680
+ int space);
681
+ #endif
682
+
683
+ XMLPUBFUN xmlChar * XMLCALL
684
+ xmlBuildQName (const xmlChar *ncname,
685
+ const xmlChar *prefix,
686
+ xmlChar *memory,
687
+ int len);
688
+ XMLPUBFUN xmlChar * XMLCALL
689
+ xmlSplitQName2 (const xmlChar *name,
690
+ xmlChar **prefix);
691
+ XMLPUBFUN const xmlChar * XMLCALL
692
+ xmlSplitQName3 (const xmlChar *name,
693
+ int *len);
694
+
695
+ /*
696
+ * Handling Buffers, the old ones see @xmlBuf for the new ones.
697
+ */
698
+
699
+ XMLPUBFUN void XMLCALL
700
+ xmlSetBufferAllocationScheme(xmlBufferAllocationScheme scheme);
701
+ XMLPUBFUN xmlBufferAllocationScheme XMLCALL
702
+ xmlGetBufferAllocationScheme(void);
703
+
704
+ XMLPUBFUN xmlBufferPtr XMLCALL
705
+ xmlBufferCreate (void);
706
+ XMLPUBFUN xmlBufferPtr XMLCALL
707
+ xmlBufferCreateSize (size_t size);
708
+ XMLPUBFUN xmlBufferPtr XMLCALL
709
+ xmlBufferCreateStatic (void *mem,
710
+ size_t size);
711
+ XMLPUBFUN int XMLCALL
712
+ xmlBufferResize (xmlBufferPtr buf,
713
+ unsigned int size);
714
+ XMLPUBFUN void XMLCALL
715
+ xmlBufferFree (xmlBufferPtr buf);
716
+ XMLPUBFUN int XMLCALL
717
+ xmlBufferDump (FILE *file,
718
+ xmlBufferPtr buf);
719
+ XMLPUBFUN int XMLCALL
720
+ xmlBufferAdd (xmlBufferPtr buf,
721
+ const xmlChar *str,
722
+ int len);
723
+ XMLPUBFUN int XMLCALL
724
+ xmlBufferAddHead (xmlBufferPtr buf,
725
+ const xmlChar *str,
726
+ int len);
727
+ XMLPUBFUN int XMLCALL
728
+ xmlBufferCat (xmlBufferPtr buf,
729
+ const xmlChar *str);
730
+ XMLPUBFUN int XMLCALL
731
+ xmlBufferCCat (xmlBufferPtr buf,
732
+ const char *str);
733
+ XMLPUBFUN int XMLCALL
734
+ xmlBufferShrink (xmlBufferPtr buf,
735
+ unsigned int len);
736
+ XMLPUBFUN int XMLCALL
737
+ xmlBufferGrow (xmlBufferPtr buf,
738
+ unsigned int len);
739
+ XMLPUBFUN void XMLCALL
740
+ xmlBufferEmpty (xmlBufferPtr buf);
741
+ XMLPUBFUN const xmlChar* XMLCALL
742
+ xmlBufferContent (const xmlBuffer *buf);
743
+ XMLPUBFUN xmlChar* XMLCALL
744
+ xmlBufferDetach (xmlBufferPtr buf);
745
+ XMLPUBFUN void XMLCALL
746
+ xmlBufferSetAllocationScheme(xmlBufferPtr buf,
747
+ xmlBufferAllocationScheme scheme);
748
+ XMLPUBFUN int XMLCALL
749
+ xmlBufferLength (const xmlBuffer *buf);
750
+
751
+ /*
752
+ * Creating/freeing new structures.
753
+ */
754
+ XMLPUBFUN xmlDtdPtr XMLCALL
755
+ xmlCreateIntSubset (lxb_dom_document_t_ptr doc,
756
+ const xmlChar *name,
757
+ const xmlChar *ExternalID,
758
+ const xmlChar *SystemID);
759
+ XMLPUBFUN xmlDtdPtr XMLCALL
760
+ xmlNewDtd (lxb_dom_document_t_ptr doc,
761
+ const xmlChar *name,
762
+ const xmlChar *ExternalID,
763
+ const xmlChar *SystemID);
764
+ XMLPUBFUN xmlDtdPtr XMLCALL
765
+ xmlGetIntSubset (const xmlDoc *doc);
766
+ XMLPUBFUN void XMLCALL
767
+ xmlFreeDtd (xmlDtdPtr cur);
768
+ #ifdef LIBXML_LEGACY_ENABLED
769
+ XML_DEPRECATED
770
+ XMLPUBFUN xmlNsPtr XMLCALL
771
+ xmlNewGlobalNs (lxb_dom_document_t_ptr doc,
772
+ const xmlChar *href,
773
+ const xmlChar *prefix);
774
+ #endif /* LIBXML_LEGACY_ENABLED */
775
+ XMLPUBFUN xmlNsPtr XMLCALL
776
+ xmlNewNs (lxb_dom_node_t_ptr node,
777
+ const xmlChar *href,
778
+ const xmlChar *prefix);
779
+ XMLPUBFUN void XMLCALL
780
+ xmlFreeNs (xmlNsPtr cur);
781
+ XMLPUBFUN void XMLCALL
782
+ xmlFreeNsList (xmlNsPtr cur);
783
+ XMLPUBFUN lxb_dom_document_t_ptr XMLCALL
784
+ xmlNewDoc (const xmlChar *version);
785
+ XMLPUBFUN void XMLCALL
786
+ xmlFreeDoc (lxb_dom_document_t_ptr cur);
787
+ XMLPUBFUN lxb_dom_attr_t_ptr XMLCALL
788
+ xmlNewDocProp (lxb_dom_document_t_ptr doc,
789
+ const xmlChar *name,
790
+ const xmlChar *value);
791
+ #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
792
+ defined(LIBXML_SCHEMAS_ENABLED)
793
+ XMLPUBFUN lxb_dom_attr_t_ptr XMLCALL
794
+ xmlNewProp (lxb_dom_node_t_ptr node,
795
+ const xmlChar *name,
796
+ const xmlChar *value);
797
+ #endif
798
+ XMLPUBFUN lxb_dom_attr_t_ptr XMLCALL
799
+ xmlNewNsProp (lxb_dom_node_t_ptr node,
800
+ xmlNsPtr ns,
801
+ const xmlChar *name,
802
+ const xmlChar *value);
803
+ XMLPUBFUN lxb_dom_attr_t_ptr XMLCALL
804
+ xmlNewNsPropEatName (lxb_dom_node_t_ptr node,
805
+ xmlNsPtr ns,
806
+ xmlChar *name,
807
+ const xmlChar *value);
808
+ XMLPUBFUN void XMLCALL
809
+ xmlFreePropList (lxb_dom_attr_t_ptr cur);
810
+ XMLPUBFUN void XMLCALL
811
+ xmlFreeProp (lxb_dom_attr_t_ptr cur);
812
+ XMLPUBFUN lxb_dom_attr_t_ptr XMLCALL
813
+ xmlCopyProp (lxb_dom_node_t_ptr target,
814
+ lxb_dom_attr_t_ptr cur);
815
+ XMLPUBFUN lxb_dom_attr_t_ptr XMLCALL
816
+ xmlCopyPropList (lxb_dom_node_t_ptr target,
817
+ lxb_dom_attr_t_ptr cur);
818
+ #ifdef LIBXML_TREE_ENABLED
819
+ XMLPUBFUN xmlDtdPtr XMLCALL
820
+ xmlCopyDtd (xmlDtdPtr dtd);
821
+ #endif /* LIBXML_TREE_ENABLED */
822
+ #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
823
+ XMLPUBFUN lxb_dom_document_t_ptr XMLCALL
824
+ xmlCopyDoc (lxb_dom_document_t_ptr doc,
825
+ int recursive);
826
+ #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
827
+ /*
828
+ * Creating new nodes.
829
+ */
830
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
831
+ xmlNewDocNode (lxb_dom_document_t_ptr doc,
832
+ xmlNsPtr ns,
833
+ const xmlChar *name,
834
+ const xmlChar *content);
835
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
836
+ xmlNewDocNodeEatName (lxb_dom_document_t_ptr doc,
837
+ xmlNsPtr ns,
838
+ xmlChar *name,
839
+ const xmlChar *content);
840
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
841
+ xmlNewNode (xmlNsPtr ns,
842
+ const xmlChar *name);
843
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
844
+ xmlNewNodeEatName (xmlNsPtr ns,
845
+ xmlChar *name);
846
+ #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
847
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
848
+ xmlNewChild (lxb_dom_node_t_ptr parent,
849
+ xmlNsPtr ns,
850
+ const xmlChar *name,
851
+ const xmlChar *content);
852
+ #endif
853
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
854
+ xmlNewDocText (const xmlDoc *doc,
855
+ const xmlChar *content);
856
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
857
+ xmlNewText (const xmlChar *content);
858
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
859
+ xmlNewDocPI (lxb_dom_document_t_ptr doc,
860
+ const xmlChar *name,
861
+ const xmlChar *content);
862
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
863
+ xmlNewPI (const xmlChar *name,
864
+ const xmlChar *content);
865
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
866
+ xmlNewDocTextLen (lxb_dom_document_t_ptr doc,
867
+ const xmlChar *content,
868
+ int len);
869
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
870
+ xmlNewTextLen (const xmlChar *content,
871
+ int len);
872
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
873
+ xmlNewDocComment (lxb_dom_document_t_ptr doc,
874
+ const xmlChar *content);
875
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
876
+ xmlNewComment (const xmlChar *content);
877
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
878
+ xmlNewCDataBlock (lxb_dom_document_t_ptr doc,
879
+ const xmlChar *content,
880
+ int len);
881
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
882
+ xmlNewCharRef (lxb_dom_document_t_ptr doc,
883
+ const xmlChar *name);
884
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
885
+ xmlNewReference (const xmlDoc *doc,
886
+ const xmlChar *name);
887
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
888
+ xmlCopyNode (lxb_dom_node_t_ptr node,
889
+ int recursive);
890
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
891
+ xmlDocCopyNode (lxb_dom_node_t_ptr node,
892
+ lxb_dom_document_t_ptr doc,
893
+ int recursive);
894
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
895
+ xmlDocCopyNodeList (lxb_dom_document_t_ptr doc,
896
+ lxb_dom_node_t_ptr node);
897
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
898
+ xmlCopyNodeList (lxb_dom_node_t_ptr node);
899
+ #ifdef LIBXML_TREE_ENABLED
900
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
901
+ xmlNewTextChild (lxb_dom_node_t_ptr parent,
902
+ xmlNsPtr ns,
903
+ const xmlChar *name,
904
+ const xmlChar *content);
905
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
906
+ xmlNewDocRawNode (lxb_dom_document_t_ptr doc,
907
+ xmlNsPtr ns,
908
+ const xmlChar *name,
909
+ const xmlChar *content);
910
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
911
+ xmlNewDocFragment (lxb_dom_document_t_ptr doc);
912
+ #endif /* LIBXML_TREE_ENABLED */
913
+
914
+ /*
915
+ * Navigating.
916
+ */
917
+ XMLPUBFUN long XMLCALL
918
+ xmlGetLineNo (const xmlNode *node);
919
+ #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED)
920
+ XMLPUBFUN xmlChar * XMLCALL
921
+ xmlGetNodePath (const xmlNode *node);
922
+ #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_DEBUG_ENABLED) */
923
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
924
+ xmlDocGetRootElement (const lxb_dom_document_t *doc);
925
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
926
+ xmlGetLastChild (const xmlNode *parent);
927
+ XMLPUBFUN int XMLCALL
928
+ xmlNodeIsText (const xmlNode *node);
929
+ XMLPUBFUN int XMLCALL
930
+ xmlIsBlankNode (const xmlNode *node);
931
+
932
+ /*
933
+ * Changing the structure.
934
+ */
935
+ #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
936
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
937
+ xmlDocSetRootElement (lxb_dom_document_t_ptr doc,
938
+ lxb_dom_node_t_ptr root);
939
+ #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
940
+ #ifdef LIBXML_TREE_ENABLED
941
+ XMLPUBFUN void XMLCALL
942
+ xmlNodeSetName (lxb_dom_node_t_ptr cur,
943
+ const xmlChar *name);
944
+ #endif /* LIBXML_TREE_ENABLED */
945
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
946
+ xmlAddChild (lxb_dom_node_t_ptr parent,
947
+ lxb_dom_node_t_ptr cur);
948
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
949
+ xmlAddChildList (lxb_dom_node_t_ptr parent,
950
+ lxb_dom_node_t_ptr cur);
951
+ #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED)
952
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
953
+ xmlReplaceNode (lxb_dom_node_t_ptr old,
954
+ lxb_dom_node_t_ptr cur);
955
+ #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_WRITER_ENABLED) */
956
+ #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
957
+ defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
958
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
959
+ xmlAddPrevSibling (lxb_dom_node_t_ptr cur,
960
+ lxb_dom_node_t_ptr elem);
961
+ #endif /* LIBXML_TREE_ENABLED || LIBXML_HTML_ENABLED || LIBXML_SCHEMAS_ENABLED */
962
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
963
+ xmlAddSibling (lxb_dom_node_t_ptr cur,
964
+ lxb_dom_node_t_ptr elem);
965
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
966
+ xmlAddNextSibling (lxb_dom_node_t_ptr cur,
967
+ lxb_dom_node_t_ptr elem);
968
+ XMLPUBFUN void XMLCALL
969
+ xmlUnlinkNode (lxb_dom_node_t_ptr cur);
970
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
971
+ xmlTextMerge (lxb_dom_node_t_ptr first,
972
+ lxb_dom_node_t_ptr second);
973
+ XMLPUBFUN int XMLCALL
974
+ xmlTextConcat (lxb_dom_node_t_ptr node,
975
+ const xmlChar *content,
976
+ int len);
977
+ XMLPUBFUN void XMLCALL
978
+ xmlFreeNodeList (lxb_dom_node_t_ptr cur);
979
+ XMLPUBFUN void XMLCALL
980
+ xmlFreeNode (lxb_dom_node_t_ptr cur);
981
+ XMLPUBFUN void XMLCALL
982
+ xmlSetTreeDoc (lxb_dom_node_t_ptr tree,
983
+ lxb_dom_document_t_ptr doc);
984
+ XMLPUBFUN void XMLCALL
985
+ xmlSetListDoc (lxb_dom_node_t_ptr list,
986
+ lxb_dom_document_t_ptr doc);
987
+ /*
988
+ * Namespaces.
989
+ */
990
+ XMLPUBFUN xmlNsPtr XMLCALL
991
+ xmlSearchNs (lxb_dom_document_t_ptr doc,
992
+ lxb_dom_node_t_ptr node,
993
+ const xmlChar *nameSpace);
994
+ XMLPUBFUN xmlNsPtr XMLCALL
995
+ xmlSearchNsByHref (lxb_dom_document_t_ptr doc,
996
+ lxb_dom_node_t_ptr node,
997
+ const xmlChar *href);
998
+ #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || \
999
+ defined(LIBXML_SCHEMAS_ENABLED)
1000
+ XMLPUBFUN xmlNsPtr * XMLCALL
1001
+ xmlGetNsList (const xmlDoc *doc,
1002
+ const xmlNode *node);
1003
+ #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) */
1004
+
1005
+ XMLPUBFUN void XMLCALL
1006
+ xmlSetNs (lxb_dom_node_t_ptr node,
1007
+ xmlNsPtr ns);
1008
+ XMLPUBFUN xmlNsPtr XMLCALL
1009
+ xmlCopyNamespace (xmlNsPtr cur);
1010
+ XMLPUBFUN xmlNsPtr XMLCALL
1011
+ xmlCopyNamespaceList (xmlNsPtr cur);
1012
+
1013
+ /*
1014
+ * Changing the content.
1015
+ */
1016
+ #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
1017
+ defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED)
1018
+ XMLPUBFUN lxb_dom_attr_t_ptr XMLCALL
1019
+ xmlSetProp (lxb_dom_node_t_ptr node,
1020
+ const xmlChar *name,
1021
+ const xmlChar *value);
1022
+ XMLPUBFUN lxb_dom_attr_t_ptr XMLCALL
1023
+ xmlSetNsProp (lxb_dom_node_t_ptr node,
1024
+ xmlNsPtr ns,
1025
+ const xmlChar *name,
1026
+ const xmlChar *value);
1027
+ #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED) || \
1028
+ defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_HTML_ENABLED) */
1029
+ XMLPUBFUN xmlChar * XMLCALL
1030
+ xmlGetNoNsProp (const xmlNode *node,
1031
+ const xmlChar *name);
1032
+ XMLPUBFUN xmlChar * XMLCALL
1033
+ xmlGetProp (const xmlNode *node,
1034
+ const xmlChar *name);
1035
+ XMLPUBFUN lxb_dom_attr_t_ptr XMLCALL
1036
+ xmlHasProp (const xmlNode *node,
1037
+ const xmlChar *name);
1038
+ XMLPUBFUN lxb_dom_attr_t_ptr XMLCALL
1039
+ xmlHasNsProp (const xmlNode *node,
1040
+ const xmlChar *name,
1041
+ const xmlChar *nameSpace);
1042
+ XMLPUBFUN xmlChar * XMLCALL
1043
+ xmlGetNsProp (const xmlNode *node,
1044
+ const xmlChar *name,
1045
+ const xmlChar *nameSpace);
1046
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
1047
+ xmlStringGetNodeList (const xmlDoc *doc,
1048
+ const xmlChar *value);
1049
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
1050
+ xmlStringLenGetNodeList (const xmlDoc *doc,
1051
+ const xmlChar *value,
1052
+ int len);
1053
+ XMLPUBFUN xmlChar * XMLCALL
1054
+ xmlNodeListGetString (lxb_dom_document_t_ptr doc,
1055
+ const xmlNode *list,
1056
+ int inLine);
1057
+ #ifdef LIBXML_TREE_ENABLED
1058
+ XMLPUBFUN xmlChar * XMLCALL
1059
+ xmlNodeListGetRawString (const xmlDoc *doc,
1060
+ const xmlNode *list,
1061
+ int inLine);
1062
+ #endif /* LIBXML_TREE_ENABLED */
1063
+ XMLPUBFUN void XMLCALL
1064
+ xmlNodeSetContent (lxb_dom_node_t_ptr cur,
1065
+ const xmlChar *content);
1066
+ #ifdef LIBXML_TREE_ENABLED
1067
+ XMLPUBFUN void XMLCALL
1068
+ xmlNodeSetContentLen (lxb_dom_node_t_ptr cur,
1069
+ const xmlChar *content,
1070
+ int len);
1071
+ #endif /* LIBXML_TREE_ENABLED */
1072
+ XMLPUBFUN void XMLCALL
1073
+ xmlNodeAddContent (lxb_dom_node_t_ptr cur,
1074
+ const xmlChar *content);
1075
+ XMLPUBFUN void XMLCALL
1076
+ xmlNodeAddContentLen (lxb_dom_node_t_ptr cur,
1077
+ const xmlChar *content,
1078
+ int len);
1079
+ XMLPUBFUN xmlChar * XMLCALL
1080
+ xmlNodeGetContent (const lxb_dom_node_t *cur);
1081
+
1082
+ XMLPUBFUN int XMLCALL
1083
+ xmlNodeBufGetContent (xmlBufferPtr buffer,
1084
+ const lxb_dom_node_t *cur);
1085
+ XMLPUBFUN int XMLCALL
1086
+ xmlBufGetNodeContent (xmlBufPtr buf,
1087
+ const lxb_dom_node_t *cur);
1088
+
1089
+ XMLPUBFUN xmlChar * XMLCALL
1090
+ xmlNodeGetLang (const lxb_dom_node_t *cur);
1091
+ XMLPUBFUN int XMLCALL
1092
+ xmlNodeGetSpacePreserve (const lxb_dom_node_t *cur);
1093
+ #ifdef LIBXML_TREE_ENABLED
1094
+ XMLPUBFUN void XMLCALL
1095
+ xmlNodeSetLang (lxb_dom_node_t_ptr cur,
1096
+ const xmlChar *lang);
1097
+ XMLPUBFUN void XMLCALL
1098
+ xmlNodeSetSpacePreserve (lxb_dom_node_t_ptr cur,
1099
+ int val);
1100
+ #endif /* LIBXML_TREE_ENABLED */
1101
+ XMLPUBFUN xmlChar * XMLCALL
1102
+ xmlNodeGetBase (const xmlDoc *doc,
1103
+ const lxb_dom_node_t *cur);
1104
+ #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XINCLUDE_ENABLED)
1105
+ XMLPUBFUN void XMLCALL
1106
+ xmlNodeSetBase (lxb_dom_node_t_ptr cur,
1107
+ const xmlChar *uri);
1108
+ #endif
1109
+
1110
+ /*
1111
+ * Removing content.
1112
+ */
1113
+ XMLPUBFUN int XMLCALL
1114
+ xmlRemoveProp (lxb_dom_attr_t_ptr cur);
1115
+ #if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
1116
+ XMLPUBFUN int XMLCALL
1117
+ xmlUnsetNsProp (lxb_dom_node_t_ptr node,
1118
+ xmlNsPtr ns,
1119
+ const xmlChar *name);
1120
+ XMLPUBFUN int XMLCALL
1121
+ xmlUnsetProp (lxb_dom_node_t_ptr node,
1122
+ const xmlChar *name);
1123
+ #endif /* defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) */
1124
+
1125
+ /*
1126
+ * Internal, don't use.
1127
+ */
1128
+ XMLPUBFUN void XMLCALL
1129
+ xmlBufferWriteCHAR (xmlBufferPtr buf,
1130
+ const xmlChar *string);
1131
+ XMLPUBFUN void XMLCALL
1132
+ xmlBufferWriteChar (xmlBufferPtr buf,
1133
+ const char *string);
1134
+ XMLPUBFUN void XMLCALL
1135
+ xmlBufferWriteQuotedString(xmlBufferPtr buf,
1136
+ const xmlChar *string);
1137
+
1138
+ #ifdef LIBXML_OUTPUT_ENABLED
1139
+ XMLPUBFUN void xmlAttrSerializeTxtContent(xmlBufferPtr buf,
1140
+ lxb_dom_document_t_ptr doc,
1141
+ lxb_dom_attr_t_ptr attr,
1142
+ const xmlChar *string);
1143
+ #endif /* LIBXML_OUTPUT_ENABLED */
1144
+
1145
+ #ifdef LIBXML_TREE_ENABLED
1146
+ /*
1147
+ * Namespace handling.
1148
+ */
1149
+ XMLPUBFUN int XMLCALL
1150
+ xmlReconciliateNs (lxb_dom_document_t_ptr doc,
1151
+ lxb_dom_node_t_ptr tree);
1152
+ #endif
1153
+
1154
+ #ifdef LIBXML_OUTPUT_ENABLED
1155
+ /*
1156
+ * Saving.
1157
+ */
1158
+ XMLPUBFUN void XMLCALL
1159
+ xmlDocDumpFormatMemory (lxb_dom_document_t_ptr cur,
1160
+ xmlChar **mem,
1161
+ int *size,
1162
+ int format);
1163
+ XMLPUBFUN void XMLCALL
1164
+ xmlDocDumpMemory (lxb_dom_document_t_ptr cur,
1165
+ xmlChar **mem,
1166
+ int *size);
1167
+ XMLPUBFUN void XMLCALL
1168
+ xmlDocDumpMemoryEnc (lxb_dom_document_t_ptr out_doc,
1169
+ xmlChar **doc_txt_ptr,
1170
+ int * doc_txt_len,
1171
+ const char *txt_encoding);
1172
+ XMLPUBFUN void XMLCALL
1173
+ xmlDocDumpFormatMemoryEnc(lxb_dom_document_t_ptr out_doc,
1174
+ xmlChar **doc_txt_ptr,
1175
+ int * doc_txt_len,
1176
+ const char *txt_encoding,
1177
+ int format);
1178
+ XMLPUBFUN int XMLCALL
1179
+ xmlDocFormatDump (FILE *f,
1180
+ lxb_dom_document_t_ptr cur,
1181
+ int format);
1182
+ XMLPUBFUN int XMLCALL
1183
+ xmlDocDump (FILE *f,
1184
+ lxb_dom_document_t_ptr cur);
1185
+ XMLPUBFUN void XMLCALL
1186
+ xmlElemDump (FILE *f,
1187
+ lxb_dom_document_t_ptr doc,
1188
+ lxb_dom_node_t_ptr cur);
1189
+ XMLPUBFUN int XMLCALL
1190
+ xmlSaveFile (const char *filename,
1191
+ lxb_dom_document_t_ptr cur);
1192
+ XMLPUBFUN int XMLCALL
1193
+ xmlSaveFormatFile (const char *filename,
1194
+ lxb_dom_document_t_ptr cur,
1195
+ int format);
1196
+ XMLPUBFUN size_t XMLCALL
1197
+ xmlBufNodeDump (xmlBufPtr buf,
1198
+ lxb_dom_document_t_ptr doc,
1199
+ lxb_dom_node_t_ptr cur,
1200
+ int level,
1201
+ int format);
1202
+ XMLPUBFUN int XMLCALL
1203
+ xmlNodeDump (xmlBufferPtr buf,
1204
+ lxb_dom_document_t_ptr doc,
1205
+ lxb_dom_node_t_ptr cur,
1206
+ int level,
1207
+ int format);
1208
+
1209
+ XMLPUBFUN int XMLCALL
1210
+ xmlSaveFileTo (xmlOutputBufferPtr buf,
1211
+ lxb_dom_document_t_ptr cur,
1212
+ const char *encoding);
1213
+ XMLPUBFUN int XMLCALL
1214
+ xmlSaveFormatFileTo (xmlOutputBufferPtr buf,
1215
+ lxb_dom_document_t_ptr cur,
1216
+ const char *encoding,
1217
+ int format);
1218
+ XMLPUBFUN void XMLCALL
1219
+ xmlNodeDumpOutput (xmlOutputBufferPtr buf,
1220
+ lxb_dom_document_t_ptr doc,
1221
+ lxb_dom_node_t_ptr cur,
1222
+ int level,
1223
+ int format,
1224
+ const char *encoding);
1225
+
1226
+ XMLPUBFUN int XMLCALL
1227
+ xmlSaveFormatFileEnc (const char *filename,
1228
+ lxb_dom_document_t_ptr cur,
1229
+ const char *encoding,
1230
+ int format);
1231
+
1232
+ XMLPUBFUN int XMLCALL
1233
+ xmlSaveFileEnc (const char *filename,
1234
+ lxb_dom_document_t_ptr cur,
1235
+ const char *encoding);
1236
+
1237
+ #endif /* LIBXML_OUTPUT_ENABLED */
1238
+ /*
1239
+ * XHTML
1240
+ */
1241
+ XMLPUBFUN int XMLCALL
1242
+ xmlIsXHTML (const xmlChar *systemID,
1243
+ const xmlChar *publicID);
1244
+
1245
+ /*
1246
+ * Compression.
1247
+ */
1248
+ XMLPUBFUN int XMLCALL
1249
+ xmlGetDocCompressMode (const xmlDoc *doc);
1250
+ XMLPUBFUN void XMLCALL
1251
+ xmlSetDocCompressMode (lxb_dom_document_t_ptr doc,
1252
+ int mode);
1253
+ XMLPUBFUN int XMLCALL
1254
+ xmlGetCompressMode (void);
1255
+ XMLPUBFUN void XMLCALL
1256
+ xmlSetCompressMode (int mode);
1257
+
1258
+ /*
1259
+ * DOM-wrapper helper functions.
1260
+ */
1261
+ XMLPUBFUN xmlDOMWrapCtxtPtr XMLCALL
1262
+ xmlDOMWrapNewCtxt (void);
1263
+ XMLPUBFUN void XMLCALL
1264
+ xmlDOMWrapFreeCtxt (xmlDOMWrapCtxtPtr ctxt);
1265
+ XMLPUBFUN int XMLCALL
1266
+ xmlDOMWrapReconcileNamespaces(xmlDOMWrapCtxtPtr ctxt,
1267
+ lxb_dom_node_t_ptr elem,
1268
+ int options);
1269
+ XMLPUBFUN int XMLCALL
1270
+ xmlDOMWrapAdoptNode (xmlDOMWrapCtxtPtr ctxt,
1271
+ lxb_dom_document_t_ptr sourceDoc,
1272
+ lxb_dom_node_t_ptr node,
1273
+ lxb_dom_document_t_ptr destDoc,
1274
+ lxb_dom_node_t_ptr destParent,
1275
+ int options);
1276
+ XMLPUBFUN int XMLCALL
1277
+ xmlDOMWrapRemoveNode (xmlDOMWrapCtxtPtr ctxt,
1278
+ lxb_dom_document_t_ptr doc,
1279
+ lxb_dom_node_t_ptr node,
1280
+ int options);
1281
+ XMLPUBFUN int XMLCALL
1282
+ xmlDOMWrapCloneNode (xmlDOMWrapCtxtPtr ctxt,
1283
+ lxb_dom_document_t_ptr sourceDoc,
1284
+ lxb_dom_node_t_ptr node,
1285
+ lxb_dom_node_t_ptr *clonedNode,
1286
+ lxb_dom_document_t_ptr destDoc,
1287
+ lxb_dom_node_t_ptr destParent,
1288
+ int deep,
1289
+ int options);
1290
+
1291
+ #ifdef LIBXML_TREE_ENABLED
1292
+ /*
1293
+ * 5 interfaces from DOM ElementTraversal, but different in entities
1294
+ * traversal.
1295
+ */
1296
+ XMLPUBFUN unsigned long XMLCALL
1297
+ xmlChildElementCount (lxb_dom_node_t_ptr parent);
1298
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
1299
+ xmlNextElementSibling (lxb_dom_node_t_ptr node);
1300
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
1301
+ xmlFirstElementChild (lxb_dom_node_t_ptr parent);
1302
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
1303
+ xmlLastElementChild (lxb_dom_node_t_ptr parent);
1304
+ XMLPUBFUN lxb_dom_node_t_ptr XMLCALL
1305
+ xmlPreviousElementSibling (lxb_dom_node_t_ptr node);
1306
+ #endif
1307
+ #ifdef __cplusplus
1308
+ }
1309
+ #endif
1310
+ #ifndef __XML_PARSER_H__
1311
+ #include "xmlmemory.h"
1312
+ #endif
1313
+
1314
+ #endif /* __XML_TREE_H__ */
1315
+