nokogiri 1.13.0-x64-mingw-ucrt

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 (195) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +5 -0
  3. data/LICENSE-DEPENDENCIES.md +1903 -0
  4. data/LICENSE.md +9 -0
  5. data/README.md +280 -0
  6. data/bin/nokogiri +131 -0
  7. data/dependencies.yml +73 -0
  8. data/ext/nokogiri/depend +38 -0
  9. data/ext/nokogiri/extconf.rb +1000 -0
  10. data/ext/nokogiri/gumbo.c +584 -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 +120 -0
  15. data/ext/nokogiri/html4_sax_push_parser.c +95 -0
  16. data/ext/nokogiri/include/libexslt/exslt.h +102 -0
  17. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  18. data/ext/nokogiri/include/libexslt/exsltexports.h +140 -0
  19. data/ext/nokogiri/include/libxml2/libxml/DOCBparser.h +96 -0
  20. data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +306 -0
  21. data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
  22. data/ext/nokogiri/include/libxml2/libxml/SAX.h +173 -0
  23. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +178 -0
  24. data/ext/nokogiri/include/libxml2/libxml/c14n.h +128 -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 +79 -0
  29. data/ext/nokogiri/include/libxml2/libxml/encoding.h +245 -0
  30. data/ext/nokogiri/include/libxml2/libxml/entities.h +151 -0
  31. data/ext/nokogiri/include/libxml2/libxml/globals.h +508 -0
  32. data/ext/nokogiri/include/libxml2/libxml/hash.h +236 -0
  33. data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
  34. data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +163 -0
  35. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
  36. data/ext/nokogiri/include/libxml2/libxml/parser.h +1243 -0
  37. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +644 -0
  38. data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
  39. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +217 -0
  40. data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +958 -0
  41. data/ext/nokogiri/include/libxml2/libxml/schematron.h +142 -0
  42. data/ext/nokogiri/include/libxml2/libxml/threads.h +89 -0
  43. data/ext/nokogiri/include/libxml2/libxml/tree.h +1311 -0
  44. data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
  45. data/ext/nokogiri/include/libxml2/libxml/valid.h +458 -0
  46. data/ext/nokogiri/include/libxml2/libxml/xinclude.h +129 -0
  47. data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
  48. data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +368 -0
  49. data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +946 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +77 -0
  52. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +224 -0
  53. data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
  54. data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +428 -0
  55. data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +222 -0
  56. data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +88 -0
  57. data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +246 -0
  58. data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +151 -0
  59. data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
  60. data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +202 -0
  61. data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +485 -0
  62. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
  63. data/ext/nokogiri/include/libxml2/libxml/xpath.h +564 -0
  64. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
  65. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +114 -0
  66. data/ext/nokogiri/include/libxslt/attributes.h +38 -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 +1978 -0
  83. data/ext/nokogiri/include/libxslt/xsltconfig.h +180 -0
  84. data/ext/nokogiri/include/libxslt/xsltexports.h +142 -0
  85. data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
  86. data/ext/nokogiri/include/libxslt/xsltutils.h +313 -0
  87. data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
  88. data/ext/nokogiri/nokogiri.c +278 -0
  89. data/ext/nokogiri/nokogiri.h +223 -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 +57 -0
  94. data/ext/nokogiri/xml_comment.c +62 -0
  95. data/ext/nokogiri/xml_document.c +680 -0
  96. data/ext/nokogiri/xml_document_fragment.c +44 -0
  97. data/ext/nokogiri/xml_dtd.c +208 -0
  98. data/ext/nokogiri/xml_element_content.c +128 -0
  99. data/ext/nokogiri/xml_element_decl.c +69 -0
  100. data/ext/nokogiri/xml_encoding_handler.c +104 -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 +120 -0
  104. data/ext/nokogiri/xml_node.c +2144 -0
  105. data/ext/nokogiri/xml_node_set.c +498 -0
  106. data/ext/nokogiri/xml_processing_instruction.c +54 -0
  107. data/ext/nokogiri/xml_reader.c +719 -0
  108. data/ext/nokogiri/xml_relax_ng.c +185 -0
  109. data/ext/nokogiri/xml_sax_parser.c +310 -0
  110. data/ext/nokogiri/xml_sax_parser_context.c +281 -0
  111. data/ext/nokogiri/xml_sax_push_parser.c +168 -0
  112. data/ext/nokogiri/xml_schema.c +284 -0
  113. data/ext/nokogiri/xml_syntax_error.c +85 -0
  114. data/ext/nokogiri/xml_text.c +48 -0
  115. data/ext/nokogiri/xml_xpath_context.c +406 -0
  116. data/ext/nokogiri/xslt_stylesheet.c +264 -0
  117. data/gumbo-parser/CHANGES.md +63 -0
  118. data/gumbo-parser/Makefile +101 -0
  119. data/gumbo-parser/THANKS +27 -0
  120. data/lib/nokogiri/3.1/nokogiri.so +0 -0
  121. data/lib/nokogiri/class_resolver.rb +67 -0
  122. data/lib/nokogiri/css/node.rb +54 -0
  123. data/lib/nokogiri/css/parser.rb +759 -0
  124. data/lib/nokogiri/css/parser.y +280 -0
  125. data/lib/nokogiri/css/parser_extras.rb +94 -0
  126. data/lib/nokogiri/css/syntax_error.rb +9 -0
  127. data/lib/nokogiri/css/tokenizer.rb +155 -0
  128. data/lib/nokogiri/css/tokenizer.rex +56 -0
  129. data/lib/nokogiri/css/xpath_visitor.rb +359 -0
  130. data/lib/nokogiri/css.rb +60 -0
  131. data/lib/nokogiri/decorators/slop.rb +44 -0
  132. data/lib/nokogiri/extension.rb +31 -0
  133. data/lib/nokogiri/gumbo.rb +15 -0
  134. data/lib/nokogiri/html.rb +48 -0
  135. data/lib/nokogiri/html4/builder.rb +37 -0
  136. data/lib/nokogiri/html4/document.rb +331 -0
  137. data/lib/nokogiri/html4/document_fragment.rb +54 -0
  138. data/lib/nokogiri/html4/element_description.rb +25 -0
  139. data/lib/nokogiri/html4/element_description_defaults.rb +578 -0
  140. data/lib/nokogiri/html4/entity_lookup.rb +15 -0
  141. data/lib/nokogiri/html4/sax/parser.rb +61 -0
  142. data/lib/nokogiri/html4/sax/parser_context.rb +20 -0
  143. data/lib/nokogiri/html4/sax/push_parser.rb +37 -0
  144. data/lib/nokogiri/html4.rb +46 -0
  145. data/lib/nokogiri/html5/document.rb +88 -0
  146. data/lib/nokogiri/html5/document_fragment.rb +83 -0
  147. data/lib/nokogiri/html5/node.rb +96 -0
  148. data/lib/nokogiri/html5.rb +477 -0
  149. data/lib/nokogiri/jruby/dependencies.rb +21 -0
  150. data/lib/nokogiri/syntax_error.rb +6 -0
  151. data/lib/nokogiri/version/constant.rb +6 -0
  152. data/lib/nokogiri/version/info.rb +221 -0
  153. data/lib/nokogiri/version.rb +4 -0
  154. data/lib/nokogiri/xml/attr.rb +17 -0
  155. data/lib/nokogiri/xml/attribute_decl.rb +20 -0
  156. data/lib/nokogiri/xml/builder.rb +485 -0
  157. data/lib/nokogiri/xml/cdata.rb +13 -0
  158. data/lib/nokogiri/xml/character_data.rb +9 -0
  159. data/lib/nokogiri/xml/document.rb +418 -0
  160. data/lib/nokogiri/xml/document_fragment.rb +162 -0
  161. data/lib/nokogiri/xml/dtd.rb +34 -0
  162. data/lib/nokogiri/xml/element_content.rb +38 -0
  163. data/lib/nokogiri/xml/element_decl.rb +15 -0
  164. data/lib/nokogiri/xml/entity_decl.rb +21 -0
  165. data/lib/nokogiri/xml/entity_reference.rb +20 -0
  166. data/lib/nokogiri/xml/namespace.rb +16 -0
  167. data/lib/nokogiri/xml/node/save_options.rb +65 -0
  168. data/lib/nokogiri/xml/node.rb +1402 -0
  169. data/lib/nokogiri/xml/node_set.rb +364 -0
  170. data/lib/nokogiri/xml/notation.rb +19 -0
  171. data/lib/nokogiri/xml/parse_options.rb +133 -0
  172. data/lib/nokogiri/xml/pp/character_data.rb +21 -0
  173. data/lib/nokogiri/xml/pp/node.rb +55 -0
  174. data/lib/nokogiri/xml/pp.rb +4 -0
  175. data/lib/nokogiri/xml/processing_instruction.rb +10 -0
  176. data/lib/nokogiri/xml/reader.rb +107 -0
  177. data/lib/nokogiri/xml/relax_ng.rb +38 -0
  178. data/lib/nokogiri/xml/sax/document.rb +167 -0
  179. data/lib/nokogiri/xml/sax/parser.rb +125 -0
  180. data/lib/nokogiri/xml/sax/parser_context.rb +21 -0
  181. data/lib/nokogiri/xml/sax/push_parser.rb +61 -0
  182. data/lib/nokogiri/xml/sax.rb +6 -0
  183. data/lib/nokogiri/xml/schema.rb +73 -0
  184. data/lib/nokogiri/xml/searchable.rb +259 -0
  185. data/lib/nokogiri/xml/syntax_error.rb +71 -0
  186. data/lib/nokogiri/xml/text.rb +11 -0
  187. data/lib/nokogiri/xml/xpath/syntax_error.rb +13 -0
  188. data/lib/nokogiri/xml/xpath.rb +21 -0
  189. data/lib/nokogiri/xml/xpath_context.rb +16 -0
  190. data/lib/nokogiri/xml.rb +75 -0
  191. data/lib/nokogiri/xslt/stylesheet.rb +27 -0
  192. data/lib/nokogiri/xslt.rb +58 -0
  193. data/lib/nokogiri.rb +128 -0
  194. data/lib/xsd/xmlparser/nokogiri.rb +104 -0
  195. metadata +536 -0
@@ -0,0 +1,114 @@
1
+ /*
2
+ * Summary: API to handle XML Pointers
3
+ * Description: API to handle XML Pointers
4
+ * Base implementation was made accordingly to
5
+ * W3C Candidate Recommendation 7 June 2000
6
+ * http://www.w3.org/TR/2000/CR-xptr-20000607
7
+ *
8
+ * Added support for the element() scheme described in:
9
+ * W3C Proposed Recommendation 13 November 2002
10
+ * http://www.w3.org/TR/2002/PR-xptr-element-20021113/
11
+ *
12
+ * Copy: See Copyright for the status of this software.
13
+ *
14
+ * Author: Daniel Veillard
15
+ */
16
+
17
+ #ifndef __XML_XPTR_H__
18
+ #define __XML_XPTR_H__
19
+
20
+ #include <libxml/xmlversion.h>
21
+
22
+ #ifdef LIBXML_XPTR_ENABLED
23
+
24
+ #include <libxml/tree.h>
25
+ #include <libxml/xpath.h>
26
+
27
+ #ifdef __cplusplus
28
+ extern "C" {
29
+ #endif
30
+
31
+ /*
32
+ * A Location Set
33
+ */
34
+ typedef struct _xmlLocationSet xmlLocationSet;
35
+ typedef xmlLocationSet *xmlLocationSetPtr;
36
+ struct _xmlLocationSet {
37
+ int locNr; /* number of locations in the set */
38
+ int locMax; /* size of the array as allocated */
39
+ xmlXPathObjectPtr *locTab;/* array of locations */
40
+ };
41
+
42
+ /*
43
+ * Handling of location sets.
44
+ */
45
+
46
+ XMLPUBFUN xmlLocationSetPtr XMLCALL
47
+ xmlXPtrLocationSetCreate (xmlXPathObjectPtr val);
48
+ XMLPUBFUN void XMLCALL
49
+ xmlXPtrFreeLocationSet (xmlLocationSetPtr obj);
50
+ XMLPUBFUN xmlLocationSetPtr XMLCALL
51
+ xmlXPtrLocationSetMerge (xmlLocationSetPtr val1,
52
+ xmlLocationSetPtr val2);
53
+ XMLPUBFUN xmlXPathObjectPtr XMLCALL
54
+ xmlXPtrNewRange (xmlNodePtr start,
55
+ int startindex,
56
+ xmlNodePtr end,
57
+ int endindex);
58
+ XMLPUBFUN xmlXPathObjectPtr XMLCALL
59
+ xmlXPtrNewRangePoints (xmlXPathObjectPtr start,
60
+ xmlXPathObjectPtr end);
61
+ XMLPUBFUN xmlXPathObjectPtr XMLCALL
62
+ xmlXPtrNewRangeNodePoint (xmlNodePtr start,
63
+ xmlXPathObjectPtr end);
64
+ XMLPUBFUN xmlXPathObjectPtr XMLCALL
65
+ xmlXPtrNewRangePointNode (xmlXPathObjectPtr start,
66
+ xmlNodePtr end);
67
+ XMLPUBFUN xmlXPathObjectPtr XMLCALL
68
+ xmlXPtrNewRangeNodes (xmlNodePtr start,
69
+ xmlNodePtr end);
70
+ XMLPUBFUN xmlXPathObjectPtr XMLCALL
71
+ xmlXPtrNewLocationSetNodes (xmlNodePtr start,
72
+ xmlNodePtr end);
73
+ XMLPUBFUN xmlXPathObjectPtr XMLCALL
74
+ xmlXPtrNewLocationSetNodeSet(xmlNodeSetPtr set);
75
+ XMLPUBFUN xmlXPathObjectPtr XMLCALL
76
+ xmlXPtrNewRangeNodeObject (xmlNodePtr start,
77
+ xmlXPathObjectPtr end);
78
+ XMLPUBFUN xmlXPathObjectPtr XMLCALL
79
+ xmlXPtrNewCollapsedRange (xmlNodePtr start);
80
+ XMLPUBFUN void XMLCALL
81
+ xmlXPtrLocationSetAdd (xmlLocationSetPtr cur,
82
+ xmlXPathObjectPtr val);
83
+ XMLPUBFUN xmlXPathObjectPtr XMLCALL
84
+ xmlXPtrWrapLocationSet (xmlLocationSetPtr val);
85
+ XMLPUBFUN void XMLCALL
86
+ xmlXPtrLocationSetDel (xmlLocationSetPtr cur,
87
+ xmlXPathObjectPtr val);
88
+ XMLPUBFUN void XMLCALL
89
+ xmlXPtrLocationSetRemove (xmlLocationSetPtr cur,
90
+ int val);
91
+
92
+ /*
93
+ * Functions.
94
+ */
95
+ XMLPUBFUN xmlXPathContextPtr XMLCALL
96
+ xmlXPtrNewContext (xmlDocPtr doc,
97
+ xmlNodePtr here,
98
+ xmlNodePtr origin);
99
+ XMLPUBFUN xmlXPathObjectPtr XMLCALL
100
+ xmlXPtrEval (const xmlChar *str,
101
+ xmlXPathContextPtr ctx);
102
+ XMLPUBFUN void XMLCALL
103
+ xmlXPtrRangeToFunction (xmlXPathParserContextPtr ctxt,
104
+ int nargs);
105
+ XMLPUBFUN xmlNodePtr XMLCALL
106
+ xmlXPtrBuildNodeList (xmlXPathObjectPtr obj);
107
+ XMLPUBFUN void XMLCALL
108
+ xmlXPtrEvalRangePredicate (xmlXPathParserContextPtr ctxt);
109
+ #ifdef __cplusplus
110
+ }
111
+ #endif
112
+
113
+ #endif /* LIBXML_XPTR_ENABLED */
114
+ #endif /* __XML_XPTR_H__ */
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Summary: interface for the XSLT attribute handling
3
+ * Description: this module handles the specificities of attribute
4
+ * and attribute groups processing.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_XSLT_ATTRIBUTES_H__
12
+ #define __XML_XSLT_ATTRIBUTES_H__
13
+
14
+ #include <libxml/tree.h>
15
+ #include "xsltexports.h"
16
+
17
+ #ifdef __cplusplus
18
+ extern "C" {
19
+ #endif
20
+
21
+ XSLTPUBFUN void XSLTCALL
22
+ xsltParseStylesheetAttributeSet (xsltStylesheetPtr style,
23
+ xmlNodePtr cur);
24
+ XSLTPUBFUN void XSLTCALL
25
+ xsltFreeAttributeSetsHashes (xsltStylesheetPtr style);
26
+ XSLTPUBFUN void XSLTCALL
27
+ xsltApplyAttributeSet (xsltTransformContextPtr ctxt,
28
+ xmlNodePtr node,
29
+ xmlNodePtr inst,
30
+ const xmlChar *attributes);
31
+ XSLTPUBFUN void XSLTCALL
32
+ xsltResolveStylesheetAttributeSet(xsltStylesheetPtr style);
33
+ #ifdef __cplusplus
34
+ }
35
+ #endif
36
+
37
+ #endif /* __XML_XSLT_ATTRIBUTES_H__ */
38
+
@@ -0,0 +1,93 @@
1
+ /*
2
+ * Summary: interface for the document handling
3
+ * Description: implements document loading and cache (multiple
4
+ * document() reference for the same resources must
5
+ * be equal.
6
+ *
7
+ * Copy: See Copyright for the status of this software.
8
+ *
9
+ * Author: Daniel Veillard
10
+ */
11
+
12
+ #ifndef __XML_XSLT_DOCUMENTS_H__
13
+ #define __XML_XSLT_DOCUMENTS_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
+ XSLTPUBFUN xsltDocumentPtr XSLTCALL
24
+ xsltNewDocument (xsltTransformContextPtr ctxt,
25
+ xmlDocPtr doc);
26
+ XSLTPUBFUN xsltDocumentPtr XSLTCALL
27
+ xsltLoadDocument (xsltTransformContextPtr ctxt,
28
+ const xmlChar *URI);
29
+ XSLTPUBFUN xsltDocumentPtr XSLTCALL
30
+ xsltFindDocument (xsltTransformContextPtr ctxt,
31
+ xmlDocPtr doc);
32
+ XSLTPUBFUN void XSLTCALL
33
+ xsltFreeDocuments (xsltTransformContextPtr ctxt);
34
+
35
+ XSLTPUBFUN xsltDocumentPtr XSLTCALL
36
+ xsltLoadStyleDocument (xsltStylesheetPtr style,
37
+ const xmlChar *URI);
38
+ XSLTPUBFUN xsltDocumentPtr XSLTCALL
39
+ xsltNewStyleDocument (xsltStylesheetPtr style,
40
+ xmlDocPtr doc);
41
+ XSLTPUBFUN void XSLTCALL
42
+ xsltFreeStyleDocuments (xsltStylesheetPtr style);
43
+
44
+ /*
45
+ * Hooks for document loading
46
+ */
47
+
48
+ /**
49
+ * xsltLoadType:
50
+ *
51
+ * Enum defining the kind of loader requirement.
52
+ */
53
+ typedef enum {
54
+ XSLT_LOAD_START = 0, /* loading for a top stylesheet */
55
+ XSLT_LOAD_STYLESHEET = 1, /* loading for a stylesheet include/import */
56
+ XSLT_LOAD_DOCUMENT = 2 /* loading document at transformation time */
57
+ } xsltLoadType;
58
+
59
+ /**
60
+ * xsltDocLoaderFunc:
61
+ * @URI: the URI of the document to load
62
+ * @dict: the dictionary to use when parsing that document
63
+ * @options: parsing options, a set of xmlParserOption
64
+ * @ctxt: the context, either a stylesheet or a transformation context
65
+ * @type: the xsltLoadType indicating the kind of loading required
66
+ *
67
+ * An xsltDocLoaderFunc is a signature for a function which can be
68
+ * registered to load document not provided by the compilation or
69
+ * transformation API themselve, for example when an xsl:import,
70
+ * xsl:include is found at compilation time or when a document()
71
+ * call is made at runtime.
72
+ *
73
+ * Returns the pointer to the document (which will be modified and
74
+ * freed by the engine later), or NULL in case of error.
75
+ */
76
+ typedef xmlDocPtr (*xsltDocLoaderFunc) (const xmlChar *URI,
77
+ xmlDictPtr dict,
78
+ int options,
79
+ void *ctxt,
80
+ xsltLoadType type);
81
+
82
+ XSLTPUBFUN void XSLTCALL
83
+ xsltSetLoaderFunc (xsltDocLoaderFunc f);
84
+
85
+ /* the loader may be needed by extension libraries so it is exported */
86
+ XSLTPUBVAR xsltDocLoaderFunc xsltDocDefaultLoader;
87
+
88
+ #ifdef __cplusplus
89
+ }
90
+ #endif
91
+
92
+ #endif /* __XML_XSLT_DOCUMENTS_H__ */
93
+
@@ -0,0 +1,262 @@
1
+ /*
2
+ * Summary: interface for the extension support
3
+ * Description: This provide the API needed for simple and module
4
+ * extension support.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_XSLT_EXTENSION_H__
12
+ #define __XML_XSLT_EXTENSION_H__
13
+
14
+ #include <libxml/xpath.h>
15
+ #include "xsltexports.h"
16
+ #include "xsltInternals.h"
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+
22
+ /**
23
+ * Extension Modules API.
24
+ */
25
+
26
+ /**
27
+ * xsltInitGlobals:
28
+ *
29
+ * Initialize the global variables for extensions
30
+ *
31
+ */
32
+
33
+ XSLTPUBFUN void XSLTCALL
34
+ xsltInitGlobals (void);
35
+
36
+ /**
37
+ * xsltStyleExtInitFunction:
38
+ * @ctxt: an XSLT stylesheet
39
+ * @URI: the namespace URI for the extension
40
+ *
41
+ * A function called at initialization time of an XSLT extension module.
42
+ *
43
+ * Returns a pointer to the module specific data for this transformation.
44
+ */
45
+ typedef void * (*xsltStyleExtInitFunction) (xsltStylesheetPtr style,
46
+ const xmlChar *URI);
47
+
48
+ /**
49
+ * xsltStyleExtShutdownFunction:
50
+ * @ctxt: an XSLT stylesheet
51
+ * @URI: the namespace URI for the extension
52
+ * @data: the data associated to this module
53
+ *
54
+ * A function called at shutdown time of an XSLT extension module.
55
+ */
56
+ typedef void (*xsltStyleExtShutdownFunction) (xsltStylesheetPtr style,
57
+ const xmlChar *URI,
58
+ void *data);
59
+
60
+ /**
61
+ * xsltExtInitFunction:
62
+ * @ctxt: an XSLT transformation context
63
+ * @URI: the namespace URI for the extension
64
+ *
65
+ * A function called at initialization time of an XSLT extension module.
66
+ *
67
+ * Returns a pointer to the module specific data for this transformation.
68
+ */
69
+ typedef void * (*xsltExtInitFunction) (xsltTransformContextPtr ctxt,
70
+ const xmlChar *URI);
71
+
72
+ /**
73
+ * xsltExtShutdownFunction:
74
+ * @ctxt: an XSLT transformation context
75
+ * @URI: the namespace URI for the extension
76
+ * @data: the data associated to this module
77
+ *
78
+ * A function called at shutdown time of an XSLT extension module.
79
+ */
80
+ typedef void (*xsltExtShutdownFunction) (xsltTransformContextPtr ctxt,
81
+ const xmlChar *URI,
82
+ void *data);
83
+
84
+ XSLTPUBFUN int XSLTCALL
85
+ xsltRegisterExtModule (const xmlChar *URI,
86
+ xsltExtInitFunction initFunc,
87
+ xsltExtShutdownFunction shutdownFunc);
88
+ XSLTPUBFUN int XSLTCALL
89
+ xsltRegisterExtModuleFull
90
+ (const xmlChar * URI,
91
+ xsltExtInitFunction initFunc,
92
+ xsltExtShutdownFunction shutdownFunc,
93
+ xsltStyleExtInitFunction styleInitFunc,
94
+ xsltStyleExtShutdownFunction styleShutdownFunc);
95
+
96
+ XSLTPUBFUN int XSLTCALL
97
+ xsltUnregisterExtModule (const xmlChar * URI);
98
+
99
+ XSLTPUBFUN void * XSLTCALL
100
+ xsltGetExtData (xsltTransformContextPtr ctxt,
101
+ const xmlChar *URI);
102
+
103
+ XSLTPUBFUN void * XSLTCALL
104
+ xsltStyleGetExtData (xsltStylesheetPtr style,
105
+ const xmlChar *URI);
106
+ #ifdef XSLT_REFACTORED
107
+ XSLTPUBFUN void * XSLTCALL
108
+ xsltStyleStylesheetLevelGetExtData(
109
+ xsltStylesheetPtr style,
110
+ const xmlChar * URI);
111
+ #endif
112
+ XSLTPUBFUN void XSLTCALL
113
+ xsltShutdownCtxtExts (xsltTransformContextPtr ctxt);
114
+
115
+ XSLTPUBFUN void XSLTCALL
116
+ xsltShutdownExts (xsltStylesheetPtr style);
117
+
118
+ XSLTPUBFUN xsltTransformContextPtr XSLTCALL
119
+ xsltXPathGetTransformContext
120
+ (xmlXPathParserContextPtr ctxt);
121
+
122
+ /*
123
+ * extension functions
124
+ */
125
+ XSLTPUBFUN int XSLTCALL
126
+ xsltRegisterExtModuleFunction
127
+ (const xmlChar *name,
128
+ const xmlChar *URI,
129
+ xmlXPathFunction function);
130
+ XSLTPUBFUN xmlXPathFunction XSLTCALL
131
+ xsltExtModuleFunctionLookup (const xmlChar *name,
132
+ const xmlChar *URI);
133
+ XSLTPUBFUN int XSLTCALL
134
+ xsltUnregisterExtModuleFunction
135
+ (const xmlChar *name,
136
+ const xmlChar *URI);
137
+
138
+ /*
139
+ * extension elements
140
+ */
141
+ typedef xsltElemPreCompPtr (*xsltPreComputeFunction)
142
+ (xsltStylesheetPtr style,
143
+ xmlNodePtr inst,
144
+ xsltTransformFunction function);
145
+
146
+ XSLTPUBFUN xsltElemPreCompPtr XSLTCALL
147
+ xsltNewElemPreComp (xsltStylesheetPtr style,
148
+ xmlNodePtr inst,
149
+ xsltTransformFunction function);
150
+ XSLTPUBFUN void XSLTCALL
151
+ xsltInitElemPreComp (xsltElemPreCompPtr comp,
152
+ xsltStylesheetPtr style,
153
+ xmlNodePtr inst,
154
+ xsltTransformFunction function,
155
+ xsltElemPreCompDeallocator freeFunc);
156
+
157
+ XSLTPUBFUN int XSLTCALL
158
+ xsltRegisterExtModuleElement
159
+ (const xmlChar *name,
160
+ const xmlChar *URI,
161
+ xsltPreComputeFunction precomp,
162
+ xsltTransformFunction transform);
163
+ XSLTPUBFUN xsltTransformFunction XSLTCALL
164
+ xsltExtElementLookup (xsltTransformContextPtr ctxt,
165
+ const xmlChar *name,
166
+ const xmlChar *URI);
167
+ XSLTPUBFUN xsltTransformFunction XSLTCALL
168
+ xsltExtModuleElementLookup
169
+ (const xmlChar *name,
170
+ const xmlChar *URI);
171
+ XSLTPUBFUN xsltPreComputeFunction XSLTCALL
172
+ xsltExtModuleElementPreComputeLookup
173
+ (const xmlChar *name,
174
+ const xmlChar *URI);
175
+ XSLTPUBFUN int XSLTCALL
176
+ xsltUnregisterExtModuleElement
177
+ (const xmlChar *name,
178
+ const xmlChar *URI);
179
+
180
+ /*
181
+ * top-level elements
182
+ */
183
+ typedef void (*xsltTopLevelFunction) (xsltStylesheetPtr style,
184
+ xmlNodePtr inst);
185
+
186
+ XSLTPUBFUN int XSLTCALL
187
+ xsltRegisterExtModuleTopLevel
188
+ (const xmlChar *name,
189
+ const xmlChar *URI,
190
+ xsltTopLevelFunction function);
191
+ XSLTPUBFUN xsltTopLevelFunction XSLTCALL
192
+ xsltExtModuleTopLevelLookup
193
+ (const xmlChar *name,
194
+ const xmlChar *URI);
195
+ XSLTPUBFUN int XSLTCALL
196
+ xsltUnregisterExtModuleTopLevel
197
+ (const xmlChar *name,
198
+ const xmlChar *URI);
199
+
200
+
201
+ /* These 2 functions are deprecated for use within modules. */
202
+ XSLTPUBFUN int XSLTCALL
203
+ xsltRegisterExtFunction (xsltTransformContextPtr ctxt,
204
+ const xmlChar *name,
205
+ const xmlChar *URI,
206
+ xmlXPathFunction function);
207
+ XSLTPUBFUN int XSLTCALL
208
+ xsltRegisterExtElement (xsltTransformContextPtr ctxt,
209
+ const xmlChar *name,
210
+ const xmlChar *URI,
211
+ xsltTransformFunction function);
212
+
213
+ /*
214
+ * Extension Prefix handling API.
215
+ * Those are used by the XSLT (pre)processor.
216
+ */
217
+
218
+ XSLTPUBFUN int XSLTCALL
219
+ xsltRegisterExtPrefix (xsltStylesheetPtr style,
220
+ const xmlChar *prefix,
221
+ const xmlChar *URI);
222
+ XSLTPUBFUN int XSLTCALL
223
+ xsltCheckExtPrefix (xsltStylesheetPtr style,
224
+ const xmlChar *URI);
225
+ XSLTPUBFUN int XSLTCALL
226
+ xsltCheckExtURI (xsltStylesheetPtr style,
227
+ const xmlChar *URI);
228
+ XSLTPUBFUN int XSLTCALL
229
+ xsltInitCtxtExts (xsltTransformContextPtr ctxt);
230
+ XSLTPUBFUN void XSLTCALL
231
+ xsltFreeCtxtExts (xsltTransformContextPtr ctxt);
232
+ XSLTPUBFUN void XSLTCALL
233
+ xsltFreeExts (xsltStylesheetPtr style);
234
+
235
+ XSLTPUBFUN xsltElemPreCompPtr XSLTCALL
236
+ xsltPreComputeExtModuleElement
237
+ (xsltStylesheetPtr style,
238
+ xmlNodePtr inst);
239
+ /*
240
+ * Extension Infos access.
241
+ * Used by exslt initialisation
242
+ */
243
+
244
+ XSLTPUBFUN xmlHashTablePtr XSLTCALL
245
+ xsltGetExtInfo (xsltStylesheetPtr style,
246
+ const xmlChar *URI);
247
+
248
+ /**
249
+ * Test module http://xmlsoft.org/XSLT/
250
+ */
251
+ XSLTPUBFUN void XSLTCALL
252
+ xsltRegisterTestModule (void);
253
+ XSLTPUBFUN void XSLTCALL
254
+ xsltDebugDumpExtensions (FILE * output);
255
+
256
+
257
+ #ifdef __cplusplus
258
+ }
259
+ #endif
260
+
261
+ #endif /* __XML_XSLT_EXTENSION_H__ */
262
+
@@ -0,0 +1,72 @@
1
+ /*
2
+ * Summary: interface for the non-standard features
3
+ * Description: implement some extension outside the XSLT namespace
4
+ * but not EXSLT with is in a different library.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_XSLT_EXTRA_H__
12
+ #define __XML_XSLT_EXTRA_H__
13
+
14
+ #include <libxml/xpath.h>
15
+ #include "xsltexports.h"
16
+ #include "xsltInternals.h"
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+
22
+ /**
23
+ * XSLT_LIBXSLT_NAMESPACE:
24
+ *
25
+ * This is the libxslt namespace for specific extensions.
26
+ */
27
+ #define XSLT_LIBXSLT_NAMESPACE ((xmlChar *) "http://xmlsoft.org/XSLT/namespace")
28
+
29
+ /**
30
+ * XSLT_SAXON_NAMESPACE:
31
+ *
32
+ * This is Michael Kay's Saxon processor namespace for extensions.
33
+ */
34
+ #define XSLT_SAXON_NAMESPACE ((xmlChar *) "http://icl.com/saxon")
35
+
36
+ /**
37
+ * XSLT_XT_NAMESPACE:
38
+ *
39
+ * This is James Clark's XT processor namespace for extensions.
40
+ */
41
+ #define XSLT_XT_NAMESPACE ((xmlChar *) "http://www.jclark.com/xt")
42
+
43
+ /**
44
+ * XSLT_XALAN_NAMESPACE:
45
+ *
46
+ * This is the Apache project XALAN processor namespace for extensions.
47
+ */
48
+ #define XSLT_XALAN_NAMESPACE ((xmlChar *) \
49
+ "org.apache.xalan.xslt.extensions.Redirect")
50
+
51
+
52
+ XSLTPUBFUN void XSLTCALL
53
+ xsltFunctionNodeSet (xmlXPathParserContextPtr ctxt,
54
+ int nargs);
55
+ XSLTPUBFUN void XSLTCALL
56
+ xsltDebug (xsltTransformContextPtr ctxt,
57
+ xmlNodePtr node,
58
+ xmlNodePtr inst,
59
+ xsltElemPreCompPtr comp);
60
+
61
+
62
+ XSLTPUBFUN void XSLTCALL
63
+ xsltRegisterExtras (xsltTransformContextPtr ctxt);
64
+ XSLTPUBFUN void XSLTCALL
65
+ xsltRegisterAllExtras (void);
66
+
67
+ #ifdef __cplusplus
68
+ }
69
+ #endif
70
+
71
+ #endif /* __XML_XSLT_EXTRA_H__ */
72
+
@@ -0,0 +1,78 @@
1
+ /*
2
+ * Summary: interface for the XSLT functions not from XPath
3
+ * Description: a set of extra functions coming from XSLT but not in XPath
4
+ *
5
+ * Copy: See Copyright for the status of this software.
6
+ *
7
+ * Author: Daniel Veillard and Bjorn Reese <breese@users.sourceforge.net>
8
+ */
9
+
10
+ #ifndef __XML_XSLT_FUNCTIONS_H__
11
+ #define __XML_XSLT_FUNCTIONS_H__
12
+
13
+ #include <libxml/xpath.h>
14
+ #include <libxml/xpathInternals.h>
15
+ #include "xsltexports.h"
16
+ #include "xsltInternals.h"
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+
22
+ /**
23
+ * XSLT_REGISTER_FUNCTION_LOOKUP:
24
+ *
25
+ * Registering macro, not general purpose at all but used in different modules.
26
+ */
27
+ #define XSLT_REGISTER_FUNCTION_LOOKUP(ctxt) \
28
+ xmlXPathRegisterFuncLookup((ctxt)->xpathCtxt, \
29
+ xsltXPathFunctionLookup, \
30
+ (void *)(ctxt->xpathCtxt));
31
+
32
+ XSLTPUBFUN xmlXPathFunction XSLTCALL
33
+ xsltXPathFunctionLookup (void *vctxt,
34
+ const xmlChar *name,
35
+ const xmlChar *ns_uri);
36
+
37
+ /*
38
+ * Interfaces for the functions implementations.
39
+ */
40
+
41
+ XSLTPUBFUN void XSLTCALL
42
+ xsltDocumentFunction (xmlXPathParserContextPtr ctxt,
43
+ int nargs);
44
+ XSLTPUBFUN void XSLTCALL
45
+ xsltKeyFunction (xmlXPathParserContextPtr ctxt,
46
+ int nargs);
47
+ XSLTPUBFUN void XSLTCALL
48
+ xsltUnparsedEntityURIFunction (xmlXPathParserContextPtr ctxt,
49
+ int nargs);
50
+ XSLTPUBFUN void XSLTCALL
51
+ xsltFormatNumberFunction (xmlXPathParserContextPtr ctxt,
52
+ int nargs);
53
+ XSLTPUBFUN void XSLTCALL
54
+ xsltGenerateIdFunction (xmlXPathParserContextPtr ctxt,
55
+ int nargs);
56
+ XSLTPUBFUN void XSLTCALL
57
+ xsltSystemPropertyFunction (xmlXPathParserContextPtr ctxt,
58
+ int nargs);
59
+ XSLTPUBFUN void XSLTCALL
60
+ xsltElementAvailableFunction (xmlXPathParserContextPtr ctxt,
61
+ int nargs);
62
+ XSLTPUBFUN void XSLTCALL
63
+ xsltFunctionAvailableFunction (xmlXPathParserContextPtr ctxt,
64
+ int nargs);
65
+
66
+ /*
67
+ * And the registration
68
+ */
69
+
70
+ XSLTPUBFUN void XSLTCALL
71
+ xsltRegisterAllFunctions (xmlXPathContextPtr ctxt);
72
+
73
+ #ifdef __cplusplus
74
+ }
75
+ #endif
76
+
77
+ #endif /* __XML_XSLT_FUNCTIONS_H__ */
78
+