nokogiri 1.18.0.rc1-x86_64-linux-musl
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +38 -0
- data/LICENSE-DEPENDENCIES.md +2224 -0
- data/LICENSE.md +9 -0
- data/README.md +293 -0
- data/bin/nokogiri +131 -0
- data/dependencies.yml +42 -0
- data/ext/nokogiri/depend +38 -0
- data/ext/nokogiri/extconf.rb +1173 -0
- data/ext/nokogiri/gumbo.c +610 -0
- data/ext/nokogiri/html4_document.c +171 -0
- data/ext/nokogiri/html4_element_description.c +299 -0
- data/ext/nokogiri/html4_entity_lookup.c +37 -0
- data/ext/nokogiri/html4_sax_parser.c +40 -0
- data/ext/nokogiri/html4_sax_parser_context.c +98 -0
- data/ext/nokogiri/html4_sax_push_parser.c +96 -0
- data/ext/nokogiri/include/libexslt/exslt.h +108 -0
- data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
- data/ext/nokogiri/include/libexslt/exsltexports.h +63 -0
- data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +336 -0
- data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
- data/ext/nokogiri/include/libxml2/libxml/SAX.h +202 -0
- data/ext/nokogiri/include/libxml2/libxml/SAX2.h +171 -0
- data/ext/nokogiri/include/libxml2/libxml/c14n.h +115 -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 +82 -0
- data/ext/nokogiri/include/libxml2/libxml/encoding.h +244 -0
- data/ext/nokogiri/include/libxml2/libxml/entities.h +166 -0
- data/ext/nokogiri/include/libxml2/libxml/globals.h +41 -0
- data/ext/nokogiri/include/libxml2/libxml/hash.h +251 -0
- data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
- data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +186 -0
- data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +98 -0
- data/ext/nokogiri/include/libxml2/libxml/parser.h +1390 -0
- data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +671 -0
- data/ext/nokogiri/include/libxml2/libxml/pattern.h +106 -0
- data/ext/nokogiri/include/libxml2/libxml/relaxng.h +219 -0
- data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +959 -0
- data/ext/nokogiri/include/libxml2/libxml/schematron.h +143 -0
- data/ext/nokogiri/include/libxml2/libxml/threads.h +87 -0
- data/ext/nokogiri/include/libxml2/libxml/tree.h +1382 -0
- data/ext/nokogiri/include/libxml2/libxml/uri.h +106 -0
- data/ext/nokogiri/include/libxml2/libxml/valid.h +477 -0
- data/ext/nokogiri/include/libxml2/libxml/xinclude.h +136 -0
- data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +438 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +962 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +146 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +188 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +436 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +215 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +102 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +249 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +152 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +366 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +347 -0
- data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +489 -0
- data/ext/nokogiri/include/libxml2/libxml/xpath.h +579 -0
- data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +633 -0
- data/ext/nokogiri/include/libxml2/libxml/xpointer.h +138 -0
- data/ext/nokogiri/include/libxslt/attributes.h +39 -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 +1995 -0
- data/ext/nokogiri/include/libxslt/xsltconfig.h +146 -0
- data/ext/nokogiri/include/libxslt/xsltexports.h +64 -0
- data/ext/nokogiri/include/libxslt/xsltlocale.h +44 -0
- data/ext/nokogiri/include/libxslt/xsltutils.h +343 -0
- data/ext/nokogiri/libxml2_polyfill.c +114 -0
- data/ext/nokogiri/nokogiri.c +294 -0
- data/ext/nokogiri/nokogiri.h +238 -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 +62 -0
- data/ext/nokogiri/xml_comment.c +57 -0
- data/ext/nokogiri/xml_document.c +784 -0
- data/ext/nokogiri/xml_document_fragment.c +29 -0
- data/ext/nokogiri/xml_dtd.c +208 -0
- data/ext/nokogiri/xml_element_content.c +131 -0
- data/ext/nokogiri/xml_element_decl.c +69 -0
- data/ext/nokogiri/xml_encoding_handler.c +112 -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 +181 -0
- data/ext/nokogiri/xml_node.c +2459 -0
- data/ext/nokogiri/xml_node_set.c +518 -0
- data/ext/nokogiri/xml_processing_instruction.c +54 -0
- data/ext/nokogiri/xml_reader.c +777 -0
- data/ext/nokogiri/xml_relax_ng.c +149 -0
- data/ext/nokogiri/xml_sax_parser.c +403 -0
- data/ext/nokogiri/xml_sax_parser_context.c +390 -0
- data/ext/nokogiri/xml_sax_push_parser.c +206 -0
- data/ext/nokogiri/xml_schema.c +226 -0
- data/ext/nokogiri/xml_syntax_error.c +93 -0
- data/ext/nokogiri/xml_text.c +59 -0
- data/ext/nokogiri/xml_xpath_context.c +502 -0
- data/ext/nokogiri/xslt_stylesheet.c +421 -0
- data/gumbo-parser/CHANGES.md +63 -0
- data/gumbo-parser/Makefile +129 -0
- data/gumbo-parser/THANKS +27 -0
- data/lib/nokogiri/3.1/nokogiri.so +0 -0
- data/lib/nokogiri/3.2/nokogiri.so +0 -0
- data/lib/nokogiri/3.3/nokogiri.so +0 -0
- data/lib/nokogiri/3.4/nokogiri.so +0 -0
- data/lib/nokogiri/class_resolver.rb +67 -0
- data/lib/nokogiri/css/node.rb +58 -0
- data/lib/nokogiri/css/parser.rb +772 -0
- data/lib/nokogiri/css/parser.y +277 -0
- data/lib/nokogiri/css/parser_extras.rb +36 -0
- data/lib/nokogiri/css/selector_cache.rb +38 -0
- data/lib/nokogiri/css/syntax_error.rb +9 -0
- data/lib/nokogiri/css/tokenizer.rb +155 -0
- data/lib/nokogiri/css/tokenizer.rex +57 -0
- data/lib/nokogiri/css/xpath_visitor.rb +375 -0
- data/lib/nokogiri/css.rb +132 -0
- data/lib/nokogiri/decorators/slop.rb +42 -0
- data/lib/nokogiri/encoding_handler.rb +57 -0
- data/lib/nokogiri/extension.rb +32 -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 +235 -0
- data/lib/nokogiri/html4/document_fragment.rb +166 -0
- data/lib/nokogiri/html4/element_description.rb +25 -0
- data/lib/nokogiri/html4/element_description_defaults.rb +2040 -0
- data/lib/nokogiri/html4/encoding_reader.rb +121 -0
- data/lib/nokogiri/html4/entity_lookup.rb +15 -0
- data/lib/nokogiri/html4/sax/parser.rb +48 -0
- data/lib/nokogiri/html4/sax/parser_context.rb +15 -0
- data/lib/nokogiri/html4/sax/push_parser.rb +37 -0
- data/lib/nokogiri/html4.rb +42 -0
- data/lib/nokogiri/html5/builder.rb +40 -0
- data/lib/nokogiri/html5/document.rb +199 -0
- data/lib/nokogiri/html5/document_fragment.rb +200 -0
- data/lib/nokogiri/html5/node.rb +103 -0
- data/lib/nokogiri/html5.rb +368 -0
- data/lib/nokogiri/jruby/dependencies.rb +3 -0
- data/lib/nokogiri/jruby/nokogiri_jars.rb +43 -0
- data/lib/nokogiri/syntax_error.rb +6 -0
- data/lib/nokogiri/version/constant.rb +6 -0
- data/lib/nokogiri/version/info.rb +224 -0
- data/lib/nokogiri/version.rb +4 -0
- data/lib/nokogiri/xml/attr.rb +66 -0
- data/lib/nokogiri/xml/attribute_decl.rb +22 -0
- data/lib/nokogiri/xml/builder.rb +494 -0
- data/lib/nokogiri/xml/cdata.rb +13 -0
- data/lib/nokogiri/xml/character_data.rb +9 -0
- data/lib/nokogiri/xml/document.rb +514 -0
- data/lib/nokogiri/xml/document_fragment.rb +276 -0
- data/lib/nokogiri/xml/dtd.rb +34 -0
- data/lib/nokogiri/xml/element_content.rb +46 -0
- data/lib/nokogiri/xml/element_decl.rb +17 -0
- data/lib/nokogiri/xml/entity_decl.rb +23 -0
- data/lib/nokogiri/xml/entity_reference.rb +20 -0
- data/lib/nokogiri/xml/namespace.rb +57 -0
- data/lib/nokogiri/xml/node/save_options.rb +76 -0
- data/lib/nokogiri/xml/node.rb +1650 -0
- data/lib/nokogiri/xml/node_set.rb +449 -0
- data/lib/nokogiri/xml/notation.rb +19 -0
- data/lib/nokogiri/xml/parse_options.rb +213 -0
- data/lib/nokogiri/xml/pp/character_data.rb +21 -0
- data/lib/nokogiri/xml/pp/node.rb +73 -0
- data/lib/nokogiri/xml/pp.rb +4 -0
- data/lib/nokogiri/xml/processing_instruction.rb +11 -0
- data/lib/nokogiri/xml/reader.rb +139 -0
- data/lib/nokogiri/xml/relax_ng.rb +75 -0
- data/lib/nokogiri/xml/sax/document.rb +258 -0
- data/lib/nokogiri/xml/sax/parser.rb +199 -0
- data/lib/nokogiri/xml/sax/parser_context.rb +129 -0
- data/lib/nokogiri/xml/sax/push_parser.rb +64 -0
- data/lib/nokogiri/xml/sax.rb +54 -0
- data/lib/nokogiri/xml/schema.rb +140 -0
- data/lib/nokogiri/xml/searchable.rb +297 -0
- data/lib/nokogiri/xml/syntax_error.rb +94 -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 +49 -0
- data/lib/nokogiri/xml.rb +65 -0
- data/lib/nokogiri/xslt/stylesheet.rb +49 -0
- data/lib/nokogiri/xslt.rb +129 -0
- data/lib/nokogiri.rb +128 -0
- data/lib/xsd/xmlparser/nokogiri.rb +105 -0
- metadata +324 -0
@@ -0,0 +1,75 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: interface for the XSLT import support
|
3
|
+
* Description: macros and fuctions needed to implement and
|
4
|
+
* access the import tree
|
5
|
+
*
|
6
|
+
* Copy: See Copyright for the status of this software.
|
7
|
+
*
|
8
|
+
* Author: Daniel Veillard
|
9
|
+
*/
|
10
|
+
|
11
|
+
#ifndef __XML_XSLT_IMPORTS_H__
|
12
|
+
#define __XML_XSLT_IMPORTS_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
|
+
* XSLT_GET_IMPORT_PTR:
|
24
|
+
*
|
25
|
+
* A macro to import pointers from the stylesheet cascading order.
|
26
|
+
*/
|
27
|
+
#define XSLT_GET_IMPORT_PTR(res, style, name) { \
|
28
|
+
xsltStylesheetPtr st = style; \
|
29
|
+
res = NULL; \
|
30
|
+
while (st != NULL) { \
|
31
|
+
if (st->name != NULL) { res = st->name; break; } \
|
32
|
+
st = xsltNextImport(st); \
|
33
|
+
}}
|
34
|
+
|
35
|
+
/**
|
36
|
+
* XSLT_GET_IMPORT_INT:
|
37
|
+
*
|
38
|
+
* A macro to import intergers from the stylesheet cascading order.
|
39
|
+
*/
|
40
|
+
#define XSLT_GET_IMPORT_INT(res, style, name) { \
|
41
|
+
xsltStylesheetPtr st = style; \
|
42
|
+
res = -1; \
|
43
|
+
while (st != NULL) { \
|
44
|
+
if (st->name != -1) { res = st->name; break; } \
|
45
|
+
st = xsltNextImport(st); \
|
46
|
+
}}
|
47
|
+
|
48
|
+
/*
|
49
|
+
* Module interfaces
|
50
|
+
*/
|
51
|
+
XSLTPUBFUN int XSLTCALL
|
52
|
+
xsltParseStylesheetImport(xsltStylesheetPtr style,
|
53
|
+
xmlNodePtr cur);
|
54
|
+
XSLTPUBFUN int XSLTCALL
|
55
|
+
xsltParseStylesheetInclude
|
56
|
+
(xsltStylesheetPtr style,
|
57
|
+
xmlNodePtr cur);
|
58
|
+
XSLTPUBFUN xsltStylesheetPtr XSLTCALL
|
59
|
+
xsltNextImport (xsltStylesheetPtr style);
|
60
|
+
XSLTPUBFUN int XSLTCALL
|
61
|
+
xsltNeedElemSpaceHandling(xsltTransformContextPtr ctxt);
|
62
|
+
XSLTPUBFUN int XSLTCALL
|
63
|
+
xsltFindElemSpaceHandling(xsltTransformContextPtr ctxt,
|
64
|
+
xmlNodePtr node);
|
65
|
+
XSLTPUBFUN xsltTemplatePtr XSLTCALL
|
66
|
+
xsltFindTemplate (xsltTransformContextPtr ctxt,
|
67
|
+
const xmlChar *name,
|
68
|
+
const xmlChar *nameURI);
|
69
|
+
|
70
|
+
#ifdef __cplusplus
|
71
|
+
}
|
72
|
+
#endif
|
73
|
+
|
74
|
+
#endif /* __XML_XSLT_IMPORTS_H__ */
|
75
|
+
|
@@ -0,0 +1,53 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: interface for the key matching used in key() and template matches.
|
3
|
+
* Description: implementation of the key mechanims.
|
4
|
+
*
|
5
|
+
* Copy: See Copyright for the status of this software.
|
6
|
+
*
|
7
|
+
* Author: Daniel Veillard
|
8
|
+
*/
|
9
|
+
|
10
|
+
#ifndef __XML_XSLT_KEY_H__
|
11
|
+
#define __XML_XSLT_KEY_H__
|
12
|
+
|
13
|
+
#include <libxml/xpath.h>
|
14
|
+
#include "xsltexports.h"
|
15
|
+
#include "xsltInternals.h"
|
16
|
+
|
17
|
+
#ifdef __cplusplus
|
18
|
+
extern "C" {
|
19
|
+
#endif
|
20
|
+
|
21
|
+
/**
|
22
|
+
* NODE_IS_KEYED:
|
23
|
+
*
|
24
|
+
* check for bit 15 set
|
25
|
+
*/
|
26
|
+
#define NODE_IS_KEYED (1 >> 15)
|
27
|
+
|
28
|
+
XSLTPUBFUN int XSLTCALL
|
29
|
+
xsltAddKey (xsltStylesheetPtr style,
|
30
|
+
const xmlChar *name,
|
31
|
+
const xmlChar *nameURI,
|
32
|
+
const xmlChar *match,
|
33
|
+
const xmlChar *use,
|
34
|
+
xmlNodePtr inst);
|
35
|
+
XSLTPUBFUN xmlNodeSetPtr XSLTCALL
|
36
|
+
xsltGetKey (xsltTransformContextPtr ctxt,
|
37
|
+
const xmlChar *name,
|
38
|
+
const xmlChar *nameURI,
|
39
|
+
const xmlChar *value);
|
40
|
+
XSLTPUBFUN void XSLTCALL
|
41
|
+
xsltInitCtxtKeys (xsltTransformContextPtr ctxt,
|
42
|
+
xsltDocumentPtr doc);
|
43
|
+
XSLTPUBFUN void XSLTCALL
|
44
|
+
xsltFreeKeys (xsltStylesheetPtr style);
|
45
|
+
XSLTPUBFUN void XSLTCALL
|
46
|
+
xsltFreeDocumentKeys (xsltDocumentPtr doc);
|
47
|
+
|
48
|
+
#ifdef __cplusplus
|
49
|
+
}
|
50
|
+
#endif
|
51
|
+
|
52
|
+
#endif /* __XML_XSLT_H__ */
|
53
|
+
|
@@ -0,0 +1,68 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: interface for the XSLT namespace handling
|
3
|
+
* Description: set of function easing the processing and generation
|
4
|
+
* of namespace nodes in XSLT.
|
5
|
+
*
|
6
|
+
* Copy: See Copyright for the status of this software.
|
7
|
+
*
|
8
|
+
* Author: Daniel Veillard
|
9
|
+
*/
|
10
|
+
|
11
|
+
#ifndef __XML_XSLT_NAMESPACES_H__
|
12
|
+
#define __XML_XSLT_NAMESPACES_H__
|
13
|
+
|
14
|
+
#include <libxml/tree.h>
|
15
|
+
#include "xsltexports.h"
|
16
|
+
|
17
|
+
#ifdef __cplusplus
|
18
|
+
extern "C" {
|
19
|
+
#endif
|
20
|
+
|
21
|
+
/*
|
22
|
+
* Used within nsAliases hashtable when the default namespace is required
|
23
|
+
* but it's not been explicitly defined
|
24
|
+
*/
|
25
|
+
/**
|
26
|
+
* UNDEFINED_DEFAULT_NS:
|
27
|
+
*
|
28
|
+
* Special value for undefined namespace, internal
|
29
|
+
*/
|
30
|
+
#define UNDEFINED_DEFAULT_NS (const xmlChar *) -1L
|
31
|
+
|
32
|
+
XSLTPUBFUN void XSLTCALL
|
33
|
+
xsltNamespaceAlias (xsltStylesheetPtr style,
|
34
|
+
xmlNodePtr node);
|
35
|
+
XSLTPUBFUN xmlNsPtr XSLTCALL
|
36
|
+
xsltGetNamespace (xsltTransformContextPtr ctxt,
|
37
|
+
xmlNodePtr cur,
|
38
|
+
xmlNsPtr ns,
|
39
|
+
xmlNodePtr out);
|
40
|
+
XSLTPUBFUN xmlNsPtr XSLTCALL
|
41
|
+
xsltGetPlainNamespace (xsltTransformContextPtr ctxt,
|
42
|
+
xmlNodePtr cur,
|
43
|
+
xmlNsPtr ns,
|
44
|
+
xmlNodePtr out);
|
45
|
+
XSLTPUBFUN xmlNsPtr XSLTCALL
|
46
|
+
xsltGetSpecialNamespace (xsltTransformContextPtr ctxt,
|
47
|
+
xmlNodePtr cur,
|
48
|
+
const xmlChar *URI,
|
49
|
+
const xmlChar *prefix,
|
50
|
+
xmlNodePtr out);
|
51
|
+
XSLTPUBFUN xmlNsPtr XSLTCALL
|
52
|
+
xsltCopyNamespace (xsltTransformContextPtr ctxt,
|
53
|
+
xmlNodePtr elem,
|
54
|
+
xmlNsPtr ns);
|
55
|
+
XSLTPUBFUN xmlNsPtr XSLTCALL
|
56
|
+
xsltCopyNamespaceList (xsltTransformContextPtr ctxt,
|
57
|
+
xmlNodePtr node,
|
58
|
+
xmlNsPtr cur);
|
59
|
+
XSLTPUBFUN void XSLTCALL
|
60
|
+
xsltFreeNamespaceAliasHashes
|
61
|
+
(xsltStylesheetPtr style);
|
62
|
+
|
63
|
+
#ifdef __cplusplus
|
64
|
+
}
|
65
|
+
#endif
|
66
|
+
|
67
|
+
#endif /* __XML_XSLT_NAMESPACES_H__ */
|
68
|
+
|
@@ -0,0 +1,73 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: Implementation of the XSLT number functions
|
3
|
+
* Description: Implementation of the XSLT number functions
|
4
|
+
*
|
5
|
+
* Copy: See Copyright for the status of this software.
|
6
|
+
*
|
7
|
+
* Author: Bjorn Reese <breese@users.sourceforge.net> and Daniel Veillard
|
8
|
+
*/
|
9
|
+
|
10
|
+
#ifndef __XML_XSLT_NUMBERSINTERNALS_H__
|
11
|
+
#define __XML_XSLT_NUMBERSINTERNALS_H__
|
12
|
+
|
13
|
+
#include <libxml/tree.h>
|
14
|
+
#include "xsltexports.h"
|
15
|
+
|
16
|
+
#ifdef __cplusplus
|
17
|
+
extern "C" {
|
18
|
+
#endif
|
19
|
+
|
20
|
+
struct _xsltCompMatch;
|
21
|
+
|
22
|
+
/**
|
23
|
+
* xsltNumberData:
|
24
|
+
*
|
25
|
+
* This data structure is just a wrapper to pass xsl:number data in.
|
26
|
+
*/
|
27
|
+
typedef struct _xsltNumberData xsltNumberData;
|
28
|
+
typedef xsltNumberData *xsltNumberDataPtr;
|
29
|
+
|
30
|
+
struct _xsltNumberData {
|
31
|
+
const xmlChar *level;
|
32
|
+
const xmlChar *count;
|
33
|
+
const xmlChar *from;
|
34
|
+
const xmlChar *value;
|
35
|
+
const xmlChar *format;
|
36
|
+
int has_format;
|
37
|
+
int digitsPerGroup;
|
38
|
+
int groupingCharacter;
|
39
|
+
int groupingCharacterLen;
|
40
|
+
xmlDocPtr doc;
|
41
|
+
xmlNodePtr node;
|
42
|
+
struct _xsltCompMatch *countPat;
|
43
|
+
struct _xsltCompMatch *fromPat;
|
44
|
+
|
45
|
+
/*
|
46
|
+
* accelerators
|
47
|
+
*/
|
48
|
+
};
|
49
|
+
|
50
|
+
/**
|
51
|
+
* xsltFormatNumberInfo,:
|
52
|
+
*
|
53
|
+
* This data structure lists the various parameters needed to format numbers.
|
54
|
+
*/
|
55
|
+
typedef struct _xsltFormatNumberInfo xsltFormatNumberInfo;
|
56
|
+
typedef xsltFormatNumberInfo *xsltFormatNumberInfoPtr;
|
57
|
+
|
58
|
+
struct _xsltFormatNumberInfo {
|
59
|
+
int integer_hash; /* Number of '#' in integer part */
|
60
|
+
int integer_digits; /* Number of '0' in integer part */
|
61
|
+
int frac_digits; /* Number of '0' in fractional part */
|
62
|
+
int frac_hash; /* Number of '#' in fractional part */
|
63
|
+
int group; /* Number of chars per display 'group' */
|
64
|
+
int multiplier; /* Scaling for percent or permille */
|
65
|
+
char add_decimal; /* Flag for whether decimal point appears in pattern */
|
66
|
+
char is_multiplier_set; /* Flag to catch multiple occurences of percent/permille */
|
67
|
+
char is_negative_pattern;/* Flag for processing -ve prefix/suffix */
|
68
|
+
};
|
69
|
+
|
70
|
+
#ifdef __cplusplus
|
71
|
+
}
|
72
|
+
#endif
|
73
|
+
#endif /* __XML_XSLT_NUMBERSINTERNALS_H__ */
|
@@ -0,0 +1,84 @@
|
|
1
|
+
/*
|
2
|
+
* Summary: interface for the pattern matching used in template matches.
|
3
|
+
* Description: the implementation of the lookup of the right template
|
4
|
+
* for a given node must be really fast in order to keep
|
5
|
+
* decent performances.
|
6
|
+
*
|
7
|
+
* Copy: See Copyright for the status of this software.
|
8
|
+
*
|
9
|
+
* Author: Daniel Veillard
|
10
|
+
*/
|
11
|
+
|
12
|
+
#ifndef __XML_XSLT_PATTERN_H__
|
13
|
+
#define __XML_XSLT_PATTERN_H__
|
14
|
+
|
15
|
+
#include "xsltInternals.h"
|
16
|
+
#include "xsltexports.h"
|
17
|
+
|
18
|
+
#ifdef __cplusplus
|
19
|
+
extern "C" {
|
20
|
+
#endif
|
21
|
+
|
22
|
+
/**
|
23
|
+
* xsltCompMatch:
|
24
|
+
*
|
25
|
+
* Data structure used for the implementation of patterns.
|
26
|
+
* It is kept private (in pattern.c).
|
27
|
+
*/
|
28
|
+
typedef struct _xsltCompMatch xsltCompMatch;
|
29
|
+
typedef xsltCompMatch *xsltCompMatchPtr;
|
30
|
+
|
31
|
+
/*
|
32
|
+
* Pattern related interfaces.
|
33
|
+
*/
|
34
|
+
|
35
|
+
XSLTPUBFUN xsltCompMatchPtr XSLTCALL
|
36
|
+
xsltCompilePattern (const xmlChar *pattern,
|
37
|
+
xmlDocPtr doc,
|
38
|
+
xmlNodePtr node,
|
39
|
+
xsltStylesheetPtr style,
|
40
|
+
xsltTransformContextPtr runtime);
|
41
|
+
XSLTPUBFUN void XSLTCALL
|
42
|
+
xsltFreeCompMatchList (xsltCompMatchPtr comp);
|
43
|
+
XSLTPUBFUN int XSLTCALL
|
44
|
+
xsltTestCompMatchList (xsltTransformContextPtr ctxt,
|
45
|
+
xmlNodePtr node,
|
46
|
+
xsltCompMatchPtr comp);
|
47
|
+
XSLTPUBFUN void XSLTCALL
|
48
|
+
xsltCompMatchClearCache (xsltTransformContextPtr ctxt,
|
49
|
+
xsltCompMatchPtr comp);
|
50
|
+
XSLTPUBFUN void XSLTCALL
|
51
|
+
xsltNormalizeCompSteps (void *payload,
|
52
|
+
void *data,
|
53
|
+
const xmlChar *name);
|
54
|
+
|
55
|
+
/*
|
56
|
+
* Template related interfaces.
|
57
|
+
*/
|
58
|
+
XSLTPUBFUN int XSLTCALL
|
59
|
+
xsltAddTemplate (xsltStylesheetPtr style,
|
60
|
+
xsltTemplatePtr cur,
|
61
|
+
const xmlChar *mode,
|
62
|
+
const xmlChar *modeURI);
|
63
|
+
XSLTPUBFUN xsltTemplatePtr XSLTCALL
|
64
|
+
xsltGetTemplate (xsltTransformContextPtr ctxt,
|
65
|
+
xmlNodePtr node,
|
66
|
+
xsltStylesheetPtr style);
|
67
|
+
XSLTPUBFUN void XSLTCALL
|
68
|
+
xsltFreeTemplateHashes (xsltStylesheetPtr style);
|
69
|
+
XSLTPUBFUN void XSLTCALL
|
70
|
+
xsltCleanupTemplates (xsltStylesheetPtr style);
|
71
|
+
|
72
|
+
#if 0
|
73
|
+
int xsltMatchPattern (xsltTransformContextPtr ctxt,
|
74
|
+
xmlNodePtr node,
|
75
|
+
const xmlChar *pattern,
|
76
|
+
xmlDocPtr ctxtdoc,
|
77
|
+
xmlNodePtr ctxtnode);
|
78
|
+
#endif
|
79
|
+
#ifdef __cplusplus
|
80
|
+
}
|
81
|
+
#endif
|
82
|
+
|
83
|
+
#endif /* __XML_XSLT_PATTERN_H__ */
|
84
|
+
|
@@ -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
|
+
XSLTPUBVAR 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
|
+
|