nokogiri 1.18.0-aarch64-linux-gnu

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 (203) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +39 -0
  3. data/LICENSE-DEPENDENCIES.md +2224 -0
  4. data/LICENSE.md +9 -0
  5. data/README.md +293 -0
  6. data/bin/nokogiri +131 -0
  7. data/dependencies.yml +42 -0
  8. data/ext/nokogiri/depend +38 -0
  9. data/ext/nokogiri/extconf.rb +1173 -0
  10. data/ext/nokogiri/gumbo.c +610 -0
  11. data/ext/nokogiri/html4_document.c +171 -0
  12. data/ext/nokogiri/html4_element_description.c +299 -0
  13. data/ext/nokogiri/html4_entity_lookup.c +37 -0
  14. data/ext/nokogiri/html4_sax_parser.c +40 -0
  15. data/ext/nokogiri/html4_sax_parser_context.c +98 -0
  16. data/ext/nokogiri/html4_sax_push_parser.c +96 -0
  17. data/ext/nokogiri/include/libexslt/exslt.h +108 -0
  18. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  19. data/ext/nokogiri/include/libexslt/exsltexports.h +63 -0
  20. data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +336 -0
  21. data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
  22. data/ext/nokogiri/include/libxml2/libxml/SAX.h +202 -0
  23. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +171 -0
  24. data/ext/nokogiri/include/libxml2/libxml/c14n.h +115 -0
  25. data/ext/nokogiri/include/libxml2/libxml/catalog.h +182 -0
  26. data/ext/nokogiri/include/libxml2/libxml/chvalid.h +230 -0
  27. data/ext/nokogiri/include/libxml2/libxml/debugXML.h +217 -0
  28. data/ext/nokogiri/include/libxml2/libxml/dict.h +82 -0
  29. data/ext/nokogiri/include/libxml2/libxml/encoding.h +244 -0
  30. data/ext/nokogiri/include/libxml2/libxml/entities.h +166 -0
  31. data/ext/nokogiri/include/libxml2/libxml/globals.h +41 -0
  32. data/ext/nokogiri/include/libxml2/libxml/hash.h +251 -0
  33. data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
  34. data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +186 -0
  35. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +98 -0
  36. data/ext/nokogiri/include/libxml2/libxml/parser.h +1390 -0
  37. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +671 -0
  38. data/ext/nokogiri/include/libxml2/libxml/pattern.h +106 -0
  39. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +219 -0
  40. data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +959 -0
  41. data/ext/nokogiri/include/libxml2/libxml/schematron.h +143 -0
  42. data/ext/nokogiri/include/libxml2/libxml/threads.h +87 -0
  43. data/ext/nokogiri/include/libxml2/libxml/tree.h +1382 -0
  44. data/ext/nokogiri/include/libxml2/libxml/uri.h +106 -0
  45. data/ext/nokogiri/include/libxml2/libxml/valid.h +477 -0
  46. data/ext/nokogiri/include/libxml2/libxml/xinclude.h +136 -0
  47. data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
  48. data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +438 -0
  49. data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +962 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +146 -0
  52. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +188 -0
  53. data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
  54. data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +436 -0
  55. data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +215 -0
  56. data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +102 -0
  57. data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +249 -0
  58. data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +152 -0
  59. data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
  60. data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +366 -0
  61. data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +347 -0
  62. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +489 -0
  63. data/ext/nokogiri/include/libxml2/libxml/xpath.h +579 -0
  64. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +633 -0
  65. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +138 -0
  66. data/ext/nokogiri/include/libxslt/attributes.h +39 -0
  67. data/ext/nokogiri/include/libxslt/documents.h +93 -0
  68. data/ext/nokogiri/include/libxslt/extensions.h +262 -0
  69. data/ext/nokogiri/include/libxslt/extra.h +72 -0
  70. data/ext/nokogiri/include/libxslt/functions.h +78 -0
  71. data/ext/nokogiri/include/libxslt/imports.h +75 -0
  72. data/ext/nokogiri/include/libxslt/keys.h +53 -0
  73. data/ext/nokogiri/include/libxslt/namespaces.h +68 -0
  74. data/ext/nokogiri/include/libxslt/numbersInternals.h +73 -0
  75. data/ext/nokogiri/include/libxslt/pattern.h +84 -0
  76. data/ext/nokogiri/include/libxslt/preproc.h +43 -0
  77. data/ext/nokogiri/include/libxslt/security.h +104 -0
  78. data/ext/nokogiri/include/libxslt/templates.h +77 -0
  79. data/ext/nokogiri/include/libxslt/transform.h +207 -0
  80. data/ext/nokogiri/include/libxslt/variables.h +118 -0
  81. data/ext/nokogiri/include/libxslt/xslt.h +110 -0
  82. data/ext/nokogiri/include/libxslt/xsltInternals.h +1995 -0
  83. data/ext/nokogiri/include/libxslt/xsltconfig.h +146 -0
  84. data/ext/nokogiri/include/libxslt/xsltexports.h +64 -0
  85. data/ext/nokogiri/include/libxslt/xsltlocale.h +44 -0
  86. data/ext/nokogiri/include/libxslt/xsltutils.h +343 -0
  87. data/ext/nokogiri/libxml2_polyfill.c +114 -0
  88. data/ext/nokogiri/nokogiri.c +294 -0
  89. data/ext/nokogiri/nokogiri.h +238 -0
  90. data/ext/nokogiri/test_global_handlers.c +40 -0
  91. data/ext/nokogiri/xml_attr.c +103 -0
  92. data/ext/nokogiri/xml_attribute_decl.c +70 -0
  93. data/ext/nokogiri/xml_cdata.c +62 -0
  94. data/ext/nokogiri/xml_comment.c +57 -0
  95. data/ext/nokogiri/xml_document.c +784 -0
  96. data/ext/nokogiri/xml_document_fragment.c +29 -0
  97. data/ext/nokogiri/xml_dtd.c +208 -0
  98. data/ext/nokogiri/xml_element_content.c +131 -0
  99. data/ext/nokogiri/xml_element_decl.c +69 -0
  100. data/ext/nokogiri/xml_encoding_handler.c +112 -0
  101. data/ext/nokogiri/xml_entity_decl.c +112 -0
  102. data/ext/nokogiri/xml_entity_reference.c +50 -0
  103. data/ext/nokogiri/xml_namespace.c +181 -0
  104. data/ext/nokogiri/xml_node.c +2459 -0
  105. data/ext/nokogiri/xml_node_set.c +518 -0
  106. data/ext/nokogiri/xml_processing_instruction.c +54 -0
  107. data/ext/nokogiri/xml_reader.c +777 -0
  108. data/ext/nokogiri/xml_relax_ng.c +149 -0
  109. data/ext/nokogiri/xml_sax_parser.c +403 -0
  110. data/ext/nokogiri/xml_sax_parser_context.c +390 -0
  111. data/ext/nokogiri/xml_sax_push_parser.c +206 -0
  112. data/ext/nokogiri/xml_schema.c +226 -0
  113. data/ext/nokogiri/xml_syntax_error.c +93 -0
  114. data/ext/nokogiri/xml_text.c +59 -0
  115. data/ext/nokogiri/xml_xpath_context.c +486 -0
  116. data/ext/nokogiri/xslt_stylesheet.c +421 -0
  117. data/gumbo-parser/CHANGES.md +63 -0
  118. data/gumbo-parser/Makefile +129 -0
  119. data/gumbo-parser/THANKS +27 -0
  120. data/lib/nokogiri/3.1/nokogiri.so +0 -0
  121. data/lib/nokogiri/3.2/nokogiri.so +0 -0
  122. data/lib/nokogiri/3.3/nokogiri.so +0 -0
  123. data/lib/nokogiri/3.4/nokogiri.so +0 -0
  124. data/lib/nokogiri/class_resolver.rb +67 -0
  125. data/lib/nokogiri/css/node.rb +58 -0
  126. data/lib/nokogiri/css/parser.rb +772 -0
  127. data/lib/nokogiri/css/parser.y +277 -0
  128. data/lib/nokogiri/css/parser_extras.rb +36 -0
  129. data/lib/nokogiri/css/selector_cache.rb +38 -0
  130. data/lib/nokogiri/css/syntax_error.rb +9 -0
  131. data/lib/nokogiri/css/tokenizer.rb +155 -0
  132. data/lib/nokogiri/css/tokenizer.rex +57 -0
  133. data/lib/nokogiri/css/xpath_visitor.rb +375 -0
  134. data/lib/nokogiri/css.rb +132 -0
  135. data/lib/nokogiri/decorators/slop.rb +42 -0
  136. data/lib/nokogiri/encoding_handler.rb +57 -0
  137. data/lib/nokogiri/extension.rb +32 -0
  138. data/lib/nokogiri/gumbo.rb +15 -0
  139. data/lib/nokogiri/html.rb +48 -0
  140. data/lib/nokogiri/html4/builder.rb +37 -0
  141. data/lib/nokogiri/html4/document.rb +235 -0
  142. data/lib/nokogiri/html4/document_fragment.rb +166 -0
  143. data/lib/nokogiri/html4/element_description.rb +25 -0
  144. data/lib/nokogiri/html4/element_description_defaults.rb +2040 -0
  145. data/lib/nokogiri/html4/encoding_reader.rb +121 -0
  146. data/lib/nokogiri/html4/entity_lookup.rb +15 -0
  147. data/lib/nokogiri/html4/sax/parser.rb +48 -0
  148. data/lib/nokogiri/html4/sax/parser_context.rb +15 -0
  149. data/lib/nokogiri/html4/sax/push_parser.rb +37 -0
  150. data/lib/nokogiri/html4.rb +42 -0
  151. data/lib/nokogiri/html5/builder.rb +40 -0
  152. data/lib/nokogiri/html5/document.rb +199 -0
  153. data/lib/nokogiri/html5/document_fragment.rb +200 -0
  154. data/lib/nokogiri/html5/node.rb +103 -0
  155. data/lib/nokogiri/html5.rb +368 -0
  156. data/lib/nokogiri/jruby/dependencies.rb +3 -0
  157. data/lib/nokogiri/jruby/nokogiri_jars.rb +43 -0
  158. data/lib/nokogiri/syntax_error.rb +6 -0
  159. data/lib/nokogiri/version/constant.rb +6 -0
  160. data/lib/nokogiri/version/info.rb +224 -0
  161. data/lib/nokogiri/version.rb +4 -0
  162. data/lib/nokogiri/xml/attr.rb +66 -0
  163. data/lib/nokogiri/xml/attribute_decl.rb +22 -0
  164. data/lib/nokogiri/xml/builder.rb +494 -0
  165. data/lib/nokogiri/xml/cdata.rb +13 -0
  166. data/lib/nokogiri/xml/character_data.rb +9 -0
  167. data/lib/nokogiri/xml/document.rb +514 -0
  168. data/lib/nokogiri/xml/document_fragment.rb +276 -0
  169. data/lib/nokogiri/xml/dtd.rb +34 -0
  170. data/lib/nokogiri/xml/element_content.rb +46 -0
  171. data/lib/nokogiri/xml/element_decl.rb +17 -0
  172. data/lib/nokogiri/xml/entity_decl.rb +23 -0
  173. data/lib/nokogiri/xml/entity_reference.rb +20 -0
  174. data/lib/nokogiri/xml/namespace.rb +57 -0
  175. data/lib/nokogiri/xml/node/save_options.rb +76 -0
  176. data/lib/nokogiri/xml/node.rb +1650 -0
  177. data/lib/nokogiri/xml/node_set.rb +449 -0
  178. data/lib/nokogiri/xml/notation.rb +19 -0
  179. data/lib/nokogiri/xml/parse_options.rb +213 -0
  180. data/lib/nokogiri/xml/pp/character_data.rb +21 -0
  181. data/lib/nokogiri/xml/pp/node.rb +73 -0
  182. data/lib/nokogiri/xml/pp.rb +4 -0
  183. data/lib/nokogiri/xml/processing_instruction.rb +11 -0
  184. data/lib/nokogiri/xml/reader.rb +139 -0
  185. data/lib/nokogiri/xml/relax_ng.rb +75 -0
  186. data/lib/nokogiri/xml/sax/document.rb +258 -0
  187. data/lib/nokogiri/xml/sax/parser.rb +199 -0
  188. data/lib/nokogiri/xml/sax/parser_context.rb +129 -0
  189. data/lib/nokogiri/xml/sax/push_parser.rb +64 -0
  190. data/lib/nokogiri/xml/sax.rb +54 -0
  191. data/lib/nokogiri/xml/schema.rb +140 -0
  192. data/lib/nokogiri/xml/searchable.rb +274 -0
  193. data/lib/nokogiri/xml/syntax_error.rb +94 -0
  194. data/lib/nokogiri/xml/text.rb +11 -0
  195. data/lib/nokogiri/xml/xpath/syntax_error.rb +13 -0
  196. data/lib/nokogiri/xml/xpath.rb +21 -0
  197. data/lib/nokogiri/xml/xpath_context.rb +27 -0
  198. data/lib/nokogiri/xml.rb +65 -0
  199. data/lib/nokogiri/xslt/stylesheet.rb +49 -0
  200. data/lib/nokogiri/xslt.rb +129 -0
  201. data/lib/nokogiri.rb +128 -0
  202. data/lib/xsd/xmlparser/nokogiri.rb +105 -0
  203. metadata +321 -0
@@ -0,0 +1,146 @@
1
+ /*
2
+ * Summary: compile-time version information for the XSLT engine
3
+ * Description: compile-time version information for the XSLT engine
4
+ * this module is autogenerated.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_XSLTCONFIG_H__
12
+ #define __XML_XSLTCONFIG_H__
13
+
14
+ #ifdef __cplusplus
15
+ extern "C" {
16
+ #endif
17
+
18
+ /**
19
+ * LIBXSLT_DOTTED_VERSION:
20
+ *
21
+ * the version string like "1.2.3"
22
+ */
23
+ #define LIBXSLT_DOTTED_VERSION "1.1.42"
24
+
25
+ /**
26
+ * LIBXSLT_VERSION:
27
+ *
28
+ * the version number: 1.2.3 value is 10203
29
+ */
30
+ #define LIBXSLT_VERSION 10142
31
+
32
+ /**
33
+ * LIBXSLT_VERSION_STRING:
34
+ *
35
+ * the version number string, 1.2.3 value is "10203"
36
+ */
37
+ #define LIBXSLT_VERSION_STRING "10142"
38
+
39
+ /**
40
+ * LIBXSLT_VERSION_EXTRA:
41
+ *
42
+ * extra version information, used to show a Git commit description
43
+ */
44
+ #define LIBXSLT_VERSION_EXTRA ""
45
+
46
+ /**
47
+ * WITH_XSLT_DEBUG:
48
+ *
49
+ * Activate the compilation of the debug reporting. Speed penalty
50
+ * is insignifiant and being able to run xsltpoc -v is useful. On
51
+ * by default unless --without-debug is passed to configure
52
+ */
53
+ #if 1
54
+ #define WITH_XSLT_DEBUG
55
+ #endif
56
+
57
+ /**
58
+ * XSLT_NEED_TRIO:
59
+ *
60
+ * should be activated if the existing libc library lacks some of the
61
+ * string formatting function, in that case reuse the Trio ones already
62
+ * compiled in the libxml2 library.
63
+ */
64
+
65
+ #if 0
66
+ #define XSLT_NEED_TRIO
67
+ #endif
68
+ #ifdef __VMS
69
+ #define HAVE_SYS_STAT_H 1
70
+ #ifndef XSLT_NEED_TRIO
71
+ #define XSLT_NEED_TRIO
72
+ #endif
73
+ #endif
74
+
75
+ #ifdef XSLT_NEED_TRIO
76
+ #define TRIO_REPLACE_STDIO
77
+ #endif
78
+
79
+ /**
80
+ * WITH_XSLT_DEBUGGER:
81
+ *
82
+ * Activate the compilation of the debugger support. Speed penalty
83
+ * is insignifiant.
84
+ * On by default unless --without-debugger is passed to configure
85
+ */
86
+ #if 1
87
+ #ifndef WITH_DEBUGGER
88
+ #define WITH_DEBUGGER
89
+ #endif
90
+ #endif
91
+
92
+ /**
93
+ * WITH_PROFILER:
94
+ *
95
+ * Activate the compilation of the profiler. Speed penalty
96
+ * is insignifiant.
97
+ * On by default unless --without-profiler is passed to configure
98
+ */
99
+ #if 1
100
+ #ifndef WITH_PROFILER
101
+ #define WITH_PROFILER
102
+ #endif
103
+ #endif
104
+
105
+ /**
106
+ * WITH_MODULES:
107
+ *
108
+ * Whether module support is configured into libxslt
109
+ * Note: no default module path for win32 platforms
110
+ */
111
+ #if 0
112
+ #ifndef WITH_MODULES
113
+ #define WITH_MODULES
114
+ #endif
115
+ #define LIBXSLT_DEFAULT_PLUGINS_PATH() "/home/flavorjones/code/oss/nokogiri/ports/arm-linux-gnu/libxslt/1.1.42/lib/libxslt-plugins"
116
+ #endif
117
+
118
+ /**
119
+ * LIBXSLT_ATTR_FORMAT:
120
+ *
121
+ * This macro is used to indicate to GCC the parameters are printf-like
122
+ */
123
+ #ifdef __GNUC__
124
+ #define LIBXSLT_ATTR_FORMAT(fmt,args) __attribute__((__format__(__printf__,fmt,args)))
125
+ #else
126
+ #define LIBXSLT_ATTR_FORMAT(fmt,args)
127
+ #endif
128
+
129
+ /**
130
+ * LIBXSLT_PUBLIC:
131
+ *
132
+ * This macro is used to declare PUBLIC variables for Cygwin and for MSC on Windows
133
+ */
134
+ #if !defined LIBXSLT_PUBLIC
135
+ #if (defined(__CYGWIN__) || defined _MSC_VER) && !defined IN_LIBXSLT && !defined LIBXSLT_STATIC
136
+ #define LIBXSLT_PUBLIC __declspec(dllimport)
137
+ #else
138
+ #define LIBXSLT_PUBLIC
139
+ #endif
140
+ #endif
141
+
142
+ #ifdef __cplusplus
143
+ }
144
+ #endif
145
+
146
+ #endif /* __XML_XSLTCONFIG_H__ */
@@ -0,0 +1,64 @@
1
+ /*
2
+ * Summary: macros for marking symbols as exportable/importable.
3
+ * Description: macros for marking symbols as exportable/importable.
4
+ *
5
+ * Copy: See Copyright for the status of this software.
6
+ */
7
+
8
+ #ifndef __XSLT_EXPORTS_H__
9
+ #define __XSLT_EXPORTS_H__
10
+
11
+ #if defined(_WIN32) || defined(__CYGWIN__)
12
+ /** DOC_DISABLE */
13
+
14
+ #ifdef LIBXSLT_STATIC
15
+ #define XSLTPUBLIC
16
+ #elif defined(IN_LIBXSLT)
17
+ #define XSLTPUBLIC __declspec(dllexport)
18
+ #else
19
+ #define XSLTPUBLIC __declspec(dllimport)
20
+ #endif
21
+
22
+ #define XSLTCALL __cdecl
23
+
24
+ /** DOC_ENABLE */
25
+ #else /* not Windows */
26
+
27
+ /**
28
+ * XSLTPUBLIC:
29
+ *
30
+ * Macro which declares a public symbol
31
+ */
32
+ #define XSLTPUBLIC
33
+
34
+ /**
35
+ * XSLTCALL:
36
+ *
37
+ * Macro which declares the calling convention for exported functions
38
+ */
39
+ #define XSLTCALL
40
+
41
+ #endif /* platform switch */
42
+
43
+ /*
44
+ * XSLTPUBFUN:
45
+ *
46
+ * Macro which declares an exportable function
47
+ */
48
+ #define XSLTPUBFUN XSLTPUBLIC
49
+
50
+ /**
51
+ * XSLTPUBVAR:
52
+ *
53
+ * Macro which declares an exportable variable
54
+ */
55
+ #define XSLTPUBVAR XSLTPUBLIC extern
56
+
57
+ /* Compatibility */
58
+ #if !defined(LIBXSLT_PUBLIC)
59
+ #define LIBXSLT_PUBLIC XSLTPUBVAR
60
+ #endif
61
+
62
+ #endif /* __XSLT_EXPORTS_H__ */
63
+
64
+
@@ -0,0 +1,44 @@
1
+ /*
2
+ * Summary: Locale handling
3
+ * Description: Interfaces for locale handling. Needed for language dependent
4
+ * sorting.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Nick Wellnhofer
9
+ */
10
+
11
+ #ifndef __XML_XSLTLOCALE_H__
12
+ #define __XML_XSLTLOCALE_H__
13
+
14
+ #include <libxml/xmlstring.h>
15
+ #include "xsltexports.h"
16
+
17
+ #ifdef __cplusplus
18
+ extern "C" {
19
+ #endif
20
+
21
+ XSLTPUBFUN void * XSLTCALL
22
+ xsltNewLocale (const xmlChar *langName,
23
+ int lowerFirst);
24
+ XSLTPUBFUN void XSLTCALL
25
+ xsltFreeLocale (void *locale);
26
+ XSLTPUBFUN xmlChar * XSLTCALL
27
+ xsltStrxfrm (void *locale,
28
+ const xmlChar *string);
29
+ XSLTPUBFUN void XSLTCALL
30
+ xsltFreeLocales (void);
31
+
32
+ /* Backward compatibility */
33
+ typedef void *xsltLocale;
34
+ typedef xmlChar xsltLocaleChar;
35
+ XSLTPUBFUN int XSLTCALL
36
+ xsltLocaleStrcmp (void *locale,
37
+ const xmlChar *str1,
38
+ const xmlChar *str2);
39
+
40
+ #ifdef __cplusplus
41
+ }
42
+ #endif
43
+
44
+ #endif /* __XML_XSLTLOCALE_H__ */
@@ -0,0 +1,343 @@
1
+ /*
2
+ * Summary: set of utilities for the XSLT engine
3
+ * Description: interfaces for the utilities module of the XSLT engine.
4
+ * things like message handling, profiling, and other
5
+ * generally useful routines.
6
+ *
7
+ * Copy: See Copyright for the status of this software.
8
+ *
9
+ * Author: Daniel Veillard
10
+ */
11
+
12
+ #ifndef __XML_XSLTUTILS_H__
13
+ #define __XML_XSLTUTILS_H__
14
+
15
+ #include <libxslt/xsltconfig.h>
16
+ #include <libxml/xpath.h>
17
+ #include <libxml/dict.h>
18
+ #include <libxml/xmlerror.h>
19
+ #include "xsltexports.h"
20
+ #include "xsltInternals.h"
21
+
22
+ #ifdef __cplusplus
23
+ extern "C" {
24
+ #endif
25
+
26
+ /**
27
+ * XSLT_TODO:
28
+ *
29
+ * Macro to flag unimplemented blocks.
30
+ */
31
+ #define XSLT_TODO \
32
+ xsltGenericError(xsltGenericErrorContext, \
33
+ "Unimplemented block at %s:%d\n", \
34
+ __FILE__, __LINE__);
35
+
36
+ /**
37
+ * XSLT_STRANGE:
38
+ *
39
+ * Macro to flag that a problem was detected internally.
40
+ */
41
+ #define XSLT_STRANGE \
42
+ xsltGenericError(xsltGenericErrorContext, \
43
+ "Internal error at %s:%d\n", \
44
+ __FILE__, __LINE__);
45
+
46
+ /**
47
+ * IS_XSLT_ELEM:
48
+ *
49
+ * Checks that the element pertains to XSLT namespace.
50
+ */
51
+ #define IS_XSLT_ELEM(n) \
52
+ (((n) != NULL) && ((n)->type == XML_ELEMENT_NODE) && \
53
+ ((n)->ns != NULL) && (xmlStrEqual((n)->ns->href, XSLT_NAMESPACE)))
54
+
55
+ /**
56
+ * IS_XSLT_NAME:
57
+ *
58
+ * Checks the value of an element in XSLT namespace.
59
+ */
60
+ #define IS_XSLT_NAME(n, val) \
61
+ (xmlStrEqual((n)->name, (const xmlChar *) (val)))
62
+
63
+ /**
64
+ * IS_XSLT_REAL_NODE:
65
+ *
66
+ * Check that a node is a 'real' one: document, element, text or attribute.
67
+ */
68
+ #define IS_XSLT_REAL_NODE(n) \
69
+ (((n) != NULL) && \
70
+ (((n)->type == XML_ELEMENT_NODE) || \
71
+ ((n)->type == XML_TEXT_NODE) || \
72
+ ((n)->type == XML_CDATA_SECTION_NODE) || \
73
+ ((n)->type == XML_ATTRIBUTE_NODE) || \
74
+ ((n)->type == XML_DOCUMENT_NODE) || \
75
+ ((n)->type == XML_HTML_DOCUMENT_NODE) || \
76
+ ((n)->type == XML_COMMENT_NODE) || \
77
+ ((n)->type == XML_PI_NODE)))
78
+
79
+ /*
80
+ * Our own version of namespaced attributes lookup.
81
+ */
82
+ XSLTPUBFUN xmlChar * XSLTCALL
83
+ xsltGetNsProp (xmlNodePtr node,
84
+ const xmlChar *name,
85
+ const xmlChar *nameSpace);
86
+ XSLTPUBFUN const xmlChar * XSLTCALL
87
+ xsltGetCNsProp (xsltStylesheetPtr style,
88
+ xmlNodePtr node,
89
+ const xmlChar *name,
90
+ const xmlChar *nameSpace);
91
+ XSLTPUBFUN int XSLTCALL
92
+ xsltGetUTF8Char (const unsigned char *utf,
93
+ int *len);
94
+ #ifdef IN_LIBXSLT
95
+ /** DOC_DISABLE */
96
+ XSLTPUBFUN int XSLTCALL
97
+ xsltGetUTF8CharZ (const unsigned char *utf,
98
+ int *len);
99
+ /** DOC_ENABLE */
100
+ #endif
101
+
102
+ /*
103
+ * XSLT Debug Tracing Tracing Types
104
+ */
105
+ typedef enum {
106
+ XSLT_TRACE_ALL = -1,
107
+ XSLT_TRACE_NONE = 0,
108
+ XSLT_TRACE_COPY_TEXT = 1<<0,
109
+ XSLT_TRACE_PROCESS_NODE = 1<<1,
110
+ XSLT_TRACE_APPLY_TEMPLATE = 1<<2,
111
+ XSLT_TRACE_COPY = 1<<3,
112
+ XSLT_TRACE_COMMENT = 1<<4,
113
+ XSLT_TRACE_PI = 1<<5,
114
+ XSLT_TRACE_COPY_OF = 1<<6,
115
+ XSLT_TRACE_VALUE_OF = 1<<7,
116
+ XSLT_TRACE_CALL_TEMPLATE = 1<<8,
117
+ XSLT_TRACE_APPLY_TEMPLATES = 1<<9,
118
+ XSLT_TRACE_CHOOSE = 1<<10,
119
+ XSLT_TRACE_IF = 1<<11,
120
+ XSLT_TRACE_FOR_EACH = 1<<12,
121
+ XSLT_TRACE_STRIP_SPACES = 1<<13,
122
+ XSLT_TRACE_TEMPLATES = 1<<14,
123
+ XSLT_TRACE_KEYS = 1<<15,
124
+ XSLT_TRACE_VARIABLES = 1<<16
125
+ } xsltDebugTraceCodes;
126
+
127
+ /**
128
+ * XSLT_TRACE:
129
+ *
130
+ * Control the type of xsl debugtrace messages emitted.
131
+ */
132
+ #define XSLT_TRACE(ctxt,code,call) \
133
+ if (ctxt->traceCode && (*(ctxt->traceCode) & code)) \
134
+ call
135
+
136
+ XSLTPUBFUN void XSLTCALL
137
+ xsltDebugSetDefaultTrace(xsltDebugTraceCodes val);
138
+ XSLTPUBFUN xsltDebugTraceCodes XSLTCALL
139
+ xsltDebugGetDefaultTrace(void);
140
+
141
+ /*
142
+ * XSLT specific error and debug reporting functions.
143
+ */
144
+ XSLTPUBVAR xmlGenericErrorFunc xsltGenericError;
145
+ XSLTPUBVAR void *xsltGenericErrorContext;
146
+ XSLTPUBVAR xmlGenericErrorFunc xsltGenericDebug;
147
+ XSLTPUBVAR void *xsltGenericDebugContext;
148
+
149
+ XSLTPUBFUN void XSLTCALL
150
+ xsltPrintErrorContext (xsltTransformContextPtr ctxt,
151
+ xsltStylesheetPtr style,
152
+ xmlNodePtr node);
153
+ XSLTPUBFUN void XSLTCALL
154
+ xsltMessage (xsltTransformContextPtr ctxt,
155
+ xmlNodePtr node,
156
+ xmlNodePtr inst);
157
+ XSLTPUBFUN void XSLTCALL
158
+ xsltSetGenericErrorFunc (void *ctx,
159
+ xmlGenericErrorFunc handler);
160
+ XSLTPUBFUN void XSLTCALL
161
+ xsltSetGenericDebugFunc (void *ctx,
162
+ xmlGenericErrorFunc handler);
163
+ XSLTPUBFUN void XSLTCALL
164
+ xsltSetTransformErrorFunc (xsltTransformContextPtr ctxt,
165
+ void *ctx,
166
+ xmlGenericErrorFunc handler);
167
+ XSLTPUBFUN void XSLTCALL
168
+ xsltTransformError (xsltTransformContextPtr ctxt,
169
+ xsltStylesheetPtr style,
170
+ xmlNodePtr node,
171
+ const char *msg,
172
+ ...) LIBXSLT_ATTR_FORMAT(4,5);
173
+
174
+ XSLTPUBFUN int XSLTCALL
175
+ xsltSetCtxtParseOptions (xsltTransformContextPtr ctxt,
176
+ int options);
177
+ /*
178
+ * Sorting.
179
+ */
180
+
181
+ XSLTPUBFUN void XSLTCALL
182
+ xsltDocumentSortFunction (xmlNodeSetPtr list);
183
+ XSLTPUBFUN void XSLTCALL
184
+ xsltSetSortFunc (xsltSortFunc handler);
185
+ XSLTPUBFUN void XSLTCALL
186
+ xsltSetCtxtSortFunc (xsltTransformContextPtr ctxt,
187
+ xsltSortFunc handler);
188
+ XSLTPUBFUN void XSLTCALL
189
+ xsltSetCtxtLocaleHandlers (xsltTransformContextPtr ctxt,
190
+ xsltNewLocaleFunc newLocale,
191
+ xsltFreeLocaleFunc freeLocale,
192
+ xsltGenSortKeyFunc genSortKey);
193
+ XSLTPUBFUN void XSLTCALL
194
+ xsltDefaultSortFunction (xsltTransformContextPtr ctxt,
195
+ xmlNodePtr *sorts,
196
+ int nbsorts);
197
+ XSLTPUBFUN void XSLTCALL
198
+ xsltDoSortFunction (xsltTransformContextPtr ctxt,
199
+ xmlNodePtr * sorts,
200
+ int nbsorts);
201
+ XSLTPUBFUN xmlXPathObjectPtr * XSLTCALL
202
+ xsltComputeSortResult (xsltTransformContextPtr ctxt,
203
+ xmlNodePtr sort);
204
+
205
+ /*
206
+ * QNames handling.
207
+ */
208
+
209
+ XSLTPUBFUN const xmlChar * XSLTCALL
210
+ xsltSplitQName (xmlDictPtr dict,
211
+ const xmlChar *name,
212
+ const xmlChar **prefix);
213
+ XSLTPUBFUN const xmlChar * XSLTCALL
214
+ xsltGetQNameURI (xmlNodePtr node,
215
+ xmlChar **name);
216
+
217
+ XSLTPUBFUN const xmlChar * XSLTCALL
218
+ xsltGetQNameURI2 (xsltStylesheetPtr style,
219
+ xmlNodePtr node,
220
+ const xmlChar **name);
221
+
222
+ /*
223
+ * Output, reuse libxml I/O buffers.
224
+ */
225
+ XSLTPUBFUN int XSLTCALL
226
+ xsltSaveResultTo (xmlOutputBufferPtr buf,
227
+ xmlDocPtr result,
228
+ xsltStylesheetPtr style);
229
+ XSLTPUBFUN int XSLTCALL
230
+ xsltSaveResultToFilename (const char *URI,
231
+ xmlDocPtr result,
232
+ xsltStylesheetPtr style,
233
+ int compression);
234
+ XSLTPUBFUN int XSLTCALL
235
+ xsltSaveResultToFile (FILE *file,
236
+ xmlDocPtr result,
237
+ xsltStylesheetPtr style);
238
+ XSLTPUBFUN int XSLTCALL
239
+ xsltSaveResultToFd (int fd,
240
+ xmlDocPtr result,
241
+ xsltStylesheetPtr style);
242
+ XSLTPUBFUN int XSLTCALL
243
+ xsltSaveResultToString (xmlChar **doc_txt_ptr,
244
+ int * doc_txt_len,
245
+ xmlDocPtr result,
246
+ xsltStylesheetPtr style);
247
+
248
+ /*
249
+ * XPath interface
250
+ */
251
+ XSLTPUBFUN xmlXPathCompExprPtr XSLTCALL
252
+ xsltXPathCompile (xsltStylesheetPtr style,
253
+ const xmlChar *str);
254
+ XSLTPUBFUN xmlXPathCompExprPtr XSLTCALL
255
+ xsltXPathCompileFlags (xsltStylesheetPtr style,
256
+ const xmlChar *str,
257
+ int flags);
258
+
259
+ #ifdef IN_LIBXSLT
260
+ /** DOC_DISABLE */
261
+ #define XSLT_SOURCE_NODE_MASK 15u
262
+ #define XSLT_SOURCE_NODE_HAS_KEY 1u
263
+ #define XSLT_SOURCE_NODE_HAS_ID 2u
264
+ int
265
+ xsltGetSourceNodeFlags(xmlNodePtr node);
266
+ int
267
+ xsltSetSourceNodeFlags(xsltTransformContextPtr ctxt, xmlNodePtr node,
268
+ int flags);
269
+ int
270
+ xsltClearSourceNodeFlags(xmlNodePtr node, int flags);
271
+ void **
272
+ xsltGetPSVIPtr(xmlNodePtr cur);
273
+ /** DOC_ENABLE */
274
+ #endif
275
+
276
+ #ifdef WITH_PROFILER
277
+ /*
278
+ * Profiling.
279
+ */
280
+ XSLTPUBFUN void XSLTCALL
281
+ xsltSaveProfiling (xsltTransformContextPtr ctxt,
282
+ FILE *output);
283
+ XSLTPUBFUN xmlDocPtr XSLTCALL
284
+ xsltGetProfileInformation (xsltTransformContextPtr ctxt);
285
+
286
+ XSLTPUBFUN long XSLTCALL
287
+ xsltTimestamp (void);
288
+ XSLTPUBFUN void XSLTCALL
289
+ xsltCalibrateAdjust (long delta);
290
+ #endif
291
+
292
+ /**
293
+ * XSLT_TIMESTAMP_TICS_PER_SEC:
294
+ *
295
+ * Sampling precision for profiling
296
+ */
297
+ #define XSLT_TIMESTAMP_TICS_PER_SEC 100000l
298
+
299
+ /*
300
+ * Hooks for the debugger.
301
+ */
302
+
303
+ typedef enum {
304
+ XSLT_DEBUG_NONE = 0, /* no debugging allowed */
305
+ XSLT_DEBUG_INIT,
306
+ XSLT_DEBUG_STEP,
307
+ XSLT_DEBUG_STEPOUT,
308
+ XSLT_DEBUG_NEXT,
309
+ XSLT_DEBUG_STOP,
310
+ XSLT_DEBUG_CONT,
311
+ XSLT_DEBUG_RUN,
312
+ XSLT_DEBUG_RUN_RESTART,
313
+ XSLT_DEBUG_QUIT
314
+ } xsltDebugStatusCodes;
315
+
316
+ XSLTPUBVAR int xslDebugStatus;
317
+
318
+ typedef void (*xsltHandleDebuggerCallback) (xmlNodePtr cur, xmlNodePtr node,
319
+ xsltTemplatePtr templ, xsltTransformContextPtr ctxt);
320
+ typedef int (*xsltAddCallCallback) (xsltTemplatePtr templ, xmlNodePtr source);
321
+ typedef void (*xsltDropCallCallback) (void);
322
+
323
+ XSLTPUBFUN int XSLTCALL
324
+ xsltGetDebuggerStatus (void);
325
+ #ifdef WITH_DEBUGGER
326
+ XSLTPUBFUN void XSLTCALL
327
+ xsltSetDebuggerStatus (int value);
328
+ XSLTPUBFUN int XSLTCALL
329
+ xsltSetDebuggerCallbacks (int no, void *block);
330
+ XSLTPUBFUN int XSLTCALL
331
+ xslAddCall (xsltTemplatePtr templ,
332
+ xmlNodePtr source);
333
+ XSLTPUBFUN void XSLTCALL
334
+ xslDropCall (void);
335
+ #endif
336
+
337
+ #ifdef __cplusplus
338
+ }
339
+ #endif
340
+
341
+ #endif /* __XML_XSLTUTILS_H__ */
342
+
343
+
@@ -0,0 +1,114 @@
1
+ #include <nokogiri.h>
2
+
3
+ #ifndef HAVE_XMLCTXTSETOPTIONS
4
+ /* based on libxml2-2.14.0-dev (1d8bd126) parser.c xmlCtxtSetInternalOptions */
5
+ int
6
+ xmlCtxtSetOptions(xmlParserCtxtPtr ctxt, int options)
7
+ {
8
+ int keepMask = 0;
9
+ int allMask;
10
+
11
+ if (ctxt == NULL) {
12
+ return (-1);
13
+ }
14
+
15
+ /*
16
+ * XInclude options aren't handled by the parser.
17
+ *
18
+ * XML_PARSE_XINCLUDE
19
+ * XML_PARSE_NOXINCNODE
20
+ * XML_PARSE_NOBASEFIX
21
+ */
22
+ allMask = XML_PARSE_RECOVER |
23
+ XML_PARSE_NOENT |
24
+ XML_PARSE_DTDLOAD |
25
+ XML_PARSE_DTDATTR |
26
+ XML_PARSE_DTDVALID |
27
+ XML_PARSE_NOERROR |
28
+ XML_PARSE_NOWARNING |
29
+ XML_PARSE_PEDANTIC |
30
+ XML_PARSE_NOBLANKS |
31
+ #ifdef LIBXML_SAX1_ENABLED
32
+ XML_PARSE_SAX1 |
33
+ #endif
34
+ XML_PARSE_NONET |
35
+ XML_PARSE_NODICT |
36
+ XML_PARSE_NSCLEAN |
37
+ XML_PARSE_NOCDATA |
38
+ XML_PARSE_COMPACT |
39
+ XML_PARSE_OLD10 |
40
+ XML_PARSE_HUGE |
41
+ XML_PARSE_OLDSAX |
42
+ XML_PARSE_IGNORE_ENC |
43
+ XML_PARSE_BIG_LINES;
44
+
45
+ ctxt->options = (ctxt->options & keepMask) | (options & allMask);
46
+
47
+ /*
48
+ * For some options, struct members are historically the source
49
+ * of truth. The values are initalized from global variables and
50
+ * old code could also modify them directly. Several older API
51
+ * functions that don't take an options argument rely on these
52
+ * deprecated mechanisms.
53
+ *
54
+ * Once public access to struct members and the globals are
55
+ * disabled, we can use the options bitmask as source of
56
+ * truth, making all these struct members obsolete.
57
+ *
58
+ * The XML_DETECT_IDS flags is misnamed. It simply enables
59
+ * loading of the external subset.
60
+ */
61
+ ctxt->recovery = (options & XML_PARSE_RECOVER) ? 1 : 0;
62
+ ctxt->replaceEntities = (options & XML_PARSE_NOENT) ? 1 : 0;
63
+ ctxt->loadsubset = (options & XML_PARSE_DTDLOAD) ? XML_DETECT_IDS : 0;
64
+ ctxt->loadsubset |= (options & XML_PARSE_DTDATTR) ? XML_COMPLETE_ATTRS : 0;
65
+ ctxt->validate = (options & XML_PARSE_DTDVALID) ? 1 : 0;
66
+ ctxt->pedantic = (options & XML_PARSE_PEDANTIC) ? 1 : 0;
67
+ ctxt->keepBlanks = (options & XML_PARSE_NOBLANKS) ? 0 : 1;
68
+ ctxt->dictNames = (options & XML_PARSE_NODICT) ? 0 : 1;
69
+
70
+ /*
71
+ * Changing SAX callbacks is a bad idea. This should be fixed.
72
+ */
73
+ if (options & XML_PARSE_NOBLANKS) {
74
+ ctxt->sax->ignorableWhitespace = xmlSAX2IgnorableWhitespace;
75
+ }
76
+ if (options & XML_PARSE_NOCDATA) {
77
+ ctxt->sax->cdataBlock = NULL;
78
+ }
79
+ if (options & XML_PARSE_HUGE) {
80
+ if (ctxt->dict != NULL) {
81
+ xmlDictSetLimit(ctxt->dict, 0);
82
+ }
83
+ }
84
+
85
+ ctxt->linenumbers = 1;
86
+
87
+ return (options & ~allMask);
88
+ }
89
+ #endif
90
+
91
+ #ifndef HAVE_XMLCTXTGETOPTIONS
92
+ int
93
+ xmlCtxtGetOptions(xmlParserCtxtPtr ctxt)
94
+ {
95
+ return (ctxt->options);
96
+ }
97
+ #endif
98
+
99
+ #ifndef HAVE_XMLSWITCHENCODINGNAME
100
+ int
101
+ xmlSwitchEncodingName(xmlParserCtxtPtr ctxt, const char *encoding)
102
+ {
103
+ if (ctxt == NULL) {
104
+ return (-1);
105
+ }
106
+
107
+ xmlCharEncodingHandlerPtr handler = xmlFindCharEncodingHandler(encoding);
108
+ if (handler == NULL) {
109
+ return (-1);
110
+ }
111
+
112
+ return (xmlSwitchToEncoding(ctxt, handler));
113
+ }
114
+ #endif