@helm2/poc_jenki_rce 0.0.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of @helm2/poc_jenki_rce might be problematic. Click here for more details.

Files changed (160) hide show
  1. package/LICENSE +19 -0
  2. package/Makefile +18 -0
  3. package/README.md +52 -0
  4. package/binding.gyp +81 -0
  5. package/index.d.ts +273 -0
  6. package/index.js +45 -0
  7. package/lib/bindings.js +1 -0
  8. package/lib/document.js +118 -0
  9. package/lib/element.js +82 -0
  10. package/lib/sax_parser.js +38 -0
  11. package/package.json +70 -0
  12. package/src/html_document.cc +7 -0
  13. package/src/html_document.h +18 -0
  14. package/src/libxmljs.cc +252 -0
  15. package/src/libxmljs.h +53 -0
  16. package/src/xml_attribute.cc +173 -0
  17. package/src/xml_attribute.h +40 -0
  18. package/src/xml_comment.cc +117 -0
  19. package/src/xml_comment.h +30 -0
  20. package/src/xml_document.cc +810 -0
  21. package/src/xml_document.h +67 -0
  22. package/src/xml_element.cc +565 -0
  23. package/src/xml_element.h +61 -0
  24. package/src/xml_namespace.cc +158 -0
  25. package/src/xml_namespace.h +39 -0
  26. package/src/xml_node.cc +761 -0
  27. package/src/xml_node.h +73 -0
  28. package/src/xml_pi.cc +161 -0
  29. package/src/xml_pi.h +34 -0
  30. package/src/xml_sax_parser.cc +424 -0
  31. package/src/xml_sax_parser.h +73 -0
  32. package/src/xml_syntax_error.cc +66 -0
  33. package/src/xml_syntax_error.h +25 -0
  34. package/src/xml_text.cc +320 -0
  35. package/src/xml_text.h +48 -0
  36. package/src/xml_textwriter.cc +315 -0
  37. package/src/xml_textwriter.h +62 -0
  38. package/src/xml_xpath_context.cc +70 -0
  39. package/src/xml_xpath_context.h +23 -0
  40. package/vendor/libxml/Copyright +23 -0
  41. package/vendor/libxml/DOCBparser.c +305 -0
  42. package/vendor/libxml/HTMLparser.c +7287 -0
  43. package/vendor/libxml/HTMLtree.c +1200 -0
  44. package/vendor/libxml/Makefile +2983 -0
  45. package/vendor/libxml/SAX.c +180 -0
  46. package/vendor/libxml/SAX2.c +3036 -0
  47. package/vendor/libxml/buf.c +1351 -0
  48. package/vendor/libxml/buf.h +72 -0
  49. package/vendor/libxml/c14n.c +2234 -0
  50. package/vendor/libxml/catalog.c +3828 -0
  51. package/vendor/libxml/chvalid.c +336 -0
  52. package/vendor/libxml/config.h +294 -0
  53. package/vendor/libxml/config.h.gch +0 -0
  54. package/vendor/libxml/debugXML.c +3423 -0
  55. package/vendor/libxml/dict.c +1298 -0
  56. package/vendor/libxml/elfgcchack.h +17818 -0
  57. package/vendor/libxml/enc.h +32 -0
  58. package/vendor/libxml/encoding.c +3975 -0
  59. package/vendor/libxml/entities.c +1163 -0
  60. package/vendor/libxml/error.c +998 -0
  61. package/vendor/libxml/globals.c +1126 -0
  62. package/vendor/libxml/hash.c +1146 -0
  63. package/vendor/libxml/include/libxml/DOCBparser.h +96 -0
  64. package/vendor/libxml/include/libxml/HTMLparser.h +306 -0
  65. package/vendor/libxml/include/libxml/HTMLtree.h +147 -0
  66. package/vendor/libxml/include/libxml/Makefile +725 -0
  67. package/vendor/libxml/include/libxml/Makefile.am +54 -0
  68. package/vendor/libxml/include/libxml/Makefile.in +725 -0
  69. package/vendor/libxml/include/libxml/SAX.h +173 -0
  70. package/vendor/libxml/include/libxml/SAX2.h +178 -0
  71. package/vendor/libxml/include/libxml/c14n.h +128 -0
  72. package/vendor/libxml/include/libxml/catalog.h +182 -0
  73. package/vendor/libxml/include/libxml/chvalid.h +230 -0
  74. package/vendor/libxml/include/libxml/debugXML.h +217 -0
  75. package/vendor/libxml/include/libxml/dict.h +79 -0
  76. package/vendor/libxml/include/libxml/encoding.h +245 -0
  77. package/vendor/libxml/include/libxml/entities.h +151 -0
  78. package/vendor/libxml/include/libxml/globals.h +508 -0
  79. package/vendor/libxml/include/libxml/hash.h +236 -0
  80. package/vendor/libxml/include/libxml/list.h +137 -0
  81. package/vendor/libxml/include/libxml/nanoftp.h +163 -0
  82. package/vendor/libxml/include/libxml/nanohttp.h +81 -0
  83. package/vendor/libxml/include/libxml/parser.h +1243 -0
  84. package/vendor/libxml/include/libxml/parserInternals.h +644 -0
  85. package/vendor/libxml/include/libxml/pattern.h +100 -0
  86. package/vendor/libxml/include/libxml/relaxng.h +217 -0
  87. package/vendor/libxml/include/libxml/schemasInternals.h +958 -0
  88. package/vendor/libxml/include/libxml/schematron.h +142 -0
  89. package/vendor/libxml/include/libxml/threads.h +89 -0
  90. package/vendor/libxml/include/libxml/tree.h +1311 -0
  91. package/vendor/libxml/include/libxml/uri.h +94 -0
  92. package/vendor/libxml/include/libxml/valid.h +458 -0
  93. package/vendor/libxml/include/libxml/xinclude.h +129 -0
  94. package/vendor/libxml/include/libxml/xlink.h +189 -0
  95. package/vendor/libxml/include/libxml/xmlIO.h +368 -0
  96. package/vendor/libxml/include/libxml/xmlautomata.h +146 -0
  97. package/vendor/libxml/include/libxml/xmlerror.h +945 -0
  98. package/vendor/libxml/include/libxml/xmlexports.h +77 -0
  99. package/vendor/libxml/include/libxml/xmlmemory.h +224 -0
  100. package/vendor/libxml/include/libxml/xmlmodule.h +57 -0
  101. package/vendor/libxml/include/libxml/xmlreader.h +428 -0
  102. package/vendor/libxml/include/libxml/xmlregexp.h +222 -0
  103. package/vendor/libxml/include/libxml/xmlsave.h +88 -0
  104. package/vendor/libxml/include/libxml/xmlschemas.h +246 -0
  105. package/vendor/libxml/include/libxml/xmlschemastypes.h +151 -0
  106. package/vendor/libxml/include/libxml/xmlstring.h +140 -0
  107. package/vendor/libxml/include/libxml/xmlunicode.h +202 -0
  108. package/vendor/libxml/include/libxml/xmlversion.h +484 -0
  109. package/vendor/libxml/include/libxml/xmlwin32version.h +239 -0
  110. package/vendor/libxml/include/libxml/xmlwriter.h +488 -0
  111. package/vendor/libxml/include/libxml/xpath.h +564 -0
  112. package/vendor/libxml/include/libxml/xpathInternals.h +632 -0
  113. package/vendor/libxml/include/libxml/xpointer.h +114 -0
  114. package/vendor/libxml/include/win32config.h +122 -0
  115. package/vendor/libxml/include/wsockcompat.h +54 -0
  116. package/vendor/libxml/legacy.c +1343 -0
  117. package/vendor/libxml/libxml.h +134 -0
  118. package/vendor/libxml/list.c +779 -0
  119. package/vendor/libxml/nanoftp.c +2118 -0
  120. package/vendor/libxml/nanohttp.c +1899 -0
  121. package/vendor/libxml/parser.c +15553 -0
  122. package/vendor/libxml/parserInternals.c +2164 -0
  123. package/vendor/libxml/pattern.c +2621 -0
  124. package/vendor/libxml/relaxng.c +11101 -0
  125. package/vendor/libxml/rngparser.c +1595 -0
  126. package/vendor/libxml/runsuite.c +1157 -0
  127. package/vendor/libxml/save.h +36 -0
  128. package/vendor/libxml/schematron.c +1787 -0
  129. package/vendor/libxml/threads.c +1049 -0
  130. package/vendor/libxml/timsort.h +601 -0
  131. package/vendor/libxml/tree.c +10183 -0
  132. package/vendor/libxml/trio.c +6895 -0
  133. package/vendor/libxml/trio.h +230 -0
  134. package/vendor/libxml/triodef.h +228 -0
  135. package/vendor/libxml/trionan.c +914 -0
  136. package/vendor/libxml/trionan.h +84 -0
  137. package/vendor/libxml/triop.h +150 -0
  138. package/vendor/libxml/triostr.c +2112 -0
  139. package/vendor/libxml/triostr.h +144 -0
  140. package/vendor/libxml/uri.c +2561 -0
  141. package/vendor/libxml/valid.c +7138 -0
  142. package/vendor/libxml/xinclude.c +2657 -0
  143. package/vendor/libxml/xlink.c +183 -0
  144. package/vendor/libxml/xmlIO.c +4135 -0
  145. package/vendor/libxml/xmlcatalog.c +624 -0
  146. package/vendor/libxml/xmllint.c +3796 -0
  147. package/vendor/libxml/xmlmemory.c +1163 -0
  148. package/vendor/libxml/xmlmodule.c +468 -0
  149. package/vendor/libxml/xmlreader.c +6033 -0
  150. package/vendor/libxml/xmlregexp.c +8271 -0
  151. package/vendor/libxml/xmlsave.c +2735 -0
  152. package/vendor/libxml/xmlschemas.c +29173 -0
  153. package/vendor/libxml/xmlschemastypes.c +6276 -0
  154. package/vendor/libxml/xmlstring.c +1050 -0
  155. package/vendor/libxml/xmlunicode.c +3179 -0
  156. package/vendor/libxml/xmlwriter.c +4738 -0
  157. package/vendor/libxml/xpath.c +14734 -0
  158. package/vendor/libxml/xpointer.c +2969 -0
  159. package/vendor/libxml/xzlib.c +815 -0
  160. package/vendor/libxml/xzlib.h +19 -0
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Summary: library of generic URI related routines
3
+ * Description: library of generic URI related routines
4
+ * Implements RFC 2396
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __XML_URI_H__
12
+ #define __XML_URI_H__
13
+
14
+ #include <libxml/xmlversion.h>
15
+ #include <libxml/tree.h>
16
+
17
+ #ifdef __cplusplus
18
+ extern "C" {
19
+ #endif
20
+
21
+ /**
22
+ * xmlURI:
23
+ *
24
+ * A parsed URI reference. This is a struct containing the various fields
25
+ * as described in RFC 2396 but separated for further processing.
26
+ *
27
+ * Note: query is a deprecated field which is incorrectly unescaped.
28
+ * query_raw takes precedence over query if the former is set.
29
+ * See: http://mail.gnome.org/archives/xml/2007-April/thread.html#00127
30
+ */
31
+ typedef struct _xmlURI xmlURI;
32
+ typedef xmlURI *xmlURIPtr;
33
+ struct _xmlURI {
34
+ char *scheme; /* the URI scheme */
35
+ char *opaque; /* opaque part */
36
+ char *authority; /* the authority part */
37
+ char *server; /* the server part */
38
+ char *user; /* the user part */
39
+ int port; /* the port number */
40
+ char *path; /* the path string */
41
+ char *query; /* the query string (deprecated - use with caution) */
42
+ char *fragment; /* the fragment identifier */
43
+ int cleanup; /* parsing potentially unclean URI */
44
+ char *query_raw; /* the query string (as it appears in the URI) */
45
+ };
46
+
47
+ /*
48
+ * This function is in tree.h:
49
+ * xmlChar * xmlNodeGetBase (xmlDocPtr doc,
50
+ * xmlNodePtr cur);
51
+ */
52
+ XMLPUBFUN xmlURIPtr XMLCALL
53
+ xmlCreateURI (void);
54
+ XMLPUBFUN xmlChar * XMLCALL
55
+ xmlBuildURI (const xmlChar *URI,
56
+ const xmlChar *base);
57
+ XMLPUBFUN xmlChar * XMLCALL
58
+ xmlBuildRelativeURI (const xmlChar *URI,
59
+ const xmlChar *base);
60
+ XMLPUBFUN xmlURIPtr XMLCALL
61
+ xmlParseURI (const char *str);
62
+ XMLPUBFUN xmlURIPtr XMLCALL
63
+ xmlParseURIRaw (const char *str,
64
+ int raw);
65
+ XMLPUBFUN int XMLCALL
66
+ xmlParseURIReference (xmlURIPtr uri,
67
+ const char *str);
68
+ XMLPUBFUN xmlChar * XMLCALL
69
+ xmlSaveUri (xmlURIPtr uri);
70
+ XMLPUBFUN void XMLCALL
71
+ xmlPrintURI (FILE *stream,
72
+ xmlURIPtr uri);
73
+ XMLPUBFUN xmlChar * XMLCALL
74
+ xmlURIEscapeStr (const xmlChar *str,
75
+ const xmlChar *list);
76
+ XMLPUBFUN char * XMLCALL
77
+ xmlURIUnescapeString (const char *str,
78
+ int len,
79
+ char *target);
80
+ XMLPUBFUN int XMLCALL
81
+ xmlNormalizeURIPath (char *path);
82
+ XMLPUBFUN xmlChar * XMLCALL
83
+ xmlURIEscape (const xmlChar *str);
84
+ XMLPUBFUN void XMLCALL
85
+ xmlFreeURI (xmlURIPtr uri);
86
+ XMLPUBFUN xmlChar* XMLCALL
87
+ xmlCanonicPath (const xmlChar *path);
88
+ XMLPUBFUN xmlChar* XMLCALL
89
+ xmlPathToURI (const xmlChar *path);
90
+
91
+ #ifdef __cplusplus
92
+ }
93
+ #endif
94
+ #endif /* __XML_URI_H__ */
@@ -0,0 +1,458 @@
1
+ /*
2
+ * Summary: The DTD validation
3
+ * Description: API for the DTD handling and the validity checking
4
+ *
5
+ * Copy: See Copyright for the status of this software.
6
+ *
7
+ * Author: Daniel Veillard
8
+ */
9
+
10
+
11
+ #ifndef __XML_VALID_H__
12
+ #define __XML_VALID_H__
13
+
14
+ #include <libxml/xmlversion.h>
15
+ #include <libxml/xmlerror.h>
16
+ #include <libxml/tree.h>
17
+ #include <libxml/list.h>
18
+ #include <libxml/xmlautomata.h>
19
+ #include <libxml/xmlregexp.h>
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+ /*
26
+ * Validation state added for non-determinist content model.
27
+ */
28
+ typedef struct _xmlValidState xmlValidState;
29
+ typedef xmlValidState *xmlValidStatePtr;
30
+
31
+ /**
32
+ * xmlValidityErrorFunc:
33
+ * @ctx: usually an xmlValidCtxtPtr to a validity error context,
34
+ * but comes from ctxt->userData (which normally contains such
35
+ * a pointer); ctxt->userData can be changed by the user.
36
+ * @msg: the string to format *printf like vararg
37
+ * @...: remaining arguments to the format
38
+ *
39
+ * Callback called when a validity error is found. This is a message
40
+ * oriented function similar to an *printf function.
41
+ */
42
+ typedef void (XMLCDECL *xmlValidityErrorFunc) (void *ctx,
43
+ const char *msg,
44
+ ...) LIBXML_ATTR_FORMAT(2,3);
45
+
46
+ /**
47
+ * xmlValidityWarningFunc:
48
+ * @ctx: usually an xmlValidCtxtPtr to a validity error context,
49
+ * but comes from ctxt->userData (which normally contains such
50
+ * a pointer); ctxt->userData can be changed by the user.
51
+ * @msg: the string to format *printf like vararg
52
+ * @...: remaining arguments to the format
53
+ *
54
+ * Callback called when a validity warning is found. This is a message
55
+ * oriented function similar to an *printf function.
56
+ */
57
+ typedef void (XMLCDECL *xmlValidityWarningFunc) (void *ctx,
58
+ const char *msg,
59
+ ...) LIBXML_ATTR_FORMAT(2,3);
60
+
61
+ #ifdef IN_LIBXML
62
+ /**
63
+ * XML_CTXT_FINISH_DTD_0:
64
+ *
65
+ * Special value for finishDtd field when embedded in an xmlParserCtxt
66
+ */
67
+ #define XML_CTXT_FINISH_DTD_0 0xabcd1234
68
+ /**
69
+ * XML_CTXT_FINISH_DTD_1:
70
+ *
71
+ * Special value for finishDtd field when embedded in an xmlParserCtxt
72
+ */
73
+ #define XML_CTXT_FINISH_DTD_1 0xabcd1235
74
+ #endif
75
+
76
+ /*
77
+ * xmlValidCtxt:
78
+ * An xmlValidCtxt is used for error reporting when validating.
79
+ */
80
+ typedef struct _xmlValidCtxt xmlValidCtxt;
81
+ typedef xmlValidCtxt *xmlValidCtxtPtr;
82
+ struct _xmlValidCtxt {
83
+ void *userData; /* user specific data block */
84
+ xmlValidityErrorFunc error; /* the callback in case of errors */
85
+ xmlValidityWarningFunc warning; /* the callback in case of warning */
86
+
87
+ /* Node analysis stack used when validating within entities */
88
+ xmlNodePtr node; /* Current parsed Node */
89
+ int nodeNr; /* Depth of the parsing stack */
90
+ int nodeMax; /* Max depth of the parsing stack */
91
+ xmlNodePtr *nodeTab; /* array of nodes */
92
+
93
+ unsigned int finishDtd; /* finished validating the Dtd ? */
94
+ xmlDocPtr doc; /* the document */
95
+ int valid; /* temporary validity check result */
96
+
97
+ /* state state used for non-determinist content validation */
98
+ xmlValidState *vstate; /* current state */
99
+ int vstateNr; /* Depth of the validation stack */
100
+ int vstateMax; /* Max depth of the validation stack */
101
+ xmlValidState *vstateTab; /* array of validation states */
102
+
103
+ #ifdef LIBXML_REGEXP_ENABLED
104
+ xmlAutomataPtr am; /* the automata */
105
+ xmlAutomataStatePtr state; /* used to build the automata */
106
+ #else
107
+ void *am;
108
+ void *state;
109
+ #endif
110
+ };
111
+
112
+ /*
113
+ * ALL notation declarations are stored in a table.
114
+ * There is one table per DTD.
115
+ */
116
+
117
+ typedef struct _xmlHashTable xmlNotationTable;
118
+ typedef xmlNotationTable *xmlNotationTablePtr;
119
+
120
+ /*
121
+ * ALL element declarations are stored in a table.
122
+ * There is one table per DTD.
123
+ */
124
+
125
+ typedef struct _xmlHashTable xmlElementTable;
126
+ typedef xmlElementTable *xmlElementTablePtr;
127
+
128
+ /*
129
+ * ALL attribute declarations are stored in a table.
130
+ * There is one table per DTD.
131
+ */
132
+
133
+ typedef struct _xmlHashTable xmlAttributeTable;
134
+ typedef xmlAttributeTable *xmlAttributeTablePtr;
135
+
136
+ /*
137
+ * ALL IDs attributes are stored in a table.
138
+ * There is one table per document.
139
+ */
140
+
141
+ typedef struct _xmlHashTable xmlIDTable;
142
+ typedef xmlIDTable *xmlIDTablePtr;
143
+
144
+ /*
145
+ * ALL Refs attributes are stored in a table.
146
+ * There is one table per document.
147
+ */
148
+
149
+ typedef struct _xmlHashTable xmlRefTable;
150
+ typedef xmlRefTable *xmlRefTablePtr;
151
+
152
+ /* Notation */
153
+ XMLPUBFUN xmlNotationPtr XMLCALL
154
+ xmlAddNotationDecl (xmlValidCtxtPtr ctxt,
155
+ xmlDtdPtr dtd,
156
+ const xmlChar *name,
157
+ const xmlChar *PublicID,
158
+ const xmlChar *SystemID);
159
+ #ifdef LIBXML_TREE_ENABLED
160
+ XMLPUBFUN xmlNotationTablePtr XMLCALL
161
+ xmlCopyNotationTable (xmlNotationTablePtr table);
162
+ #endif /* LIBXML_TREE_ENABLED */
163
+ XMLPUBFUN void XMLCALL
164
+ xmlFreeNotationTable (xmlNotationTablePtr table);
165
+ #ifdef LIBXML_OUTPUT_ENABLED
166
+ XMLPUBFUN void XMLCALL
167
+ xmlDumpNotationDecl (xmlBufferPtr buf,
168
+ xmlNotationPtr nota);
169
+ XMLPUBFUN void XMLCALL
170
+ xmlDumpNotationTable (xmlBufferPtr buf,
171
+ xmlNotationTablePtr table);
172
+ #endif /* LIBXML_OUTPUT_ENABLED */
173
+
174
+ /* Element Content */
175
+ /* the non Doc version are being deprecated */
176
+ XMLPUBFUN xmlElementContentPtr XMLCALL
177
+ xmlNewElementContent (const xmlChar *name,
178
+ xmlElementContentType type);
179
+ XMLPUBFUN xmlElementContentPtr XMLCALL
180
+ xmlCopyElementContent (xmlElementContentPtr content);
181
+ XMLPUBFUN void XMLCALL
182
+ xmlFreeElementContent (xmlElementContentPtr cur);
183
+ /* the new versions with doc argument */
184
+ XMLPUBFUN xmlElementContentPtr XMLCALL
185
+ xmlNewDocElementContent (xmlDocPtr doc,
186
+ const xmlChar *name,
187
+ xmlElementContentType type);
188
+ XMLPUBFUN xmlElementContentPtr XMLCALL
189
+ xmlCopyDocElementContent(xmlDocPtr doc,
190
+ xmlElementContentPtr content);
191
+ XMLPUBFUN void XMLCALL
192
+ xmlFreeDocElementContent(xmlDocPtr doc,
193
+ xmlElementContentPtr cur);
194
+ XMLPUBFUN void XMLCALL
195
+ xmlSnprintfElementContent(char *buf,
196
+ int size,
197
+ xmlElementContentPtr content,
198
+ int englob);
199
+ #ifdef LIBXML_OUTPUT_ENABLED
200
+ /* DEPRECATED */
201
+ XMLPUBFUN void XMLCALL
202
+ xmlSprintfElementContent(char *buf,
203
+ xmlElementContentPtr content,
204
+ int englob);
205
+ #endif /* LIBXML_OUTPUT_ENABLED */
206
+ /* DEPRECATED */
207
+
208
+ /* Element */
209
+ XMLPUBFUN xmlElementPtr XMLCALL
210
+ xmlAddElementDecl (xmlValidCtxtPtr ctxt,
211
+ xmlDtdPtr dtd,
212
+ const xmlChar *name,
213
+ xmlElementTypeVal type,
214
+ xmlElementContentPtr content);
215
+ #ifdef LIBXML_TREE_ENABLED
216
+ XMLPUBFUN xmlElementTablePtr XMLCALL
217
+ xmlCopyElementTable (xmlElementTablePtr table);
218
+ #endif /* LIBXML_TREE_ENABLED */
219
+ XMLPUBFUN void XMLCALL
220
+ xmlFreeElementTable (xmlElementTablePtr table);
221
+ #ifdef LIBXML_OUTPUT_ENABLED
222
+ XMLPUBFUN void XMLCALL
223
+ xmlDumpElementTable (xmlBufferPtr buf,
224
+ xmlElementTablePtr table);
225
+ XMLPUBFUN void XMLCALL
226
+ xmlDumpElementDecl (xmlBufferPtr buf,
227
+ xmlElementPtr elem);
228
+ #endif /* LIBXML_OUTPUT_ENABLED */
229
+
230
+ /* Enumeration */
231
+ XMLPUBFUN xmlEnumerationPtr XMLCALL
232
+ xmlCreateEnumeration (const xmlChar *name);
233
+ XMLPUBFUN void XMLCALL
234
+ xmlFreeEnumeration (xmlEnumerationPtr cur);
235
+ #ifdef LIBXML_TREE_ENABLED
236
+ XMLPUBFUN xmlEnumerationPtr XMLCALL
237
+ xmlCopyEnumeration (xmlEnumerationPtr cur);
238
+ #endif /* LIBXML_TREE_ENABLED */
239
+
240
+ /* Attribute */
241
+ XMLPUBFUN xmlAttributePtr XMLCALL
242
+ xmlAddAttributeDecl (xmlValidCtxtPtr ctxt,
243
+ xmlDtdPtr dtd,
244
+ const xmlChar *elem,
245
+ const xmlChar *name,
246
+ const xmlChar *ns,
247
+ xmlAttributeType type,
248
+ xmlAttributeDefault def,
249
+ const xmlChar *defaultValue,
250
+ xmlEnumerationPtr tree);
251
+ #ifdef LIBXML_TREE_ENABLED
252
+ XMLPUBFUN xmlAttributeTablePtr XMLCALL
253
+ xmlCopyAttributeTable (xmlAttributeTablePtr table);
254
+ #endif /* LIBXML_TREE_ENABLED */
255
+ XMLPUBFUN void XMLCALL
256
+ xmlFreeAttributeTable (xmlAttributeTablePtr table);
257
+ #ifdef LIBXML_OUTPUT_ENABLED
258
+ XMLPUBFUN void XMLCALL
259
+ xmlDumpAttributeTable (xmlBufferPtr buf,
260
+ xmlAttributeTablePtr table);
261
+ XMLPUBFUN void XMLCALL
262
+ xmlDumpAttributeDecl (xmlBufferPtr buf,
263
+ xmlAttributePtr attr);
264
+ #endif /* LIBXML_OUTPUT_ENABLED */
265
+
266
+ /* IDs */
267
+ XMLPUBFUN xmlIDPtr XMLCALL
268
+ xmlAddID (xmlValidCtxtPtr ctxt,
269
+ xmlDocPtr doc,
270
+ const xmlChar *value,
271
+ xmlAttrPtr attr);
272
+ XMLPUBFUN void XMLCALL
273
+ xmlFreeIDTable (xmlIDTablePtr table);
274
+ XMLPUBFUN xmlAttrPtr XMLCALL
275
+ xmlGetID (xmlDocPtr doc,
276
+ const xmlChar *ID);
277
+ XMLPUBFUN int XMLCALL
278
+ xmlIsID (xmlDocPtr doc,
279
+ xmlNodePtr elem,
280
+ xmlAttrPtr attr);
281
+ XMLPUBFUN int XMLCALL
282
+ xmlRemoveID (xmlDocPtr doc,
283
+ xmlAttrPtr attr);
284
+
285
+ /* IDREFs */
286
+ XMLPUBFUN xmlRefPtr XMLCALL
287
+ xmlAddRef (xmlValidCtxtPtr ctxt,
288
+ xmlDocPtr doc,
289
+ const xmlChar *value,
290
+ xmlAttrPtr attr);
291
+ XMLPUBFUN void XMLCALL
292
+ xmlFreeRefTable (xmlRefTablePtr table);
293
+ XMLPUBFUN int XMLCALL
294
+ xmlIsRef (xmlDocPtr doc,
295
+ xmlNodePtr elem,
296
+ xmlAttrPtr attr);
297
+ XMLPUBFUN int XMLCALL
298
+ xmlRemoveRef (xmlDocPtr doc,
299
+ xmlAttrPtr attr);
300
+ XMLPUBFUN xmlListPtr XMLCALL
301
+ xmlGetRefs (xmlDocPtr doc,
302
+ const xmlChar *ID);
303
+
304
+ /**
305
+ * The public function calls related to validity checking.
306
+ */
307
+ #ifdef LIBXML_VALID_ENABLED
308
+ /* Allocate/Release Validation Contexts */
309
+ XMLPUBFUN xmlValidCtxtPtr XMLCALL
310
+ xmlNewValidCtxt(void);
311
+ XMLPUBFUN void XMLCALL
312
+ xmlFreeValidCtxt(xmlValidCtxtPtr);
313
+
314
+ XMLPUBFUN int XMLCALL
315
+ xmlValidateRoot (xmlValidCtxtPtr ctxt,
316
+ xmlDocPtr doc);
317
+ XMLPUBFUN int XMLCALL
318
+ xmlValidateElementDecl (xmlValidCtxtPtr ctxt,
319
+ xmlDocPtr doc,
320
+ xmlElementPtr elem);
321
+ XMLPUBFUN xmlChar * XMLCALL
322
+ xmlValidNormalizeAttributeValue(xmlDocPtr doc,
323
+ xmlNodePtr elem,
324
+ const xmlChar *name,
325
+ const xmlChar *value);
326
+ XMLPUBFUN xmlChar * XMLCALL
327
+ xmlValidCtxtNormalizeAttributeValue(xmlValidCtxtPtr ctxt,
328
+ xmlDocPtr doc,
329
+ xmlNodePtr elem,
330
+ const xmlChar *name,
331
+ const xmlChar *value);
332
+ XMLPUBFUN int XMLCALL
333
+ xmlValidateAttributeDecl(xmlValidCtxtPtr ctxt,
334
+ xmlDocPtr doc,
335
+ xmlAttributePtr attr);
336
+ XMLPUBFUN int XMLCALL
337
+ xmlValidateAttributeValue(xmlAttributeType type,
338
+ const xmlChar *value);
339
+ XMLPUBFUN int XMLCALL
340
+ xmlValidateNotationDecl (xmlValidCtxtPtr ctxt,
341
+ xmlDocPtr doc,
342
+ xmlNotationPtr nota);
343
+ XMLPUBFUN int XMLCALL
344
+ xmlValidateDtd (xmlValidCtxtPtr ctxt,
345
+ xmlDocPtr doc,
346
+ xmlDtdPtr dtd);
347
+ XMLPUBFUN int XMLCALL
348
+ xmlValidateDtdFinal (xmlValidCtxtPtr ctxt,
349
+ xmlDocPtr doc);
350
+ XMLPUBFUN int XMLCALL
351
+ xmlValidateDocument (xmlValidCtxtPtr ctxt,
352
+ xmlDocPtr doc);
353
+ XMLPUBFUN int XMLCALL
354
+ xmlValidateElement (xmlValidCtxtPtr ctxt,
355
+ xmlDocPtr doc,
356
+ xmlNodePtr elem);
357
+ XMLPUBFUN int XMLCALL
358
+ xmlValidateOneElement (xmlValidCtxtPtr ctxt,
359
+ xmlDocPtr doc,
360
+ xmlNodePtr elem);
361
+ XMLPUBFUN int XMLCALL
362
+ xmlValidateOneAttribute (xmlValidCtxtPtr ctxt,
363
+ xmlDocPtr doc,
364
+ xmlNodePtr elem,
365
+ xmlAttrPtr attr,
366
+ const xmlChar *value);
367
+ XMLPUBFUN int XMLCALL
368
+ xmlValidateOneNamespace (xmlValidCtxtPtr ctxt,
369
+ xmlDocPtr doc,
370
+ xmlNodePtr elem,
371
+ const xmlChar *prefix,
372
+ xmlNsPtr ns,
373
+ const xmlChar *value);
374
+ XMLPUBFUN int XMLCALL
375
+ xmlValidateDocumentFinal(xmlValidCtxtPtr ctxt,
376
+ xmlDocPtr doc);
377
+ #endif /* LIBXML_VALID_ENABLED */
378
+
379
+ #if defined(LIBXML_VALID_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
380
+ XMLPUBFUN int XMLCALL
381
+ xmlValidateNotationUse (xmlValidCtxtPtr ctxt,
382
+ xmlDocPtr doc,
383
+ const xmlChar *notationName);
384
+ #endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */
385
+
386
+ XMLPUBFUN int XMLCALL
387
+ xmlIsMixedElement (xmlDocPtr doc,
388
+ const xmlChar *name);
389
+ XMLPUBFUN xmlAttributePtr XMLCALL
390
+ xmlGetDtdAttrDesc (xmlDtdPtr dtd,
391
+ const xmlChar *elem,
392
+ const xmlChar *name);
393
+ XMLPUBFUN xmlAttributePtr XMLCALL
394
+ xmlGetDtdQAttrDesc (xmlDtdPtr dtd,
395
+ const xmlChar *elem,
396
+ const xmlChar *name,
397
+ const xmlChar *prefix);
398
+ XMLPUBFUN xmlNotationPtr XMLCALL
399
+ xmlGetDtdNotationDesc (xmlDtdPtr dtd,
400
+ const xmlChar *name);
401
+ XMLPUBFUN xmlElementPtr XMLCALL
402
+ xmlGetDtdQElementDesc (xmlDtdPtr dtd,
403
+ const xmlChar *name,
404
+ const xmlChar *prefix);
405
+ XMLPUBFUN xmlElementPtr XMLCALL
406
+ xmlGetDtdElementDesc (xmlDtdPtr dtd,
407
+ const xmlChar *name);
408
+
409
+ #ifdef LIBXML_VALID_ENABLED
410
+
411
+ XMLPUBFUN int XMLCALL
412
+ xmlValidGetPotentialChildren(xmlElementContent *ctree,
413
+ const xmlChar **names,
414
+ int *len,
415
+ int max);
416
+
417
+ XMLPUBFUN int XMLCALL
418
+ xmlValidGetValidElements(xmlNode *prev,
419
+ xmlNode *next,
420
+ const xmlChar **names,
421
+ int max);
422
+ XMLPUBFUN int XMLCALL
423
+ xmlValidateNameValue (const xmlChar *value);
424
+ XMLPUBFUN int XMLCALL
425
+ xmlValidateNamesValue (const xmlChar *value);
426
+ XMLPUBFUN int XMLCALL
427
+ xmlValidateNmtokenValue (const xmlChar *value);
428
+ XMLPUBFUN int XMLCALL
429
+ xmlValidateNmtokensValue(const xmlChar *value);
430
+
431
+ #ifdef LIBXML_REGEXP_ENABLED
432
+ /*
433
+ * Validation based on the regexp support
434
+ */
435
+ XMLPUBFUN int XMLCALL
436
+ xmlValidBuildContentModel(xmlValidCtxtPtr ctxt,
437
+ xmlElementPtr elem);
438
+
439
+ XMLPUBFUN int XMLCALL
440
+ xmlValidatePushElement (xmlValidCtxtPtr ctxt,
441
+ xmlDocPtr doc,
442
+ xmlNodePtr elem,
443
+ const xmlChar *qname);
444
+ XMLPUBFUN int XMLCALL
445
+ xmlValidatePushCData (xmlValidCtxtPtr ctxt,
446
+ const xmlChar *data,
447
+ int len);
448
+ XMLPUBFUN int XMLCALL
449
+ xmlValidatePopElement (xmlValidCtxtPtr ctxt,
450
+ xmlDocPtr doc,
451
+ xmlNodePtr elem,
452
+ const xmlChar *qname);
453
+ #endif /* LIBXML_REGEXP_ENABLED */
454
+ #endif /* LIBXML_VALID_ENABLED */
455
+ #ifdef __cplusplus
456
+ }
457
+ #endif
458
+ #endif /* __XML_VALID_H__ */
@@ -0,0 +1,129 @@
1
+ /*
2
+ * Summary: implementation of XInclude
3
+ * Description: API to handle XInclude processing,
4
+ * implements the
5
+ * World Wide Web Consortium Last Call Working Draft 10 November 2003
6
+ * http://www.w3.org/TR/2003/WD-xinclude-20031110
7
+ *
8
+ * Copy: See Copyright for the status of this software.
9
+ *
10
+ * Author: Daniel Veillard
11
+ */
12
+
13
+ #ifndef __XML_XINCLUDE_H__
14
+ #define __XML_XINCLUDE_H__
15
+
16
+ #include <libxml/xmlversion.h>
17
+ #include <libxml/tree.h>
18
+
19
+ #ifdef LIBXML_XINCLUDE_ENABLED
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+ /**
26
+ * XINCLUDE_NS:
27
+ *
28
+ * Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude
29
+ */
30
+ #define XINCLUDE_NS (const xmlChar *) "http://www.w3.org/2003/XInclude"
31
+ /**
32
+ * XINCLUDE_OLD_NS:
33
+ *
34
+ * Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude
35
+ */
36
+ #define XINCLUDE_OLD_NS (const xmlChar *) "http://www.w3.org/2001/XInclude"
37
+ /**
38
+ * XINCLUDE_NODE:
39
+ *
40
+ * Macro defining "include"
41
+ */
42
+ #define XINCLUDE_NODE (const xmlChar *) "include"
43
+ /**
44
+ * XINCLUDE_FALLBACK:
45
+ *
46
+ * Macro defining "fallback"
47
+ */
48
+ #define XINCLUDE_FALLBACK (const xmlChar *) "fallback"
49
+ /**
50
+ * XINCLUDE_HREF:
51
+ *
52
+ * Macro defining "href"
53
+ */
54
+ #define XINCLUDE_HREF (const xmlChar *) "href"
55
+ /**
56
+ * XINCLUDE_PARSE:
57
+ *
58
+ * Macro defining "parse"
59
+ */
60
+ #define XINCLUDE_PARSE (const xmlChar *) "parse"
61
+ /**
62
+ * XINCLUDE_PARSE_XML:
63
+ *
64
+ * Macro defining "xml"
65
+ */
66
+ #define XINCLUDE_PARSE_XML (const xmlChar *) "xml"
67
+ /**
68
+ * XINCLUDE_PARSE_TEXT:
69
+ *
70
+ * Macro defining "text"
71
+ */
72
+ #define XINCLUDE_PARSE_TEXT (const xmlChar *) "text"
73
+ /**
74
+ * XINCLUDE_PARSE_ENCODING:
75
+ *
76
+ * Macro defining "encoding"
77
+ */
78
+ #define XINCLUDE_PARSE_ENCODING (const xmlChar *) "encoding"
79
+ /**
80
+ * XINCLUDE_PARSE_XPOINTER:
81
+ *
82
+ * Macro defining "xpointer"
83
+ */
84
+ #define XINCLUDE_PARSE_XPOINTER (const xmlChar *) "xpointer"
85
+
86
+ typedef struct _xmlXIncludeCtxt xmlXIncludeCtxt;
87
+ typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr;
88
+
89
+ /*
90
+ * standalone processing
91
+ */
92
+ XMLPUBFUN int XMLCALL
93
+ xmlXIncludeProcess (xmlDocPtr doc);
94
+ XMLPUBFUN int XMLCALL
95
+ xmlXIncludeProcessFlags (xmlDocPtr doc,
96
+ int flags);
97
+ XMLPUBFUN int XMLCALL
98
+ xmlXIncludeProcessFlagsData(xmlDocPtr doc,
99
+ int flags,
100
+ void *data);
101
+ XMLPUBFUN int XMLCALL
102
+ xmlXIncludeProcessTreeFlagsData(xmlNodePtr tree,
103
+ int flags,
104
+ void *data);
105
+ XMLPUBFUN int XMLCALL
106
+ xmlXIncludeProcessTree (xmlNodePtr tree);
107
+ XMLPUBFUN int XMLCALL
108
+ xmlXIncludeProcessTreeFlags(xmlNodePtr tree,
109
+ int flags);
110
+ /*
111
+ * contextual processing
112
+ */
113
+ XMLPUBFUN xmlXIncludeCtxtPtr XMLCALL
114
+ xmlXIncludeNewContext (xmlDocPtr doc);
115
+ XMLPUBFUN int XMLCALL
116
+ xmlXIncludeSetFlags (xmlXIncludeCtxtPtr ctxt,
117
+ int flags);
118
+ XMLPUBFUN void XMLCALL
119
+ xmlXIncludeFreeContext (xmlXIncludeCtxtPtr ctxt);
120
+ XMLPUBFUN int XMLCALL
121
+ xmlXIncludeProcessNode (xmlXIncludeCtxtPtr ctxt,
122
+ xmlNodePtr tree);
123
+ #ifdef __cplusplus
124
+ }
125
+ #endif
126
+
127
+ #endif /* LIBXML_XINCLUDE_ENABLED */
128
+
129
+ #endif /* __XML_XINCLUDE_H__ */