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,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
|
+
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
|
+
|