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.
- checksums.yaml +7 -0
- data/Gemfile +5 -0
- data/LICENSE-DEPENDENCIES.md +1903 -0
- data/LICENSE.md +9 -0
- data/README.md +280 -0
- data/bin/nokogiri +131 -0
- data/dependencies.yml +73 -0
- data/ext/nokogiri/depend +38 -0
- data/ext/nokogiri/extconf.rb +1000 -0
- data/ext/nokogiri/gumbo.c +584 -0
- data/ext/nokogiri/html4_document.c +166 -0
- data/ext/nokogiri/html4_element_description.c +294 -0
- data/ext/nokogiri/html4_entity_lookup.c +37 -0
- data/ext/nokogiri/html4_sax_parser_context.c +120 -0
- data/ext/nokogiri/html4_sax_push_parser.c +95 -0
- data/ext/nokogiri/include/libexslt/exslt.h +102 -0
- data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
- data/ext/nokogiri/include/libexslt/exsltexports.h +140 -0
- data/ext/nokogiri/include/libxml2/libxml/DOCBparser.h +96 -0
- data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +306 -0
- data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
- data/ext/nokogiri/include/libxml2/libxml/SAX.h +173 -0
- data/ext/nokogiri/include/libxml2/libxml/SAX2.h +178 -0
- data/ext/nokogiri/include/libxml2/libxml/c14n.h +128 -0
- data/ext/nokogiri/include/libxml2/libxml/catalog.h +182 -0
- data/ext/nokogiri/include/libxml2/libxml/chvalid.h +230 -0
- data/ext/nokogiri/include/libxml2/libxml/debugXML.h +217 -0
- data/ext/nokogiri/include/libxml2/libxml/dict.h +79 -0
- data/ext/nokogiri/include/libxml2/libxml/encoding.h +245 -0
- data/ext/nokogiri/include/libxml2/libxml/entities.h +151 -0
- data/ext/nokogiri/include/libxml2/libxml/globals.h +508 -0
- data/ext/nokogiri/include/libxml2/libxml/hash.h +236 -0
- data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
- data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +163 -0
- data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
- data/ext/nokogiri/include/libxml2/libxml/parser.h +1243 -0
- data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +644 -0
- data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
- data/ext/nokogiri/include/libxml2/libxml/relaxng.h +217 -0
- data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +958 -0
- data/ext/nokogiri/include/libxml2/libxml/schematron.h +142 -0
- data/ext/nokogiri/include/libxml2/libxml/threads.h +89 -0
- data/ext/nokogiri/include/libxml2/libxml/tree.h +1311 -0
- data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
- data/ext/nokogiri/include/libxml2/libxml/valid.h +458 -0
- data/ext/nokogiri/include/libxml2/libxml/xinclude.h +129 -0
- data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +368 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +946 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +77 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +224 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +428 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +222 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +88 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +246 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +151 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +202 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +485 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
- data/ext/nokogiri/include/libxml2/libxml/xpath.h +564 -0
- data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
- data/ext/nokogiri/include/libxml2/libxml/xpointer.h +114 -0
- data/ext/nokogiri/include/libxslt/attributes.h +38 -0
- data/ext/nokogiri/include/libxslt/documents.h +93 -0
- data/ext/nokogiri/include/libxslt/extensions.h +262 -0
- data/ext/nokogiri/include/libxslt/extra.h +72 -0
- data/ext/nokogiri/include/libxslt/functions.h +78 -0
- data/ext/nokogiri/include/libxslt/imports.h +75 -0
- data/ext/nokogiri/include/libxslt/keys.h +53 -0
- data/ext/nokogiri/include/libxslt/namespaces.h +68 -0
- data/ext/nokogiri/include/libxslt/numbersInternals.h +73 -0
- data/ext/nokogiri/include/libxslt/pattern.h +84 -0
- data/ext/nokogiri/include/libxslt/preproc.h +43 -0
- data/ext/nokogiri/include/libxslt/security.h +104 -0
- data/ext/nokogiri/include/libxslt/templates.h +77 -0
- data/ext/nokogiri/include/libxslt/transform.h +207 -0
- data/ext/nokogiri/include/libxslt/variables.h +118 -0
- data/ext/nokogiri/include/libxslt/xslt.h +110 -0
- data/ext/nokogiri/include/libxslt/xsltInternals.h +1978 -0
- data/ext/nokogiri/include/libxslt/xsltconfig.h +180 -0
- data/ext/nokogiri/include/libxslt/xsltexports.h +142 -0
- data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
- data/ext/nokogiri/include/libxslt/xsltutils.h +313 -0
- data/ext/nokogiri/libxml2_backwards_compat.c +121 -0
- data/ext/nokogiri/nokogiri.c +278 -0
- data/ext/nokogiri/nokogiri.h +223 -0
- data/ext/nokogiri/test_global_handlers.c +40 -0
- data/ext/nokogiri/xml_attr.c +103 -0
- data/ext/nokogiri/xml_attribute_decl.c +70 -0
- data/ext/nokogiri/xml_cdata.c +57 -0
- data/ext/nokogiri/xml_comment.c +62 -0
- data/ext/nokogiri/xml_document.c +680 -0
- data/ext/nokogiri/xml_document_fragment.c +44 -0
- data/ext/nokogiri/xml_dtd.c +208 -0
- data/ext/nokogiri/xml_element_content.c +128 -0
- data/ext/nokogiri/xml_element_decl.c +69 -0
- data/ext/nokogiri/xml_encoding_handler.c +104 -0
- data/ext/nokogiri/xml_entity_decl.c +112 -0
- data/ext/nokogiri/xml_entity_reference.c +50 -0
- data/ext/nokogiri/xml_namespace.c +120 -0
- data/ext/nokogiri/xml_node.c +2144 -0
- data/ext/nokogiri/xml_node_set.c +498 -0
- data/ext/nokogiri/xml_processing_instruction.c +54 -0
- data/ext/nokogiri/xml_reader.c +719 -0
- data/ext/nokogiri/xml_relax_ng.c +185 -0
- data/ext/nokogiri/xml_sax_parser.c +310 -0
- data/ext/nokogiri/xml_sax_parser_context.c +281 -0
- data/ext/nokogiri/xml_sax_push_parser.c +168 -0
- data/ext/nokogiri/xml_schema.c +284 -0
- data/ext/nokogiri/xml_syntax_error.c +85 -0
- data/ext/nokogiri/xml_text.c +48 -0
- data/ext/nokogiri/xml_xpath_context.c +406 -0
- data/ext/nokogiri/xslt_stylesheet.c +264 -0
- data/gumbo-parser/CHANGES.md +63 -0
- data/gumbo-parser/Makefile +101 -0
- data/gumbo-parser/THANKS +27 -0
- data/lib/nokogiri/3.1/nokogiri.so +0 -0
- data/lib/nokogiri/class_resolver.rb +67 -0
- data/lib/nokogiri/css/node.rb +54 -0
- data/lib/nokogiri/css/parser.rb +759 -0
- data/lib/nokogiri/css/parser.y +280 -0
- data/lib/nokogiri/css/parser_extras.rb +94 -0
- data/lib/nokogiri/css/syntax_error.rb +9 -0
- data/lib/nokogiri/css/tokenizer.rb +155 -0
- data/lib/nokogiri/css/tokenizer.rex +56 -0
- data/lib/nokogiri/css/xpath_visitor.rb +359 -0
- data/lib/nokogiri/css.rb +60 -0
- data/lib/nokogiri/decorators/slop.rb +44 -0
- data/lib/nokogiri/extension.rb +31 -0
- data/lib/nokogiri/gumbo.rb +15 -0
- data/lib/nokogiri/html.rb +48 -0
- data/lib/nokogiri/html4/builder.rb +37 -0
- data/lib/nokogiri/html4/document.rb +331 -0
- data/lib/nokogiri/html4/document_fragment.rb +54 -0
- data/lib/nokogiri/html4/element_description.rb +25 -0
- data/lib/nokogiri/html4/element_description_defaults.rb +578 -0
- data/lib/nokogiri/html4/entity_lookup.rb +15 -0
- data/lib/nokogiri/html4/sax/parser.rb +61 -0
- data/lib/nokogiri/html4/sax/parser_context.rb +20 -0
- data/lib/nokogiri/html4/sax/push_parser.rb +37 -0
- data/lib/nokogiri/html4.rb +46 -0
- data/lib/nokogiri/html5/document.rb +88 -0
- data/lib/nokogiri/html5/document_fragment.rb +83 -0
- data/lib/nokogiri/html5/node.rb +96 -0
- data/lib/nokogiri/html5.rb +477 -0
- data/lib/nokogiri/jruby/dependencies.rb +21 -0
- data/lib/nokogiri/syntax_error.rb +6 -0
- data/lib/nokogiri/version/constant.rb +6 -0
- data/lib/nokogiri/version/info.rb +221 -0
- data/lib/nokogiri/version.rb +4 -0
- data/lib/nokogiri/xml/attr.rb +17 -0
- data/lib/nokogiri/xml/attribute_decl.rb +20 -0
- data/lib/nokogiri/xml/builder.rb +485 -0
- data/lib/nokogiri/xml/cdata.rb +13 -0
- data/lib/nokogiri/xml/character_data.rb +9 -0
- data/lib/nokogiri/xml/document.rb +418 -0
- data/lib/nokogiri/xml/document_fragment.rb +162 -0
- data/lib/nokogiri/xml/dtd.rb +34 -0
- data/lib/nokogiri/xml/element_content.rb +38 -0
- data/lib/nokogiri/xml/element_decl.rb +15 -0
- data/lib/nokogiri/xml/entity_decl.rb +21 -0
- data/lib/nokogiri/xml/entity_reference.rb +20 -0
- data/lib/nokogiri/xml/namespace.rb +16 -0
- data/lib/nokogiri/xml/node/save_options.rb +65 -0
- data/lib/nokogiri/xml/node.rb +1402 -0
- data/lib/nokogiri/xml/node_set.rb +364 -0
- data/lib/nokogiri/xml/notation.rb +19 -0
- data/lib/nokogiri/xml/parse_options.rb +133 -0
- data/lib/nokogiri/xml/pp/character_data.rb +21 -0
- data/lib/nokogiri/xml/pp/node.rb +55 -0
- data/lib/nokogiri/xml/pp.rb +4 -0
- data/lib/nokogiri/xml/processing_instruction.rb +10 -0
- data/lib/nokogiri/xml/reader.rb +107 -0
- data/lib/nokogiri/xml/relax_ng.rb +38 -0
- data/lib/nokogiri/xml/sax/document.rb +167 -0
- data/lib/nokogiri/xml/sax/parser.rb +125 -0
- data/lib/nokogiri/xml/sax/parser_context.rb +21 -0
- data/lib/nokogiri/xml/sax/push_parser.rb +61 -0
- data/lib/nokogiri/xml/sax.rb +6 -0
- data/lib/nokogiri/xml/schema.rb +73 -0
- data/lib/nokogiri/xml/searchable.rb +259 -0
- data/lib/nokogiri/xml/syntax_error.rb +71 -0
- data/lib/nokogiri/xml/text.rb +11 -0
- data/lib/nokogiri/xml/xpath/syntax_error.rb +13 -0
- data/lib/nokogiri/xml/xpath.rb +21 -0
- data/lib/nokogiri/xml/xpath_context.rb +16 -0
- data/lib/nokogiri/xml.rb +75 -0
- data/lib/nokogiri/xslt/stylesheet.rb +27 -0
- data/lib/nokogiri/xslt.rb +58 -0
- data/lib/nokogiri.rb +128 -0
- data/lib/xsd/xmlparser/nokogiri.rb +104 -0
- 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
|
+
|