nokogiri 1.11.0.rc3-x86-linux → 1.11.3-x86-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 (174) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/LICENSE-DEPENDENCIES.md +1015 -947
  4. data/LICENSE.md +1 -1
  5. data/README.md +168 -91
  6. data/ext/nokogiri/depend +37 -358
  7. data/ext/nokogiri/extconf.rb +581 -374
  8. data/ext/nokogiri/html_document.c +78 -82
  9. data/ext/nokogiri/html_element_description.c +84 -71
  10. data/ext/nokogiri/html_entity_lookup.c +21 -16
  11. data/ext/nokogiri/html_sax_parser_context.c +69 -66
  12. data/ext/nokogiri/html_sax_push_parser.c +42 -34
  13. data/ext/nokogiri/include/libexslt/exslt.h +102 -0
  14. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  15. data/ext/nokogiri/include/libexslt/exsltexports.h +140 -0
  16. data/ext/nokogiri/include/libxml2/libxml/DOCBparser.h +96 -0
  17. data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +306 -0
  18. data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
  19. data/ext/nokogiri/include/libxml2/libxml/SAX.h +173 -0
  20. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +178 -0
  21. data/ext/nokogiri/include/libxml2/libxml/c14n.h +126 -0
  22. data/ext/nokogiri/include/libxml2/libxml/catalog.h +182 -0
  23. data/ext/nokogiri/include/libxml2/libxml/chvalid.h +230 -0
  24. data/ext/nokogiri/include/libxml2/libxml/debugXML.h +217 -0
  25. data/ext/nokogiri/include/libxml2/libxml/dict.h +79 -0
  26. data/ext/nokogiri/include/libxml2/libxml/encoding.h +245 -0
  27. data/ext/nokogiri/include/libxml2/libxml/entities.h +151 -0
  28. data/ext/nokogiri/include/libxml2/libxml/globals.h +508 -0
  29. data/ext/nokogiri/include/libxml2/libxml/hash.h +236 -0
  30. data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
  31. data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +163 -0
  32. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
  33. data/ext/nokogiri/include/libxml2/libxml/parser.h +1241 -0
  34. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +644 -0
  35. data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
  36. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +217 -0
  37. data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +958 -0
  38. data/ext/nokogiri/include/libxml2/libxml/schematron.h +142 -0
  39. data/ext/nokogiri/include/libxml2/libxml/threads.h +89 -0
  40. data/ext/nokogiri/include/libxml2/libxml/tree.h +1311 -0
  41. data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
  42. data/ext/nokogiri/include/libxml2/libxml/valid.h +458 -0
  43. data/ext/nokogiri/include/libxml2/libxml/xinclude.h +129 -0
  44. data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
  45. data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +366 -0
  46. data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
  47. data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +945 -0
  48. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +153 -0
  49. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +224 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +428 -0
  52. data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +222 -0
  53. data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +88 -0
  54. data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +246 -0
  55. data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +151 -0
  56. data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
  57. data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +202 -0
  58. data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +485 -0
  59. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
  60. data/ext/nokogiri/include/libxml2/libxml/xpath.h +566 -0
  61. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
  62. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +114 -0
  63. data/ext/nokogiri/include/libxslt/attributes.h +38 -0
  64. data/ext/nokogiri/include/libxslt/documents.h +93 -0
  65. data/ext/nokogiri/include/libxslt/extensions.h +262 -0
  66. data/ext/nokogiri/include/libxslt/extra.h +72 -0
  67. data/ext/nokogiri/include/libxslt/functions.h +78 -0
  68. data/ext/nokogiri/include/libxslt/imports.h +75 -0
  69. data/ext/nokogiri/include/libxslt/keys.h +53 -0
  70. data/ext/nokogiri/include/libxslt/namespaces.h +68 -0
  71. data/ext/nokogiri/include/libxslt/numbersInternals.h +73 -0
  72. data/ext/nokogiri/include/libxslt/pattern.h +84 -0
  73. data/ext/nokogiri/include/libxslt/preproc.h +43 -0
  74. data/ext/nokogiri/include/libxslt/security.h +104 -0
  75. data/ext/nokogiri/include/libxslt/templates.h +77 -0
  76. data/ext/nokogiri/include/libxslt/transform.h +207 -0
  77. data/ext/nokogiri/include/libxslt/variables.h +118 -0
  78. data/ext/nokogiri/include/libxslt/xslt.h +110 -0
  79. data/ext/nokogiri/include/libxslt/xsltInternals.h +1978 -0
  80. data/ext/nokogiri/include/libxslt/xsltconfig.h +180 -0
  81. data/ext/nokogiri/include/libxslt/xsltexports.h +142 -0
  82. data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
  83. data/ext/nokogiri/include/libxslt/xsltutils.h +313 -0
  84. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  85. data/ext/nokogiri/nokogiri.c +192 -93
  86. data/ext/nokogiri/nokogiri.h +177 -98
  87. data/ext/nokogiri/test_global_handlers.c +40 -0
  88. data/ext/nokogiri/xml_attr.c +15 -15
  89. data/ext/nokogiri/xml_attribute_decl.c +18 -18
  90. data/ext/nokogiri/xml_cdata.c +13 -18
  91. data/ext/nokogiri/xml_comment.c +19 -26
  92. data/ext/nokogiri/xml_document.c +246 -188
  93. data/ext/nokogiri/xml_document_fragment.c +13 -15
  94. data/ext/nokogiri/xml_dtd.c +54 -48
  95. data/ext/nokogiri/xml_element_content.c +30 -27
  96. data/ext/nokogiri/xml_element_decl.c +22 -22
  97. data/ext/nokogiri/xml_encoding_handler.c +17 -11
  98. data/ext/nokogiri/xml_entity_decl.c +32 -30
  99. data/ext/nokogiri/xml_entity_reference.c +16 -18
  100. data/ext/nokogiri/xml_namespace.c +56 -49
  101. data/ext/nokogiri/xml_node.c +371 -320
  102. data/ext/nokogiri/xml_node_set.c +168 -156
  103. data/ext/nokogiri/xml_processing_instruction.c +17 -19
  104. data/ext/nokogiri/xml_reader.c +191 -157
  105. data/ext/nokogiri/xml_relax_ng.c +52 -28
  106. data/ext/nokogiri/xml_sax_parser.c +118 -118
  107. data/ext/nokogiri/xml_sax_parser_context.c +103 -86
  108. data/ext/nokogiri/xml_sax_push_parser.c +36 -27
  109. data/ext/nokogiri/xml_schema.c +95 -47
  110. data/ext/nokogiri/xml_syntax_error.c +42 -21
  111. data/ext/nokogiri/xml_text.c +13 -17
  112. data/ext/nokogiri/xml_xpath_context.c +206 -123
  113. data/ext/nokogiri/xslt_stylesheet.c +158 -161
  114. data/lib/nokogiri.rb +3 -7
  115. data/lib/nokogiri/2.5/nokogiri.so +0 -0
  116. data/lib/nokogiri/2.6/nokogiri.so +0 -0
  117. data/lib/nokogiri/2.7/nokogiri.so +0 -0
  118. data/lib/nokogiri/3.0/nokogiri.so +0 -0
  119. data/lib/nokogiri/css/parser.rb +3 -3
  120. data/lib/nokogiri/css/parser.y +2 -2
  121. data/lib/nokogiri/css/xpath_visitor.rb +70 -42
  122. data/lib/nokogiri/extension.rb +26 -0
  123. data/lib/nokogiri/html/document.rb +12 -26
  124. data/lib/nokogiri/html/document_fragment.rb +15 -15
  125. data/lib/nokogiri/version.rb +2 -149
  126. data/lib/nokogiri/version/constant.rb +5 -0
  127. data/lib/nokogiri/version/info.rb +205 -0
  128. data/lib/nokogiri/xml/document.rb +91 -35
  129. data/lib/nokogiri/xml/document_fragment.rb +4 -6
  130. data/lib/nokogiri/xml/node.rb +89 -69
  131. data/lib/nokogiri/xml/parse_options.rb +6 -0
  132. data/lib/nokogiri/xml/reader.rb +2 -9
  133. data/lib/nokogiri/xml/relax_ng.rb +6 -2
  134. data/lib/nokogiri/xml/schema.rb +12 -4
  135. data/lib/nokogiri/xml/searchable.rb +3 -1
  136. data/lib/nokogiri/xml/xpath.rb +1 -3
  137. data/lib/nokogiri/xml/xpath/syntax_error.rb +1 -1
  138. metadata +150 -171
  139. data/ext/nokogiri/html_document.h +0 -10
  140. data/ext/nokogiri/html_element_description.h +0 -10
  141. data/ext/nokogiri/html_entity_lookup.h +0 -8
  142. data/ext/nokogiri/html_sax_parser_context.h +0 -11
  143. data/ext/nokogiri/html_sax_push_parser.h +0 -9
  144. data/ext/nokogiri/xml_attr.h +0 -9
  145. data/ext/nokogiri/xml_attribute_decl.h +0 -9
  146. data/ext/nokogiri/xml_cdata.h +0 -9
  147. data/ext/nokogiri/xml_comment.h +0 -9
  148. data/ext/nokogiri/xml_document.h +0 -23
  149. data/ext/nokogiri/xml_document_fragment.h +0 -10
  150. data/ext/nokogiri/xml_dtd.h +0 -10
  151. data/ext/nokogiri/xml_element_content.h +0 -10
  152. data/ext/nokogiri/xml_element_decl.h +0 -9
  153. data/ext/nokogiri/xml_encoding_handler.h +0 -8
  154. data/ext/nokogiri/xml_entity_decl.h +0 -10
  155. data/ext/nokogiri/xml_entity_reference.h +0 -9
  156. data/ext/nokogiri/xml_io.c +0 -63
  157. data/ext/nokogiri/xml_io.h +0 -11
  158. data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
  159. data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
  160. data/ext/nokogiri/xml_namespace.h +0 -14
  161. data/ext/nokogiri/xml_node.h +0 -13
  162. data/ext/nokogiri/xml_node_set.h +0 -12
  163. data/ext/nokogiri/xml_processing_instruction.h +0 -9
  164. data/ext/nokogiri/xml_reader.h +0 -10
  165. data/ext/nokogiri/xml_relax_ng.h +0 -9
  166. data/ext/nokogiri/xml_sax_parser.h +0 -39
  167. data/ext/nokogiri/xml_sax_parser_context.h +0 -10
  168. data/ext/nokogiri/xml_sax_push_parser.h +0 -9
  169. data/ext/nokogiri/xml_schema.h +0 -9
  170. data/ext/nokogiri/xml_syntax_error.h +0 -13
  171. data/ext/nokogiri/xml_text.h +0 -9
  172. data/ext/nokogiri/xml_xpath_context.h +0 -10
  173. data/ext/nokogiri/xslt_stylesheet.h +0 -14
  174. data/lib/nokogiri/2.4/nokogiri.so +0 -0
@@ -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
+ extern 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
+
@@ -0,0 +1,207 @@
1
+ /*
2
+ * Summary: the XSLT engine transformation part.
3
+ * Description: This module implements the bulk of the actual
4
+ * transformation processing. Most of the xsl: element
5
+ * constructs are implemented in this module.
6
+ *
7
+ * Copy: See Copyright for the status of this software.
8
+ *
9
+ * Author: Daniel Veillard
10
+ */
11
+
12
+ #ifndef __XML_XSLT_TRANSFORM_H__
13
+ #define __XML_XSLT_TRANSFORM_H__
14
+
15
+ #include <libxml/parser.h>
16
+ #include <libxml/xmlIO.h>
17
+ #include "xsltexports.h"
18
+ #include <libxslt/xsltInternals.h>
19
+
20
+ #ifdef __cplusplus
21
+ extern "C" {
22
+ #endif
23
+
24
+ /**
25
+ * XInclude default processing.
26
+ */
27
+ XSLTPUBFUN void XSLTCALL
28
+ xsltSetXIncludeDefault (int xinclude);
29
+ XSLTPUBFUN int XSLTCALL
30
+ xsltGetXIncludeDefault (void);
31
+
32
+ /**
33
+ * Export context to users.
34
+ */
35
+ XSLTPUBFUN xsltTransformContextPtr XSLTCALL
36
+ xsltNewTransformContext (xsltStylesheetPtr style,
37
+ xmlDocPtr doc);
38
+
39
+ XSLTPUBFUN void XSLTCALL
40
+ xsltFreeTransformContext(xsltTransformContextPtr ctxt);
41
+
42
+ XSLTPUBFUN xmlDocPtr XSLTCALL
43
+ xsltApplyStylesheetUser (xsltStylesheetPtr style,
44
+ xmlDocPtr doc,
45
+ const char **params,
46
+ const char *output,
47
+ FILE * profile,
48
+ xsltTransformContextPtr userCtxt);
49
+ XSLTPUBFUN void XSLTCALL
50
+ xsltProcessOneNode (xsltTransformContextPtr ctxt,
51
+ xmlNodePtr node,
52
+ xsltStackElemPtr params);
53
+ /**
54
+ * Private Interfaces.
55
+ */
56
+ XSLTPUBFUN void XSLTCALL
57
+ xsltApplyStripSpaces (xsltTransformContextPtr ctxt,
58
+ xmlNodePtr node);
59
+ XSLTPUBFUN xmlDocPtr XSLTCALL
60
+ xsltApplyStylesheet (xsltStylesheetPtr style,
61
+ xmlDocPtr doc,
62
+ const char **params);
63
+ XSLTPUBFUN xmlDocPtr XSLTCALL
64
+ xsltProfileStylesheet (xsltStylesheetPtr style,
65
+ xmlDocPtr doc,
66
+ const char **params,
67
+ FILE * output);
68
+ XSLTPUBFUN int XSLTCALL
69
+ xsltRunStylesheet (xsltStylesheetPtr style,
70
+ xmlDocPtr doc,
71
+ const char **params,
72
+ const char *output,
73
+ xmlSAXHandlerPtr SAX,
74
+ xmlOutputBufferPtr IObuf);
75
+ XSLTPUBFUN int XSLTCALL
76
+ xsltRunStylesheetUser (xsltStylesheetPtr style,
77
+ xmlDocPtr doc,
78
+ const char **params,
79
+ const char *output,
80
+ xmlSAXHandlerPtr SAX,
81
+ xmlOutputBufferPtr IObuf,
82
+ FILE * profile,
83
+ xsltTransformContextPtr userCtxt);
84
+ XSLTPUBFUN void XSLTCALL
85
+ xsltApplyOneTemplate (xsltTransformContextPtr ctxt,
86
+ xmlNodePtr node,
87
+ xmlNodePtr list,
88
+ xsltTemplatePtr templ,
89
+ xsltStackElemPtr params);
90
+ XSLTPUBFUN void XSLTCALL
91
+ xsltDocumentElem (xsltTransformContextPtr ctxt,
92
+ xmlNodePtr node,
93
+ xmlNodePtr inst,
94
+ xsltElemPreCompPtr comp);
95
+ XSLTPUBFUN void XSLTCALL
96
+ xsltSort (xsltTransformContextPtr ctxt,
97
+ xmlNodePtr node,
98
+ xmlNodePtr inst,
99
+ xsltElemPreCompPtr comp);
100
+ XSLTPUBFUN void XSLTCALL
101
+ xsltCopy (xsltTransformContextPtr ctxt,
102
+ xmlNodePtr node,
103
+ xmlNodePtr inst,
104
+ xsltElemPreCompPtr comp);
105
+ XSLTPUBFUN void XSLTCALL
106
+ xsltText (xsltTransformContextPtr ctxt,
107
+ xmlNodePtr node,
108
+ xmlNodePtr inst,
109
+ xsltElemPreCompPtr comp);
110
+ XSLTPUBFUN void XSLTCALL
111
+ xsltElement (xsltTransformContextPtr ctxt,
112
+ xmlNodePtr node,
113
+ xmlNodePtr inst,
114
+ xsltElemPreCompPtr comp);
115
+ XSLTPUBFUN void XSLTCALL
116
+ xsltComment (xsltTransformContextPtr ctxt,
117
+ xmlNodePtr node,
118
+ xmlNodePtr inst,
119
+ xsltElemPreCompPtr comp);
120
+ XSLTPUBFUN void XSLTCALL
121
+ xsltAttribute (xsltTransformContextPtr ctxt,
122
+ xmlNodePtr node,
123
+ xmlNodePtr inst,
124
+ xsltElemPreCompPtr comp);
125
+ XSLTPUBFUN void XSLTCALL
126
+ xsltProcessingInstruction(xsltTransformContextPtr ctxt,
127
+ xmlNodePtr node,
128
+ xmlNodePtr inst,
129
+ xsltElemPreCompPtr comp);
130
+ XSLTPUBFUN void XSLTCALL
131
+ xsltCopyOf (xsltTransformContextPtr ctxt,
132
+ xmlNodePtr node,
133
+ xmlNodePtr inst,
134
+ xsltElemPreCompPtr comp);
135
+ XSLTPUBFUN void XSLTCALL
136
+ xsltValueOf (xsltTransformContextPtr ctxt,
137
+ xmlNodePtr node,
138
+ xmlNodePtr inst,
139
+ xsltElemPreCompPtr comp);
140
+ XSLTPUBFUN void XSLTCALL
141
+ xsltNumber (xsltTransformContextPtr ctxt,
142
+ xmlNodePtr node,
143
+ xmlNodePtr inst,
144
+ xsltElemPreCompPtr comp);
145
+ XSLTPUBFUN void XSLTCALL
146
+ xsltApplyImports (xsltTransformContextPtr ctxt,
147
+ xmlNodePtr node,
148
+ xmlNodePtr inst,
149
+ xsltElemPreCompPtr comp);
150
+ XSLTPUBFUN void XSLTCALL
151
+ xsltCallTemplate (xsltTransformContextPtr ctxt,
152
+ xmlNodePtr node,
153
+ xmlNodePtr inst,
154
+ xsltElemPreCompPtr comp);
155
+ XSLTPUBFUN void XSLTCALL
156
+ xsltApplyTemplates (xsltTransformContextPtr ctxt,
157
+ xmlNodePtr node,
158
+ xmlNodePtr inst,
159
+ xsltElemPreCompPtr comp);
160
+ XSLTPUBFUN void XSLTCALL
161
+ xsltChoose (xsltTransformContextPtr ctxt,
162
+ xmlNodePtr node,
163
+ xmlNodePtr inst,
164
+ xsltElemPreCompPtr comp);
165
+ XSLTPUBFUN void XSLTCALL
166
+ xsltIf (xsltTransformContextPtr ctxt,
167
+ xmlNodePtr node,
168
+ xmlNodePtr inst,
169
+ xsltElemPreCompPtr comp);
170
+ XSLTPUBFUN void XSLTCALL
171
+ xsltForEach (xsltTransformContextPtr ctxt,
172
+ xmlNodePtr node,
173
+ xmlNodePtr inst,
174
+ xsltElemPreCompPtr comp);
175
+ XSLTPUBFUN void XSLTCALL
176
+ xsltRegisterAllElement (xsltTransformContextPtr ctxt);
177
+
178
+ XSLTPUBFUN xmlNodePtr XSLTCALL
179
+ xsltCopyTextString (xsltTransformContextPtr ctxt,
180
+ xmlNodePtr target,
181
+ const xmlChar *string,
182
+ int noescape);
183
+
184
+ /* Following 2 functions needed for libexslt/functions.c */
185
+ XSLTPUBFUN void XSLTCALL
186
+ xsltLocalVariablePop (xsltTransformContextPtr ctxt,
187
+ int limitNr,
188
+ int level);
189
+ XSLTPUBFUN int XSLTCALL
190
+ xsltLocalVariablePush (xsltTransformContextPtr ctxt,
191
+ xsltStackElemPtr variable,
192
+ int level);
193
+ /*
194
+ * Hook for the debugger if activated.
195
+ */
196
+ XSLTPUBFUN void XSLTCALL
197
+ xslHandleDebugger (xmlNodePtr cur,
198
+ xmlNodePtr node,
199
+ xsltTemplatePtr templ,
200
+ xsltTransformContextPtr ctxt);
201
+
202
+ #ifdef __cplusplus
203
+ }
204
+ #endif
205
+
206
+ #endif /* __XML_XSLT_TRANSFORM_H__ */
207
+
@@ -0,0 +1,118 @@
1
+ /*
2
+ * Summary: interface for the variable matching and lookup.
3
+ * Description: interface for the variable matching and lookup.
4
+ *
5
+ * Copy: See Copyright for the status of this software.
6
+ *
7
+ * Author: Daniel Veillard
8
+ */
9
+
10
+ #ifndef __XML_XSLT_VARIABLES_H__
11
+ #define __XML_XSLT_VARIABLES_H__
12
+
13
+ #include <libxml/xpath.h>
14
+ #include <libxml/xpathInternals.h>
15
+ #include "xsltexports.h"
16
+ #include "xsltInternals.h"
17
+ #include "functions.h"
18
+
19
+ #ifdef __cplusplus
20
+ extern "C" {
21
+ #endif
22
+
23
+
24
+ /**
25
+ * XSLT_REGISTER_VARIABLE_LOOKUP:
26
+ *
27
+ * Registering macro, not general purpose at all but used in different modules.
28
+ */
29
+
30
+ #define XSLT_REGISTER_VARIABLE_LOOKUP(ctxt) \
31
+ xmlXPathRegisterVariableLookup((ctxt)->xpathCtxt, \
32
+ xsltXPathVariableLookup, (void *)(ctxt)); \
33
+ xsltRegisterAllFunctions((ctxt)->xpathCtxt); \
34
+ xsltRegisterAllElement(ctxt); \
35
+ (ctxt)->xpathCtxt->extra = ctxt
36
+
37
+ /*
38
+ * Flags for memory management of RVTs
39
+ */
40
+
41
+ /**
42
+ * XSLT_RVT_LOCAL:
43
+ *
44
+ * RVT is destroyed after the current instructions ends.
45
+ */
46
+ #define XSLT_RVT_LOCAL ((void *)1)
47
+
48
+ /**
49
+ * XSLT_RVT_FUNC_RESULT:
50
+ *
51
+ * RVT is part of results returned with func:result. The RVT won't be
52
+ * destroyed after exiting a template and will be reset to XSLT_RVT_LOCAL or
53
+ * XSLT_RVT_VARIABLE in the template that receives the return value.
54
+ */
55
+ #define XSLT_RVT_FUNC_RESULT ((void *)2)
56
+
57
+ /**
58
+ * XSLT_RVT_GLOBAL:
59
+ *
60
+ * RVT is part of a global variable.
61
+ */
62
+ #define XSLT_RVT_GLOBAL ((void *)3)
63
+
64
+ /*
65
+ * Interfaces for the variable module.
66
+ */
67
+
68
+ XSLTPUBFUN int XSLTCALL
69
+ xsltEvalGlobalVariables (xsltTransformContextPtr ctxt);
70
+ XSLTPUBFUN int XSLTCALL
71
+ xsltEvalUserParams (xsltTransformContextPtr ctxt,
72
+ const char **params);
73
+ XSLTPUBFUN int XSLTCALL
74
+ xsltQuoteUserParams (xsltTransformContextPtr ctxt,
75
+ const char **params);
76
+ XSLTPUBFUN int XSLTCALL
77
+ xsltEvalOneUserParam (xsltTransformContextPtr ctxt,
78
+ const xmlChar * name,
79
+ const xmlChar * value);
80
+ XSLTPUBFUN int XSLTCALL
81
+ xsltQuoteOneUserParam (xsltTransformContextPtr ctxt,
82
+ const xmlChar * name,
83
+ const xmlChar * value);
84
+
85
+ XSLTPUBFUN void XSLTCALL
86
+ xsltParseGlobalVariable (xsltStylesheetPtr style,
87
+ xmlNodePtr cur);
88
+ XSLTPUBFUN void XSLTCALL
89
+ xsltParseGlobalParam (xsltStylesheetPtr style,
90
+ xmlNodePtr cur);
91
+ XSLTPUBFUN void XSLTCALL
92
+ xsltParseStylesheetVariable (xsltTransformContextPtr ctxt,
93
+ xmlNodePtr cur);
94
+ XSLTPUBFUN void XSLTCALL
95
+ xsltParseStylesheetParam (xsltTransformContextPtr ctxt,
96
+ xmlNodePtr cur);
97
+ XSLTPUBFUN xsltStackElemPtr XSLTCALL
98
+ xsltParseStylesheetCallerParam (xsltTransformContextPtr ctxt,
99
+ xmlNodePtr cur);
100
+ XSLTPUBFUN int XSLTCALL
101
+ xsltAddStackElemList (xsltTransformContextPtr ctxt,
102
+ xsltStackElemPtr elems);
103
+ XSLTPUBFUN void XSLTCALL
104
+ xsltFreeGlobalVariables (xsltTransformContextPtr ctxt);
105
+ XSLTPUBFUN xmlXPathObjectPtr XSLTCALL
106
+ xsltVariableLookup (xsltTransformContextPtr ctxt,
107
+ const xmlChar *name,
108
+ const xmlChar *ns_uri);
109
+ XSLTPUBFUN xmlXPathObjectPtr XSLTCALL
110
+ xsltXPathVariableLookup (void *ctxt,
111
+ const xmlChar *name,
112
+ const xmlChar *ns_uri);
113
+ #ifdef __cplusplus
114
+ }
115
+ #endif
116
+
117
+ #endif /* __XML_XSLT_VARIABLES_H__ */
118
+