nokogiri 1.11.0.rc3-x64-mingw32 → 1.11.0.rc4-x64-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.

Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE-DEPENDENCIES.md +1015 -947
  3. data/README.md +1 -1
  4. data/ext/nokogiri/depend +476 -357
  5. data/ext/nokogiri/extconf.rb +441 -321
  6. data/ext/nokogiri/html_document.c +79 -78
  7. data/ext/nokogiri/html_sax_parser_context.c +2 -2
  8. data/ext/nokogiri/include/libexslt/exslt.h +102 -0
  9. data/ext/nokogiri/include/libexslt/exsltconfig.h +70 -0
  10. data/ext/nokogiri/include/libexslt/exsltexports.h +140 -0
  11. data/ext/nokogiri/include/libxml2/libxml/DOCBparser.h +96 -0
  12. data/ext/nokogiri/include/libxml2/libxml/HTMLparser.h +306 -0
  13. data/ext/nokogiri/include/libxml2/libxml/HTMLtree.h +147 -0
  14. data/ext/nokogiri/include/libxml2/libxml/SAX.h +173 -0
  15. data/ext/nokogiri/include/libxml2/libxml/SAX2.h +178 -0
  16. data/ext/nokogiri/include/libxml2/libxml/c14n.h +126 -0
  17. data/ext/nokogiri/include/libxml2/libxml/catalog.h +182 -0
  18. data/ext/nokogiri/include/libxml2/libxml/chvalid.h +230 -0
  19. data/ext/nokogiri/include/libxml2/libxml/debugXML.h +217 -0
  20. data/ext/nokogiri/include/libxml2/libxml/dict.h +79 -0
  21. data/ext/nokogiri/include/libxml2/libxml/encoding.h +245 -0
  22. data/ext/nokogiri/include/libxml2/libxml/entities.h +151 -0
  23. data/ext/nokogiri/include/libxml2/libxml/globals.h +508 -0
  24. data/ext/nokogiri/include/libxml2/libxml/hash.h +236 -0
  25. data/ext/nokogiri/include/libxml2/libxml/list.h +137 -0
  26. data/ext/nokogiri/include/libxml2/libxml/nanoftp.h +163 -0
  27. data/ext/nokogiri/include/libxml2/libxml/nanohttp.h +81 -0
  28. data/ext/nokogiri/include/libxml2/libxml/parser.h +1241 -0
  29. data/ext/nokogiri/include/libxml2/libxml/parserInternals.h +644 -0
  30. data/ext/nokogiri/include/libxml2/libxml/pattern.h +100 -0
  31. data/ext/nokogiri/include/libxml2/libxml/relaxng.h +217 -0
  32. data/ext/nokogiri/include/libxml2/libxml/schemasInternals.h +958 -0
  33. data/ext/nokogiri/include/libxml2/libxml/schematron.h +142 -0
  34. data/ext/nokogiri/include/libxml2/libxml/threads.h +89 -0
  35. data/ext/nokogiri/include/libxml2/libxml/tree.h +1311 -0
  36. data/ext/nokogiri/include/libxml2/libxml/uri.h +94 -0
  37. data/ext/nokogiri/include/libxml2/libxml/valid.h +458 -0
  38. data/ext/nokogiri/include/libxml2/libxml/xinclude.h +129 -0
  39. data/ext/nokogiri/include/libxml2/libxml/xlink.h +189 -0
  40. data/ext/nokogiri/include/libxml2/libxml/xmlIO.h +366 -0
  41. data/ext/nokogiri/include/libxml2/libxml/xmlautomata.h +146 -0
  42. data/ext/nokogiri/include/libxml2/libxml/xmlerror.h +945 -0
  43. data/ext/nokogiri/include/libxml2/libxml/xmlexports.h +153 -0
  44. data/ext/nokogiri/include/libxml2/libxml/xmlmemory.h +224 -0
  45. data/ext/nokogiri/include/libxml2/libxml/xmlmodule.h +57 -0
  46. data/ext/nokogiri/include/libxml2/libxml/xmlreader.h +428 -0
  47. data/ext/nokogiri/include/libxml2/libxml/xmlregexp.h +222 -0
  48. data/ext/nokogiri/include/libxml2/libxml/xmlsave.h +88 -0
  49. data/ext/nokogiri/include/libxml2/libxml/xmlschemas.h +246 -0
  50. data/ext/nokogiri/include/libxml2/libxml/xmlschemastypes.h +151 -0
  51. data/ext/nokogiri/include/libxml2/libxml/xmlstring.h +140 -0
  52. data/ext/nokogiri/include/libxml2/libxml/xmlunicode.h +202 -0
  53. data/ext/nokogiri/include/libxml2/libxml/xmlversion.h +485 -0
  54. data/ext/nokogiri/include/libxml2/libxml/xmlwriter.h +488 -0
  55. data/ext/nokogiri/include/libxml2/libxml/xpath.h +566 -0
  56. data/ext/nokogiri/include/libxml2/libxml/xpathInternals.h +632 -0
  57. data/ext/nokogiri/include/libxml2/libxml/xpointer.h +114 -0
  58. data/ext/nokogiri/include/libxslt/attributes.h +38 -0
  59. data/ext/nokogiri/include/libxslt/documents.h +93 -0
  60. data/ext/nokogiri/include/libxslt/extensions.h +262 -0
  61. data/ext/nokogiri/include/libxslt/extra.h +72 -0
  62. data/ext/nokogiri/include/libxslt/functions.h +78 -0
  63. data/ext/nokogiri/include/libxslt/imports.h +75 -0
  64. data/ext/nokogiri/include/libxslt/keys.h +53 -0
  65. data/ext/nokogiri/include/libxslt/namespaces.h +68 -0
  66. data/ext/nokogiri/include/libxslt/numbersInternals.h +73 -0
  67. data/ext/nokogiri/include/libxslt/pattern.h +84 -0
  68. data/ext/nokogiri/include/libxslt/preproc.h +43 -0
  69. data/ext/nokogiri/include/libxslt/security.h +104 -0
  70. data/ext/nokogiri/include/libxslt/templates.h +77 -0
  71. data/ext/nokogiri/include/libxslt/transform.h +207 -0
  72. data/ext/nokogiri/include/libxslt/variables.h +118 -0
  73. data/ext/nokogiri/include/libxslt/xslt.h +110 -0
  74. data/ext/nokogiri/include/libxslt/xsltInternals.h +1978 -0
  75. data/ext/nokogiri/include/libxslt/xsltconfig.h +180 -0
  76. data/ext/nokogiri/include/libxslt/xsltexports.h +142 -0
  77. data/ext/nokogiri/include/libxslt/xsltlocale.h +76 -0
  78. data/ext/nokogiri/include/libxslt/xsltutils.h +313 -0
  79. data/ext/nokogiri/nokogiri.c +34 -46
  80. data/ext/nokogiri/nokogiri.h +22 -26
  81. data/ext/nokogiri/xml_document.c +2 -2
  82. data/ext/nokogiri/xml_node.c +1 -1
  83. data/ext/nokogiri/xml_node_set.c +1 -1
  84. data/ext/nokogiri/xml_relax_ng.c +29 -11
  85. data/ext/nokogiri/xml_sax_parser.c +2 -7
  86. data/ext/nokogiri/xml_sax_parser_context.c +2 -2
  87. data/ext/nokogiri/xml_schema.c +55 -13
  88. data/ext/nokogiri/xml_xpath_context.c +80 -4
  89. data/ext/nokogiri/xslt_stylesheet.c +1 -4
  90. data/lib/nokogiri.rb +1 -1
  91. data/lib/nokogiri/2.5/nokogiri.so +0 -0
  92. data/lib/nokogiri/2.6/nokogiri.so +0 -0
  93. data/lib/nokogiri/2.7/nokogiri.so +0 -0
  94. data/lib/nokogiri/3.0/nokogiri.so +0 -0
  95. data/lib/nokogiri/css/parser.rb +3 -3
  96. data/lib/nokogiri/css/parser.y +2 -2
  97. data/lib/nokogiri/css/xpath_visitor.rb +70 -42
  98. data/lib/nokogiri/html/document.rb +12 -26
  99. data/lib/nokogiri/version.rb +2 -149
  100. data/lib/nokogiri/version/constant.rb +5 -0
  101. data/lib/nokogiri/version/info.rb +182 -0
  102. data/lib/nokogiri/xml/document.rb +17 -7
  103. data/lib/nokogiri/xml/document_fragment.rb +4 -6
  104. data/lib/nokogiri/xml/node.rb +50 -27
  105. data/lib/nokogiri/xml/parse_options.rb +6 -0
  106. data/lib/nokogiri/xml/relax_ng.rb +6 -2
  107. data/lib/nokogiri/xml/schema.rb +12 -4
  108. data/lib/nokogiri/xml/searchable.rb +3 -1
  109. metadata +105 -28
  110. data/lib/nokogiri/2.4/nokogiri.so +0 -0
@@ -0,0 +1,173 @@
1
+ /*
2
+ * Summary: Old SAX version 1 handler, deprecated
3
+ * Description: DEPRECATED set of SAX version 1 interfaces used to
4
+ * build the DOM tree.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+
12
+ #ifndef __XML_SAX_H__
13
+ #define __XML_SAX_H__
14
+
15
+ #include <stdio.h>
16
+ #include <stdlib.h>
17
+ #include <libxml/xmlversion.h>
18
+ #include <libxml/parser.h>
19
+ #include <libxml/xlink.h>
20
+
21
+ #ifdef LIBXML_LEGACY_ENABLED
22
+
23
+ #ifdef __cplusplus
24
+ extern "C" {
25
+ #endif
26
+ XMLPUBFUN const xmlChar * XMLCALL
27
+ getPublicId (void *ctx);
28
+ XMLPUBFUN const xmlChar * XMLCALL
29
+ getSystemId (void *ctx);
30
+ XMLPUBFUN void XMLCALL
31
+ setDocumentLocator (void *ctx,
32
+ xmlSAXLocatorPtr loc);
33
+
34
+ XMLPUBFUN int XMLCALL
35
+ getLineNumber (void *ctx);
36
+ XMLPUBFUN int XMLCALL
37
+ getColumnNumber (void *ctx);
38
+
39
+ XMLPUBFUN int XMLCALL
40
+ isStandalone (void *ctx);
41
+ XMLPUBFUN int XMLCALL
42
+ hasInternalSubset (void *ctx);
43
+ XMLPUBFUN int XMLCALL
44
+ hasExternalSubset (void *ctx);
45
+
46
+ XMLPUBFUN void XMLCALL
47
+ internalSubset (void *ctx,
48
+ const xmlChar *name,
49
+ const xmlChar *ExternalID,
50
+ const xmlChar *SystemID);
51
+ XMLPUBFUN void XMLCALL
52
+ externalSubset (void *ctx,
53
+ const xmlChar *name,
54
+ const xmlChar *ExternalID,
55
+ const xmlChar *SystemID);
56
+ XMLPUBFUN xmlEntityPtr XMLCALL
57
+ getEntity (void *ctx,
58
+ const xmlChar *name);
59
+ XMLPUBFUN xmlEntityPtr XMLCALL
60
+ getParameterEntity (void *ctx,
61
+ const xmlChar *name);
62
+ XMLPUBFUN xmlParserInputPtr XMLCALL
63
+ resolveEntity (void *ctx,
64
+ const xmlChar *publicId,
65
+ const xmlChar *systemId);
66
+
67
+ XMLPUBFUN void XMLCALL
68
+ entityDecl (void *ctx,
69
+ const xmlChar *name,
70
+ int type,
71
+ const xmlChar *publicId,
72
+ const xmlChar *systemId,
73
+ xmlChar *content);
74
+ XMLPUBFUN void XMLCALL
75
+ attributeDecl (void *ctx,
76
+ const xmlChar *elem,
77
+ const xmlChar *fullname,
78
+ int type,
79
+ int def,
80
+ const xmlChar *defaultValue,
81
+ xmlEnumerationPtr tree);
82
+ XMLPUBFUN void XMLCALL
83
+ elementDecl (void *ctx,
84
+ const xmlChar *name,
85
+ int type,
86
+ xmlElementContentPtr content);
87
+ XMLPUBFUN void XMLCALL
88
+ notationDecl (void *ctx,
89
+ const xmlChar *name,
90
+ const xmlChar *publicId,
91
+ const xmlChar *systemId);
92
+ XMLPUBFUN void XMLCALL
93
+ unparsedEntityDecl (void *ctx,
94
+ const xmlChar *name,
95
+ const xmlChar *publicId,
96
+ const xmlChar *systemId,
97
+ const xmlChar *notationName);
98
+
99
+ XMLPUBFUN void XMLCALL
100
+ startDocument (void *ctx);
101
+ XMLPUBFUN void XMLCALL
102
+ endDocument (void *ctx);
103
+ XMLPUBFUN void XMLCALL
104
+ attribute (void *ctx,
105
+ const xmlChar *fullname,
106
+ const xmlChar *value);
107
+ XMLPUBFUN void XMLCALL
108
+ startElement (void *ctx,
109
+ const xmlChar *fullname,
110
+ const xmlChar **atts);
111
+ XMLPUBFUN void XMLCALL
112
+ endElement (void *ctx,
113
+ const xmlChar *name);
114
+ XMLPUBFUN void XMLCALL
115
+ reference (void *ctx,
116
+ const xmlChar *name);
117
+ XMLPUBFUN void XMLCALL
118
+ characters (void *ctx,
119
+ const xmlChar *ch,
120
+ int len);
121
+ XMLPUBFUN void XMLCALL
122
+ ignorableWhitespace (void *ctx,
123
+ const xmlChar *ch,
124
+ int len);
125
+ XMLPUBFUN void XMLCALL
126
+ processingInstruction (void *ctx,
127
+ const xmlChar *target,
128
+ const xmlChar *data);
129
+ XMLPUBFUN void XMLCALL
130
+ globalNamespace (void *ctx,
131
+ const xmlChar *href,
132
+ const xmlChar *prefix);
133
+ XMLPUBFUN void XMLCALL
134
+ setNamespace (void *ctx,
135
+ const xmlChar *name);
136
+ XMLPUBFUN xmlNsPtr XMLCALL
137
+ getNamespace (void *ctx);
138
+ XMLPUBFUN int XMLCALL
139
+ checkNamespace (void *ctx,
140
+ xmlChar *nameSpace);
141
+ XMLPUBFUN void XMLCALL
142
+ namespaceDecl (void *ctx,
143
+ const xmlChar *href,
144
+ const xmlChar *prefix);
145
+ XMLPUBFUN void XMLCALL
146
+ comment (void *ctx,
147
+ const xmlChar *value);
148
+ XMLPUBFUN void XMLCALL
149
+ cdataBlock (void *ctx,
150
+ const xmlChar *value,
151
+ int len);
152
+
153
+ #ifdef LIBXML_SAX1_ENABLED
154
+ XMLPUBFUN void XMLCALL
155
+ initxmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr,
156
+ int warning);
157
+ #ifdef LIBXML_HTML_ENABLED
158
+ XMLPUBFUN void XMLCALL
159
+ inithtmlDefaultSAXHandler (xmlSAXHandlerV1 *hdlr);
160
+ #endif
161
+ #ifdef LIBXML_DOCB_ENABLED
162
+ XMLPUBFUN void XMLCALL
163
+ initdocbDefaultSAXHandler (xmlSAXHandlerV1 *hdlr);
164
+ #endif
165
+ #endif /* LIBXML_SAX1_ENABLED */
166
+
167
+ #ifdef __cplusplus
168
+ }
169
+ #endif
170
+
171
+ #endif /* LIBXML_LEGACY_ENABLED */
172
+
173
+ #endif /* __XML_SAX_H__ */
@@ -0,0 +1,178 @@
1
+ /*
2
+ * Summary: SAX2 parser interface used to build the DOM tree
3
+ * Description: those are the default SAX2 interfaces used by
4
+ * the library when building DOM tree.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+
12
+ #ifndef __XML_SAX2_H__
13
+ #define __XML_SAX2_H__
14
+
15
+ #include <stdio.h>
16
+ #include <stdlib.h>
17
+ #include <libxml/xmlversion.h>
18
+ #include <libxml/parser.h>
19
+ #include <libxml/xlink.h>
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+ XMLPUBFUN const xmlChar * XMLCALL
25
+ xmlSAX2GetPublicId (void *ctx);
26
+ XMLPUBFUN const xmlChar * XMLCALL
27
+ xmlSAX2GetSystemId (void *ctx);
28
+ XMLPUBFUN void XMLCALL
29
+ xmlSAX2SetDocumentLocator (void *ctx,
30
+ xmlSAXLocatorPtr loc);
31
+
32
+ XMLPUBFUN int XMLCALL
33
+ xmlSAX2GetLineNumber (void *ctx);
34
+ XMLPUBFUN int XMLCALL
35
+ xmlSAX2GetColumnNumber (void *ctx);
36
+
37
+ XMLPUBFUN int XMLCALL
38
+ xmlSAX2IsStandalone (void *ctx);
39
+ XMLPUBFUN int XMLCALL
40
+ xmlSAX2HasInternalSubset (void *ctx);
41
+ XMLPUBFUN int XMLCALL
42
+ xmlSAX2HasExternalSubset (void *ctx);
43
+
44
+ XMLPUBFUN void XMLCALL
45
+ xmlSAX2InternalSubset (void *ctx,
46
+ const xmlChar *name,
47
+ const xmlChar *ExternalID,
48
+ const xmlChar *SystemID);
49
+ XMLPUBFUN void XMLCALL
50
+ xmlSAX2ExternalSubset (void *ctx,
51
+ const xmlChar *name,
52
+ const xmlChar *ExternalID,
53
+ const xmlChar *SystemID);
54
+ XMLPUBFUN xmlEntityPtr XMLCALL
55
+ xmlSAX2GetEntity (void *ctx,
56
+ const xmlChar *name);
57
+ XMLPUBFUN xmlEntityPtr XMLCALL
58
+ xmlSAX2GetParameterEntity (void *ctx,
59
+ const xmlChar *name);
60
+ XMLPUBFUN xmlParserInputPtr XMLCALL
61
+ xmlSAX2ResolveEntity (void *ctx,
62
+ const xmlChar *publicId,
63
+ const xmlChar *systemId);
64
+
65
+ XMLPUBFUN void XMLCALL
66
+ xmlSAX2EntityDecl (void *ctx,
67
+ const xmlChar *name,
68
+ int type,
69
+ const xmlChar *publicId,
70
+ const xmlChar *systemId,
71
+ xmlChar *content);
72
+ XMLPUBFUN void XMLCALL
73
+ xmlSAX2AttributeDecl (void *ctx,
74
+ const xmlChar *elem,
75
+ const xmlChar *fullname,
76
+ int type,
77
+ int def,
78
+ const xmlChar *defaultValue,
79
+ xmlEnumerationPtr tree);
80
+ XMLPUBFUN void XMLCALL
81
+ xmlSAX2ElementDecl (void *ctx,
82
+ const xmlChar *name,
83
+ int type,
84
+ xmlElementContentPtr content);
85
+ XMLPUBFUN void XMLCALL
86
+ xmlSAX2NotationDecl (void *ctx,
87
+ const xmlChar *name,
88
+ const xmlChar *publicId,
89
+ const xmlChar *systemId);
90
+ XMLPUBFUN void XMLCALL
91
+ xmlSAX2UnparsedEntityDecl (void *ctx,
92
+ const xmlChar *name,
93
+ const xmlChar *publicId,
94
+ const xmlChar *systemId,
95
+ const xmlChar *notationName);
96
+
97
+ XMLPUBFUN void XMLCALL
98
+ xmlSAX2StartDocument (void *ctx);
99
+ XMLPUBFUN void XMLCALL
100
+ xmlSAX2EndDocument (void *ctx);
101
+ #if defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || \
102
+ defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_DOCB_ENABLED) || \
103
+ defined(LIBXML_LEGACY_ENABLED)
104
+ XMLPUBFUN void XMLCALL
105
+ xmlSAX2StartElement (void *ctx,
106
+ const xmlChar *fullname,
107
+ const xmlChar **atts);
108
+ XMLPUBFUN void XMLCALL
109
+ xmlSAX2EndElement (void *ctx,
110
+ const xmlChar *name);
111
+ #endif /* LIBXML_SAX1_ENABLED or LIBXML_HTML_ENABLED or LIBXML_LEGACY_ENABLED */
112
+ XMLPUBFUN void XMLCALL
113
+ xmlSAX2StartElementNs (void *ctx,
114
+ const xmlChar *localname,
115
+ const xmlChar *prefix,
116
+ const xmlChar *URI,
117
+ int nb_namespaces,
118
+ const xmlChar **namespaces,
119
+ int nb_attributes,
120
+ int nb_defaulted,
121
+ const xmlChar **attributes);
122
+ XMLPUBFUN void XMLCALL
123
+ xmlSAX2EndElementNs (void *ctx,
124
+ const xmlChar *localname,
125
+ const xmlChar *prefix,
126
+ const xmlChar *URI);
127
+ XMLPUBFUN void XMLCALL
128
+ xmlSAX2Reference (void *ctx,
129
+ const xmlChar *name);
130
+ XMLPUBFUN void XMLCALL
131
+ xmlSAX2Characters (void *ctx,
132
+ const xmlChar *ch,
133
+ int len);
134
+ XMLPUBFUN void XMLCALL
135
+ xmlSAX2IgnorableWhitespace (void *ctx,
136
+ const xmlChar *ch,
137
+ int len);
138
+ XMLPUBFUN void XMLCALL
139
+ xmlSAX2ProcessingInstruction (void *ctx,
140
+ const xmlChar *target,
141
+ const xmlChar *data);
142
+ XMLPUBFUN void XMLCALL
143
+ xmlSAX2Comment (void *ctx,
144
+ const xmlChar *value);
145
+ XMLPUBFUN void XMLCALL
146
+ xmlSAX2CDataBlock (void *ctx,
147
+ const xmlChar *value,
148
+ int len);
149
+
150
+ #ifdef LIBXML_SAX1_ENABLED
151
+ XMLPUBFUN int XMLCALL
152
+ xmlSAXDefaultVersion (int version);
153
+ #endif /* LIBXML_SAX1_ENABLED */
154
+
155
+ XMLPUBFUN int XMLCALL
156
+ xmlSAXVersion (xmlSAXHandler *hdlr,
157
+ int version);
158
+ XMLPUBFUN void XMLCALL
159
+ xmlSAX2InitDefaultSAXHandler (xmlSAXHandler *hdlr,
160
+ int warning);
161
+ #ifdef LIBXML_HTML_ENABLED
162
+ XMLPUBFUN void XMLCALL
163
+ xmlSAX2InitHtmlDefaultSAXHandler(xmlSAXHandler *hdlr);
164
+ XMLPUBFUN void XMLCALL
165
+ htmlDefaultSAXHandlerInit (void);
166
+ #endif
167
+ #ifdef LIBXML_DOCB_ENABLED
168
+ XMLPUBFUN void XMLCALL
169
+ xmlSAX2InitDocbDefaultSAXHandler(xmlSAXHandler *hdlr);
170
+ XMLPUBFUN void XMLCALL
171
+ docbDefaultSAXHandlerInit (void);
172
+ #endif
173
+ XMLPUBFUN void XMLCALL
174
+ xmlDefaultSAXHandlerInit (void);
175
+ #ifdef __cplusplus
176
+ }
177
+ #endif
178
+ #endif /* __XML_SAX2_H__ */
@@ -0,0 +1,126 @@
1
+ /*
2
+ * Summary: Provide Canonical XML and Exclusive XML Canonicalization
3
+ * Description: the c14n modules provides a
4
+ *
5
+ * "Canonical XML" implementation
6
+ * http://www.w3.org/TR/xml-c14n
7
+ *
8
+ * and an
9
+ *
10
+ * "Exclusive XML Canonicalization" implementation
11
+ * http://www.w3.org/TR/xml-exc-c14n
12
+
13
+ * Copy: See Copyright for the status of this software.
14
+ *
15
+ * Author: Aleksey Sanin <aleksey@aleksey.com>
16
+ */
17
+ #ifndef __XML_C14N_H__
18
+ #define __XML_C14N_H__
19
+ #ifdef LIBXML_C14N_ENABLED
20
+ #ifdef LIBXML_OUTPUT_ENABLED
21
+
22
+ #ifdef __cplusplus
23
+ extern "C" {
24
+ #endif /* __cplusplus */
25
+
26
+ #include <libxml/xmlversion.h>
27
+ #include <libxml/tree.h>
28
+ #include <libxml/xpath.h>
29
+
30
+ /*
31
+ * XML Canonicalization
32
+ * http://www.w3.org/TR/xml-c14n
33
+ *
34
+ * Exclusive XML Canonicalization
35
+ * http://www.w3.org/TR/xml-exc-c14n
36
+ *
37
+ * Canonical form of an XML document could be created if and only if
38
+ * a) default attributes (if any) are added to all nodes
39
+ * b) all character and parsed entity references are resolved
40
+ * In order to achieve this in libxml2 the document MUST be loaded with
41
+ * following global settings:
42
+ *
43
+ * xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
44
+ * xmlSubstituteEntitiesDefault(1);
45
+ *
46
+ * or corresponding parser context setting:
47
+ * xmlParserCtxtPtr ctxt;
48
+ *
49
+ * ...
50
+ * ctxt->loadsubset = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
51
+ * ctxt->replaceEntities = 1;
52
+ * ...
53
+ */
54
+
55
+ /*
56
+ * xmlC14NMode:
57
+ *
58
+ * Predefined values for C14N modes
59
+ *
60
+ */
61
+ typedef enum {
62
+ XML_C14N_1_0 = 0, /* Original C14N 1.0 spec */
63
+ XML_C14N_EXCLUSIVE_1_0 = 1, /* Exclusive C14N 1.0 spec */
64
+ XML_C14N_1_1 = 2 /* C14N 1.1 spec */
65
+ } xmlC14NMode;
66
+
67
+ XMLPUBFUN int XMLCALL
68
+ xmlC14NDocSaveTo (xmlDocPtr doc,
69
+ xmlNodeSetPtr nodes,
70
+ int mode, /* a xmlC14NMode */
71
+ xmlChar **inclusive_ns_prefixes,
72
+ int with_comments,
73
+ xmlOutputBufferPtr buf);
74
+
75
+ XMLPUBFUN int XMLCALL
76
+ xmlC14NDocDumpMemory (xmlDocPtr doc,
77
+ xmlNodeSetPtr nodes,
78
+ int mode, /* a xmlC14NMode */
79
+ xmlChar **inclusive_ns_prefixes,
80
+ int with_comments,
81
+ xmlChar **doc_txt_ptr);
82
+
83
+ XMLPUBFUN int XMLCALL
84
+ xmlC14NDocSave (xmlDocPtr doc,
85
+ xmlNodeSetPtr nodes,
86
+ int mode, /* a xmlC14NMode */
87
+ xmlChar **inclusive_ns_prefixes,
88
+ int with_comments,
89
+ const char* filename,
90
+ int compression);
91
+
92
+
93
+ /**
94
+ * This is the core C14N function
95
+ */
96
+ /**
97
+ * xmlC14NIsVisibleCallback:
98
+ * @user_data: user data
99
+ * @node: the current node
100
+ * @parent: the parent node
101
+ *
102
+ * Signature for a C14N callback on visible nodes
103
+ *
104
+ * Returns 1 if the node should be included
105
+ */
106
+ typedef int (*xmlC14NIsVisibleCallback) (void* user_data,
107
+ xmlNodePtr node,
108
+ xmlNodePtr parent);
109
+
110
+ XMLPUBFUN int XMLCALL
111
+ xmlC14NExecute (xmlDocPtr doc,
112
+ xmlC14NIsVisibleCallback is_visible_callback,
113
+ void* user_data,
114
+ int mode, /* a xmlC14NMode */
115
+ xmlChar **inclusive_ns_prefixes,
116
+ int with_comments,
117
+ xmlOutputBufferPtr buf);
118
+
119
+ #ifdef __cplusplus
120
+ }
121
+ #endif /* __cplusplus */
122
+
123
+ #endif /* LIBXML_OUTPUT_ENABLED */
124
+ #endif /* LIBXML_C14N_ENABLED */
125
+ #endif /* __XML_C14N_H__ */
126
+