nokogiri 1.10.10 → 1.14.3-aarch64-linux

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of nokogiri might be problematic. Click here for more details.

Files changed (251) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +44 -0
  3. data/LICENSE-DEPENDENCIES.md +1632 -1022
  4. data/LICENSE.md +1 -1
  5. data/README.md +185 -96
  6. data/bin/nokogiri +63 -50
  7. data/dependencies.yml +33 -66
  8. data/ext/nokogiri/depend +38 -358
  9. data/ext/nokogiri/extconf.rb +819 -421
  10. data/ext/nokogiri/gumbo.c +594 -0
  11. data/ext/nokogiri/html4_document.c +166 -0
  12. data/ext/nokogiri/html4_element_description.c +294 -0
  13. data/ext/nokogiri/html4_entity_lookup.c +37 -0
  14. data/ext/nokogiri/html4_sax_parser_context.c +114 -0
  15. data/ext/nokogiri/html4_sax_push_parser.c +95 -0
  16. data/ext/nokogiri/include/libexslt/exslt.h +108 -0
  17. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  18. data/ext/nokogiri/include/libexslt/exsltexports.h +63 -0
  19. data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +306 -0
  20. data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
  21. data/ext/nokogiri/include/libxml2/libxml/SAX.h +204 -0
  22. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +172 -0
  23. data/ext/nokogiri/include/libxml2/libxml/c14n.h +128 -0
  24. data/ext/nokogiri/include/libxml2/libxml/catalog.h +182 -0
  25. data/ext/nokogiri/include/libxml2/libxml/chvalid.h +230 -0
  26. data/ext/nokogiri/include/libxml2/libxml/debugXML.h +217 -0
  27. data/ext/nokogiri/include/libxml2/libxml/dict.h +81 -0
  28. data/ext/nokogiri/include/libxml2/libxml/encoding.h +232 -0
  29. data/ext/nokogiri/include/libxml2/libxml/entities.h +153 -0
  30. data/ext/nokogiri/include/libxml2/libxml/globals.h +499 -0
  31. data/ext/nokogiri/include/libxml2/libxml/hash.h +236 -0
  32. data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
  33. data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +186 -0
  34. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
  35. data/ext/nokogiri/include/libxml2/libxml/parser.h +1244 -0
  36. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +656 -0
  37. data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
  38. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +218 -0
  39. data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +958 -0
  40. data/ext/nokogiri/include/libxml2/libxml/schematron.h +142 -0
  41. data/ext/nokogiri/include/libxml2/libxml/threads.h +91 -0
  42. data/ext/nokogiri/include/libxml2/libxml/tree.h +1312 -0
  43. data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
  44. data/ext/nokogiri/include/libxml2/libxml/valid.h +463 -0
  45. data/ext/nokogiri/include/libxml2/libxml/xinclude.h +129 -0
  46. data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
  47. data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +368 -0
  48. data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
  49. data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +947 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +77 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +226 -0
  52. data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
  53. data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +428 -0
  54. data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +222 -0
  55. data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +88 -0
  56. data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +246 -0
  57. data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +152 -0
  58. data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
  59. data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +202 -0
  60. data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +503 -0
  61. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
  62. data/ext/nokogiri/include/libxml2/libxml/xpath.h +575 -0
  63. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
  64. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +137 -0
  65. data/ext/nokogiri/include/libxslt/attributes.h +38 -0
  66. data/ext/nokogiri/include/libxslt/documents.h +93 -0
  67. data/ext/nokogiri/include/libxslt/extensions.h +262 -0
  68. data/ext/nokogiri/include/libxslt/extra.h +72 -0
  69. data/ext/nokogiri/include/libxslt/functions.h +78 -0
  70. data/ext/nokogiri/include/libxslt/imports.h +75 -0
  71. data/ext/nokogiri/include/libxslt/keys.h +53 -0
  72. data/ext/nokogiri/include/libxslt/namespaces.h +68 -0
  73. data/ext/nokogiri/include/libxslt/numbersInternals.h +73 -0
  74. data/ext/nokogiri/include/libxslt/pattern.h +84 -0
  75. data/ext/nokogiri/include/libxslt/preproc.h +43 -0
  76. data/ext/nokogiri/include/libxslt/security.h +104 -0
  77. data/ext/nokogiri/include/libxslt/templates.h +77 -0
  78. data/ext/nokogiri/include/libxslt/transform.h +207 -0
  79. data/ext/nokogiri/include/libxslt/variables.h +118 -0
  80. data/ext/nokogiri/include/libxslt/xslt.h +110 -0
  81. data/ext/nokogiri/include/libxslt/xsltInternals.h +1982 -0
  82. data/ext/nokogiri/include/libxslt/xsltconfig.h +179 -0
  83. data/ext/nokogiri/include/libxslt/xsltexports.h +64 -0
  84. data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
  85. data/ext/nokogiri/include/libxslt/xsltutils.h +310 -0
  86. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  87. data/ext/nokogiri/nokogiri.c +228 -104
  88. data/ext/nokogiri/nokogiri.h +204 -90
  89. data/ext/nokogiri/test_global_handlers.c +40 -0
  90. data/ext/nokogiri/xml_attr.c +17 -17
  91. data/ext/nokogiri/xml_attribute_decl.c +22 -22
  92. data/ext/nokogiri/xml_cdata.c +15 -20
  93. data/ext/nokogiri/xml_comment.c +19 -26
  94. data/ext/nokogiri/xml_document.c +306 -225
  95. data/ext/nokogiri/xml_document_fragment.c +12 -16
  96. data/ext/nokogiri/xml_dtd.c +64 -58
  97. data/ext/nokogiri/xml_element_content.c +33 -28
  98. data/ext/nokogiri/xml_element_decl.c +26 -26
  99. data/ext/nokogiri/xml_encoding_handler.c +45 -20
  100. data/ext/nokogiri/xml_entity_decl.c +37 -35
  101. data/ext/nokogiri/xml_entity_reference.c +16 -18
  102. data/ext/nokogiri/xml_namespace.c +136 -61
  103. data/ext/nokogiri/xml_node.c +1344 -672
  104. data/ext/nokogiri/xml_node_set.c +178 -168
  105. data/ext/nokogiri/xml_processing_instruction.c +17 -19
  106. data/ext/nokogiri/xml_reader.c +316 -190
  107. data/ext/nokogiri/xml_relax_ng.c +52 -30
  108. data/ext/nokogiri/xml_sax_parser.c +130 -124
  109. data/ext/nokogiri/xml_sax_parser_context.c +110 -89
  110. data/ext/nokogiri/xml_sax_push_parser.c +36 -29
  111. data/ext/nokogiri/xml_schema.c +98 -50
  112. data/ext/nokogiri/xml_syntax_error.c +42 -21
  113. data/ext/nokogiri/xml_text.c +14 -18
  114. data/ext/nokogiri/xml_xpath_context.c +263 -148
  115. data/ext/nokogiri/xslt_stylesheet.c +271 -178
  116. data/gumbo-parser/CHANGES.md +63 -0
  117. data/gumbo-parser/Makefile +111 -0
  118. data/gumbo-parser/THANKS +27 -0
  119. data/lib/nokogiri/2.7/nokogiri.so +0 -0
  120. data/lib/nokogiri/3.0/nokogiri.so +0 -0
  121. data/lib/nokogiri/3.1/nokogiri.so +0 -0
  122. data/lib/nokogiri/3.2/nokogiri.so +0 -0
  123. data/lib/nokogiri/class_resolver.rb +67 -0
  124. data/lib/nokogiri/css/node.rb +10 -8
  125. data/lib/nokogiri/css/parser.rb +397 -377
  126. data/lib/nokogiri/css/parser.y +250 -245
  127. data/lib/nokogiri/css/parser_extras.rb +54 -49
  128. data/lib/nokogiri/css/syntax_error.rb +3 -1
  129. data/lib/nokogiri/css/tokenizer.rb +5 -3
  130. data/lib/nokogiri/css/tokenizer.rex +3 -2
  131. data/lib/nokogiri/css/xpath_visitor.rb +223 -94
  132. data/lib/nokogiri/css.rb +56 -17
  133. data/lib/nokogiri/decorators/slop.rb +9 -7
  134. data/lib/nokogiri/encoding_handler.rb +57 -0
  135. data/lib/nokogiri/extension.rb +32 -0
  136. data/lib/nokogiri/gumbo.rb +15 -0
  137. data/lib/nokogiri/html.rb +38 -27
  138. data/lib/nokogiri/{html → html4}/builder.rb +4 -2
  139. data/lib/nokogiri/html4/document.rb +214 -0
  140. data/lib/nokogiri/html4/document_fragment.rb +54 -0
  141. data/lib/nokogiri/{html → html4}/element_description.rb +3 -1
  142. data/lib/nokogiri/html4/element_description_defaults.rb +572 -0
  143. data/lib/nokogiri/html4/encoding_reader.rb +121 -0
  144. data/lib/nokogiri/{html → html4}/entity_lookup.rb +4 -2
  145. data/lib/nokogiri/{html → html4}/sax/parser.rb +17 -16
  146. data/lib/nokogiri/html4/sax/parser_context.rb +20 -0
  147. data/lib/nokogiri/{html → html4}/sax/push_parser.rb +12 -11
  148. data/lib/nokogiri/html4.rb +47 -0
  149. data/lib/nokogiri/html5/document.rb +168 -0
  150. data/lib/nokogiri/html5/document_fragment.rb +90 -0
  151. data/lib/nokogiri/html5/node.rb +98 -0
  152. data/lib/nokogiri/html5.rb +389 -0
  153. data/lib/nokogiri/jruby/dependencies.rb +3 -0
  154. data/lib/nokogiri/jruby/nokogiri_jars.rb +43 -0
  155. data/lib/nokogiri/syntax_error.rb +2 -0
  156. data/lib/nokogiri/version/constant.rb +6 -0
  157. data/lib/nokogiri/version/info.rb +223 -0
  158. data/lib/nokogiri/version.rb +3 -108
  159. data/lib/nokogiri/xml/attr.rb +55 -3
  160. data/lib/nokogiri/xml/attribute_decl.rb +3 -1
  161. data/lib/nokogiri/xml/builder.rb +75 -34
  162. data/lib/nokogiri/xml/cdata.rb +3 -1
  163. data/lib/nokogiri/xml/character_data.rb +2 -0
  164. data/lib/nokogiri/xml/document.rb +312 -126
  165. data/lib/nokogiri/xml/document_fragment.rb +93 -48
  166. data/lib/nokogiri/xml/dtd.rb +4 -2
  167. data/lib/nokogiri/xml/element_content.rb +2 -0
  168. data/lib/nokogiri/xml/element_decl.rb +3 -1
  169. data/lib/nokogiri/xml/entity_decl.rb +4 -2
  170. data/lib/nokogiri/xml/entity_reference.rb +2 -0
  171. data/lib/nokogiri/xml/namespace.rb +45 -0
  172. data/lib/nokogiri/xml/node/save_options.rb +15 -8
  173. data/lib/nokogiri/xml/node.rb +1067 -406
  174. data/lib/nokogiri/xml/node_set.rb +135 -59
  175. data/lib/nokogiri/xml/notation.rb +13 -0
  176. data/lib/nokogiri/xml/parse_options.rb +145 -52
  177. data/lib/nokogiri/xml/pp/character_data.rb +9 -6
  178. data/lib/nokogiri/xml/pp/node.rb +27 -26
  179. data/lib/nokogiri/xml/pp.rb +4 -2
  180. data/lib/nokogiri/xml/processing_instruction.rb +4 -1
  181. data/lib/nokogiri/xml/reader.rb +21 -28
  182. data/lib/nokogiri/xml/relax_ng.rb +8 -2
  183. data/lib/nokogiri/xml/sax/document.rb +45 -49
  184. data/lib/nokogiri/xml/sax/parser.rb +39 -36
  185. data/lib/nokogiri/xml/sax/parser_context.rb +8 -3
  186. data/lib/nokogiri/xml/sax/push_parser.rb +6 -5
  187. data/lib/nokogiri/xml/sax.rb +6 -4
  188. data/lib/nokogiri/xml/schema.rb +19 -9
  189. data/lib/nokogiri/xml/searchable.rb +112 -72
  190. data/lib/nokogiri/xml/syntax_error.rb +6 -4
  191. data/lib/nokogiri/xml/text.rb +2 -0
  192. data/lib/nokogiri/xml/xpath/syntax_error.rb +4 -2
  193. data/lib/nokogiri/xml/xpath.rb +15 -4
  194. data/lib/nokogiri/xml/xpath_context.rb +3 -3
  195. data/lib/nokogiri/xml.rb +38 -37
  196. data/lib/nokogiri/xslt/stylesheet.rb +3 -1
  197. data/lib/nokogiri/xslt.rb +29 -20
  198. data/lib/nokogiri.rb +48 -72
  199. data/lib/xsd/xmlparser/nokogiri.rb +29 -25
  200. metadata +146 -307
  201. data/ext/nokogiri/html_document.c +0 -170
  202. data/ext/nokogiri/html_document.h +0 -10
  203. data/ext/nokogiri/html_element_description.c +0 -279
  204. data/ext/nokogiri/html_element_description.h +0 -10
  205. data/ext/nokogiri/html_entity_lookup.c +0 -32
  206. data/ext/nokogiri/html_entity_lookup.h +0 -8
  207. data/ext/nokogiri/html_sax_parser_context.c +0 -116
  208. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  209. data/ext/nokogiri/html_sax_push_parser.c +0 -87
  210. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  211. data/ext/nokogiri/xml_attr.h +0 -9
  212. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  213. data/ext/nokogiri/xml_cdata.h +0 -9
  214. data/ext/nokogiri/xml_comment.h +0 -9
  215. data/ext/nokogiri/xml_document.h +0 -23
  216. data/ext/nokogiri/xml_document_fragment.h +0 -10
  217. data/ext/nokogiri/xml_dtd.h +0 -10
  218. data/ext/nokogiri/xml_element_content.h +0 -10
  219. data/ext/nokogiri/xml_element_decl.h +0 -9
  220. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  221. data/ext/nokogiri/xml_entity_decl.h +0 -10
  222. data/ext/nokogiri/xml_entity_reference.h +0 -9
  223. data/ext/nokogiri/xml_io.c +0 -61
  224. data/ext/nokogiri/xml_io.h +0 -11
  225. data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  226. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  227. data/ext/nokogiri/xml_namespace.h +0 -14
  228. data/ext/nokogiri/xml_node.h +0 -13
  229. data/ext/nokogiri/xml_node_set.h +0 -12
  230. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  231. data/ext/nokogiri/xml_reader.h +0 -10
  232. data/ext/nokogiri/xml_relax_ng.h +0 -9
  233. data/ext/nokogiri/xml_sax_parser.h +0 -39
  234. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  235. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  236. data/ext/nokogiri/xml_schema.h +0 -9
  237. data/ext/nokogiri/xml_syntax_error.h +0 -13
  238. data/ext/nokogiri/xml_text.h +0 -9
  239. data/ext/nokogiri/xml_xpath_context.h +0 -10
  240. data/ext/nokogiri/xslt_stylesheet.h +0 -14
  241. data/lib/nokogiri/html/document.rb +0 -335
  242. data/lib/nokogiri/html/document_fragment.rb +0 -49
  243. data/lib/nokogiri/html/element_description_defaults.rb +0 -671
  244. data/lib/nokogiri/html/sax/parser_context.rb +0 -16
  245. data/patches/libxml2/0001-Revert-Do-not-URI-escape-in-server-side-includes.patch +0 -78
  246. data/patches/libxml2/0002-Remove-script-macro-support.patch +0 -40
  247. data/patches/libxml2/0003-Update-entities-to-remove-handling-of-ssi.patch +0 -44
  248. data/patches/libxml2/0004-libxml2.la-is-in-top_builddir.patch +0 -25
  249. data/patches/libxml2/0005-Fix-infinite-loop-in-xmlStringLenDecodeEntities.patch +0 -32
  250. data/ports/archives/libxml2-2.9.10.tar.gz +0 -0
  251. data/ports/archives/libxslt-1.1.34.tar.gz +0 -0
@@ -0,0 +1,75 @@
1
+ /*
2
+ * Summary: interface for the XSLT import support
3
+ * Description: macros and fuctions needed to implement and
4
+ * access the import tree
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_XSLT_IMPORTS_H__
12
+ #define __XML_XSLT_IMPORTS_H__
13
+
14
+ #include <libxml/tree.h>
15
+ #include "xsltexports.h"
16
+ #include "xsltInternals.h"
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+
22
+ /**
23
+ * XSLT_GET_IMPORT_PTR:
24
+ *
25
+ * A macro to import pointers from the stylesheet cascading order.
26
+ */
27
+ #define XSLT_GET_IMPORT_PTR(res, style, name) { \
28
+ xsltStylesheetPtr st = style; \
29
+ res = NULL; \
30
+ while (st != NULL) { \
31
+ if (st->name != NULL) { res = st->name; break; } \
32
+ st = xsltNextImport(st); \
33
+ }}
34
+
35
+ /**
36
+ * XSLT_GET_IMPORT_INT:
37
+ *
38
+ * A macro to import intergers from the stylesheet cascading order.
39
+ */
40
+ #define XSLT_GET_IMPORT_INT(res, style, name) { \
41
+ xsltStylesheetPtr st = style; \
42
+ res = -1; \
43
+ while (st != NULL) { \
44
+ if (st->name != -1) { res = st->name; break; } \
45
+ st = xsltNextImport(st); \
46
+ }}
47
+
48
+ /*
49
+ * Module interfaces
50
+ */
51
+ XSLTPUBFUN int XSLTCALL
52
+ xsltParseStylesheetImport(xsltStylesheetPtr style,
53
+ xmlNodePtr cur);
54
+ XSLTPUBFUN int XSLTCALL
55
+ xsltParseStylesheetInclude
56
+ (xsltStylesheetPtr style,
57
+ xmlNodePtr cur);
58
+ XSLTPUBFUN xsltStylesheetPtr XSLTCALL
59
+ xsltNextImport (xsltStylesheetPtr style);
60
+ XSLTPUBFUN int XSLTCALL
61
+ xsltNeedElemSpaceHandling(xsltTransformContextPtr ctxt);
62
+ XSLTPUBFUN int XSLTCALL
63
+ xsltFindElemSpaceHandling(xsltTransformContextPtr ctxt,
64
+ xmlNodePtr node);
65
+ XSLTPUBFUN xsltTemplatePtr XSLTCALL
66
+ xsltFindTemplate (xsltTransformContextPtr ctxt,
67
+ const xmlChar *name,
68
+ const xmlChar *nameURI);
69
+
70
+ #ifdef __cplusplus
71
+ }
72
+ #endif
73
+
74
+ #endif /* __XML_XSLT_IMPORTS_H__ */
75
+
@@ -0,0 +1,53 @@
1
+ /*
2
+ * Summary: interface for the key matching used in key() and template matches.
3
+ * Description: implementation of the key mechanims.
4
+ *
5
+ * Copy: See Copyright for the status of this software.
6
+ *
7
+ * Author: Daniel Veillard
8
+ */
9
+
10
+ #ifndef __XML_XSLT_KEY_H__
11
+ #define __XML_XSLT_KEY_H__
12
+
13
+ #include <libxml/xpath.h>
14
+ #include "xsltexports.h"
15
+ #include "xsltInternals.h"
16
+
17
+ #ifdef __cplusplus
18
+ extern "C" {
19
+ #endif
20
+
21
+ /**
22
+ * NODE_IS_KEYED:
23
+ *
24
+ * check for bit 15 set
25
+ */
26
+ #define NODE_IS_KEYED (1 >> 15)
27
+
28
+ XSLTPUBFUN int XSLTCALL
29
+ xsltAddKey (xsltStylesheetPtr style,
30
+ const xmlChar *name,
31
+ const xmlChar *nameURI,
32
+ const xmlChar *match,
33
+ const xmlChar *use,
34
+ xmlNodePtr inst);
35
+ XSLTPUBFUN xmlNodeSetPtr XSLTCALL
36
+ xsltGetKey (xsltTransformContextPtr ctxt,
37
+ const xmlChar *name,
38
+ const xmlChar *nameURI,
39
+ const xmlChar *value);
40
+ XSLTPUBFUN void XSLTCALL
41
+ xsltInitCtxtKeys (xsltTransformContextPtr ctxt,
42
+ xsltDocumentPtr doc);
43
+ XSLTPUBFUN void XSLTCALL
44
+ xsltFreeKeys (xsltStylesheetPtr style);
45
+ XSLTPUBFUN void XSLTCALL
46
+ xsltFreeDocumentKeys (xsltDocumentPtr doc);
47
+
48
+ #ifdef __cplusplus
49
+ }
50
+ #endif
51
+
52
+ #endif /* __XML_XSLT_H__ */
53
+
@@ -0,0 +1,68 @@
1
+ /*
2
+ * Summary: interface for the XSLT namespace handling
3
+ * Description: set of function easing the processing and generation
4
+ * of namespace nodes in XSLT.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_XSLT_NAMESPACES_H__
12
+ #define __XML_XSLT_NAMESPACES_H__
13
+
14
+ #include <libxml/tree.h>
15
+ #include "xsltexports.h"
16
+
17
+ #ifdef __cplusplus
18
+ extern "C" {
19
+ #endif
20
+
21
+ /*
22
+ * Used within nsAliases hashtable when the default namespace is required
23
+ * but it's not been explicitly defined
24
+ */
25
+ /**
26
+ * UNDEFINED_DEFAULT_NS:
27
+ *
28
+ * Special value for undefined namespace, internal
29
+ */
30
+ #define UNDEFINED_DEFAULT_NS (const xmlChar *) -1L
31
+
32
+ XSLTPUBFUN void XSLTCALL
33
+ xsltNamespaceAlias (xsltStylesheetPtr style,
34
+ xmlNodePtr node);
35
+ XSLTPUBFUN xmlNsPtr XSLTCALL
36
+ xsltGetNamespace (xsltTransformContextPtr ctxt,
37
+ xmlNodePtr cur,
38
+ xmlNsPtr ns,
39
+ xmlNodePtr out);
40
+ XSLTPUBFUN xmlNsPtr XSLTCALL
41
+ xsltGetPlainNamespace (xsltTransformContextPtr ctxt,
42
+ xmlNodePtr cur,
43
+ xmlNsPtr ns,
44
+ xmlNodePtr out);
45
+ XSLTPUBFUN xmlNsPtr XSLTCALL
46
+ xsltGetSpecialNamespace (xsltTransformContextPtr ctxt,
47
+ xmlNodePtr cur,
48
+ const xmlChar *URI,
49
+ const xmlChar *prefix,
50
+ xmlNodePtr out);
51
+ XSLTPUBFUN xmlNsPtr XSLTCALL
52
+ xsltCopyNamespace (xsltTransformContextPtr ctxt,
53
+ xmlNodePtr elem,
54
+ xmlNsPtr ns);
55
+ XSLTPUBFUN xmlNsPtr XSLTCALL
56
+ xsltCopyNamespaceList (xsltTransformContextPtr ctxt,
57
+ xmlNodePtr node,
58
+ xmlNsPtr cur);
59
+ XSLTPUBFUN void XSLTCALL
60
+ xsltFreeNamespaceAliasHashes
61
+ (xsltStylesheetPtr style);
62
+
63
+ #ifdef __cplusplus
64
+ }
65
+ #endif
66
+
67
+ #endif /* __XML_XSLT_NAMESPACES_H__ */
68
+
@@ -0,0 +1,73 @@
1
+ /*
2
+ * Summary: Implementation of the XSLT number functions
3
+ * Description: Implementation of the XSLT number functions
4
+ *
5
+ * Copy: See Copyright for the status of this software.
6
+ *
7
+ * Author: Bjorn Reese <breese@users.sourceforge.net> and Daniel Veillard
8
+ */
9
+
10
+ #ifndef __XML_XSLT_NUMBERSINTERNALS_H__
11
+ #define __XML_XSLT_NUMBERSINTERNALS_H__
12
+
13
+ #include <libxml/tree.h>
14
+ #include "xsltexports.h"
15
+
16
+ #ifdef __cplusplus
17
+ extern "C" {
18
+ #endif
19
+
20
+ struct _xsltCompMatch;
21
+
22
+ /**
23
+ * xsltNumberData:
24
+ *
25
+ * This data structure is just a wrapper to pass xsl:number data in.
26
+ */
27
+ typedef struct _xsltNumberData xsltNumberData;
28
+ typedef xsltNumberData *xsltNumberDataPtr;
29
+
30
+ struct _xsltNumberData {
31
+ const xmlChar *level;
32
+ const xmlChar *count;
33
+ const xmlChar *from;
34
+ const xmlChar *value;
35
+ const xmlChar *format;
36
+ int has_format;
37
+ int digitsPerGroup;
38
+ int groupingCharacter;
39
+ int groupingCharacterLen;
40
+ xmlDocPtr doc;
41
+ xmlNodePtr node;
42
+ struct _xsltCompMatch *countPat;
43
+ struct _xsltCompMatch *fromPat;
44
+
45
+ /*
46
+ * accelerators
47
+ */
48
+ };
49
+
50
+ /**
51
+ * xsltFormatNumberInfo,:
52
+ *
53
+ * This data structure lists the various parameters needed to format numbers.
54
+ */
55
+ typedef struct _xsltFormatNumberInfo xsltFormatNumberInfo;
56
+ typedef xsltFormatNumberInfo *xsltFormatNumberInfoPtr;
57
+
58
+ struct _xsltFormatNumberInfo {
59
+ int integer_hash; /* Number of '#' in integer part */
60
+ int integer_digits; /* Number of '0' in integer part */
61
+ int frac_digits; /* Number of '0' in fractional part */
62
+ int frac_hash; /* Number of '#' in fractional part */
63
+ int group; /* Number of chars per display 'group' */
64
+ int multiplier; /* Scaling for percent or permille */
65
+ char add_decimal; /* Flag for whether decimal point appears in pattern */
66
+ char is_multiplier_set; /* Flag to catch multiple occurences of percent/permille */
67
+ char is_negative_pattern;/* Flag for processing -ve prefix/suffix */
68
+ };
69
+
70
+ #ifdef __cplusplus
71
+ }
72
+ #endif
73
+ #endif /* __XML_XSLT_NUMBERSINTERNALS_H__ */
@@ -0,0 +1,84 @@
1
+ /*
2
+ * Summary: interface for the pattern matching used in template matches.
3
+ * Description: the implementation of the lookup of the right template
4
+ * for a given node must be really fast in order to keep
5
+ * decent performances.
6
+ *
7
+ * Copy: See Copyright for the status of this software.
8
+ *
9
+ * Author: Daniel Veillard
10
+ */
11
+
12
+ #ifndef __XML_XSLT_PATTERN_H__
13
+ #define __XML_XSLT_PATTERN_H__
14
+
15
+ #include "xsltInternals.h"
16
+ #include "xsltexports.h"
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+
22
+ /**
23
+ * xsltCompMatch:
24
+ *
25
+ * Data structure used for the implementation of patterns.
26
+ * It is kept private (in pattern.c).
27
+ */
28
+ typedef struct _xsltCompMatch xsltCompMatch;
29
+ typedef xsltCompMatch *xsltCompMatchPtr;
30
+
31
+ /*
32
+ * Pattern related interfaces.
33
+ */
34
+
35
+ XSLTPUBFUN xsltCompMatchPtr XSLTCALL
36
+ xsltCompilePattern (const xmlChar *pattern,
37
+ xmlDocPtr doc,
38
+ xmlNodePtr node,
39
+ xsltStylesheetPtr style,
40
+ xsltTransformContextPtr runtime);
41
+ XSLTPUBFUN void XSLTCALL
42
+ xsltFreeCompMatchList (xsltCompMatchPtr comp);
43
+ XSLTPUBFUN int XSLTCALL
44
+ xsltTestCompMatchList (xsltTransformContextPtr ctxt,
45
+ xmlNodePtr node,
46
+ xsltCompMatchPtr comp);
47
+ XSLTPUBFUN void XSLTCALL
48
+ xsltCompMatchClearCache (xsltTransformContextPtr ctxt,
49
+ xsltCompMatchPtr comp);
50
+ XSLTPUBFUN void XSLTCALL
51
+ xsltNormalizeCompSteps (void *payload,
52
+ void *data,
53
+ const xmlChar *name);
54
+
55
+ /*
56
+ * Template related interfaces.
57
+ */
58
+ XSLTPUBFUN int XSLTCALL
59
+ xsltAddTemplate (xsltStylesheetPtr style,
60
+ xsltTemplatePtr cur,
61
+ const xmlChar *mode,
62
+ const xmlChar *modeURI);
63
+ XSLTPUBFUN xsltTemplatePtr XSLTCALL
64
+ xsltGetTemplate (xsltTransformContextPtr ctxt,
65
+ xmlNodePtr node,
66
+ xsltStylesheetPtr style);
67
+ XSLTPUBFUN void XSLTCALL
68
+ xsltFreeTemplateHashes (xsltStylesheetPtr style);
69
+ XSLTPUBFUN void XSLTCALL
70
+ xsltCleanupTemplates (xsltStylesheetPtr style);
71
+
72
+ #if 0
73
+ int xsltMatchPattern (xsltTransformContextPtr ctxt,
74
+ xmlNodePtr node,
75
+ const xmlChar *pattern,
76
+ xmlDocPtr ctxtdoc,
77
+ xmlNodePtr ctxtnode);
78
+ #endif
79
+ #ifdef __cplusplus
80
+ }
81
+ #endif
82
+
83
+ #endif /* __XML_XSLT_PATTERN_H__ */
84
+
@@ -0,0 +1,43 @@
1
+ /*
2
+ * Summary: precomputing stylesheets
3
+ * Description: this is the compilation phase, where most of the
4
+ * stylesheet is "compiled" into faster to use data.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_XSLT_PRECOMP_H__
12
+ #define __XML_XSLT_PRECOMP_H__
13
+
14
+ #include <libxml/tree.h>
15
+ #include "xsltexports.h"
16
+ #include "xsltInternals.h"
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+
22
+ /*
23
+ * Interfaces
24
+ */
25
+ XSLTPUBVAR const xmlChar *xsltExtMarker;
26
+
27
+ XSLTPUBFUN xsltElemPreCompPtr XSLTCALL
28
+ xsltDocumentComp (xsltStylesheetPtr style,
29
+ xmlNodePtr inst,
30
+ xsltTransformFunction function);
31
+
32
+ XSLTPUBFUN void XSLTCALL
33
+ xsltStylePreCompute (xsltStylesheetPtr style,
34
+ xmlNodePtr inst);
35
+ XSLTPUBFUN void XSLTCALL
36
+ xsltFreeStylePreComps (xsltStylesheetPtr style);
37
+
38
+ #ifdef __cplusplus
39
+ }
40
+ #endif
41
+
42
+ #endif /* __XML_XSLT_PRECOMP_H__ */
43
+
@@ -0,0 +1,104 @@
1
+ /*
2
+ * Summary: interface for the libxslt security framework
3
+ * Description: the libxslt security framework allow to restrict
4
+ * the access to new resources (file or URL) from
5
+ * the stylesheet at runtime.
6
+ *
7
+ * Copy: See Copyright for the status of this software.
8
+ *
9
+ * Author: Daniel Veillard
10
+ */
11
+
12
+ #ifndef __XML_XSLT_SECURITY_H__
13
+ #define __XML_XSLT_SECURITY_H__
14
+
15
+ #include <libxml/tree.h>
16
+ #include "xsltexports.h"
17
+ #include "xsltInternals.h"
18
+
19
+ #ifdef __cplusplus
20
+ extern "C" {
21
+ #endif
22
+
23
+ /**
24
+ * xsltSecurityPref:
25
+ *
26
+ * structure to indicate the preferences for security in the XSLT
27
+ * transformation.
28
+ */
29
+ typedef struct _xsltSecurityPrefs xsltSecurityPrefs;
30
+ typedef xsltSecurityPrefs *xsltSecurityPrefsPtr;
31
+
32
+ /**
33
+ * xsltSecurityOption:
34
+ *
35
+ * the set of option that can be configured
36
+ */
37
+ typedef enum {
38
+ XSLT_SECPREF_READ_FILE = 1,
39
+ XSLT_SECPREF_WRITE_FILE,
40
+ XSLT_SECPREF_CREATE_DIRECTORY,
41
+ XSLT_SECPREF_READ_NETWORK,
42
+ XSLT_SECPREF_WRITE_NETWORK
43
+ } xsltSecurityOption;
44
+
45
+ /**
46
+ * xsltSecurityCheck:
47
+ *
48
+ * User provided function to check the value of a string like a file
49
+ * path or an URL ...
50
+ */
51
+ typedef int (*xsltSecurityCheck) (xsltSecurityPrefsPtr sec,
52
+ xsltTransformContextPtr ctxt,
53
+ const char *value);
54
+
55
+ /*
56
+ * Module interfaces
57
+ */
58
+ XSLTPUBFUN xsltSecurityPrefsPtr XSLTCALL
59
+ xsltNewSecurityPrefs (void);
60
+ XSLTPUBFUN void XSLTCALL
61
+ xsltFreeSecurityPrefs (xsltSecurityPrefsPtr sec);
62
+ XSLTPUBFUN int XSLTCALL
63
+ xsltSetSecurityPrefs (xsltSecurityPrefsPtr sec,
64
+ xsltSecurityOption option,
65
+ xsltSecurityCheck func);
66
+ XSLTPUBFUN xsltSecurityCheck XSLTCALL
67
+ xsltGetSecurityPrefs (xsltSecurityPrefsPtr sec,
68
+ xsltSecurityOption option);
69
+
70
+ XSLTPUBFUN void XSLTCALL
71
+ xsltSetDefaultSecurityPrefs (xsltSecurityPrefsPtr sec);
72
+ XSLTPUBFUN xsltSecurityPrefsPtr XSLTCALL
73
+ xsltGetDefaultSecurityPrefs (void);
74
+
75
+ XSLTPUBFUN int XSLTCALL
76
+ xsltSetCtxtSecurityPrefs (xsltSecurityPrefsPtr sec,
77
+ xsltTransformContextPtr ctxt);
78
+
79
+ XSLTPUBFUN int XSLTCALL
80
+ xsltSecurityAllow (xsltSecurityPrefsPtr sec,
81
+ xsltTransformContextPtr ctxt,
82
+ const char *value);
83
+ XSLTPUBFUN int XSLTCALL
84
+ xsltSecurityForbid (xsltSecurityPrefsPtr sec,
85
+ xsltTransformContextPtr ctxt,
86
+ const char *value);
87
+ /*
88
+ * internal interfaces
89
+ */
90
+ XSLTPUBFUN int XSLTCALL
91
+ xsltCheckWrite (xsltSecurityPrefsPtr sec,
92
+ xsltTransformContextPtr ctxt,
93
+ const xmlChar *URL);
94
+ XSLTPUBFUN int XSLTCALL
95
+ xsltCheckRead (xsltSecurityPrefsPtr sec,
96
+ xsltTransformContextPtr ctxt,
97
+ const xmlChar *URL);
98
+
99
+ #ifdef __cplusplus
100
+ }
101
+ #endif
102
+
103
+ #endif /* __XML_XSLT_SECURITY_H__ */
104
+
@@ -0,0 +1,77 @@
1
+ /*
2
+ * Summary: interface for the template processing
3
+ * Description: This set of routine encapsulates XPath calls
4
+ * and Attribute Value Templates evaluation.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_XSLT_TEMPLATES_H__
12
+ #define __XML_XSLT_TEMPLATES_H__
13
+
14
+ #include <libxml/xpath.h>
15
+ #include <libxml/xpathInternals.h>
16
+ #include "xsltexports.h"
17
+ #include "xsltInternals.h"
18
+
19
+ #ifdef __cplusplus
20
+ extern "C" {
21
+ #endif
22
+
23
+ XSLTPUBFUN int XSLTCALL
24
+ xsltEvalXPathPredicate (xsltTransformContextPtr ctxt,
25
+ xmlXPathCompExprPtr comp,
26
+ xmlNsPtr *nsList,
27
+ int nsNr);
28
+ XSLTPUBFUN xmlChar * XSLTCALL
29
+ xsltEvalTemplateString (xsltTransformContextPtr ctxt,
30
+ xmlNodePtr contextNode,
31
+ xmlNodePtr inst);
32
+ XSLTPUBFUN xmlChar * XSLTCALL
33
+ xsltEvalAttrValueTemplate (xsltTransformContextPtr ctxt,
34
+ xmlNodePtr node,
35
+ const xmlChar *name,
36
+ const xmlChar *ns);
37
+ XSLTPUBFUN const xmlChar * XSLTCALL
38
+ xsltEvalStaticAttrValueTemplate (xsltStylesheetPtr style,
39
+ xmlNodePtr node,
40
+ const xmlChar *name,
41
+ const xmlChar *ns,
42
+ int *found);
43
+
44
+ /* TODO: this is obviously broken ... the namespaces should be passed too ! */
45
+ XSLTPUBFUN xmlChar * XSLTCALL
46
+ xsltEvalXPathString (xsltTransformContextPtr ctxt,
47
+ xmlXPathCompExprPtr comp);
48
+ XSLTPUBFUN xmlChar * XSLTCALL
49
+ xsltEvalXPathStringNs (xsltTransformContextPtr ctxt,
50
+ xmlXPathCompExprPtr comp,
51
+ int nsNr,
52
+ xmlNsPtr *nsList);
53
+
54
+ XSLTPUBFUN xmlNodePtr * XSLTCALL
55
+ xsltTemplateProcess (xsltTransformContextPtr ctxt,
56
+ xmlNodePtr node);
57
+ XSLTPUBFUN xmlAttrPtr XSLTCALL
58
+ xsltAttrListTemplateProcess (xsltTransformContextPtr ctxt,
59
+ xmlNodePtr target,
60
+ xmlAttrPtr cur);
61
+ XSLTPUBFUN xmlAttrPtr XSLTCALL
62
+ xsltAttrTemplateProcess (xsltTransformContextPtr ctxt,
63
+ xmlNodePtr target,
64
+ xmlAttrPtr attr);
65
+ XSLTPUBFUN xmlChar * XSLTCALL
66
+ xsltAttrTemplateValueProcess (xsltTransformContextPtr ctxt,
67
+ const xmlChar* attr);
68
+ XSLTPUBFUN xmlChar * XSLTCALL
69
+ xsltAttrTemplateValueProcessNode(xsltTransformContextPtr ctxt,
70
+ const xmlChar* str,
71
+ xmlNodePtr node);
72
+ #ifdef __cplusplus
73
+ }
74
+ #endif
75
+
76
+ #endif /* __XML_XSLT_TEMPLATES_H__ */
77
+