leptris 1.9.201.2 → 1.9.201.3

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 (1531) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/lib/leptris/html.rb +45 -0
  4. data/lib/leptris/version.rb +1 -1
  5. data/vendor-src/libleptris/CHANGELOG.md +8080 -0
  6. data/vendor-src/libleptris/CLAUDE.md +150 -0
  7. data/vendor-src/libleptris/CMakeLists.txt +379 -0
  8. data/vendor-src/libleptris/CMakePresets.json +61 -0
  9. data/vendor-src/libleptris/CODE_OF_CONDUCT.md +132 -0
  10. data/vendor-src/libleptris/CONTEXT.md +49 -0
  11. data/vendor-src/libleptris/LICENSE.md +33 -0
  12. data/vendor-src/libleptris/README.adoc +1197 -0
  13. data/vendor-src/libleptris/TODO.assemble/README.md +16 -0
  14. data/vendor-src/libleptris/TODO.bindings/01-mutation-construction.md +18 -0
  15. data/vendor-src/libleptris/TODO.bindings/02-incremental-iterparse.md +15 -0
  16. data/vendor-src/libleptris/TODO.bindings/03-compiled-xpath.md +15 -0
  17. data/vendor-src/libleptris/TODO.bindings/04-pull-stax-api.md +14 -0
  18. data/vendor-src/libleptris/TODO.bindings/05-per-parse-options.md +17 -0
  19. data/vendor-src/libleptris/TODO.bindings/06-serialize-encoding-guarantees.md +14 -0
  20. data/vendor-src/libleptris/TODO.bindings/README.md +36 -0
  21. data/vendor-src/libleptris/TODO.concurrency/01-thread-safe-errors.md +19 -0
  22. data/vendor-src/libleptris/TODO.concurrency/02-export-surface-gate.md +24 -0
  23. data/vendor-src/libleptris/TODO.concurrency/03-mixed-nodeset-batch.md +14 -0
  24. data/vendor-src/libleptris/TODO.concurrency/04-canonical-status-message.md +13 -0
  25. data/vendor-src/libleptris/TODO.concurrency/05-windows-dll-name.md +10 -0
  26. data/vendor-src/libleptris/TODO.concurrency/06-exslt-pack.md +26 -0
  27. data/vendor-src/libleptris/TODO.concurrency/07-ns-set-pairs.md +11 -0
  28. data/vendor-src/libleptris/TODO.concurrency/08-threading-contract.md +45 -0
  29. data/vendor-src/libleptris/TODO.engine/01-file-sources.md +11 -0
  30. data/vendor-src/libleptris/TODO.engine/02-compiled-contexts.md +10 -0
  31. data/vendor-src/libleptris/TODO.engine/03-rust-publish.md +9 -0
  32. data/vendor-src/libleptris/TODO.engine/04-ruby-release-input.md +8 -0
  33. data/vendor-src/libleptris/TODO.engine/05-todo-md-refresh.md +7 -0
  34. data/vendor-src/libleptris/TODO.engine/README.md +16 -0
  35. data/vendor-src/libleptris/TODO.hygiene/README.md +15 -0
  36. data/vendor-src/libleptris/TODO.max-perf/00-INDEX.md +22 -0
  37. data/vendor-src/libleptris/TODO.max-perf/1-simd-html-scanner.md +15 -0
  38. data/vendor-src/libleptris/TODO.max-perf/10-moxml-plan-followups.md +9 -0
  39. data/vendor-src/libleptris/TODO.max-perf/2-compiled-dispatch-tokenizer.md +8 -0
  40. data/vendor-src/libleptris/TODO.max-perf/3-iterparse-fixed-cost.md +5 -0
  41. data/vendor-src/libleptris/TODO.max-perf/4-compact-node-micro-opts.md +17 -0
  42. data/vendor-src/libleptris/TODO.max-perf/5-xslt-bench-profiling-rounds.md +13 -0
  43. data/vendor-src/libleptris/TODO.max-perf/6-language-tails.md +9 -0
  44. data/vendor-src/libleptris/TODO.max-perf/7-validate-bindings.md +6 -0
  45. data/vendor-src/libleptris/TODO.max-perf/8-native-xml-diff-consumer.md +5 -0
  46. data/vendor-src/libleptris/TODO.max-perf/9-prebuilt-gem-matrix.md +14 -0
  47. data/vendor-src/libleptris/TODO.md +33 -0
  48. data/vendor-src/libleptris/TODO.transform/README.md +39 -0
  49. data/vendor-src/libleptris/TODO.validate/README.md +32 -0
  50. data/vendor-src/libleptris/TODO.xpath2/README.md +91 -0
  51. data/vendor-src/libleptris/TODO.xslt-full/01-xpath-fn-sequences.md +27 -0
  52. data/vendor-src/libleptris/TODO.xslt-full/02-xpath-fn-regex.md +13 -0
  53. data/vendor-src/libleptris/TODO.xslt-full/03-xpath-fn-math.md +10 -0
  54. data/vendor-src/libleptris/TODO.xslt-full/04-xpath-fn-strings-qname-uri.md +97 -0
  55. data/vendor-src/libleptris/TODO.xslt-full/05-xpath-fn-dates.md +30 -0
  56. data/vendor-src/libleptris/TODO.xslt-full/06-xpath-grammar-3x.md +83 -0
  57. data/vendor-src/libleptris/TODO.xslt-full/07-xpath-function-items.md +124 -0
  58. data/vendor-src/libleptris/TODO.xslt-full/08-xpath-maps-arrays.md +79 -0
  59. data/vendor-src/libleptris/TODO.xslt-full/09-xslt-noop-fillins.md +35 -0
  60. data/vendor-src/libleptris/TODO.xslt-full/10-xslt-tunnel-params.md +9 -0
  61. data/vendor-src/libleptris/TODO.xslt-full/11-xquery-core.md +119 -0
  62. data/vendor-src/libleptris/TODO.xslt-full/12-xquery-31.md +65 -0
  63. data/vendor-src/libleptris/TODO.xslt-full/13-perf-inprocess.md +425 -0
  64. data/vendor-src/libleptris/TODO.xslt-full/14-html-mode.md +803 -0
  65. data/vendor-src/libleptris/TODO.xslt-full/15-binding-entries.md +19 -0
  66. data/vendor-src/libleptris/TODO.xslt-full/16-schematron.md +156 -0
  67. data/vendor-src/libleptris/TODO.xslt-full/17-xml-diff.md +52 -0
  68. data/vendor-src/libleptris/TODO.xslt-full/18-compact-nodes.md +278 -0
  69. data/vendor-src/libleptris/TODO.xslt-full/README.md +26 -0
  70. data/vendor-src/libleptris/TODO.xslt-full/REMAINING.md +163 -0
  71. data/vendor-src/libleptris/TODO.xslt-full/legacy-v19/00-triage.md +171 -0
  72. data/vendor-src/libleptris/TODO.xslt-full/legacy-v19/01-fragment-nodes.md +19 -0
  73. data/vendor-src/libleptris/TODO.xslt-full/legacy-v19/02-root-node-semantics.md +34 -0
  74. data/vendor-src/libleptris/TODO.xslt-full/legacy-v19/03-crashes.md +15 -0
  75. data/vendor-src/libleptris/TODO.xslt-full/legacy-v19/04-namespaces.md +14 -0
  76. data/vendor-src/libleptris/TODO.xslt-full/legacy-v19/05-number-attrset-sort.md +13 -0
  77. data/vendor-src/libleptris/TODO.xslt-full/legacy-v19/06-document-chains.md +10 -0
  78. data/vendor-src/libleptris/TODO.xslt-full/legacy-v19/07-charef-serializer.md +9 -0
  79. data/vendor-src/libleptris/TODO.xslt-full/legacy-v19/08-perf-gate.md +8 -0
  80. data/vendor-src/libleptris/TODO.xslt-full/legacy-v19/09-release.md +14 -0
  81. data/vendor-src/libleptris/VALIDATION.md +151 -0
  82. data/vendor-src/libleptris/benchmarks/CMakeLists.txt +259 -0
  83. data/vendor-src/libleptris/benchmarks/README.adoc +228 -0
  84. data/vendor-src/libleptris/benchmarks/README.md +212 -0
  85. data/vendor-src/libleptris/benchmarks/common/benchmark.c +252 -0
  86. data/vendor-src/libleptris/benchmarks/common/benchmark.h +77 -0
  87. data/vendor-src/libleptris/benchmarks/common/test_data.c +415 -0
  88. data/vendor-src/libleptris/benchmarks/common/test_data.h +18 -0
  89. data/vendor-src/libleptris/benchmarks/comprehensive/CMakeLists.txt +184 -0
  90. data/vendor-src/libleptris/benchmarks/comprehensive/benchmark_decomp.cpp +110 -0
  91. data/vendor-src/libleptris/benchmarks/comprehensive/benchmark_first_access.cpp +261 -0
  92. data/vendor-src/libleptris/benchmarks/comprehensive/benchmark_many_attrs.cpp +150 -0
  93. data/vendor-src/libleptris/benchmarks/comprehensive/benchmark_memory.cpp +185 -0
  94. data/vendor-src/libleptris/benchmarks/comprehensive/benchmark_parse.cpp +270 -0
  95. data/vendor-src/libleptris/benchmarks/comprehensive/benchmark_parse_ops.cpp +392 -0
  96. data/vendor-src/libleptris/benchmarks/comprehensive/benchmark_sax.c +106 -0
  97. data/vendor-src/libleptris/benchmarks/comprehensive/benchmark_write.cpp +351 -0
  98. data/vendor-src/libleptris/benchmarks/data/attrs.xml +303 -0
  99. data/vendor-src/libleptris/benchmarks/data/cdata_test.xml +13 -0
  100. data/vendor-src/libleptris/benchmarks/data/comment_test.xml +15 -0
  101. data/vendor-src/libleptris/benchmarks/data/deep.xml +205 -0
  102. data/vendor-src/libleptris/benchmarks/data/generate_attrs.rb +22 -0
  103. data/vendor-src/libleptris/benchmarks/data/generate_deep.rb +25 -0
  104. data/vendor-src/libleptris/benchmarks/data/generate_large.rb +33 -0
  105. data/vendor-src/libleptris/benchmarks/data/generate_wide.rb +18 -0
  106. data/vendor-src/libleptris/benchmarks/data/large.xml +21003 -0
  107. data/vendor-src/libleptris/benchmarks/data/large_workflow.xml +4003 -0
  108. data/vendor-src/libleptris/benchmarks/data/medium.xml +67 -0
  109. data/vendor-src/libleptris/benchmarks/data/medium_workflow.xml +353 -0
  110. data/vendor-src/libleptris/benchmarks/data/pi_test.xml +9 -0
  111. data/vendor-src/libleptris/benchmarks/data/small.xml +10 -0
  112. data/vendor-src/libleptris/benchmarks/data/small_workflow.xml +36 -0
  113. data/vendor-src/libleptris/benchmarks/data/wide.xml +5003 -0
  114. data/vendor-src/libleptris/benchmarks/dom/bench_document_lifecycle.c +69 -0
  115. data/vendor-src/libleptris/benchmarks/dom/bench_leptris.c +184 -0
  116. data/vendor-src/libleptris/benchmarks/dom/bench_libxml2.c +176 -0
  117. data/vendor-src/libleptris/benchmarks/dom/bench_text_borrowed.c +74 -0
  118. data/vendor-src/libleptris/benchmarks/dom/dom_benchmark_v2.cpp +314 -0
  119. data/vendor-src/libleptris/benchmarks/fixtures/large.xml +4003 -0
  120. data/vendor-src/libleptris/benchmarks/fixtures/large_catalog.xml +50003 -0
  121. data/vendor-src/libleptris/benchmarks/fixtures/libxml2/eve.xml +6 -0
  122. data/vendor-src/libleptris/benchmarks/fixtures/libxml2/slashdot.rdf +66 -0
  123. data/vendor-src/libleptris/benchmarks/fixtures/libxml2/wap.xml +27 -0
  124. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/4rects.xml +11 -0
  125. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/a-valid.xml +10 -0
  126. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/a-wf.xml +9 -0
  127. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/bike.xml +41 -0
  128. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/circle.xml +11 -0
  129. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/defs.xml +14 -0
  130. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/desc.xml +14 -0
  131. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/ellipse.xml +10 -0
  132. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/flower2.xml +44 -0
  133. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/gradient.xml +16 -0
  134. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/group01.xml +15 -0
  135. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/group02.xml +13 -0
  136. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/group03.xml +13 -0
  137. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/image-valid.xml +11 -0
  138. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/image-wf.xml +11 -0
  139. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/lin-gradient.xml +16 -0
  140. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/marker.xml +28 -0
  141. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/mask.xml +13 -0
  142. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/mathswitch.xml +32 -0
  143. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/parentns.xml +12 -0
  144. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/path01.xml +5 -0
  145. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/path02.xml +10 -0
  146. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/patternfill.xml +12 -0
  147. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/polyline.xml +9 -0
  148. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/private.xml +19 -0
  149. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/rad-gradient.xml +17 -0
  150. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/rectangle.xml +10 -0
  151. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/richdesc.xml +12 -0
  152. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/script.xml +13 -0
  153. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/structure01.xml +10 -0
  154. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/style.xml +11 -0
  155. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/switch.xml +21 -0
  156. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/symbol-use.xml +28 -0
  157. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/template.xml +9 -0
  158. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/text01.xml +12 -0
  159. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/text02.xml +17 -0
  160. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/text03.xml +8 -0
  161. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/toap01.xml +10 -0
  162. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/toap02.xml +33 -0
  163. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/transform.xml +26 -0
  164. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/trivial.xml +6 -0
  165. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/twin-gradients.xml +19 -0
  166. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/v-template.xml +9 -0
  167. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/viewport-nest.xml +13 -0
  168. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/viewport-transform.xml +46 -0
  169. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/viewport.xml +11 -0
  170. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_svg/wf-template.xml +7 -0
  171. data/vendor-src/libleptris/benchmarks/fixtures/libxml2_xsdtest.xml +5286 -0
  172. data/vendor-src/libleptris/benchmarks/fixtures/medium.xml +403 -0
  173. data/vendor-src/libleptris/benchmarks/fixtures/medium_catalog.xml +3003 -0
  174. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/empty.xml +0 -0
  175. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/large.xml +1 -0
  176. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/latintest_latin1.xml +1 -0
  177. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/latintest_utf8.xml +1 -0
  178. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/multiline.xml +3 -0
  179. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/small.xml +1 -0
  180. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/truncation.xml +19 -0
  181. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf16_be.xml +0 -0
  182. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf16_be_bom.xml +0 -0
  183. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf16_be_clean.xml +0 -0
  184. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf16_be_nodecl.xml +0 -0
  185. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf16_le.xml +0 -0
  186. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf16_le_bom.xml +0 -0
  187. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf16_le_clean.xml +0 -0
  188. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf16_le_nodecl.xml +0 -0
  189. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf32_be.xml +0 -0
  190. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf32_be_bom.xml +0 -0
  191. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf32_be_clean.xml +0 -0
  192. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf32_be_nodecl.xml +0 -0
  193. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf32_le.xml +0 -0
  194. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf32_le_bom.xml +0 -0
  195. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf32_le_clean.xml +0 -0
  196. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf32_le_nodecl.xml +0 -0
  197. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf8.xml +87 -0
  198. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf8_bom.xml +87 -0
  199. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf8_clean.xml +84 -0
  200. data/vendor-src/libleptris/benchmarks/fixtures/pugixml/utftest_utf8_nodecl.xml +86 -0
  201. data/vendor-src/libleptris/benchmarks/fixtures/pugixml//321/202/320/265/321/201/321/202.xml +1 -0
  202. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/empty.xml +0 -0
  203. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/large.xml +1 -0
  204. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/latintest_latin1.xml +1 -0
  205. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/latintest_utf8.xml +1 -0
  206. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/multiline.xml +3 -0
  207. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/small.xml +1 -0
  208. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/truncation.xml +19 -0
  209. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf16_be.xml +0 -0
  210. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf16_be_bom.xml +0 -0
  211. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf16_be_clean.xml +0 -0
  212. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf16_be_nodecl.xml +0 -0
  213. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf16_le.xml +0 -0
  214. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf16_le_bom.xml +0 -0
  215. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf16_le_clean.xml +0 -0
  216. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf16_le_nodecl.xml +0 -0
  217. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf32_be.xml +0 -0
  218. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf32_be_bom.xml +0 -0
  219. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf32_be_clean.xml +0 -0
  220. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf32_be_nodecl.xml +0 -0
  221. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf32_le.xml +0 -0
  222. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf32_le_bom.xml +0 -0
  223. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf32_le_clean.xml +0 -0
  224. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf32_le_nodecl.xml +0 -0
  225. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf8.xml +87 -0
  226. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf8_bom.xml +87 -0
  227. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf8_clean.xml +84 -0
  228. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests/utftest_utf8_nodecl.xml +86 -0
  229. data/vendor-src/libleptris/benchmarks/fixtures/pugixml_tests//321/202/320/265/321/201/321/202.xml +1 -0
  230. data/vendor-src/libleptris/benchmarks/fixtures/small.xml +38 -0
  231. data/vendor-src/libleptris/benchmarks/html/bench_html_parse.c +111 -0
  232. data/vendor-src/libleptris/benchmarks/html/gen_nokogiri_reference.rb +112 -0
  233. data/vendor-src/libleptris/benchmarks/html/nokogiri_html_parse.rb +64 -0
  234. data/vendor-src/libleptris/benchmarks/matrix/README.md +71 -0
  235. data/vendor-src/libleptris/benchmarks/matrix/bench2html.rb +316 -0
  236. data/vendor-src/libleptris/benchmarks/matrix/bench_matrix.cpp +724 -0
  237. data/vendor-src/libleptris/benchmarks/modification/bench_leptris_modify.c +211 -0
  238. data/vendor-src/libleptris/benchmarks/modification/bench_node_creation.c +130 -0
  239. data/vendor-src/libleptris/benchmarks/results/BENCHMARK_REPORT.md +226 -0
  240. data/vendor-src/libleptris/benchmarks/results/baseline_report.md +219 -0
  241. data/vendor-src/libleptris/benchmarks/results/benchmark_20251223_134550.json +13 -0
  242. data/vendor-src/libleptris/benchmarks/results/benchmark_20260129_225844.json +13 -0
  243. data/vendor-src/libleptris/benchmarks/results/leptris_dom_output.txt +24 -0
  244. data/vendor-src/libleptris/benchmarks/results/leptris_modify.json +36 -0
  245. data/vendor-src/libleptris/benchmarks/results/leptris_modify_optimized.json +36 -0
  246. data/vendor-src/libleptris/benchmarks/results/leptris_modify_session1.json +36 -0
  247. data/vendor-src/libleptris/benchmarks/results/leptris_modify_session2.json +36 -0
  248. data/vendor-src/libleptris/benchmarks/results/leptris_serialize.json +34 -0
  249. data/vendor-src/libleptris/benchmarks/results/leptris_xpath_output.txt +24 -0
  250. data/vendor-src/libleptris/benchmarks/results/libxml2_dom_output.txt +24 -0
  251. data/vendor-src/libleptris/benchmarks/results/libxml2_xpath_output.txt +24 -0
  252. data/vendor-src/libleptris/benchmarks/results/phase16_session2.json +21 -0
  253. data/vendor-src/libleptris/benchmarks/results/phase17.5_session1.json +30 -0
  254. data/vendor-src/libleptris/benchmarks/results/phase17_session1.json +30 -0
  255. data/vendor-src/libleptris/benchmarks/results/pugixml_dom_output.txt +51 -0
  256. data/vendor-src/libleptris/benchmarks/results/xpath_axes_leptris.json +318 -0
  257. data/vendor-src/libleptris/benchmarks/results/xpath_axes_libxml2.json +318 -0
  258. data/vendor-src/libleptris/benchmarks/results/xpath_functions_leptris.json +222 -0
  259. data/vendor-src/libleptris/benchmarks/results/xpath_functions_libxml2.json +222 -0
  260. data/vendor-src/libleptris/benchmarks/sax/bench_iterparse.c +115 -0
  261. data/vendor-src/libleptris/benchmarks/sax/bench_leptris.c +124 -0
  262. data/vendor-src/libleptris/benchmarks/sax/bench_libxml2.c +115 -0
  263. data/vendor-src/libleptris/benchmarks/serialization/bench_leptris_serialize.c +198 -0
  264. data/vendor-src/libleptris/benchmarks/src/benchmark_base.h +175 -0
  265. data/vendor-src/libleptris/benchmarks/twins/mutation_leptris.c +37 -0
  266. data/vendor-src/libleptris/benchmarks/twins/mutation_pugixml.cpp +28 -0
  267. data/vendor-src/libleptris/benchmarks/twins/parse_leptris.c +35 -0
  268. data/vendor-src/libleptris/benchmarks/twins/parse_pugixml.cpp +35 -0
  269. data/vendor-src/libleptris/benchmarks/utils.c +171 -0
  270. data/vendor-src/libleptris/benchmarks/utils.h +70 -0
  271. data/vendor-src/libleptris/benchmarks/workflows/bench_dom_modify.c +325 -0
  272. data/vendor-src/libleptris/benchmarks/workflows/bench_end_to_end.c +529 -0
  273. data/vendor-src/libleptris/benchmarks/xpath/bench_axes.c +411 -0
  274. data/vendor-src/libleptris/benchmarks/xpath/bench_axes_libxml2.c +108 -0
  275. data/vendor-src/libleptris/benchmarks/xpath/bench_diagnostic.c +431 -0
  276. data/vendor-src/libleptris/benchmarks/xpath/bench_functions.c +271 -0
  277. data/vendor-src/libleptris/benchmarks/xpath/bench_functions_libxml2.c +123 -0
  278. data/vendor-src/libleptris/benchmarks/xpath/bench_leptris.c +78 -0
  279. data/vendor-src/libleptris/benchmarks/xpath/bench_libxml2.c +98 -0
  280. data/vendor-src/libleptris/benchmarks/xpath/bench_pugixml.cpp +117 -0
  281. data/vendor-src/libleptris/benchmarks/xpath/bench_scalar_eval.c +86 -0
  282. data/vendor-src/libleptris/benchmarks/xpath/bench_scalar_eval_libxml2.c +70 -0
  283. data/vendor-src/libleptris/benchmarks/xpath/bench_xslt_transform.c +48 -0
  284. data/vendor-src/libleptris/benchmarks/xslt/bench_dispatch.c +52 -0
  285. data/vendor-src/libleptris/benchmarks/xslt/bench_dispatch_heavy.c +82 -0
  286. data/vendor-src/libleptris/benchmarks/xslt/bench_dispatch_pred.c +34 -0
  287. data/vendor-src/libleptris/benchmarks/xslt/bench_subtree_copy.c +55 -0
  288. data/vendor-src/libleptris/benchmarks/xslt/bench_valueof.c +46 -0
  289. data/vendor-src/libleptris/benchmarks/xslt/heavy_lxml.py +48 -0
  290. data/vendor-src/libleptris/benchmarks/xslt/scorecard_lxml.py +169 -0
  291. data/vendor-src/libleptris/bindings/ruby/leptris.gemspec +22 -0
  292. data/vendor-src/libleptris/bindings/ruby/lib/leptris/document.rb +60 -0
  293. data/vendor-src/libleptris/bindings/ruby/lib/leptris/element.rb +86 -0
  294. data/vendor-src/libleptris/bindings/ruby/lib/leptris/error.rb +6 -0
  295. data/vendor-src/libleptris/bindings/ruby/lib/leptris/node.rb +73 -0
  296. data/vendor-src/libleptris/bindings/ruby/lib/leptris/sax.rb +189 -0
  297. data/vendor-src/libleptris/bindings/ruby/lib/leptris/xpath.rb +44 -0
  298. data/vendor-src/libleptris/bindings/ruby/lib/leptris.rb +137 -0
  299. data/vendor-src/libleptris/bindings/ruby/spec/leptris_spec.rb +113 -0
  300. data/vendor-src/libleptris/bindings/ruby/spec/sax_spec.rb +141 -0
  301. data/vendor-src/libleptris/bindings/ruby/spec/spec_helper.rb +7 -0
  302. data/vendor-src/libleptris/bindings/ruby/test_full.rb +21 -0
  303. data/vendor-src/libleptris/bindings/rust/Cargo.lock +7 -0
  304. data/vendor-src/libleptris/bindings/rust/Cargo.toml +13 -0
  305. data/vendor-src/libleptris/bindings/rust/README.md +61 -0
  306. data/vendor-src/libleptris/bindings/rust/build.rs +74 -0
  307. data/vendor-src/libleptris/bindings/rust/src/ffi.rs +204 -0
  308. data/vendor-src/libleptris/bindings/rust/src/lib.rs +580 -0
  309. data/vendor-src/libleptris/bindings/rust/tests/integration.rs +156 -0
  310. data/vendor-src/libleptris/cli/ARCHITECTURE_REVIEW.md +514 -0
  311. data/vendor-src/libleptris/cli/CLI_ARCHITECTURE.md +851 -0
  312. data/vendor-src/libleptris/cli/CMakeLists.txt +46 -0
  313. data/vendor-src/libleptris/cli/cli.c +115 -0
  314. data/vendor-src/libleptris/cli/cli.h +232 -0
  315. data/vendor-src/libleptris/cli/commands/diff.c +208 -0
  316. data/vendor-src/libleptris/cli/commands/format.c +379 -0
  317. data/vendor-src/libleptris/cli/commands/parse.c +343 -0
  318. data/vendor-src/libleptris/cli/commands/validate.c +284 -0
  319. data/vendor-src/libleptris/cli/commands/version.c +49 -0
  320. data/vendor-src/libleptris/cli/commands/xpath.c +428 -0
  321. data/vendor-src/libleptris/cli/commands/xquery.c +188 -0
  322. data/vendor-src/libleptris/cli/completion/leptris.bash +86 -0
  323. data/vendor-src/libleptris/cli/completion/leptris.zsh +74 -0
  324. data/vendor-src/libleptris/cli/error.c +394 -0
  325. data/vendor-src/libleptris/cli/error.h +360 -0
  326. data/vendor-src/libleptris/cli/leptris +0 -0
  327. data/vendor-src/libleptris/cli/main.c +127 -0
  328. data/vendor-src/libleptris/cli/man/leptris-format.1.adoc +226 -0
  329. data/vendor-src/libleptris/cli/man/leptris-parse.1.adoc +213 -0
  330. data/vendor-src/libleptris/cli/man/leptris-xpath.1.adoc +479 -0
  331. data/vendor-src/libleptris/cli/man/leptris.1.adoc +192 -0
  332. data/vendor-src/libleptris/cli/options.c +451 -0
  333. data/vendor-src/libleptris/cli/options.h +378 -0
  334. data/vendor-src/libleptris/cli/output.c +841 -0
  335. data/vendor-src/libleptris/cli/output.h +361 -0
  336. data/vendor-src/libleptris/cmake/FindUtf8proc.cmake +56 -0
  337. data/vendor-src/libleptris/cmake/leptris-config.cmake.in +14 -0
  338. data/vendor-src/libleptris/cmake/leptris.pc.in +11 -0
  339. data/vendor-src/libleptris/cmake/modules/AdocMan.cmake +132 -0
  340. data/vendor-src/libleptris/docs/ARCHITECTURE_REVIEW.md +280 -0
  341. data/vendor-src/libleptris/docs/Doxyfile +47 -0
  342. data/vendor-src/libleptris/docs/FFI.md +165 -0
  343. data/vendor-src/libleptris/docs/README.md +47 -0
  344. data/vendor-src/libleptris/docs/ROADMAP-SAXON-PARITY.md +194 -0
  345. data/vendor-src/libleptris/docs/guide/building.md +199 -0
  346. data/vendor-src/libleptris/docs/guide/getting-started.md +134 -0
  347. data/vendor-src/libleptris/docs/guide/parsing.md +315 -0
  348. data/vendor-src/libleptris/docs/guide/xpath-queries.md +444 -0
  349. data/vendor-src/libleptris/examples/c/CMakeLists.txt +58 -0
  350. data/vendor-src/libleptris/examples/c/README.md +345 -0
  351. data/vendor-src/libleptris/examples/c/basic_example.c +80 -0
  352. data/vendor-src/libleptris/examples/c/dom_traversal_example.c +58 -0
  353. data/vendor-src/libleptris/examples/c/error_handling_example.c +121 -0
  354. data/vendor-src/libleptris/examples/c/namespace_example.c +49 -0
  355. data/vendor-src/libleptris/examples/c/xpath_example.c +74 -0
  356. data/vendor-src/libleptris/ports/leptris/portfile.cmake +41 -0
  357. data/vendor-src/libleptris/ports/leptris/usage +28 -0
  358. data/vendor-src/libleptris/scripts/check_dll_exports.py +54 -0
  359. data/vendor-src/libleptris/scripts/check_export_surface.py +84 -0
  360. data/vendor-src/libleptris/scripts/check_ffi_mirrors.py +163 -0
  361. data/vendor-src/libleptris/scripts/check_formatting.sh +30 -0
  362. data/vendor-src/libleptris/scripts/check_shared_exports.sh +120 -0
  363. data/vendor-src/libleptris/scripts/check_trailing_whitespace.sh +18 -0
  364. data/vendor-src/libleptris/scripts/gen-api-docs.sh +31 -0
  365. data/vendor-src/libleptris/scripts/run_static_analysis.sh +16 -0
  366. data/vendor-src/libleptris/scripts/validate.sh +199 -0
  367. data/vendor-src/libleptris/scripts/xslt_triage.sh +72 -0
  368. data/vendor-src/libleptris/src/CMakeLists.txt +597 -0
  369. data/vendor-src/libleptris/src/include/leptris/descriptor.h +178 -0
  370. data/vendor-src/libleptris/src/include/leptris/dom/document.h +213 -0
  371. data/vendor-src/libleptris/src/include/leptris/dom/element.h +435 -0
  372. data/vendor-src/libleptris/src/include/leptris/dom/serialize.h +133 -0
  373. data/vendor-src/libleptris/src/include/leptris/dtd.h +178 -0
  374. data/vendor-src/libleptris/src/include/leptris/error.h +97 -0
  375. data/vendor-src/libleptris/src/include/leptris/sax/sax.h +584 -0
  376. data/vendor-src/libleptris/src/include/leptris/types.h +386 -0
  377. data/vendor-src/libleptris/src/include/leptris/xpath/xpath.h +250 -0
  378. data/vendor-src/libleptris/src/include/leptris/xquery/xquery.h +80 -0
  379. data/vendor-src/libleptris/src/include/leptris.h +3701 -0
  380. data/vendor-src/libleptris/src/leptris/chartype.h +124 -0
  381. data/vendor-src/libleptris/src/leptris/common/chartype.c +90 -0
  382. data/vendor-src/libleptris/src/leptris/common/chartype.h +44 -0
  383. data/vendor-src/libleptris/src/leptris/common/cpu.c +40 -0
  384. data/vendor-src/libleptris/src/leptris/common/cpu.h +63 -0
  385. data/vendor-src/libleptris/src/leptris/common/entities.c +329 -0
  386. data/vendor-src/libleptris/src/leptris/common/entities.h +79 -0
  387. data/vendor-src/libleptris/src/leptris/common/format_number.c +273 -0
  388. data/vendor-src/libleptris/src/leptris/common/format_number.h +29 -0
  389. data/vendor-src/libleptris/src/leptris/common/port.h +171 -0
  390. data/vendor-src/libleptris/src/leptris/common/simd_text.c +237 -0
  391. data/vendor-src/libleptris/src/leptris/common/simd_text.h +104 -0
  392. data/vendor-src/libleptris/src/leptris/common/simd_text_avx2.c +105 -0
  393. data/vendor-src/libleptris/src/leptris/common/simd_text_neon.c +280 -0
  394. data/vendor-src/libleptris/src/leptris/common/string_view.c +204 -0
  395. data/vendor-src/libleptris/src/leptris/common/string_view.h +68 -0
  396. data/vendor-src/libleptris/src/leptris/common/types_internal.h +31 -0
  397. data/vendor-src/libleptris/src/leptris/core.c +201 -0
  398. data/vendor-src/libleptris/src/leptris/descriptor/plan.c +527 -0
  399. data/vendor-src/libleptris/src/leptris/diff/diff.c +491 -0
  400. data/vendor-src/libleptris/src/leptris/dom/cdata.c +47 -0
  401. data/vendor-src/libleptris/src/leptris/dom/cdata.h +73 -0
  402. data/vendor-src/libleptris/src/leptris/dom/comment.c +48 -0
  403. data/vendor-src/libleptris/src/leptris/dom/comment.h +74 -0
  404. data/vendor-src/libleptris/src/leptris/dom/compact.c +397 -0
  405. data/vendor-src/libleptris/src/leptris/dom/compact.h +307 -0
  406. data/vendor-src/libleptris/src/leptris/dom/diag.c +58 -0
  407. data/vendor-src/libleptris/src/leptris/dom/diag.h +75 -0
  408. data/vendor-src/libleptris/src/leptris/dom/digest.c +255 -0
  409. data/vendor-src/libleptris/src/leptris/dom/doctype.c +137 -0
  410. data/vendor-src/libleptris/src/leptris/dom/doctype.h +52 -0
  411. data/vendor-src/libleptris/src/leptris/dom/document_node.c +13 -0
  412. data/vendor-src/libleptris/src/leptris/dom/document_node.h +21 -0
  413. data/vendor-src/libleptris/src/leptris/dom/edges.h +60 -0
  414. data/vendor-src/libleptris/src/leptris/dom/element.c +1114 -0
  415. data/vendor-src/libleptris/src/leptris/dom/element.h +1109 -0
  416. data/vendor-src/libleptris/src/leptris/dom/element_index.c +444 -0
  417. data/vendor-src/libleptris/src/leptris/dom/element_index.h +135 -0
  418. data/vendor-src/libleptris/src/leptris/dom/element_modify.c +2185 -0
  419. data/vendor-src/libleptris/src/leptris/dom/element_query.c +1468 -0
  420. data/vendor-src/libleptris/src/leptris/dom/entity_ref.c +57 -0
  421. data/vendor-src/libleptris/src/leptris/dom/entity_ref.h +70 -0
  422. data/vendor-src/libleptris/src/leptris/dom/node.c +420 -0
  423. data/vendor-src/libleptris/src/leptris/dom/node.h +170 -0
  424. data/vendor-src/libleptris/src/leptris/dom/node_public.c +937 -0
  425. data/vendor-src/libleptris/src/leptris/dom/node_vtable.c +138 -0
  426. data/vendor-src/libleptris/src/leptris/dom/pi.c +70 -0
  427. data/vendor-src/libleptris/src/leptris/dom/pi.h +80 -0
  428. data/vendor-src/libleptris/src/leptris/dom/root_doc_map.c +310 -0
  429. data/vendor-src/libleptris/src/leptris/dom/root_doc_map.h +30 -0
  430. data/vendor-src/libleptris/src/leptris/dom/text.c +157 -0
  431. data/vendor-src/libleptris/src/leptris/dom/text.h +119 -0
  432. data/vendor-src/libleptris/src/leptris/dtd/content_check.c +300 -0
  433. data/vendor-src/libleptris/src/leptris/dtd/model.c +533 -0
  434. data/vendor-src/libleptris/src/leptris/dtd/model.h +354 -0
  435. data/vendor-src/libleptris/src/leptris/dtd/parser.c +827 -0
  436. data/vendor-src/libleptris/src/leptris/dtd/resolver.c +354 -0
  437. data/vendor-src/libleptris/src/leptris/dtd/validator.c +668 -0
  438. data/vendor-src/libleptris/src/leptris/encoding/encoders.c +346 -0
  439. data/vendor-src/libleptris/src/leptris/encoding/encoders.h +61 -0
  440. data/vendor-src/libleptris/src/leptris/encoding/encoding.c +451 -0
  441. data/vendor-src/libleptris/src/leptris/encoding/encoding.h +118 -0
  442. data/vendor-src/libleptris/src/leptris/encoding/unicode.c +317 -0
  443. data/vendor-src/libleptris/src/leptris/encoding/unicode.h +64 -0
  444. data/vendor-src/libleptris/src/leptris/encoding/utf16.c +204 -0
  445. data/vendor-src/libleptris/src/leptris/encoding/utf16.h +78 -0
  446. data/vendor-src/libleptris/src/leptris/encoding/wrapper.c +243 -0
  447. data/vendor-src/libleptris/src/leptris/error.c +134 -0
  448. data/vendor-src/libleptris/src/leptris/flat/direct_parse.c +1935 -0
  449. data/vendor-src/libleptris/src/leptris/flat/direct_parse.h +41 -0
  450. data/vendor-src/libleptris/src/leptris/html/html_parse.c +8040 -0
  451. data/vendor-src/libleptris/src/leptris/leptris.c +1264 -0
  452. data/vendor-src/libleptris/src/leptris/leptris_internal.h +910 -0
  453. data/vendor-src/libleptris/src/leptris/leptris_memory.c +179 -0
  454. data/vendor-src/libleptris/src/leptris/leptris_memory.h +180 -0
  455. data/vendor-src/libleptris/src/leptris/leptris_parse.h +195 -0
  456. data/vendor-src/libleptris/src/leptris/memory/arena.c +243 -0
  457. data/vendor-src/libleptris/src/leptris/memory/arena.h +93 -0
  458. data/vendor-src/libleptris/src/leptris/memory/pool.c +1055 -0
  459. data/vendor-src/libleptris/src/leptris/memory/pool.h +426 -0
  460. data/vendor-src/libleptris/src/leptris/rng/parse.c +814 -0
  461. data/vendor-src/libleptris/src/leptris/rng/rng_internal.h +112 -0
  462. data/vendor-src/libleptris/src/leptris/rng/rng_public.c +159 -0
  463. data/vendor-src/libleptris/src/leptris/rng/rng_regex.c +453 -0
  464. data/vendor-src/libleptris/src/leptris/rng/validate.c +1923 -0
  465. data/vendor-src/libleptris/src/leptris/sax/iterparse.c +435 -0
  466. data/vendor-src/libleptris/src/leptris/sax/parser.c +105 -0
  467. data/vendor-src/libleptris/src/leptris/sax/pull.c +489 -0
  468. data/vendor-src/libleptris/src/leptris/sax/recorder.c +252 -0
  469. data/vendor-src/libleptris/src/leptris/sax/sax_internal.h +163 -0
  470. data/vendor-src/libleptris/src/leptris/sax/streaming.c +1469 -0
  471. data/vendor-src/libleptris/src/leptris/sch/schematron.c +1588 -0
  472. data/vendor-src/libleptris/src/leptris/serialize/c14n.c +1143 -0
  473. data/vendor-src/libleptris/src/leptris/serialize/serialize.c +2333 -0
  474. data/vendor-src/libleptris/src/leptris/serialize/serialize.h +188 -0
  475. data/vendor-src/libleptris/src/leptris/simd_helpers.h +447 -0
  476. data/vendor-src/libleptris/src/leptris/unicode/unicode.c +237 -0
  477. data/vendor-src/libleptris/src/leptris/unicode/unicode.h +113 -0
  478. data/vendor-src/libleptris/src/leptris/xinclude/xinclude.c +794 -0
  479. data/vendor-src/libleptris/src/leptris/xpath/bytecode.h +229 -0
  480. data/vendor-src/libleptris/src/leptris/xpath/compiler.c +1478 -0
  481. data/vendor-src/libleptris/src/leptris/xpath/evaluator.c +1099 -0
  482. data/vendor-src/libleptris/src/leptris/xpath/evaluator.h +189 -0
  483. data/vendor-src/libleptris/src/leptris/xpath/evaluator_axes.c +787 -0
  484. data/vendor-src/libleptris/src/leptris/xpath/evaluator_internal.h +112 -0
  485. data/vendor-src/libleptris/src/leptris/xpath/evaluator_operators.c +2138 -0
  486. data/vendor-src/libleptris/src/leptris/xpath/evaluator_path.c +1312 -0
  487. data/vendor-src/libleptris/src/leptris/xpath/evaluator_types.c +294 -0
  488. data/vendor-src/libleptris/src/leptris/xpath/functions.c +2544 -0
  489. data/vendor-src/libleptris/src/leptris/xpath/functions.h +161 -0
  490. data/vendor-src/libleptris/src/leptris/xpath/functions_exslt.c +545 -0
  491. data/vendor-src/libleptris/src/leptris/xpath/functions_ext31.c +4316 -0
  492. data/vendor-src/libleptris/src/leptris/xpath/lexer.c +636 -0
  493. data/vendor-src/libleptris/src/leptris/xpath/lexer.h +25 -0
  494. data/vendor-src/libleptris/src/leptris/xpath/parser.c +2992 -0
  495. data/vendor-src/libleptris/src/leptris/xpath/parser.h +28 -0
  496. data/vendor-src/libleptris/src/leptris/xpath/vm.c +2903 -0
  497. data/vendor-src/libleptris/src/leptris/xpath/xpath_ast_cache.c +319 -0
  498. data/vendor-src/libleptris/src/leptris/xpath/xpath_compiled.c +263 -0
  499. data/vendor-src/libleptris/src/leptris/xpath/xpath_internal.h +134 -0
  500. data/vendor-src/libleptris/src/leptris/xpath/xpath_public.c +1139 -0
  501. data/vendor-src/libleptris/src/leptris/xpath/xpath_variables.c +410 -0
  502. data/vendor-src/libleptris/src/leptris/xpath/xpath_variables.h +230 -0
  503. data/vendor-src/libleptris/src/leptris/xquery/xquery.c +2641 -0
  504. data/vendor-src/libleptris/src/leptris/xslt/xslt_exec.c +4887 -0
  505. data/vendor-src/libleptris/src/leptris/xslt/xslt_functions.c +1612 -0
  506. data/vendor-src/libleptris/src/leptris/xslt/xslt_internal.h +862 -0
  507. data/vendor-src/libleptris/src/leptris/xslt/xslt_parse.c +2418 -0
  508. data/vendor-src/libleptris/src/leptris/xslt/xslt_pattern.c +441 -0
  509. data/vendor-src/libleptris/src/leptris/xslt/xslt_public.c +710 -0
  510. data/vendor-src/libleptris/src/leptris.symvers +16 -0
  511. data/vendor-src/libleptris/src/man/libleptris.5.adoc +961 -0
  512. data/vendor-src/libleptris/test/CMakeLists.txt +234 -0
  513. data/vendor-src/libleptris/test/README.md +59 -0
  514. data/vendor-src/libleptris/test/abi/test_descriptor.cpp +441 -0
  515. data/vendor-src/libleptris/test/abi/test_doctype_api.cpp +51 -0
  516. data/vendor-src/libleptris/test/abi/test_dom_deep_copy.cpp +110 -0
  517. data/vendor-src/libleptris/test/abi/test_dom_mutation_bugs.cpp +210 -0
  518. data/vendor-src/libleptris/test/abi/test_header_hygiene.cpp +269 -0
  519. data/vendor-src/libleptris/test/abi/test_namespace_mutation_and_create.cpp +198 -0
  520. data/vendor-src/libleptris/test/abi/test_node_get_xpath.cpp +128 -0
  521. data/vendor-src/libleptris/test/abi/test_nokogiri_api.cpp +392 -0
  522. data/vendor-src/libleptris/test/abi/test_parse_fragment.cpp +114 -0
  523. data/vendor-src/libleptris/test/abi/test_previous_sibling_and_c14n_ex.cpp +299 -0
  524. data/vendor-src/libleptris/test/abi/test_public_surface.cpp +463 -0
  525. data/vendor-src/libleptris/test/abi/test_serialize_abi.cpp +67 -0
  526. data/vendor-src/libleptris/test/abi/test_v0_5_14_bugs.cpp +299 -0
  527. data/vendor-src/libleptris/test/abi/test_xpath_custom_fns.cpp +106 -0
  528. data/vendor-src/libleptris/test/cli/test_cli.cpp +493 -0
  529. data/vendor-src/libleptris/test/common/test_simd_spans.cpp +88 -0
  530. data/vendor-src/libleptris/test/common/test_simd_text.cpp +142 -0
  531. data/vendor-src/libleptris/test/concurrency/test_concurrency.cpp +218 -0
  532. data/vendor-src/libleptris/test/diff/test_diff.cpp +244 -0
  533. data/vendor-src/libleptris/test/dom/test_compact.cpp +339 -0
  534. data/vendor-src/libleptris/test/dom/test_digest.cpp +111 -0
  535. data/vendor-src/libleptris/test/dom/test_document_children.cpp +270 -0
  536. data/vendor-src/libleptris/test/dom/test_dom.cpp +2310 -0
  537. data/vendor-src/libleptris/test/dom/test_map_lifecycle.cpp +111 -0
  538. data/vendor-src/libleptris/test/dom/test_node_surface_parity.cpp +268 -0
  539. data/vendor-src/libleptris/test/dom/test_text_borrowed.cpp +126 -0
  540. data/vendor-src/libleptris/test/dom/test_vtable.cpp +108 -0
  541. data/vendor-src/libleptris/test/dtd/test_dtd_validate.cpp +1227 -0
  542. data/vendor-src/libleptris/test/dtd/test_w3c_conformance.cpp +212 -0
  543. data/vendor-src/libleptris/test/fixtures/basic.xml +13 -0
  544. data/vendor-src/libleptris/test/fixtures/cdata.xml +5 -0
  545. data/vendor-src/libleptris/test/fixtures/malformed.xml +2 -0
  546. data/vendor-src/libleptris/test/fixtures/namespaces.xml +11 -0
  547. data/vendor-src/libleptris/test/fixtures/utf16_decl.xml +5 -0
  548. data/vendor-src/libleptris/test/fuzz/fuzz_parse.c +40 -0
  549. data/vendor-src/libleptris/test/html/html5lib-redlist.txt +1366 -0
  550. data/vendor-src/libleptris/test/html/html5lib-tests/LICENSE +21 -0
  551. data/vendor-src/libleptris/test/html/html5lib-tests/README.md +11 -0
  552. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/adoption01.dat +354 -0
  553. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/adoption02.dat +39 -0
  554. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/blocks.dat +695 -0
  555. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/comments01.dat +217 -0
  556. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/doctype01.dat +474 -0
  557. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/domjs-unsafe.dat +0 -0
  558. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/entities01.dat +943 -0
  559. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/entities02.dat +309 -0
  560. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/foreign-fragment.dat +645 -0
  561. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/html5test-com.dat +301 -0
  562. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/inbody01.dat +54 -0
  563. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/isindex.dat +49 -0
  564. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/main-element.dat +46 -0
  565. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/math.dat +104 -0
  566. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/menuitem-element.dat +240 -0
  567. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/namespace-sensitivity.dat +22 -0
  568. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/noscript01.dat +237 -0
  569. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/pending-spec-changes-plain-text-unsafe.dat +0 -0
  570. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/pending-spec-changes.dat +46 -0
  571. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/plain-text-unsafe.dat +0 -0
  572. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/ruby.dat +302 -0
  573. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/scriptdata01.dat +372 -0
  574. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/search-element.dat +46 -0
  575. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/svg.dat +104 -0
  576. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tables01.dat +308 -0
  577. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/template.dat +1673 -0
  578. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests1.dat +1956 -0
  579. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests10.dat +849 -0
  580. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests11.dat +523 -0
  581. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests12.dat +62 -0
  582. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests14.dat +75 -0
  583. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests15.dat +216 -0
  584. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests16.dat +2602 -0
  585. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests17.dat +179 -0
  586. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests18.dat +558 -0
  587. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests19.dat +1398 -0
  588. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests2.dat +821 -0
  589. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests20.dat +842 -0
  590. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests21.dat +306 -0
  591. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests22.dat +190 -0
  592. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests23.dat +168 -0
  593. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests24.dat +79 -0
  594. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests25.dat +288 -0
  595. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests26.dat +453 -0
  596. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests3.dat +305 -0
  597. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests4.dat +58 -0
  598. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests5.dat +210 -0
  599. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests6.dat +663 -0
  600. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests7.dat +417 -0
  601. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests8.dat +165 -0
  602. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests9.dat +472 -0
  603. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tests_innerHTML_1.dat +843 -0
  604. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/tricky01.dat +336 -0
  605. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/webkit01.dat +785 -0
  606. data/vendor-src/libleptris/test/html/html5lib-tests/tree-construction/webkit02.dat +554 -0
  607. data/vendor-src/libleptris/test/html/html5lib_cases.h.in +6 -0
  608. data/vendor-src/libleptris/test/html/nokogiri-parity-redlist.txt +1183 -0
  609. data/vendor-src/libleptris/test/html/nokogiri-tree-tests.dat +18107 -0
  610. data/vendor-src/libleptris/test/html/test_html.cpp +2191 -0
  611. data/vendor-src/libleptris/test/html/test_html5lib.cpp +831 -0
  612. data/vendor-src/libleptris/test/memory/test_arena.cpp +252 -0
  613. data/vendor-src/libleptris/test/memory/test_oom_injection.cpp +170 -0
  614. data/vendor-src/libleptris/test/memory/test_pool.cpp +331 -0
  615. data/vendor-src/libleptris/test/memory/test_pool_arena.cpp +180 -0
  616. data/vendor-src/libleptris/test/parser/test_encoding.cpp +282 -0
  617. data/vendor-src/libleptris/test/parser/test_large_documents.cpp +346 -0
  618. data/vendor-src/libleptris/test/parser/test_parser.cpp +565 -0
  619. data/vendor-src/libleptris/test/parser/test_simd_count.cpp +70 -0
  620. data/vendor-src/libleptris/test/perf/test_perf.cpp +362 -0
  621. data/vendor-src/libleptris/test/perf/test_stress_high_doc_count.cpp +67 -0
  622. data/vendor-src/libleptris/test/rng/include-cases/bad-construct.rng +7 -0
  623. data/vendor-src/libleptris/test/rng/include-cases/bad-override.rng +6 -0
  624. data/vendor-src/libleptris/test/rng/include-cases/bad-start-override.rng +5 -0
  625. data/vendor-src/libleptris/test/rng/include-cases/ext-lib.rng +3 -0
  626. data/vendor-src/libleptris/test/rng/include-cases/ext-main.rng +7 -0
  627. data/vendor-src/libleptris/test/rng/include-cases/lib.rng +5 -0
  628. data/vendor-src/libleptris/test/rng/include-cases/lib2.rng +6 -0
  629. data/vendor-src/libleptris/test/rng/include-cases/main.rng +4 -0
  630. data/vendor-src/libleptris/test/rng/include-cases/no-href.rng +4 -0
  631. data/vendor-src/libleptris/test/rng/include-cases/override.rng +8 -0
  632. data/vendor-src/libleptris/test/rng/include-cases/self-include.rng +4 -0
  633. data/vendor-src/libleptris/test/rng/include-cases/start-override.rng +5 -0
  634. data/vendor-src/libleptris/test/rng/jing-cases/000.bad.xml +1 -0
  635. data/vendor-src/libleptris/test/rng/jing-cases/000.ok.xml +1 -0
  636. data/vendor-src/libleptris/test/rng/jing-cases/000.rng +1 -0
  637. data/vendor-src/libleptris/test/rng/jing-cases/001.bad.xml +1 -0
  638. data/vendor-src/libleptris/test/rng/jing-cases/001.ok.xml +1 -0
  639. data/vendor-src/libleptris/test/rng/jing-cases/001.rng +1 -0
  640. data/vendor-src/libleptris/test/rng/jing-cases/002.bad.xml +1 -0
  641. data/vendor-src/libleptris/test/rng/jing-cases/002.ok.xml +1 -0
  642. data/vendor-src/libleptris/test/rng/jing-cases/002.rng +1 -0
  643. data/vendor-src/libleptris/test/rng/jing-cases/003.bad.xml +1 -0
  644. data/vendor-src/libleptris/test/rng/jing-cases/003.ok.xml +1 -0
  645. data/vendor-src/libleptris/test/rng/jing-cases/003.rng +1 -0
  646. data/vendor-src/libleptris/test/rng/jing-cases/004.bad.xml +1 -0
  647. data/vendor-src/libleptris/test/rng/jing-cases/004.ok.xml +1 -0
  648. data/vendor-src/libleptris/test/rng/jing-cases/004.rng +1 -0
  649. data/vendor-src/libleptris/test/rng/jing-cases/005.bad.xml +1 -0
  650. data/vendor-src/libleptris/test/rng/jing-cases/005.ok.xml +1 -0
  651. data/vendor-src/libleptris/test/rng/jing-cases/005.rng +1 -0
  652. data/vendor-src/libleptris/test/rng/jing-cases/006.bad.xml +1 -0
  653. data/vendor-src/libleptris/test/rng/jing-cases/006.ok.xml +1 -0
  654. data/vendor-src/libleptris/test/rng/jing-cases/006.rng +1 -0
  655. data/vendor-src/libleptris/test/rng/jing-cases/007.bad.xml +1 -0
  656. data/vendor-src/libleptris/test/rng/jing-cases/007.ok.xml +1 -0
  657. data/vendor-src/libleptris/test/rng/jing-cases/007.rng +1 -0
  658. data/vendor-src/libleptris/test/rng/jing-cases/008.bad.xml +1 -0
  659. data/vendor-src/libleptris/test/rng/jing-cases/008.ok.xml +1 -0
  660. data/vendor-src/libleptris/test/rng/jing-cases/008.rng +1 -0
  661. data/vendor-src/libleptris/test/rng/jing-cases/009.bad.xml +1 -0
  662. data/vendor-src/libleptris/test/rng/jing-cases/009.ok.xml +1 -0
  663. data/vendor-src/libleptris/test/rng/jing-cases/009.rng +1 -0
  664. data/vendor-src/libleptris/test/rng/jing-cases/010.bad.xml +1 -0
  665. data/vendor-src/libleptris/test/rng/jing-cases/010.ok.xml +1 -0
  666. data/vendor-src/libleptris/test/rng/jing-cases/010.rng +1 -0
  667. data/vendor-src/libleptris/test/rng/jing-cases/011.bad.xml +1 -0
  668. data/vendor-src/libleptris/test/rng/jing-cases/011.ok.xml +1 -0
  669. data/vendor-src/libleptris/test/rng/jing-cases/011.rng +1 -0
  670. data/vendor-src/libleptris/test/rng/jing-cases/012.bad.xml +1 -0
  671. data/vendor-src/libleptris/test/rng/jing-cases/012.ok.xml +1 -0
  672. data/vendor-src/libleptris/test/rng/jing-cases/012.rng +1 -0
  673. data/vendor-src/libleptris/test/rng/jing-cases/013.bad.xml +1 -0
  674. data/vendor-src/libleptris/test/rng/jing-cases/013.ok.xml +1 -0
  675. data/vendor-src/libleptris/test/rng/jing-cases/013.rng +1 -0
  676. data/vendor-src/libleptris/test/rng/jing-cases/014.bad.xml +1 -0
  677. data/vendor-src/libleptris/test/rng/jing-cases/014.ok.xml +1 -0
  678. data/vendor-src/libleptris/test/rng/jing-cases/014.rng +1 -0
  679. data/vendor-src/libleptris/test/rng/jing-cases/015.bad.xml +1 -0
  680. data/vendor-src/libleptris/test/rng/jing-cases/015.ok.xml +1 -0
  681. data/vendor-src/libleptris/test/rng/jing-cases/015.rng +1 -0
  682. data/vendor-src/libleptris/test/rng/jing-cases/016.bad.xml +1 -0
  683. data/vendor-src/libleptris/test/rng/jing-cases/016.ok.xml +1 -0
  684. data/vendor-src/libleptris/test/rng/jing-cases/016.rng +1 -0
  685. data/vendor-src/libleptris/test/rng/jing-cases/017.bad.xml +1 -0
  686. data/vendor-src/libleptris/test/rng/jing-cases/017.ok.xml +1 -0
  687. data/vendor-src/libleptris/test/rng/jing-cases/017.rng +1 -0
  688. data/vendor-src/libleptris/test/rng/jing-cases/018.bad.xml +1 -0
  689. data/vendor-src/libleptris/test/rng/jing-cases/018.ok.xml +1 -0
  690. data/vendor-src/libleptris/test/rng/jing-cases/018.rng +1 -0
  691. data/vendor-src/libleptris/test/rng/jing-cases/019.bad.xml +1 -0
  692. data/vendor-src/libleptris/test/rng/jing-cases/019.ok.xml +1 -0
  693. data/vendor-src/libleptris/test/rng/jing-cases/019.rng +7 -0
  694. data/vendor-src/libleptris/test/rng/jing-cases/020-book.rng +4 -0
  695. data/vendor-src/libleptris/test/rng/jing-cases/020.bad.xml +1 -0
  696. data/vendor-src/libleptris/test/rng/jing-cases/020.ok.xml +1 -0
  697. data/vendor-src/libleptris/test/rng/jing-cases/020.rng +3 -0
  698. data/vendor-src/libleptris/test/rng/jing-cases/README.md +32 -0
  699. data/vendor-src/libleptris/test/rng/jing-cases/jing-ref.json +212 -0
  700. data/vendor-src/libleptris/test/rng/jing-cases/meta.json +1 -0
  701. data/vendor-src/libleptris/test/rng/test_rng.cpp +1365 -0
  702. data/vendor-src/libleptris/test/rng/test_rng_corpus.cpp +133 -0
  703. data/vendor-src/libleptris/test/rng/test_rng_corpus_msg.cpp +233 -0
  704. data/vendor-src/libleptris/test/sax/test_iterparse.cpp +203 -0
  705. data/vendor-src/libleptris/test/sax/test_pull.cpp +214 -0
  706. data/vendor-src/libleptris/test/sax/test_pull_batch.cpp +201 -0
  707. data/vendor-src/libleptris/test/sax/test_recorder.cpp +265 -0
  708. data/vendor-src/libleptris/test/sax/test_sax.cpp +665 -0
  709. data/vendor-src/libleptris/test/sax/test_streaming.cpp +434 -0
  710. data/vendor-src/libleptris/test/sch/conformance-cases/README.md +15 -0
  711. data/vendor-src/libleptris/test/sch/conformance-cases/extends-baseuri-fixup-01.xml +28 -0
  712. data/vendor-src/libleptris/test/sch/conformance-cases/extends-recursive-01.xml +27 -0
  713. data/vendor-src/libleptris/test/sch/conformance-cases/include-baseuri-fixup-01.xml +24 -0
  714. data/vendor-src/libleptris/test/sch/conformance-cases/include-recursive-01.xml +24 -0
  715. data/vendor-src/libleptris/test/sch/conformance-cases/let-name-collision-error-01.xml +20 -0
  716. data/vendor-src/libleptris/test/sch/conformance-cases/let-name-collision-error-02.xml +20 -0
  717. data/vendor-src/libleptris/test/sch/conformance-cases/let-name-collision-error-03.xml +20 -0
  718. data/vendor-src/libleptris/test/sch/conformance-cases/let-name-collision-error-04.xml +23 -0
  719. data/vendor-src/libleptris/test/sch/conformance-cases/let-name-collision-error-05.xml +20 -0
  720. data/vendor-src/libleptris/test/sch/conformance-cases/let-name-collision-error-06.xml +25 -0
  721. data/vendor-src/libleptris/test/sch/conformance-cases/let-pattern-global-01.xml +24 -0
  722. data/vendor-src/libleptris/test/sch/conformance-cases/let-reference-undefined-01.xml +18 -0
  723. data/vendor-src/libleptris/test/sch/conformance-cases/let-reference-undefined-02.xml +18 -0
  724. data/vendor-src/libleptris/test/sch/conformance-cases/let-reference-undefined-03.xml +18 -0
  725. data/vendor-src/libleptris/test/sch/conformance-cases/let-reference-undefined-04.xml +19 -0
  726. data/vendor-src/libleptris/test/sch/conformance-cases/let-reference-undefined-05.xml +20 -0
  727. data/vendor-src/libleptris/test/sch/conformance-cases/let-reference-undefined-06.xml +20 -0
  728. data/vendor-src/libleptris/test/sch/conformance-cases/let-reference-undefined-07.xml +18 -0
  729. data/vendor-src/libleptris/test/sch/conformance-cases/let-rule-global-01.xml +20 -0
  730. data/vendor-src/libleptris/test/sch/conformance-cases/let-rule-global-02.xml +23 -0
  731. data/vendor-src/libleptris/test/sch/conformance-cases/let-scope-pattern-01.xml +25 -0
  732. data/vendor-src/libleptris/test/sch/conformance-cases/let-scope-phase-01.xml +23 -0
  733. data/vendor-src/libleptris/test/sch/conformance-cases/let-scope-rule-01.xml +23 -0
  734. data/vendor-src/libleptris/test/sch/conformance-cases/let-value-element-content-01.xml +33 -0
  735. data/vendor-src/libleptris/test/sch/conformance-cases/pattern-abstract-01.xml +22 -0
  736. data/vendor-src/libleptris/test/sch/conformance-cases/pattern-subordinate-document-01.xml +21 -0
  737. data/vendor-src/libleptris/test/sch/conformance-cases/pattern-subordinate-document-02.xml +21 -0
  738. data/vendor-src/libleptris/test/sch/conformance-cases/rule-abstract-01.xml +21 -0
  739. data/vendor-src/libleptris/test/sch/conformance-cases/rule-abstract-02.xml +23 -0
  740. data/vendor-src/libleptris/test/sch/conformance-cases/rule-context-attribute-01.xml +18 -0
  741. data/vendor-src/libleptris/test/sch/conformance-cases/rule-context-comment-01.xml +20 -0
  742. data/vendor-src/libleptris/test/sch/conformance-cases/rule-context-element-01.xml +18 -0
  743. data/vendor-src/libleptris/test/sch/conformance-cases/rule-context-pi-01.xml +20 -0
  744. data/vendor-src/libleptris/test/sch/conformance-cases/rule-context-root-01.xml +18 -0
  745. data/vendor-src/libleptris/test/sch/conformance-cases/rule-context-text-01.xml +18 -0
  746. data/vendor-src/libleptris/test/sch/conformance-cases/rule-context-variable-01.xml +22 -0
  747. data/vendor-src/libleptris/test/sch/conformance-cases/rule-context-variable-02.xml +25 -0
  748. data/vendor-src/libleptris/test/sch/conformance-cases/rule-context-variable-03.xml +22 -0
  749. data/vendor-src/libleptris/test/sch/conformance-cases/rule-order-01.xml +21 -0
  750. data/vendor-src/libleptris/test/sch/conformance-cases/schema-default-phase-01.xml +26 -0
  751. data/vendor-src/libleptris/test/sch/conformance-cases/schema-default-phase-02.xml +25 -0
  752. data/vendor-src/libleptris/test/sch/conformance-cases/svrl-diagnostic-01.xml +28 -0
  753. data/vendor-src/libleptris/test/sch/conformance-cases/svrl-diagnostic-02.xml +25 -0
  754. data/vendor-src/libleptris/test/sch/conformance-cases/svrl-name-nopath-01.xml +23 -0
  755. data/vendor-src/libleptris/test/sch/conformance-cases/svrl-name-path-01.xml +23 -0
  756. data/vendor-src/libleptris/test/sch/conformance-cases/svrl-property-01.xml +28 -0
  757. data/vendor-src/libleptris/test/sch/conformance-cases/svrl-property-copy-of.xml +26 -0
  758. data/vendor-src/libleptris/test/sch/conformance-cases/svrl-value-of-01.xml +23 -0
  759. data/vendor-src/libleptris/test/sch/conformance-cases/xslt-key-01.xml +19 -0
  760. data/vendor-src/libleptris/test/sch/conformance-cases/xslt-key-element-content-01.xml +21 -0
  761. data/vendor-src/libleptris/test/sch/test_schematron.cpp +337 -0
  762. data/vendor-src/libleptris/test/sch/test_schematron_corpus.cpp +421 -0
  763. data/vendor-src/libleptris/test/serializer/test_c14n.cpp +539 -0
  764. data/vendor-src/libleptris/test/serializer/test_serialize.cpp +890 -0
  765. data/vendor-src/libleptris/test/smoke/test_smoke.cpp +41 -0
  766. data/vendor-src/libleptris/test/xinclude/test_xinclude.cpp +903 -0
  767. data/vendor-src/libleptris/test/xpath/test_bytecode_vm.cpp +755 -0
  768. data/vendor-src/libleptris/test/xpath/test_compiled.cpp +171 -0
  769. data/vendor-src/libleptris/test/xpath/test_exslt.cpp +141 -0
  770. data/vendor-src/libleptris/test/xpath/test_xpath.cpp +2433 -0
  771. data/vendor-src/libleptris/test/xpath/test_xpath_conformance.cpp +570 -0
  772. data/vendor-src/libleptris/test/xpath/test_xslt.cpp +4245 -0
  773. data/vendor-src/libleptris/test/xquery/books.xml +1 -0
  774. data/vendor-src/libleptris/test/xquery/qt3/README.md +28 -0
  775. data/vendor-src/libleptris/test/xquery/qt3/fn/concat.xml +878 -0
  776. data/vendor-src/libleptris/test/xquery/qt3/fn/contains.xml +795 -0
  777. data/vendor-src/libleptris/test/xquery/qt3/fn/ends-with.xml +556 -0
  778. data/vendor-src/libleptris/test/xquery/qt3/fn/starts-with.xml +644 -0
  779. data/vendor-src/libleptris/test/xquery/qt3/fn/substring/concepts.xml +1 -0
  780. data/vendor-src/libleptris/test/xquery/qt3/fn/substring.xml +449 -0
  781. data/vendor-src/libleptris/test/xquery/test_qt3.cpp +324 -0
  782. data/vendor-src/libleptris/test/xquery/test_xquery.cpp +768 -0
  783. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/ATTRIBUTION.md +12 -0
  784. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/array.out +4 -0
  785. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/array.xml +7 -0
  786. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/array.xsl +26 -0
  787. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-1-.out +6 -0
  788. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-1-.xml +7 -0
  789. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-1-.xsl +21 -0
  790. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-10-.out +2 -0
  791. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-10-.xml +3 -0
  792. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-10-.xsl +10 -0
  793. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-100.out +2 -0
  794. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-100.xml +1 -0
  795. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-100.xsl +9 -0
  796. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-101.out +2 -0
  797. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-101.xml +1 -0
  798. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-101.xsl +8 -0
  799. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-102-inc.xsl +21 -0
  800. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-102.out +3 -0
  801. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-102.xml +1 -0
  802. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-102.xsl +10 -0
  803. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-103.out +2 -0
  804. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-103.xml +1 -0
  805. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-103.xsl +13 -0
  806. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-104.out +2 -0
  807. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-104.xml +1 -0
  808. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-104.xsl +10 -0
  809. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-105.out +2 -0
  810. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-105.xml +1 -0
  811. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-105.xsl +8 -0
  812. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-106.out +2 -0
  813. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-106.xml +2 -0
  814. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-106.xsl +12 -0
  815. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-107.out +8 -0
  816. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-107.xml +7 -0
  817. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-107.xsl +11 -0
  818. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-108.out +25 -0
  819. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-108.xml +4 -0
  820. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-108.xsl +21 -0
  821. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-109.out +3 -0
  822. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-109.xml +4 -0
  823. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-109.xsl +7 -0
  824. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-11-.out +1 -0
  825. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-11-.xml +4 -0
  826. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-11-.xsl +12 -0
  827. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-110.ent +1 -0
  828. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-110.out +1 -0
  829. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-110.xml +9 -0
  830. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-110.xsl +20 -0
  831. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-111.out +6 -0
  832. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-111.xml +17 -0
  833. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-111.xsl +45 -0
  834. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-112.out +2 -0
  835. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-112.xml +1 -0
  836. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-112.xsl +22 -0
  837. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-113.out +4 -0
  838. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-113.xml +7 -0
  839. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-113.xsl +15 -0
  840. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-114.out +3 -0
  841. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-114.xml +7 -0
  842. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-114.xsl +16 -0
  843. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-115.out +2 -0
  844. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-115.xml +1 -0
  845. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-115.xsl +19 -0
  846. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-116.out +2 -0
  847. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-116.xml +1 -0
  848. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-116.xsl +22 -0
  849. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-117.out +5 -0
  850. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-117.xml +10 -0
  851. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-117.xsl +59 -0
  852. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-118.out +3 -0
  853. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-118.xml +6 -0
  854. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-118.xsl +14 -0
  855. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-119.out +10 -0
  856. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-119.xml +12 -0
  857. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-119.xsl +12 -0
  858. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-12-.out +2 -0
  859. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-12-.xml +9 -0
  860. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-12-.xsl +16 -0
  861. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-120.out +8 -0
  862. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-120.xml +15 -0
  863. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-120.xsl +27 -0
  864. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-121.out +1 -0
  865. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-121.xml +1 -0
  866. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-121.xsl +8 -0
  867. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-122.out +2 -0
  868. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-122.xml +11 -0
  869. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-122.xsl +17 -0
  870. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-123.out +2 -0
  871. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-123.xml +2 -0
  872. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-123.xsl +14 -0
  873. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-124.out +2 -0
  874. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-124.xml +6 -0
  875. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-124.xsl +14 -0
  876. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-125.out +351 -0
  877. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-125.xml +118 -0
  878. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-125.xsl +99 -0
  879. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-126.out +9 -0
  880. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-126.xml +1 -0
  881. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-126.xsl +17 -0
  882. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-127.out +1 -0
  883. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-127.xml +1 -0
  884. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-127.xsl +18 -0
  885. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-128.out +5 -0
  886. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-128.xml +26 -0
  887. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-128.xsl +26 -0
  888. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-129.out +6 -0
  889. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-129.xml +6 -0
  890. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-129.xsl +10 -0
  891. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-13-.out +2 -0
  892. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-13-.xml +1 -0
  893. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-13-.xsl +10 -0
  894. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-130-imp1.imp +25 -0
  895. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-130-imp2.imp +14 -0
  896. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-130-imp3.imp +16 -0
  897. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-130-imp4.imp +22 -0
  898. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-130.doc +7 -0
  899. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-130.out +1 -0
  900. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-130.xml +4 -0
  901. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-130.xsl +22 -0
  902. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-131-imp.imp +19 -0
  903. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-131.out +2 -0
  904. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-131.xml +3 -0
  905. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-131.xsl +13 -0
  906. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-132.out +6 -0
  907. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-132.xml +6 -0
  908. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-132.xsl +13 -0
  909. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-133.out +6 -0
  910. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-133.xml +7 -0
  911. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-133.xsl +32 -0
  912. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-134.out +2 -0
  913. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-134.xml +5 -0
  914. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-134.xsl +12 -0
  915. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-135.out +2 -0
  916. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-135.xml +5 -0
  917. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-135.xsl +10 -0
  918. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-136.out +4 -0
  919. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-136.xml +4 -0
  920. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-136.xsl +8 -0
  921. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-137.imp +12 -0
  922. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-137.out +2 -0
  923. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-137.xml +1 -0
  924. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-137.xsl +8 -0
  925. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-138.out +23 -0
  926. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-138.xml +15 -0
  927. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-138.xsl +28 -0
  928. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-139.out +4 -0
  929. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-139.xml +9 -0
  930. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-139.xsl +14 -0
  931. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-14-.out +4 -0
  932. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-14-.xml +7 -0
  933. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-14-.xsl +23 -0
  934. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-140.out +4 -0
  935. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-140.xml +6 -0
  936. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-140.xsl +32 -0
  937. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-141.out +46 -0
  938. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-141.xml +9 -0
  939. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-141.xsl +25 -0
  940. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-142.out +35 -0
  941. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-142.xml +65 -0
  942. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-142.xsl +85 -0
  943. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-143.out +2 -0
  944. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-143.xml +1 -0
  945. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-143.xsl +10 -0
  946. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-144.out +2 -0
  947. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-144.xml +1 -0
  948. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-144.xsl +10 -0
  949. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-145.err +5 -0
  950. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-145.xml +10 -0
  951. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-145.xsl +10 -0
  952. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-147-1.imp +11 -0
  953. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-147-2.imp +11 -0
  954. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-147-3.imp +57 -0
  955. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-147-4.imp +15 -0
  956. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-147-5.imp +27 -0
  957. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-147-6.imp +31 -0
  958. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-147.out +17 -0
  959. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-147.xml +21 -0
  960. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-147.xsl +29 -0
  961. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-148.out +2 -0
  962. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-148.xml +1 -0
  963. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-148.xsl +13 -0
  964. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-149.out +2 -0
  965. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-149.xml +1 -0
  966. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-149.xsl +11 -0
  967. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-15-.out +5 -0
  968. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-15-.xml +5 -0
  969. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-15-.xsl +15 -0
  970. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-150.out +2 -0
  971. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-150.xml +1 -0
  972. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-150.xsl +9 -0
  973. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-151.xml +1 -0
  974. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-151.xsl +15 -0
  975. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-152.out +12 -0
  976. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-152.xml +1 -0
  977. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-152.xsl +30 -0
  978. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-153.doc +4 -0
  979. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-153.out +2 -0
  980. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-153.xml +9 -0
  981. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-153.xsl +19 -0
  982. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-154.xml +1 -0
  983. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-154.xsl +4 -0
  984. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-155.out +3 -0
  985. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-155.xml +5 -0
  986. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-155.xsl +10 -0
  987. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-156.err +2 -0
  988. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-156.imp1.imp +16 -0
  989. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-156.imp2.imp +10 -0
  990. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-156.xml +1 -0
  991. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-156.xsl +12 -0
  992. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-157.err +3 -0
  993. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-157.out +9 -0
  994. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-157.xml +6 -0
  995. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-157.xsl +22 -0
  996. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-158.doc +3 -0
  997. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-158.out +4 -0
  998. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-158.xml +2 -0
  999. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-158.xsl +19 -0
  1000. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-159.out +8 -0
  1001. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-159.xml +1 -0
  1002. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-159.xsl +17 -0
  1003. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-16-.out +14 -0
  1004. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-16-.xml +17 -0
  1005. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-16-.xsl +13 -0
  1006. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-160.out +7 -0
  1007. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-160.xml +8 -0
  1008. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-160.xsl +14 -0
  1009. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-161.out +6 -0
  1010. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-161.xml +5 -0
  1011. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-161.xsl +18 -0
  1012. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-163.out +2 -0
  1013. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-163.xml +5 -0
  1014. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-163.xsl +6 -0
  1015. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-164.out +4 -0
  1016. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-164.xml +4 -0
  1017. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-164.xsl +13 -0
  1018. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-165.err +6 -0
  1019. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-165.xml +10 -0
  1020. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-165.xsl +9 -0
  1021. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-166.out +15256 -0
  1022. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-166.xml +15255 -0
  1023. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-166.xsl +131 -0
  1024. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-167.out +1 -0
  1025. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-167.xml +1 -0
  1026. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-167.xsl +20 -0
  1027. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-168.out +2 -0
  1028. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-168.xml +9 -0
  1029. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-168.xsl +9 -0
  1030. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-169.imp +5 -0
  1031. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-169.out +2 -0
  1032. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-169.xml +1 -0
  1033. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-169.xsl +11 -0
  1034. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-17-.out +2 -0
  1035. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-17-.xml +1 -0
  1036. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-17-.xsl +7 -0
  1037. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-170.out +4 -0
  1038. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-170.xml +3 -0
  1039. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-170.xsl +6 -0
  1040. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-171.out +2 -0
  1041. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-171.xml +4 -0
  1042. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-171.xsl +7 -0
  1043. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-172.out +6 -0
  1044. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-172.xml +6 -0
  1045. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-172.xsl +22 -0
  1046. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-173.out +1 -0
  1047. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-173.xml +1 -0
  1048. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-173.xsl +11 -0
  1049. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-174.err +1 -0
  1050. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-174.xml +1 -0
  1051. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-174.xsl +18 -0
  1052. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-175.err +2 -0
  1053. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-175.out +8 -0
  1054. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-175.xml +1 -0
  1055. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-175.xsl +33 -0
  1056. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-176.out +2 -0
  1057. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-176.xml +1 -0
  1058. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-176.xsl +11 -0
  1059. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-177.out +2 -0
  1060. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-177.xml +1 -0
  1061. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-177.xsl +7 -0
  1062. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-178.out +2 -0
  1063. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-178.xml +1 -0
  1064. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-178.xsl +18 -0
  1065. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-179.out +9 -0
  1066. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-179.xml +1 -0
  1067. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-179.xsl +24 -0
  1068. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-18-.out +2 -0
  1069. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-18-.xml +3 -0
  1070. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-18-.xsl +17 -0
  1071. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-180.err +4 -0
  1072. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-180.xml +2 -0
  1073. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-180.xsl +8 -0
  1074. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-181.out +5 -0
  1075. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-181.xml +4 -0
  1076. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-181.xsl +13 -0
  1077. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-182.out +2 -0
  1078. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-182.xml +4 -0
  1079. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-182.xsl +21 -0
  1080. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-183.out +2 -0
  1081. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-183.xml +5 -0
  1082. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-183.xsl +9 -0
  1083. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-184.err +6 -0
  1084. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-184.xml +1 -0
  1085. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-184.xsl +8 -0
  1086. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-186.out +5 -0
  1087. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-186.xml +4 -0
  1088. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-186.xsl +7 -0
  1089. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-187.err +6 -0
  1090. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-187.out +14 -0
  1091. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-187.xml +1 -0
  1092. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-187.xsl +42 -0
  1093. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-188-imp.xsl +8 -0
  1094. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-188.out +4 -0
  1095. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-188.xml +1 -0
  1096. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-188.xsl +20 -0
  1097. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-189.out +5 -0
  1098. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-189.xml +1 -0
  1099. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-189.xsl +25 -0
  1100. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-19-.out +2 -0
  1101. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-19-.xml +3 -0
  1102. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-19-.xsl +17 -0
  1103. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-190-imp.xsl +10 -0
  1104. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-190.out +4 -0
  1105. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-190.xml +1 -0
  1106. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-190.xsl +16 -0
  1107. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-191-imp.xsl +8 -0
  1108. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-191.err +2 -0
  1109. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-191.xml +1 -0
  1110. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-191.xsl +9 -0
  1111. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-192.out +1 -0
  1112. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-192.xml +1 -0
  1113. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-192.xsl +33 -0
  1114. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-193.out +2 -0
  1115. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-193.xml +1 -0
  1116. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-193.xsl +11 -0
  1117. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-194.err +9 -0
  1118. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-194.xml +1 -0
  1119. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-194.xsl +8 -0
  1120. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-195.out +8 -0
  1121. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-195.xml +9 -0
  1122. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-195.xsl +19 -0
  1123. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-196.out +7 -0
  1124. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-196.xml +9 -0
  1125. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-196.xsl +19 -0
  1126. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-197.out +6 -0
  1127. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-197.xml +6 -0
  1128. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-197.xsl +16 -0
  1129. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-198.out +2 -0
  1130. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-198.xml +2 -0
  1131. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-198.xsl +17 -0
  1132. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-199.out +6 -0
  1133. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-199.xml +6 -0
  1134. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-199.xsl +18 -0
  1135. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-2-.out +8 -0
  1136. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-2-.xml +12 -0
  1137. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-2-.xsl +16 -0
  1138. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-20-.out +4 -0
  1139. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-20-.xml +7 -0
  1140. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-20-.xsl +22 -0
  1141. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-200.out +2 -0
  1142. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-200.xml +1 -0
  1143. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-200.xsl +5 -0
  1144. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-201.err +6 -0
  1145. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-201.xml +1 -0
  1146. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-201.xsl +16 -0
  1147. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-202.err +2 -0
  1148. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-202.xml +1 -0
  1149. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-202.xsl +5 -0
  1150. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-203.err +1 -0
  1151. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-203.xml +1 -0
  1152. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-203.xsl +5 -0
  1153. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-204.err +2 -0
  1154. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-204.xml +1 -0
  1155. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-204.xsl +6 -0
  1156. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-205.out +2 -0
  1157. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-205.xml +1 -0
  1158. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-205.xsl +10 -0
  1159. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-206.out +2 -0
  1160. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-206.xml +1 -0
  1161. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-206.xsl +9 -0
  1162. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-207.out +2 -0
  1163. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-207.xml +1 -0
  1164. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-207.xsl +61 -0
  1165. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-208.err +6 -0
  1166. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-208.xml +8 -0
  1167. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-208.xsl +8 -0
  1168. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-209.out +2 -0
  1169. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-209.xml +1 -0
  1170. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-209.xsl +21 -0
  1171. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-21-.out +2 -0
  1172. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-21-.xml +8 -0
  1173. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-21-.xsl +7 -0
  1174. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-210.out +2 -0
  1175. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-210.xml +1 -0
  1176. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-210.xsl +20 -0
  1177. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-211.out +2 -0
  1178. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-211.xml +1 -0
  1179. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-211.xsl +26 -0
  1180. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-212.out +1 -0
  1181. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-212.xml +1 -0
  1182. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-212.xsl +25 -0
  1183. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-213.out +1 -0
  1184. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-213.xml +1 -0
  1185. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-213.xsl +26 -0
  1186. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-214.out +6 -0
  1187. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-214.xml +6 -0
  1188. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-214.xsl +25 -0
  1189. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-215.err +5 -0
  1190. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-215.xml +1 -0
  1191. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-215.xsl +6 -0
  1192. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-216.out +2 -0
  1193. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-216.xml +1 -0
  1194. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-216.xsl +11 -0
  1195. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-217.out +2 -0
  1196. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-217.xml +1 -0
  1197. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-217.xsl +24 -0
  1198. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-218.out +2 -0
  1199. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-218.xml +1 -0
  1200. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-218.xsl +8 -0
  1201. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-219.out +68 -0
  1202. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-219.xml +22 -0
  1203. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-219.xsl +17 -0
  1204. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-22-.out +12 -0
  1205. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-22-.xml +18 -0
  1206. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-22-.xsl +19 -0
  1207. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-220.out +2 -0
  1208. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-220.xml +1 -0
  1209. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-220.xsl +15 -0
  1210. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-221.out +2 -0
  1211. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-221.xml +9 -0
  1212. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-221.xsl +15 -0
  1213. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-222.out +2 -0
  1214. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-222.xml +1 -0
  1215. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-222.xsl +6 -0
  1216. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-223-imp.xsl +12 -0
  1217. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-223-inc.xsl +12 -0
  1218. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-223.out +1 -0
  1219. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-223.xml +1 -0
  1220. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-223.xsl +17 -0
  1221. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-224.out +9 -0
  1222. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-224.xml +8 -0
  1223. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-224.xsl +28 -0
  1224. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-225.out +2 -0
  1225. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-225.xml +1 -0
  1226. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-225.xsl +32 -0
  1227. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-23-.out +15 -0
  1228. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-23-.xml +21 -0
  1229. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-23-.xsl +20 -0
  1230. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-24-.out +27 -0
  1231. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-24-.xml +2419 -0
  1232. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-24-.xsl +22 -0
  1233. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-25-.out +3 -0
  1234. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-25-.xml +1 -0
  1235. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-25-.xsl +10 -0
  1236. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-26-.out +2 -0
  1237. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-26-.xml +1 -0
  1238. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-26-.xsl +9 -0
  1239. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-27-.out +2 -0
  1240. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-27-.xml +1 -0
  1241. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-27-.xsl +14 -0
  1242. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-28-.out +1 -0
  1243. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-28-.xml +1 -0
  1244. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-28-.xsl +9 -0
  1245. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-29-.ent +7 -0
  1246. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-29-.out +10 -0
  1247. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-29-.xml +5 -0
  1248. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-29-.xsl +16 -0
  1249. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-3-.out +2 -0
  1250. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-3-.xml +1 -0
  1251. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-3-.xsl +13 -0
  1252. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-30-.out +2 -0
  1253. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-30-.xml +1 -0
  1254. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-30-.xsl +7 -0
  1255. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-31-.out +3 -0
  1256. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-31-.xml +4 -0
  1257. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-31-.xsl +10 -0
  1258. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-32-.out +2 -0
  1259. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-32-.xml +1 -0
  1260. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-32-.xsl +17 -0
  1261. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-33-.out +16 -0
  1262. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-33-.xml +14 -0
  1263. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-33-.xsl +29 -0
  1264. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-35-.out +2 -0
  1265. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-35-.xml +1 -0
  1266. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-35-.xsl +10 -0
  1267. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-36-.out +4 -0
  1268. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-36-.xml +5 -0
  1269. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-36-.xsl +8 -0
  1270. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-36-inc.xsl +16 -0
  1271. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-37-.out +4 -0
  1272. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-37-.xml +5 -0
  1273. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-37-.xsl +8 -0
  1274. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-37-inc.xsl +15 -0
  1275. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-38-.out +2 -0
  1276. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-38-.xml +17 -0
  1277. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-38-.xsl +17 -0
  1278. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-39-.out +3 -0
  1279. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-39-.xml +3 -0
  1280. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-39-.xsl +34 -0
  1281. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-4-.out +6 -0
  1282. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-4-.xml +38 -0
  1283. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-4-.xsl +12 -0
  1284. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-40-.out +2 -0
  1285. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-40-.xml +1 -0
  1286. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-40-.xsl +16 -0
  1287. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-41-.out +2 -0
  1288. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-41-.xml +1 -0
  1289. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-41-.xsl +19 -0
  1290. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-42-.out +2 -0
  1291. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-42-.xml +1 -0
  1292. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-42-.xsl +16 -0
  1293. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-43-.out +2 -0
  1294. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-43-.xml +1 -0
  1295. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-43-.xsl +19 -0
  1296. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-44-.out +2 -0
  1297. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-44-.xml +1 -0
  1298. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-44-.xsl +19 -0
  1299. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-45-.out +2 -0
  1300. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-45-.xml +1 -0
  1301. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-45-.xsl +27 -0
  1302. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-46-.out +2 -0
  1303. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-46-.xml +1 -0
  1304. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-46-.xsl +16 -0
  1305. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-47-.out +2 -0
  1306. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-47-.xml +1 -0
  1307. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-47-.xsl +18 -0
  1308. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-48-.out +2 -0
  1309. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-48-.xml +1 -0
  1310. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-48-.xsl +24 -0
  1311. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-49-.out +2 -0
  1312. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-49-.xml +1 -0
  1313. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-49-.xsl +15 -0
  1314. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-5-.out +954 -0
  1315. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-5-.xml +475 -0
  1316. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-5-.xsl +158 -0
  1317. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-50-.out +7 -0
  1318. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-50-.xml +3 -0
  1319. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-50-.xsl +14 -0
  1320. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-52.out +3 -0
  1321. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-52.xml +12 -0
  1322. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-52.xsl +16 -0
  1323. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-53.out +1 -0
  1324. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-53.xml +6 -0
  1325. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-53.xsl +11 -0
  1326. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-54.out +2 -0
  1327. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-54.xml +2 -0
  1328. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-54.xsl +22 -0
  1329. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-55.out +2 -0
  1330. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-55.xml +3 -0
  1331. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-55.xsl +9 -0
  1332. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-56.out +3 -0
  1333. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-56.xml +1 -0
  1334. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-56.xsl +28 -0
  1335. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-57.out +2 -0
  1336. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-57.xml +8 -0
  1337. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-57.xsl +21 -0
  1338. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-58.xsl +274 -0
  1339. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-59.out +2 -0
  1340. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-59.xml +1 -0
  1341. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-59.xsl +9 -0
  1342. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-6-.out +4 -0
  1343. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-6-.xml +6 -0
  1344. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-6-.xsl +32 -0
  1345. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-60.err +2 -0
  1346. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-60.out +2 -0
  1347. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-60.xml +1 -0
  1348. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-60.xsl +15 -0
  1349. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-61.out +10 -0
  1350. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-61.xml +1 -0
  1351. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-61.xsl +14 -0
  1352. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-62-inc.xsl +4 -0
  1353. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-62.out +2 -0
  1354. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-62.xml +1 -0
  1355. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-62.xsl +8 -0
  1356. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-63.out +22 -0
  1357. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-63.xml +13 -0
  1358. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-63.xsl +13 -0
  1359. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-64.out +2 -0
  1360. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-64.xml +1 -0
  1361. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-64.xsl +8 -0
  1362. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-65.ent +7 -0
  1363. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-65.out +8 -0
  1364. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-65.xml +5 -0
  1365. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-65.xsl +26 -0
  1366. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-66.out +2 -0
  1367. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-66.xml +8 -0
  1368. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-66.xsl +12 -0
  1369. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-68.out +1 -0
  1370. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-68.xml +1 -0
  1371. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-68.xsl +8 -0
  1372. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-69.out +2 -0
  1373. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-69.xml +2 -0
  1374. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-69.xsl +12 -0
  1375. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-7-.out +2 -0
  1376. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-7-.xml +3 -0
  1377. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-7-.xsl +11 -0
  1378. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-70.out +9 -0
  1379. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-70.xml +10 -0
  1380. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-70.xsl +13 -0
  1381. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-71.out +2 -0
  1382. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-71.xml +1 -0
  1383. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-71.xsl +17 -0
  1384. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-72.out +6 -0
  1385. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-72.xml +3 -0
  1386. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-72.xsl +31 -0
  1387. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-73.out +3 -0
  1388. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-73.xml +5 -0
  1389. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-73.xsl +17 -0
  1390. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-74.out +2 -0
  1391. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-74.xml +3 -0
  1392. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-74.xsl +12 -0
  1393. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-75.out +6 -0
  1394. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-75.xml +1 -0
  1395. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-75.xsl +9 -0
  1396. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-76.out +4 -0
  1397. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-76.xml +4 -0
  1398. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-76.xsl +16 -0
  1399. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-77.out +5 -0
  1400. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-77.xml +4 -0
  1401. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-77.xsl +18 -0
  1402. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-78.out +3 -0
  1403. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-78.xml +8 -0
  1404. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-78.xsl +17 -0
  1405. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-79.out +5 -0
  1406. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-79.xml +4 -0
  1407. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-79.xsl +4 -0
  1408. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-8-.out +3 -0
  1409. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-8-.xml +5 -0
  1410. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-8-.xsl +13 -0
  1411. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-80.out +2 -0
  1412. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-80.xml +6 -0
  1413. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-80.xsl +29 -0
  1414. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-81.out +4 -0
  1415. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-81.xml +12 -0
  1416. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-81.xsl +18 -0
  1417. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-82.out +5 -0
  1418. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-82.xml +4 -0
  1419. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-82.xsl +12 -0
  1420. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-83.out +1 -0
  1421. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-83.xml +1 -0
  1422. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-83.xsl +14 -0
  1423. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-84.out +15 -0
  1424. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-84.xml +22 -0
  1425. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-84.xsl +14 -0
  1426. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-86.out +6 -0
  1427. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-86.xml +7 -0
  1428. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-86.xsl +7 -0
  1429. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-87.out +5 -0
  1430. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-87.xml +6 -0
  1431. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-87.xsl +16 -0
  1432. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-88.out +2 -0
  1433. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-88.xml +1 -0
  1434. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-88.xsl +6 -0
  1435. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-89.out +12 -0
  1436. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-89.xml +13 -0
  1437. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-89.xsl +105 -0
  1438. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-9-.out +2 -0
  1439. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-9-.xml +3 -0
  1440. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-9-.xsl +10 -0
  1441. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-90.out +13 -0
  1442. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-90.xml +15 -0
  1443. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-90.xsl +35 -0
  1444. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-91.out +3 -0
  1445. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-91.xml +4 -0
  1446. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-91.xsl +8 -0
  1447. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-92.out +15 -0
  1448. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-92.xml +19 -0
  1449. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-92.xsl +19 -0
  1450. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-93-inc.xsl +12 -0
  1451. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-93.out +3 -0
  1452. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-93.xml +1 -0
  1453. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-93.xsl +7 -0
  1454. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-94.out +2 -0
  1455. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-94.xml +9 -0
  1456. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-94.xsl +35 -0
  1457. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-95.out +4 -0
  1458. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-95.xml +5 -0
  1459. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-95.xsl +22 -0
  1460. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-96.out +5 -0
  1461. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-96.xml +5 -0
  1462. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-96.xsl +10 -0
  1463. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-97.out +9 -0
  1464. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-97.xml +16 -0
  1465. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-97.xsl +32 -0
  1466. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-98.out +6 -0
  1467. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-98.xml +10 -0
  1468. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-98.xsl +31 -0
  1469. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-99.out +2 -0
  1470. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-99.xml +1 -0
  1471. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/bug-99.xsl +16 -0
  1472. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/character.out +2 -0
  1473. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/character.xml +23 -0
  1474. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/character.xsl +16 -0
  1475. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/date_add.out +9 -0
  1476. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/date_add.xml +1 -0
  1477. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/date_add.xsl +16 -0
  1478. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/doc.dtd +7 -0
  1479. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/doc.out +16 -0
  1480. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/doc.xml +17 -0
  1481. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/doc.xsl +62 -0
  1482. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/inner.xsl +12 -0
  1483. data/vendor-src/libleptris/test/xslt/libxslt_suite_general/items.xml +34 -0
  1484. data/vendor-src/libleptris/test/xslt/open_cases.txt +0 -0
  1485. data/vendor-src/libleptris/test/xslt/test_libxslt_suite.cpp +398 -0
  1486. data/vendor-src/libleptris/vcpkg.json +29 -0
  1487. data/vendor-src/utf8proc/CMakeLists.txt +133 -0
  1488. data/vendor-src/utf8proc/Doxyfile +2765 -0
  1489. data/vendor-src/utf8proc/LICENSE.md +93 -0
  1490. data/vendor-src/utf8proc/MANIFEST +9 -0
  1491. data/vendor-src/utf8proc/Makefile +203 -0
  1492. data/vendor-src/utf8proc/NEWS.md +479 -0
  1493. data/vendor-src/utf8proc/README.md +143 -0
  1494. data/vendor-src/utf8proc/appveyor.yml +46 -0
  1495. data/vendor-src/utf8proc/bench/Makefile +40 -0
  1496. data/vendor-src/utf8proc/bench/bench.c +56 -0
  1497. data/vendor-src/utf8proc/bench/icu.c +61 -0
  1498. data/vendor-src/utf8proc/bench/unistring.c +60 -0
  1499. data/vendor-src/utf8proc/bench/util.c +39 -0
  1500. data/vendor-src/utf8proc/bench/util.h +22 -0
  1501. data/vendor-src/utf8proc/cmake/utf8proc-config.cmake.in +5 -0
  1502. data/vendor-src/utf8proc/data/Makefile +62 -0
  1503. data/vendor-src/utf8proc/data/Manifest.toml +16 -0
  1504. data/vendor-src/utf8proc/data/Project.toml +2 -0
  1505. data/vendor-src/utf8proc/data/data_generator.jl +498 -0
  1506. data/vendor-src/utf8proc/libutf8proc.pc.cmakein +10 -0
  1507. data/vendor-src/utf8proc/libutf8proc.pc.in +10 -0
  1508. data/vendor-src/utf8proc/lump.md +27 -0
  1509. data/vendor-src/utf8proc/test/app/CMakeLists.txt +6 -0
  1510. data/vendor-src/utf8proc/test/app/app.c +9 -0
  1511. data/vendor-src/utf8proc/test/case.c +76 -0
  1512. data/vendor-src/utf8proc/test/charwidth.c +91 -0
  1513. data/vendor-src/utf8proc/test/custom.c +28 -0
  1514. data/vendor-src/utf8proc/test/fuzz_main.c +54 -0
  1515. data/vendor-src/utf8proc/test/fuzzer.c +97 -0
  1516. data/vendor-src/utf8proc/test/graphemetest.c +136 -0
  1517. data/vendor-src/utf8proc/test/iscase.c +63 -0
  1518. data/vendor-src/utf8proc/test/iterate.c +168 -0
  1519. data/vendor-src/utf8proc/test/maxdecomposition.c +22 -0
  1520. data/vendor-src/utf8proc/test/misc.c +51 -0
  1521. data/vendor-src/utf8proc/test/normtest.c +64 -0
  1522. data/vendor-src/utf8proc/test/ossfuzz.sh +13 -0
  1523. data/vendor-src/utf8proc/test/printproperty.c +68 -0
  1524. data/vendor-src/utf8proc/test/tests.c +60 -0
  1525. data/vendor-src/utf8proc/test/tests.h +27 -0
  1526. data/vendor-src/utf8proc/test/valid.c +41 -0
  1527. data/vendor-src/utf8proc/utf8proc.c +834 -0
  1528. data/vendor-src/utf8proc/utf8proc.h +794 -0
  1529. data/vendor-src/utf8proc/utf8proc_data.c +17141 -0
  1530. data/vendor-src/utf8proc/utils.cmake +20 -0
  1531. metadata +1528 -1
@@ -0,0 +1,910 @@
1
+ /* libleptris - Internal data structures
2
+ * Copyright (c) 2024, Ribose Inc.
3
+ * All rights reserved.
4
+ *
5
+ * INTERNAL HEADER - Not part of public API
6
+ * These structures are implementation details and may change between versions.
7
+ */
8
+
9
+ #ifndef LEPTRIS_INTERNAL_H
10
+ #define LEPTRIS_INTERNAL_H
11
+
12
+ #include <stddef.h>
13
+ #include <stdint.h>
14
+
15
+ /* Linkage marker source: declarations mirrored between this header
16
+ * and the public leptris.h must expand LEPTRIS_API identically in
17
+ * every TU (C2375 on MSVC otherwise). Pull the real definition —
18
+ * no fallback macro, which would poison leptris.h's #ifndef guard. */
19
+ #include "../include/leptris.h"
20
+ #include <stdlib.h>
21
+ #include <string.h>
22
+
23
+ /* Memory pool for fast DOM allocation */
24
+ #include "memory/pool.h"
25
+
26
+ /* StringView for zero-copy string handling */
27
+ #include "common/string_view.h"
28
+
29
+ /* Forward declarations - actual typedefs in respective headers */
30
+ struct leptris_element; /* typedef in dom/element.h */
31
+ struct leptris_compact_overflow_entry; /* typedef in dom/compact.h */
32
+ struct leptris_element_index; /* typedef in dom/element_index.h */
33
+
34
+ /* ============================================================================
35
+ * Error Codes (Internal)
36
+ * ============================================================================ */
37
+
38
+ typedef enum {
39
+ LEPTRIS_ERROR_NONE = 0,
40
+ LEPTRIS_ERROR_MEMORY_ALLOCATION,
41
+ LEPTRIS_ERROR_PARSE_FAILED,
42
+ LEPTRIS_ERROR_XPATH_EVALUATION,
43
+ LEPTRIS_ERROR_XPATH_SYNTAX,
44
+ LEPTRIS_ERROR_XPATH_FUNCTION,
45
+ LEPTRIS_ERROR_EVAL_CONTEXT,
46
+ LEPTRIS_ERROR_INVALID_ARGUMENT,
47
+ LEPTRIS_ERROR_NULL_INPUT,
48
+ LEPTRIS_ERROR_EMPTY_INPUT,
49
+ LEPTRIS_ERROR_OUT_OF_MEMORY,
50
+ LEPTRIS_ERROR_INVALID_XML
51
+ } leptris_error_code;
52
+
53
+ /* ============================================================================
54
+ * Internal Structures - Match ext/leptris/leptris.h but without Ruby
55
+ * ============================================================================ */
56
+
57
+ /* Tag values for the XPath-SYNTHETIC node structs (LeptrisAttributeNode,
58
+ * LeptrisNamespaceNode, XPathTextNode below). They share the value space
59
+ * of the public LeptrisNodeKind carried by every real DOM node
60
+ * (element=0, text=1, comment=2, cdata=3, pi=4, doctype=5): synthetic
61
+ * kinds use values the public enum never produces, so reading the first
62
+ * int of any entry in a mixed nodeset classifies it unambiguously
63
+ * (issue #477). Do not renumber into 0..5. */
64
+ typedef enum {
65
+ LEPTRIS_NODE_ELEMENT = 0, /* == public LEPTRIS_NODE_TYPE_ELEMENT */
66
+ LEPTRIS_NODE_ATTRIBUTE = 6, /* == public reserved LEPTRIS_NODE_TYPE_ATTRIBUTE */
67
+ LEPTRIS_NODE_NAMESPACE = 7,
68
+ LEPTRIS_NODE_TEXT = 8 /* synthetic text() result node */
69
+ } LeptrisNodeType;
70
+
71
+ /* Document-level nodes (issue #580): real pool comment/PI nodes
72
+ * chained with the root element as the document node's children —
73
+ * [prolog..., root, epilog...] in document order (libxml2 model).
74
+ * Every document-level consumer (serializer, c14n, the #526 flat
75
+ * accessors, XSLT numbering, the XPath document-node axes) walks
76
+ * this single chain; the separate side-list store is gone. */
77
+
78
+ /* Document structure */
79
+ /* Contiguous block of mutation elements (round 18). Chained via
80
+ * next; freed with the document. Elements are carved from [base,
81
+ * base+count). */
82
+ struct leptris_mut_elem_block {
83
+ struct leptris_mut_elem_block* next;
84
+ /* Raw storage for N contiguous leptris_element structs; typed
85
+ * as bytes to avoid an incomplete-type dependency. */
86
+ char bytes[];
87
+ };
88
+
89
+ /* Round 21 twin: chained blocks for mutation-created element NAME
90
+ * storage. Names are short (element names, not content); carved
91
+ * bump-style, freed with the document. */
92
+ struct leptris_mut_name_block {
93
+ struct leptris_mut_name_block* next;
94
+ char bytes[];
95
+ };
96
+
97
+ /* Round 22: chained blocks for mutation-created ATTRIBUTE structs.
98
+ * Contiguous 40-byte stride keeps sequentially-created attrs of one
99
+ * element adjacent — their cp16 `next` edges stay in-range instead
100
+ * of hitting the compact-overflow path (the round-18 element-block
101
+ * win, applied to attrs). */
102
+ struct leptris_mut_attr_block {
103
+ struct leptris_mut_attr_block* next;
104
+ char bytes[];
105
+ };
106
+
107
+ struct leptris_document {
108
+ struct leptris_element* root; /* Root element (legacy API) */
109
+ /* Snapshot of this document's last failing parse message
110
+ * (TODO.concurrency/01; thread-safe alternative to the
111
+ * thread-local channel). */
112
+ char last_error_message[256];
113
+
114
+ /* EXSLT-style extension pack enabled via leptris_exslt_enable
115
+ * (TODO.concurrency/06). */
116
+ int exslt_enabled;
117
+ /* Active XSLT transform state (TODO.transform 04/05): while a
118
+ * transform runs on this document, leptris_xpath_build_custom_
119
+ * registry registers the XSLT function bridge (current/key/
120
+ * format-number/generate-id/system-property/document + EXSLT
121
+ * node-set/regexp/date) with this pointer as the handlers'
122
+ * user_data. Set only for the transform's duration (save/
123
+ * restore in xslt_transform); NULL otherwise. Concurrent
124
+ * transforms of the SAME document are not supported — one
125
+ * document per mutating thread, per the README model. */
126
+ void* xslt_state;
127
+ /* Schematron validation state (lane 16.5): while a schema
128
+ * validation runs on this document, leptris_xpath_build_
129
+ * custom_registry registers key() with the schema's xsl:key
130
+ * declarations as backing. Same save/restore discipline as
131
+ * xslt_state — set for the validate call only, with registry
132
+ * invalidation on both sides. */
133
+ void* sch_state;
134
+ char* encoding; /* UTF-8 assumed, but store if specified */
135
+ /* Issue #580: the document node's child chain (see the comment
136
+ * above) — LeptrisNodeRef comment/PI nodes + the root element. */
137
+ void* doc_children_head;
138
+ void* doc_children_tail;
139
+ size_t ref_count; /* Reference counting for memory management */
140
+ void* new_dom_root; /* New DOM tree root (LeptrisElement) for serialization */
141
+ /* Lazy XPath document node (LEPTRIS_NODE_TYPE_DOCUMENT
142
+ * singleton — dom/document_node.h). XSLT's initial context and
143
+ * "/" pattern matching run on it. */
144
+ void* document_node;
145
+ /* Constructed-node anchors (#691): documents holding snapshot
146
+ * copies / analyze-string result trees, released with THIS
147
+ * document so borrowed nodes live exactly as long as the
148
+ * source tree (the ctx owned_docs chain dies at public-eval
149
+ * return and cannot serve plain leptris_xpath_eval results). */
150
+ struct leptris_document** anchored_docs;
151
+ size_t n_anchored_docs;
152
+ size_t cap_anchored_docs;
153
+ /* XML Declaration support */
154
+ char* xml_version; /* "1.0", "1.1", etc. or NULL if not present */
155
+ int standalone; /* -1=not set, 0=no, 1=yes */
156
+ int decl_encoding_verbatim; /* #1094: set_encoding declared the
157
+ * body's encoding; never re-spell it */
158
+ int had_declaration; /* 1 if input had <?xml?>, 0 otherwise */
159
+ /* 1 if ANY namespace declaration exists anywhere in the
160
+ * document (parse or mutation). XPath 1.0 §2.3: an unprefixed
161
+ * name test matches only no-namespace elements; when this is 0
162
+ * every element is no-namespace and the hot name-match paths
163
+ * skip the namespace check entirely (issue #525). */
164
+ int has_namespaces;
165
+ int has_bom; /* 1 if UTF-8 BOM was present, 0 otherwise */
166
+ /* Issue #541 mem-cache: the last successful serialization. */
167
+ unsigned ser_version; /* bump on any mutation */
168
+ char* ser_cache;
169
+ size_t ser_cache_len;
170
+ unsigned ser_cache_version;
171
+ int ser_cache_text;
172
+ int ser_cache_omit;
173
+ int ser_cache_indent;
174
+ /* DOCTYPE support */
175
+ void* doctype; /* LeptrisDoctypeNode* or NULL */
176
+ void* dtd; /* LeptrisDTD* - Parsed DTD declarations */
177
+ /* Memory pool for fast DOM node allocation */
178
+ LeptrisMemoryPool* pool; /* Pool allocator (owns all DOM nodes) */
179
+ /* Per-document allocator hooks (TODO 74) — set BEFORE parsing to
180
+ * override the thread-default globals. NULL = use defaults. */
181
+ leptris_allocation_function alloc_hook;
182
+ leptris_deallocation_function dealloc_hook;
183
+ /* Compact pointer support */
184
+ void* page_base; /* Base pointer for compact pointer decoding */
185
+ struct leptris_compact_overflow_entry* overflow_entries; /* Per-document overflow entry list head */
186
+ /* In-place parsing support (zero-copy optimization) */
187
+ char* xml_buffer; /* Owned writable XML buffer (NULL if not in-place) */
188
+ size_t xml_buffer_len; /* Length of xml_buffer */
189
+ int xml_buffer_needs_free; /* 1 if xml_buffer needs free(), 0 if stack/const */
190
+ /* #1125 scratch design: the parser NUL-terminates in place on
191
+ * this copy; every borrowed string view points into it. Always
192
+ * document-owned (retained-block allocator) and released with
193
+ * len + 1 + 64 at leptris_document_free. xml_buffer stays
194
+ * byte-identical to the input by construction. */
195
+ char* parse_scratch;
196
+ /* Extra allocation past len+1: the parser's owns-copy over-
197
+ * allocates 64 zeroed bytes for slack-backed probe windows. The
198
+ * release path must hand the retention free-list the TRUE size
199
+ * or later best-fit reuses under-advertise the block. */
200
+ unsigned xml_buffer_slack;
201
+ /* Lazy line resolution (issue #223 follow-up): parse-created
202
+ * nodes store byteOffset+1 in base.line; leptris_node_line builds
203
+ * this newline-offset table ONCE per document (memchr hop over
204
+ * xml_buffer) and resolves queries via binary search, caching
205
+ * the result in the node with the high bit set. NULL = not yet
206
+ * built. Freed with the document. */
207
+ uint32_t* line_breaks;
208
+ size_t line_break_count;
209
+ /* Doc-level attribute-name index (mutation path): open-addressed
210
+ * (element, name-hash) -> attr. Built lazily on the first
211
+ * set/remove_attribute; each element bulk-registers its attrs on
212
+ * first touch (one O(N) walk amortized per element) via the
213
+ * (elem, hash=0) sentinel. Safe with raw pointers because nodes
214
+ * are arena-backed and unlink-never-frees — entries outlive any
215
+ * detach. remove_attribute tombstones its entry. NULL = unused
216
+ * (never-mutated documents pay nothing). */
217
+ struct leptris_attr_index* attr_index;
218
+ /* Mutation attr-tail cache (the 195a child-tail twin): elements
219
+ * carry no last-attribute edge (64-byte layout law), so appends
220
+ * would otherwise walk the list — O(N^2) for programmatic attr
221
+ * builds. Sequential set_attribute on one element is O(1). */
222
+ struct leptris_element* mut_attr_elem;
223
+ struct leptris_attribute* mut_attr_tail;
224
+ /* Mutation element bump block (round 18): leptris_element_create
225
+ * was allocating each mutation element via the pool extension
226
+ * path — a separate malloc per element, scattered across heap
227
+ * regions. Parent edges (root→child) crossed regions → every
228
+ * edge hit the compact-overflow table; sibling edges (cp16)
229
+ * missed when mallocs weren't adjacent. Measured: 33× behind
230
+ * pugixml on sequential append.
231
+ *
232
+ * This bump block keeps mutation elements CONTIGUOUS: sibling
233
+ * edges stay in cp16 range, parent edges in int32 range, zero
234
+ * overflow-table hits. Grows geometrically; blocks are chained
235
+ * and freed with the document. */
236
+ struct leptris_mut_elem_block* mut_elem_blocks;
237
+ struct leptris_element* mut_elem_cursor;
238
+ struct leptris_element* mut_elem_end;
239
+ /* Per-doc chain of this document's root-doc-map entries (#1038
240
+ * sweep successor): register pushes, document_free walks THIS
241
+ * list instead of sweeping all 256 TLS buckets — the sweep was
242
+ * ~42% of small-document parse+free cost. Void-typed to avoid a
243
+ * header cycle; root_doc_map.c owns the layout. */
244
+ void* map_entries;
245
+ /* Mutation name bump block (round 21): element_create's name
246
+ * copy went through leptris_pool_strdup → arena_alloc (call
247
+ * chain + strlen + slack checks, ~9ns for a 2-byte name).
248
+ * Carving from a per-doc contiguous block is a bump + memcpy +
249
+ * NUL. Freed with the document. */
250
+ struct leptris_mut_name_block* mut_name_blocks;
251
+ char* mut_name_cursor;
252
+ char* mut_name_end;
253
+ /* Mutation attr bump block (round 22). */
254
+ struct leptris_mut_attr_block* mut_attr_blocks;
255
+ struct leptris_attribute* mut_attr_cursor;
256
+ struct leptris_attribute* mut_attr_end;
257
+ /* Definition follows this struct (needed by document_free). */
258
+
259
+ /* Document-scoped state (TODO 27/38 phase 2).
260
+ *
261
+ * Previously these were process-global (or __thread). Moving
262
+ * them to the document lets two documents in the same thread
263
+ * have different settings — important for libraries that mix
264
+ * trusted and untrusted XML.
265
+ *
266
+ * `strict_mode` defaults to the value of g_leptris_strict_mode
267
+ * at document creation; callers can override via
268
+ * leptris_document_set_strict().
269
+ *
270
+ * `alloc_hook` / `dealloc_hook` default to the thread-local
271
+ * hooks; per-document overrides are TODO 38 phase 3. */
272
+ int strict_mode;
273
+
274
+ /* Element index (TODO 132) — lazily-built flat array + per-name
275
+ * buckets for O(1) descendant queries. Built on SECOND axis
276
+ * query (TODO 190): building costs two tree walks + per-name
277
+ * bucket allocations, which a single-query document never
278
+ * recovers — the first query walks directly and only repeat
279
+ * queries pay for the index. NULL until then. */
280
+ struct leptris_element_index* element_index;
281
+ unsigned axis_query_count; /* axis queries seen without an index */
282
+
283
+ /* Document-order rank table (issue #485) — one preorder walk
284
+ * assigns every node an integer rank used to sort merged
285
+ * nodesets into document order. Cached here so repeated queries
286
+ * don't rewalk the tree; rebuilt when mutation_version moves.
287
+ * Bumped by leptris_element_index_invalidate, which every DOM
288
+ * mutation path already calls. */
289
+ void* doc_order_index;
290
+ unsigned mutation_version;
291
+
292
+ /* Mutation tail caches (TODO 195): the public API's append /
293
+ * set-attribute walk to the tail because elements carry no
294
+ * last-child edge (64 B layout law, TODO 155). Sequential
295
+ * mutation — the dominant programmatic-build pattern — appends
296
+ * to the SAME parent, so a cached tail makes the common case
297
+ * O(1). Result-tree construction INTERLEAVES parents (XSLT
298
+ * appends <b> to <out>, then <t>/<a> to <b>, then the next
299
+ * <b>...), and a one-entry cache thrashed exactly there: every
300
+ * other top-level append rewalked the child chain (#682 —
301
+ * ~2M sibling hops on a 2000-book transform). A direct-mapped
302
+ * array keyed by the element address keeps interleaved parents
303
+ * O(1) too. Entries are verified via the child's parent
304
+ * back-pointer; stale entries fall back to the walk. */
305
+ struct leptris_mut_tail {
306
+ struct leptris_element* parent;
307
+ struct leptris_node* child;
308
+ /* 64 slots: HTML parses alternate a persistent parent (body)
309
+ * with a fresh child-parent every element pair — at 8 slots the
310
+ * body entry was evicted ~1/8 pairs and each miss walked the
311
+ * whole child chain (O(n^2) on element/entity-heavy pages). */
312
+ } mut_tail[64];
313
+
314
+ /* FlatDoc + lazy-promote removed — direct_parse builds the
315
+ * LeptrisElement tree eagerly. Retained as an always-zero field
316
+ * so leptris_document_ensure_promoted (a public-facing no-op
317
+ * chokepoint) can stay in the API without ABI churn. */
318
+ int _unused_post_flat_removal;
319
+
320
+ /* TODO 117: adopted child documents from xi:include parse="xml".
321
+ * The included doc's pool is owned by this document -- the
322
+ * included nodes were MOVED (not copied) into our tree, so they
323
+ * live in the included doc's pool. `child_docs` / `child_docs_tail`
324
+ * are the head/tail of OUR adopted-children list (single-linked
325
+ * via `next_adopted` on each child so we can append in O(1) without
326
+ * needing a "next" pointer on the parent). Typically very short
327
+ * (a handful of xi:include directives). */
328
+ struct leptris_document* child_docs;
329
+ struct leptris_document* child_docs_tail; /* Append in O(1). */
330
+ struct leptris_document* next_adopted; /* Singly-linked sibling. */
331
+
332
+ /* Custom XPath function registrations (TODO 148 Phase 5).
333
+ * Each entry stores a (name, fn, user_data) triple; the
334
+ * evaluator merges them with the standard XPath 1.0 library
335
+ * when building the per-context function registry. Standard
336
+ * functions win name collisions. */
337
+ struct leptris_custom_xpath_fn* custom_xpath_fns;
338
+
339
+ /* Set when this doc struct was allocated from the document's
340
+ * own pool. leptris_document_free must skip the LEPTRIS_FREE(doc)
341
+ * call in that case — the pool destroy reclaims it. Heap-
342
+ * allocated docs (leptris_document_copy, leptris_parse_fragment)
343
+ * leave this 0 and get freed via LEPTRIS_FREE. TODO 154. */
344
+ int doc_pool_allocated;
345
+
346
+ /* Cached merged function registry (TODO.transform perf): built
347
+ * once from custom_xpath_fns + exslt_enabled + xslt_state, then
348
+ * REUSED by every evaluation context on this document. A
349
+ * transform builds ~45 registrations per expression otherwise.
350
+ * Invalidate (free + NULL) whenever any of the three inputs
351
+ * changes; document_free releases it. Evaluation contexts mark
352
+ * it borrowed so their cleanup leaves it alive. */
353
+ void* cached_fn_registry;
354
+ };
355
+
356
+ /* Open-addressed (element, name-hash) -> attribute index for the
357
+ * mutation path (see doc->attr_index). Defined here so document_free
358
+ * can release it; all logic lives in dom/element_modify.c. */
359
+ struct leptris_attr_index_entry {
360
+ struct leptris_element* elem;
361
+ uint32_t name_hash;
362
+ struct leptris_attribute* attr; /* NULL: tombstone or sentinel */
363
+ };
364
+
365
+ struct leptris_attr_index {
366
+ struct leptris_attr_index_entry* slots;
367
+ size_t cap; /* power of two */
368
+ size_t used;
369
+ };
370
+
371
+ /* Parse options structure */
372
+ typedef struct {
373
+ int strict; /* Strict mode (1=enabled, 0=disabled) */
374
+ int preserve_whitespace; /* Preserve whitespace (1=enabled, 0=disabled) */
375
+ int track_positions; /* Track positions (1=enabled, 0=disabled) */
376
+ int max_depth; /* Maximum element nesting depth (0 = default 256) */
377
+ } leptris_parse_options;
378
+
379
+ /* Internal parse function - implemented in parse_simple.c or parser_new.c */
380
+ extern struct leptris_document* leptris_parse(const char* xml, size_t len);
381
+
382
+ /* TODO 139 Phase D: trigger lazy promote if the doc has a parsed
383
+ * FlatDoc that hasn't been built into the compact-pointer tree yet.
384
+ * Safe to call multiple times. Internal helper. */
385
+ extern void leptris_document_ensure_promoted(struct leptris_document* doc);
386
+
387
+ /* Get current strict parsing mode */
388
+ extern LEPTRIS_API int leptris_get_strict_mode(void);
389
+
390
+ /* Namespace structure - Matches ext/leptris/leptris.h _namespace */
391
+ struct leptris_namespace {
392
+ char* prefix; /* Namespace prefix (NULL = default namespace) */
393
+ char* uri; /* Namespace URI (required) */
394
+ struct leptris_namespace* next; /* Linked list for multiple declarations */
395
+ };
396
+
397
+ /* Document-order rank cache teardown (issue #485). Defined in
398
+ * xpath/evaluator_path.c. */
399
+ void leptris_doc_order_index_free(void* table);
400
+
401
+ /* Copy the thread-local error message into the document's snapshot
402
+ * slot. error.c; called by the public parse entry points on
403
+ * failure (TODO.concurrency/01). */
404
+ void leptris_doc_snapshot_error(struct leptris_document* doc);
405
+
406
+ /* Thread-local position of the most recent parse error (issue #510).
407
+ * Set by the parse fail path next to leptris_set_error. */
408
+ void leptris_set_error_position(int line, int column);
409
+
410
+ /* TODO.concurrency/08: per-thread cache drains, called by the public
411
+ * leptris_thread_cleanup from each worker thread before it exits. */
412
+ void leptris_xpath_drain_thread_caches(void);
413
+ void leptris_root_doc_drain_thread_caches(void);
414
+
415
+ /* ============================================================================
416
+ * XPath Node Type System
417
+ * ============================================================================ */
418
+
419
+ /* Attribute node structure - dedicated type for attribute nodes in XPath */
420
+ typedef struct leptris_attribute_node {
421
+ LeptrisNodeType node_type; /* Always LEPTRIS_NODE_ATTRIBUTE */
422
+ char* name; /* Attribute name */
423
+ char* value; /* Attribute value */
424
+ char* namespace_uri; /* Namespace URI (can be NULL) */
425
+ struct leptris_element* owner; /* Owner element */
426
+ } LeptrisAttributeNode;
427
+
428
+ /* Namespace node structure - dedicated type for namespace nodes in XPath */
429
+ typedef struct leptris_namespace_node {
430
+ LeptrisNodeType node_type; /* Always LEPTRIS_NODE_NAMESPACE */
431
+ char* prefix; /* Namespace prefix (NULL = default) */
432
+ char* uri; /* Namespace URI (required) */
433
+ struct leptris_element* owner; /* Owner element */
434
+ } LeptrisNamespaceNode;
435
+
436
+ /* Text node structure - for XPath text() function results (virtual text nodes) */
437
+ typedef struct xpath_text_node {
438
+ LeptrisNodeType node_type; /* Always LEPTRIS_NODE_TEXT */
439
+ char* content; /* Text content */
440
+ struct leptris_element* owner; /* Parent element */
441
+ } XPathTextNode;
442
+
443
+ /* XPath node union - type-safe wrapper for all XPath node types */
444
+ typedef union xpath_node {
445
+ LeptrisNodeType type; /* First field for type checking */
446
+ struct {
447
+ LeptrisNodeType node_type;
448
+ struct leptris_element* element;
449
+ } as_element;
450
+ LeptrisAttributeNode* as_attribute;
451
+ } XPathNode;
452
+
453
+ /* Type checking macros */
454
+ #define XPATH_NODE_TYPE(node) (*(LeptrisNodeType*)(node))
455
+ #define IS_ELEMENT_NODE(node) ((node) && XPATH_NODE_TYPE(node) == LEPTRIS_NODE_ELEMENT)
456
+ #define IS_ATTRIBUTE_NODE(node) ((node) && XPATH_NODE_TYPE(node) == LEPTRIS_NODE_ATTRIBUTE)
457
+ #define IS_TEXT_NODE(node) ((node) && XPATH_NODE_TYPE(node) == LEPTRIS_NODE_TEXT)
458
+
459
+ /* ============================================================================
460
+ * XPath Internal Structures
461
+ * ============================================================================ */
462
+
463
+ /* XPath token - Matches ext/leptris/xpath.h Token */
464
+ typedef struct xpath_token {
465
+ int type; /* XPathTokenType */
466
+ const char* value; /* Token value (points into input, not owned) */
467
+ size_t value_len;
468
+ int line;
469
+ int column;
470
+ } XPathToken;
471
+
472
+ /* XPath lexer - Matches ext/leptris/xpath.h Lexer */
473
+ typedef struct xpath_lexer {
474
+ const char* input; /* Input string (not owned) */
475
+ const char* pos; /* Current position */
476
+ const char* end; /* End of input */
477
+ int line;
478
+ int column;
479
+ XPathToken current;
480
+ char error_msg[256];
481
+ } XPathLexer;
482
+
483
+ /* XPath AST node types - From ext/leptris/xpath.h */
484
+ typedef enum {
485
+ XPATH_AST_PATH_EXPR,
486
+ XPATH_AST_ABSOLUTE_PATH,
487
+ XPATH_AST_RELATIVE_PATH,
488
+ XPATH_AST_STEP,
489
+ XPATH_AST_AXIS_SPECIFIER,
490
+ XPATH_AST_NODE_TEST,
491
+ XPATH_AST_PREDICATE,
492
+ XPATH_AST_FUNCTION_CALL,
493
+ XPATH_AST_ARGUMENT,
494
+ XPATH_AST_NUMBER,
495
+ XPATH_AST_STRING,
496
+ XPATH_AST_VARIABLE_REFERENCE,
497
+ XPATH_AST_OPERATOR,
498
+ XPATH_AST_NODE_TEST_NAME,
499
+ XPATH_AST_NODE_TEST_TYPE,
500
+ XPATH_AST_NODE_TEST_PI,
501
+ XPATH_AST_NODE_TEST_ALL,
502
+ XPATH_AST_NODE_TEST_ALL_IN_NS
503
+ } XPathASTType;
504
+
505
+ /* XPath axis types (forward decl of the canonical enum — full
506
+ * definition lives below; here so XPathASTNode can reference it
507
+ * for the axis_id perf optimization in TODO 113 Phase 1). */
508
+ typedef enum {
509
+ XPATH_AXIS_ANCESTOR,
510
+ XPATH_AXIS_ANCESTOR_OR_SELF,
511
+ XPATH_AXIS_ATTRIBUTE,
512
+ XPATH_AXIS_CHILD,
513
+ XPATH_AXIS_DESCENDANT,
514
+ XPATH_AXIS_DESCENDANT_OR_SELF,
515
+ XPATH_AXIS_FOLLOWING,
516
+ XPATH_AXIS_FOLLOWING_SIBLING,
517
+ XPATH_AXIS_NAMESPACE,
518
+ XPATH_AXIS_PARENT,
519
+ XPATH_AXIS_PRECEDING,
520
+ XPATH_AXIS_PRECEDING_SIBLING,
521
+ XPATH_AXIS_SELF
522
+ } XPathAxisType;
523
+
524
+ /* XPath AST node - Matches ext/leptris/xpath.h _xpath_ast_node */
525
+ typedef struct xpath_ast_node {
526
+ XPathASTType type;
527
+ char* value; /* String value (owned by node) */
528
+ double number_value; /* Number value */
529
+ struct xpath_ast_node** children;
530
+ size_t child_count;
531
+ size_t child_capacity;
532
+
533
+ /* Namespace support for node tests (v0.8.0) */
534
+ char* prefix; /* Namespace prefix (NULL if no prefix) */
535
+ char* local_name; /* Local name part (NULL if not applicable) */
536
+
537
+ /* Axis enum (TODO 113 Phase 1): populated on XPATH_AST_STEP nodes
538
+ * to skip the strcmp dispatch chain in apply_axis. Defaults to
539
+ * XPATH_AXIS_CHILD (the default axis per XPath spec). */
540
+ XPathAxisType axis_id;
541
+ } XPathASTNode;
542
+
543
+ /* XPath parser - Matches ext/leptris/xpath.h _xpath_parser */
544
+ typedef struct xpath_parser {
545
+ XPathLexer* lexer;
546
+ XPathToken* tokens; /* Token array for lookahead */
547
+ size_t token_count;
548
+ size_t token_pos;
549
+ char error_msg[256];
550
+ } XPathParser;
551
+
552
+ /* XPath nodeset - Holds typed node pointers (elements or attributes).
553
+ *
554
+ * TODO 113 Phase 2 perf: small-buffer optimization. The first 16
555
+ * entries live inline in the struct so the common case (small query
556
+ * result) avoids the second heap allocation entirely. Larger
557
+ * nodesets spill to a separately-allocated array. */
558
+ #define XPATH_NODESET_INLINE_CAPACITY 16
559
+ typedef struct xpath_nodeset {
560
+ void** nodes; /* Typed node pointers; points to
561
+ * inline_data for small nodesets,
562
+ * otherwise heap-allocated. */
563
+ size_t count;
564
+ size_t capacity;
565
+ int owns_attributes; /* If true, free attribute nodes on nodeset_free */
566
+ int owns_namespaces; /* If true, free namespace nodes on nodeset_free */
567
+ int owns_synthetic_text; /* If true, free synthetic XPathTextNode
568
+ * entries on nodeset_free (EXSLT
569
+ * str:tokenize/split results) */
570
+ /* XSLT 3.0 item sequence (for/range/sequence results): members are
571
+ * one-item synthetic text nodes, and string-value consumers join
572
+ * them with spaces instead of taking the first member. */
573
+ int is_sequence;
574
+ void* inline_data[XPATH_NODESET_INLINE_CAPACITY];
575
+ } XPathNodeSet;
576
+
577
+ /* XPath result types - MUST match public enum in ext/leptris/xpath.h!
578
+ * Order matters: NODESET=0, BOOLEAN=1, NUMBER=2, STRING=3 */
579
+ typedef enum {
580
+ XPATH_RESULT_NODESET,
581
+ XPATH_RESULT_BOOLEAN,
582
+ XPATH_RESULT_NUMBER,
583
+ XPATH_RESULT_STRING,
584
+ /* Internal-only sentinel: a result parked on the thread-local
585
+ * free-list. The public enum never uses this value. Guards the
586
+ * free-list against a double xpath_result_free — a cached entry
587
+ * previously looked like a live NODESET (type 0), and freeing
588
+ * it again would have treated the free-list next-pointer as a
589
+ * nodeset and corrupted the list. */
590
+ XPATH_RESULT_CACHED = 127
591
+ } XPathResultType;
592
+
593
+ /* XPath result value union */
594
+ typedef union {
595
+ int boolean_value;
596
+ double number_value;
597
+ char* string_value; /* Owned by result */
598
+ XPathNodeSet* nodeset_value; /* Owned by result */
599
+ } XPathResultValue;
600
+
601
+ /* XPath result - Matches ext/leptris/xpath.h _xpath_result */
602
+ struct leptris_xpath_result {
603
+ XPathResultType type;
604
+ XPathResultValue value;
605
+ /* xs:integer fidelity: a NUMBER that came from an int64
606
+ * lexical form keeps the exact value here so stringification
607
+ * prints decimal, not double scientific. result_new MUST
608
+ * clear it — results recycle through a thread-local
609
+ * free-list. */
610
+ int is_int;
611
+ long long int_value;
612
+ };
613
+
614
+ /* Namespace mapping for XPath context (v0.8.0) */
615
+ typedef struct xpath_namespace_mapping {
616
+ char* prefix; /* Namespace prefix (NULL = default namespace) */
617
+ char* uri; /* Namespace URI (required) */
618
+ } XPathNamespaceMapping;
619
+
620
+ /* XPath context - Matches ext/leptris/xpath.h _xpath_context */
621
+ typedef struct xpath_context {
622
+ struct leptris_document* document;
623
+ struct leptris_element* context_node;
624
+ size_t context_position; /* 1-based position in context nodeset */
625
+ size_t context_size; /* Total size of context nodeset */
626
+ void* function_registry; /* Opaque function registry */
627
+ char error_msg[256];
628
+
629
+ /* Current node in predicate evaluation (can be attribute or element) */
630
+ void* current_predicate_node; /* The actual node being filtered (for name() in predicates) */
631
+
632
+ /* Namespace support (v0.8.0)
633
+ *
634
+ * Lazy init (TODO 125): namespaces are NOT collected at context
635
+ * creation. Collection runs on the first call to
636
+ * xpath_context_resolve_prefix, gated by namespaces_collected.
637
+ * Most XPath expressions never touch a namespace prefix, so
638
+ * skipping the document walk saves 4-8 µs per eval on
639
+ * medium and large docs. */
640
+ XPathNamespaceMapping* namespace_mappings;
641
+ size_t namespace_count;
642
+ size_t namespace_capacity;
643
+ int namespaces_collected;
644
+
645
+ /* Variable support (v1.0.1) */
646
+ void* variable_set; /* LeptrisXPathVariableSet - for $var references */
647
+
648
+ /* External namespace bindings (v1.2.0): expression prefix -> URI,
649
+ * overriding literal prefix comparison in name tests when the
650
+ * test prefix is bound here (XPointer xmlns() is the driver). */
651
+ struct leptris_xpath_ns_map* ns_set;
652
+
653
+ /* Error context support (v1.0.0) */
654
+ const char* input; /* Original XPath expression for error context */
655
+ size_t input_len; /* Length of input expression */
656
+
657
+ /* Optimization flags */
658
+ int to_boolean; /* Only checking existence */
659
+ int max_results; /* Stop after N results (0 = unlimited) */
660
+ int enable_early_exit; /* Master switch for early termination */
661
+
662
+ /* TODO 148 Phase 5: per-call user_data for custom XPath fns.
663
+ * Set by the dispatch (evaluate_function_call_impl) before
664
+ * invoking the handler; restored after so recursion works.
665
+ * Standard handlers ignore the slot. */
666
+ void* current_fn_user_data;
667
+
668
+ /* Dynamic error code (XQuery try/catch, TODO 12): the last
669
+ * error's QName local part (e.g. "FODC0002"); empty when the
670
+ * failing path had no code. Named catches match it. */
671
+ char error_code[32];
672
+
673
+ /* The registry came from the document's cached_fn_registry —
674
+ * context cleanup must NOT free it (the document owns it). */
675
+ int registry_borrowed;
676
+
677
+ /* Documents loaded by fn:doc() during this evaluation —
678
+ * context-lifetime anchors (TODO.xslt-full/11): the returned
679
+ * nodeset borrows the root element, so the owning document must
680
+ * outlive the result. Cleanup frees them. */
681
+ struct leptris_document** owned_docs;
682
+ size_t n_owned_docs;
683
+ size_t cap_owned_docs;
684
+ } XPathContext;
685
+
686
+ /* XPath operator types - From ext/leptris/xpath.h */
687
+ typedef enum {
688
+ XPATH_OP_OR,
689
+ XPATH_OP_AND,
690
+ XPATH_OP_EQUAL,
691
+ XPATH_OP_NOT_EQUAL,
692
+ XPATH_OP_LESS,
693
+ XPATH_OP_LESS_EQUAL,
694
+ XPATH_OP_GREATER,
695
+ XPATH_OP_GREATER_EQUAL,
696
+ XPATH_OP_PLUS,
697
+ XPATH_OP_MINUS,
698
+ XPATH_OP_MULTIPLY,
699
+ XPATH_OP_DIV,
700
+ XPATH_OP_MOD,
701
+ XPATH_OP_UNION,
702
+ XPATH_OP_NEGATION,
703
+ /* XSLT 3.0 expression extensions (XPath 2.0+ forms), carried on
704
+ * operator nodes: XPATH_OP_IF has 3 children (cond, then,
705
+ * else); XPATH_OP_FOR has 2 children (bindings AST + return
706
+ * expr) with ->value naming the loop variables in order;
707
+ * XPATH_OP_RANGE has 2 children (from, to). */
708
+ XPATH_OP_IF,
709
+ XPATH_OP_FOR,
710
+ XPATH_OP_RANGE,
711
+ /* XPath 3.1 `let $x := E1, $y := E2 ... return B`: children
712
+ * [0..n-1] are the binding value exprs, [n] is the body;
713
+ * ->value carries the variable names space-joined, in order.
714
+ * Each binding sees the earlier ones; inner lets shadow. */
715
+ XPATH_OP_LET,
716
+ /* XPath 3.0 `L ! R` (simple map): R evaluates once per item of
717
+ * L with the context item/position/size set to that item's
718
+ * slot; results concatenate in order. Arrow `=>` reuses the
719
+ * function-call node (left side prepended as the first
720
+ * argument). */
721
+ XPATH_OP_MAP,
722
+ /* XPath 3.0 `A || B`: string() both sides, concatenate. */
723
+ XPATH_OP_CONCAT,
724
+ /* XPath 3.1 `switch (E) { case T1 return R1 ... default return
725
+ * RD }`: children = [operand, test1, res1, test2, res2, ...,
726
+ * default]; the first eq-match wins (empty default = no
727
+ * children pair). */
728
+ XPATH_OP_SWITCH,
729
+ /* Parenthesized item sequence `('a','b',expr)`: N children, one
730
+ * per member — evaluates to the sequence (synthetic-text
731
+ * nodeset). */
732
+ XPATH_OP_SEQUENCE,
733
+ /* 2.0 type operators (TODO.xslt-full/06): one child + the
734
+ * SequenceType carried as node->value ("xs:integer", "node()+").
735
+ * TREAT passes the operand through (value-level v1). */
736
+ XPATH_OP_INSTANCE_OF,
737
+ XPATH_OP_CASTABLE,
738
+ XPATH_OP_CAST,
739
+ XPATH_OP_TREAT,
740
+ /* 3.1 map constructor `map { k: v, ... }`: children alternate
741
+ * key/value; the value is a synthetic encoded map node. */
742
+ XPATH_OP_MAP_CONSTRUCTOR,
743
+ /* 3.1 square array constructor `[ a, b, ... ]`: one child per
744
+ * member; the value rides the map representation with
745
+ * positional keys "1".."n". */
746
+ XPATH_OP_ARRAY_CONSTRUCTOR,
747
+ /* 3.1 postfix lookup `V?k` / `V?2`: child[0] + the key in
748
+ * node->value (array indices ARE the positional keys). */
749
+ XPATH_OP_LOOKUP,
750
+ /* 3.0 function items (07). INLINE_FN: value = params joined by
751
+ * ' ', children[0] = body; the value is a closure node. FN_REF:
752
+ * value = "name#arity". DYN_CALL: children[0] = callee,
753
+ * children[1..] = args. */
754
+ XPATH_OP_INLINE_FN,
755
+ XPATH_OP_FN_REF,
756
+ XPATH_OP_DYN_CALL,
757
+ /* XQuery 1.0 constructors (TODO.xslt-full/11; value-level —
758
+ * the result is the serialized XML string). ELEMENT_CTOR:
759
+ * value = element name, children = ATTRIBUTE_CTOR nodes first,
760
+ * then content expressions. ATTRIBUTE_CTOR: value = attr name,
761
+ * children[0] = value expression. TEXT_CTOR: children[0] =
762
+ * content expression (content escaping applies). */
763
+ XPATH_OP_ELEMENT_CTOR,
764
+ XPATH_OP_ATTRIBUTE_CTOR,
765
+ XPATH_OP_TEXT_CTOR,
766
+ /* document { content } — serializes its content with no
767
+ * wrapper (Saxon). XPATH_OP_TRY: value = catch name-tests
768
+ * joined by '\x01' ("*" catches all), children[0] = try body,
769
+ * children[1..] = catch bodies in order. */
770
+ XPATH_OP_DOCUMENT_CTOR,
771
+ XPATH_OP_TRY,
772
+ /* XQuery 3.0 typeswitch: value = case SequenceTypes joined
773
+ * by '\x01' (a trailing empty entry = the default arm),
774
+ * children = [operand, ret1, ret2, ..., defaultRet]. */
775
+ XPATH_OP_TYPESWITCH,
776
+ /* XPath 2.0 node comparisons (#684 ledger): operands evaluate
777
+ * to nodesets; the comparison applies to the FIRST node of
778
+ * each — an empty operand makes the result false. IS is
779
+ * identity; NODE_BEFORE/AFTER are document order. */
780
+ XPATH_OP_IS,
781
+ XPATH_OP_NODE_BEFORE,
782
+ XPATH_OP_NODE_AFTER,
783
+ /* XPath 2.0 set operations (#684): identity-based nodeset
784
+ * algebra, result in document order. */
785
+ XPATH_OP_INTERSECT,
786
+ XPATH_OP_EXCEPT,
787
+ /* XPath 2.0 quantified expressions (#684): children = binding
788
+ * nodes then the test. Each binding is an XPATH_OP_BINDING
789
+ * operator (value = variable name, children[0] = domain);
790
+ * SOME is true when any tuple satisfies, EVERY when all do
791
+ * (vacuously true on an empty domain). */
792
+ XPATH_OP_SOME,
793
+ XPATH_OP_EVERY,
794
+ XPATH_OP_BINDING,
795
+ /* XQuery 3.0 computed array constructor `array { E }` (#692):
796
+ * members are the ITEMS of E (the [..] square form's members
797
+ * are its comma-separated expressions). */
798
+ XPATH_OP_ARRAY_OF
799
+ } XPathOperatorType;
800
+
801
+ /* XPathAxisType defined above (near XPathASTType) so it's in scope
802
+ * for the XPathASTNode.axis_id field. */
803
+
804
+ /* ============================================================================
805
+ * Memory Management Macros
806
+ * ============================================================================ */
807
+
808
+ /* Forward declarations for memory allocation hooks */
809
+ void* leptris_alloc_hook(size_t size);
810
+ void leptris_free_hook(void* ptr);
811
+ int leptris_custom_allocator_active(void);
812
+
813
+ /* Use standard C memory functions instead of Ruby macros */
814
+ #define LEPTRIS_ALLOC(type) \
815
+ ((type*)malloc(sizeof(type)))
816
+
817
+ #define LEPTRIS_ALLOC_N(type, n) \
818
+ ((type*)malloc(sizeof(type) * (n)))
819
+
820
+ #define LEPTRIS_REALLOC_N(ptr, type, n) \
821
+ ((type*)realloc((ptr), sizeof(type) * (n)))
822
+
823
+ #define LEPTRIS_FREE(ptr) \
824
+ do { if (ptr) { free(ptr); ptr = NULL; } } while(0)
825
+
826
+ /* Array growth helper - double capacity when full */
827
+ #define LEPTRIS_GROW_ARRAY(ptr, capacity) \
828
+ do { \
829
+ size_t new_cap = (capacity) == 0 ? 4 : (capacity) * 2; \
830
+ (ptr) = realloc((ptr), new_cap * sizeof(*(ptr))); \
831
+ (capacity) = new_cap; \
832
+ } while(0)
833
+
834
+ /* ============================================================================
835
+ * Generic Memory Allocation
836
+ * ============================================================================ */
837
+
838
+ /* Generic malloc wrapper */
839
+ static inline void* leptris_malloc(size_t size) {
840
+ return malloc(size);
841
+ }
842
+
843
+ /* Generic realloc wrapper */
844
+ static inline void* leptris_realloc(void* ptr, size_t size) {
845
+ return realloc(ptr, size);
846
+ }
847
+
848
+ /* Generic free wrapper */
849
+ static inline void leptris_free(void* ptr) {
850
+ free(ptr);
851
+ }
852
+
853
+ /* ============================================================================
854
+ * String Helpers
855
+ * ============================================================================ */
856
+
857
+ /* NULL-safe string duplication */
858
+ static inline char* leptris_strdup(const char* str) {
859
+ if (!str) return NULL;
860
+ size_t len = strlen(str);
861
+ char* dup = (char*)malloc(len + 1);
862
+ if (dup) {
863
+ memcpy(dup, str, len + 1);
864
+ }
865
+ return dup;
866
+ }
867
+
868
+ /* NULL-safe string length */
869
+ static inline size_t leptris_strlen(const char* str) {
870
+ return str ? strlen(str) : 0;
871
+ }
872
+
873
+ /* NULL-safe string comparison */
874
+ static inline int leptris_strcmp(const char* s1, const char* s2) {
875
+ if (s1 == s2) return 0;
876
+ if (!s1) return -1;
877
+ if (!s2) return 1;
878
+ return strcmp(s1, s2);
879
+ }
880
+
881
+ /* ============================================================================
882
+ * Internal Error Functions (from error.c)
883
+ * ============================================================================ */
884
+
885
+ /* Set error with basic message */
886
+ void leptris_set_error(leptris_error_code code, const char* message);
887
+
888
+ /* Set error with line/column position */
889
+ void leptris_set_parse_error_position(int line, int column);
890
+
891
+ /* Set error with full context (message, input, position, snippet) */
892
+ void leptris_set_error_with_context(
893
+ leptris_error_code code,
894
+ const char* message,
895
+ const char* input,
896
+ size_t byte_offset,
897
+ int line,
898
+ int column
899
+ );
900
+
901
+ /* Extract context snippet from input around error position */
902
+ void leptris_extract_context_snippet(
903
+ const char* input,
904
+ size_t offset,
905
+ int error_line,
906
+ char* out_buffer,
907
+ size_t buffer_size
908
+ );
909
+
910
+ #endif /* LEPTRIS_INTERNAL_H */