nokogiri 1.11.0.rc3-x86-mingw32 → 1.11.3-x86-mingw32
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 +4 -4
- data/Gemfile +3 -0
- data/LICENSE-DEPENDENCIES.md +1015 -947
- data/LICENSE.md +1 -1
- data/README.md +168 -91
- data/ext/nokogiri/depend +37 -358
- data/ext/nokogiri/extconf.rb +581 -374
- data/ext/nokogiri/html_document.c +78 -82
- data/ext/nokogiri/html_element_description.c +84 -71
- data/ext/nokogiri/html_entity_lookup.c +21 -16
- data/ext/nokogiri/html_sax_parser_context.c +69 -66
- data/ext/nokogiri/html_sax_push_parser.c +42 -34
- 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 +126 -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 +1241 -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 +366 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +945 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +153 -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 +566 -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 +192 -93
- data/ext/nokogiri/nokogiri.h +177 -98
- data/ext/nokogiri/test_global_handlers.c +40 -0
- data/ext/nokogiri/xml_attr.c +15 -15
- data/ext/nokogiri/xml_attribute_decl.c +18 -18
- data/ext/nokogiri/xml_cdata.c +13 -18
- data/ext/nokogiri/xml_comment.c +19 -26
- data/ext/nokogiri/xml_document.c +246 -188
- data/ext/nokogiri/xml_document_fragment.c +13 -15
- data/ext/nokogiri/xml_dtd.c +54 -48
- data/ext/nokogiri/xml_element_content.c +30 -27
- data/ext/nokogiri/xml_element_decl.c +22 -22
- data/ext/nokogiri/xml_encoding_handler.c +17 -11
- data/ext/nokogiri/xml_entity_decl.c +32 -30
- data/ext/nokogiri/xml_entity_reference.c +16 -18
- data/ext/nokogiri/xml_namespace.c +56 -49
- data/ext/nokogiri/xml_node.c +371 -320
- data/ext/nokogiri/xml_node_set.c +168 -156
- data/ext/nokogiri/xml_processing_instruction.c +17 -19
- data/ext/nokogiri/xml_reader.c +191 -157
- data/ext/nokogiri/xml_relax_ng.c +52 -28
- data/ext/nokogiri/xml_sax_parser.c +118 -118
- data/ext/nokogiri/xml_sax_parser_context.c +103 -86
- data/ext/nokogiri/xml_sax_push_parser.c +36 -27
- data/ext/nokogiri/xml_schema.c +95 -47
- data/ext/nokogiri/xml_syntax_error.c +42 -21
- data/ext/nokogiri/xml_text.c +13 -17
- data/ext/nokogiri/xml_xpath_context.c +206 -123
- data/ext/nokogiri/xslt_stylesheet.c +158 -161
- data/lib/nokogiri.rb +3 -7
- data/lib/nokogiri/2.5/nokogiri.so +0 -0
- data/lib/nokogiri/2.6/nokogiri.so +0 -0
- data/lib/nokogiri/2.7/nokogiri.so +0 -0
- data/lib/nokogiri/3.0/nokogiri.so +0 -0
- data/lib/nokogiri/css/parser.rb +3 -3
- data/lib/nokogiri/css/parser.y +2 -2
- data/lib/nokogiri/css/xpath_visitor.rb +70 -42
- data/lib/nokogiri/extension.rb +26 -0
- data/lib/nokogiri/html/document.rb +12 -26
- data/lib/nokogiri/html/document_fragment.rb +15 -15
- data/lib/nokogiri/version.rb +2 -149
- data/lib/nokogiri/version/constant.rb +5 -0
- data/lib/nokogiri/version/info.rb +205 -0
- data/lib/nokogiri/xml/document.rb +91 -35
- data/lib/nokogiri/xml/document_fragment.rb +4 -6
- data/lib/nokogiri/xml/node.rb +89 -69
- data/lib/nokogiri/xml/parse_options.rb +6 -0
- data/lib/nokogiri/xml/reader.rb +2 -9
- data/lib/nokogiri/xml/relax_ng.rb +6 -2
- data/lib/nokogiri/xml/schema.rb +12 -4
- data/lib/nokogiri/xml/searchable.rb +3 -1
- data/lib/nokogiri/xml/xpath.rb +1 -3
- data/lib/nokogiri/xml/xpath/syntax_error.rb +1 -1
- metadata +150 -171
- data/ext/nokogiri/html_document.h +0 -10
- data/ext/nokogiri/html_element_description.h +0 -10
- data/ext/nokogiri/html_entity_lookup.h +0 -8
- data/ext/nokogiri/html_sax_parser_context.h +0 -11
- data/ext/nokogiri/html_sax_push_parser.h +0 -9
- data/ext/nokogiri/xml_attr.h +0 -9
- data/ext/nokogiri/xml_attribute_decl.h +0 -9
- data/ext/nokogiri/xml_cdata.h +0 -9
- data/ext/nokogiri/xml_comment.h +0 -9
- data/ext/nokogiri/xml_document.h +0 -23
- data/ext/nokogiri/xml_document_fragment.h +0 -10
- data/ext/nokogiri/xml_dtd.h +0 -10
- data/ext/nokogiri/xml_element_content.h +0 -10
- data/ext/nokogiri/xml_element_decl.h +0 -9
- data/ext/nokogiri/xml_encoding_handler.h +0 -8
- data/ext/nokogiri/xml_entity_decl.h +0 -10
- data/ext/nokogiri/xml_entity_reference.h +0 -9
- data/ext/nokogiri/xml_io.c +0 -63
- data/ext/nokogiri/xml_io.h +0 -11
- data/ext/nokogiri/xml_libxml2_hacks.c +0 -112
- data/ext/nokogiri/xml_libxml2_hacks.h +0 -12
- data/ext/nokogiri/xml_namespace.h +0 -14
- data/ext/nokogiri/xml_node.h +0 -13
- data/ext/nokogiri/xml_node_set.h +0 -12
- data/ext/nokogiri/xml_processing_instruction.h +0 -9
- data/ext/nokogiri/xml_reader.h +0 -10
- data/ext/nokogiri/xml_relax_ng.h +0 -9
- data/ext/nokogiri/xml_sax_parser.h +0 -39
- data/ext/nokogiri/xml_sax_parser_context.h +0 -10
- data/ext/nokogiri/xml_sax_push_parser.h +0 -9
- data/ext/nokogiri/xml_schema.h +0 -9
- data/ext/nokogiri/xml_syntax_error.h +0 -13
- data/ext/nokogiri/xml_text.h +0 -9
- data/ext/nokogiri/xml_xpath_context.h +0 -10
- data/ext/nokogiri/xslt_stylesheet.h +0 -14
- 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
|
+
|