pocxxeci 0.30.1

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

Potentially problematic release.


This version of pocxxeci 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 +122 -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,183 @@
1
+ /*
2
+ * xlink.c : implementation of the hyperlinks detection module
3
+ * This version supports both XML XLinks and HTML simple links
4
+ *
5
+ * See Copyright for the status of this software.
6
+ *
7
+ * daniel@veillard.com
8
+ */
9
+
10
+
11
+ #define IN_LIBXML
12
+ #include "libxml.h"
13
+
14
+ #ifdef LIBXML_XPTR_ENABLED
15
+ #include <string.h> /* for memset() only */
16
+ #ifdef HAVE_CTYPE_H
17
+ #include <ctype.h>
18
+ #endif
19
+ #ifdef HAVE_STDLIB_H
20
+ #include <stdlib.h>
21
+ #endif
22
+ #ifdef HAVE_SYS_STAT_H
23
+ #include <sys/stat.h>
24
+ #endif
25
+ #ifdef HAVE_FCNTL_H
26
+ #include <fcntl.h>
27
+ #endif
28
+ #ifdef HAVE_UNISTD_H
29
+ #include <unistd.h>
30
+ #endif
31
+ #ifdef LIBXML_ZLIB_ENABLED
32
+ #include <zlib.h>
33
+ #endif
34
+
35
+ #include <libxml/xmlmemory.h>
36
+ #include <libxml/tree.h>
37
+ #include <libxml/parser.h>
38
+ #include <libxml/valid.h>
39
+ #include <libxml/xlink.h>
40
+ #include <libxml/globals.h>
41
+
42
+ #define XLINK_NAMESPACE (BAD_CAST "http://www.w3.org/1999/xlink/namespace/")
43
+ #define XHTML_NAMESPACE (BAD_CAST "http://www.w3.org/1999/xhtml/")
44
+
45
+ /****************************************************************
46
+ * *
47
+ * Default setting and related functions *
48
+ * *
49
+ ****************************************************************/
50
+
51
+ static xlinkHandlerPtr xlinkDefaultHandler = NULL;
52
+ static xlinkNodeDetectFunc xlinkDefaultDetect = NULL;
53
+
54
+ /**
55
+ * xlinkGetDefaultHandler:
56
+ *
57
+ * Get the default xlink handler.
58
+ *
59
+ * Returns the current xlinkHandlerPtr value.
60
+ */
61
+ xlinkHandlerPtr
62
+ xlinkGetDefaultHandler(void) {
63
+ return(xlinkDefaultHandler);
64
+ }
65
+
66
+
67
+ /**
68
+ * xlinkSetDefaultHandler:
69
+ * @handler: the new value for the xlink handler block
70
+ *
71
+ * Set the default xlink handlers
72
+ */
73
+ void
74
+ xlinkSetDefaultHandler(xlinkHandlerPtr handler) {
75
+ xlinkDefaultHandler = handler;
76
+ }
77
+
78
+ /**
79
+ * xlinkGetDefaultDetect:
80
+ *
81
+ * Get the default xlink detection routine
82
+ *
83
+ * Returns the current function or NULL;
84
+ */
85
+ xlinkNodeDetectFunc
86
+ xlinkGetDefaultDetect (void) {
87
+ return(xlinkDefaultDetect);
88
+ }
89
+
90
+ /**
91
+ * xlinkSetDefaultDetect:
92
+ * @func: pointer to the new detection routine.
93
+ *
94
+ * Set the default xlink detection routine
95
+ */
96
+ void
97
+ xlinkSetDefaultDetect (xlinkNodeDetectFunc func) {
98
+ xlinkDefaultDetect = func;
99
+ }
100
+
101
+ /****************************************************************
102
+ * *
103
+ * The detection routines *
104
+ * *
105
+ ****************************************************************/
106
+
107
+
108
+ /**
109
+ * xlinkIsLink:
110
+ * @doc: the document containing the node
111
+ * @node: the node pointer itself
112
+ *
113
+ * Check whether the given node carries the attributes needed
114
+ * to be a link element (or is one of the linking elements issued
115
+ * from the (X)HTML DtDs).
116
+ * This routine don't try to do full checking of the link validity
117
+ * but tries to detect and return the appropriate link type.
118
+ *
119
+ * Returns the xlinkType of the node (XLINK_TYPE_NONE if there is no
120
+ * link detected.
121
+ */
122
+ xlinkType
123
+ xlinkIsLink (xmlDocPtr doc, xmlNodePtr node) {
124
+ xmlChar *type = NULL, *role = NULL;
125
+ xlinkType ret = XLINK_TYPE_NONE;
126
+
127
+ if (node == NULL) return(XLINK_TYPE_NONE);
128
+ if (doc == NULL) doc = node->doc;
129
+ if ((doc != NULL) && (doc->type == XML_HTML_DOCUMENT_NODE)) {
130
+ /*
131
+ * This is an HTML document.
132
+ */
133
+ } else if ((node->ns != NULL) &&
134
+ (xmlStrEqual(node->ns->href, XHTML_NAMESPACE))) {
135
+ /*
136
+ * !!!! We really need an IS_XHTML_ELEMENT function from HTMLtree.h @@@
137
+ */
138
+ /*
139
+ * This is an XHTML element within an XML document
140
+ * Check whether it's one of the element able to carry links
141
+ * and in that case if it holds the attributes.
142
+ */
143
+ }
144
+
145
+ /*
146
+ * We don't prevent a-priori having XML Linking constructs on
147
+ * XHTML elements
148
+ */
149
+ type = xmlGetNsProp(node, BAD_CAST"type", XLINK_NAMESPACE);
150
+ if (type != NULL) {
151
+ if (xmlStrEqual(type, BAD_CAST "simple")) {
152
+ ret = XLINK_TYPE_SIMPLE;
153
+ } else if (xmlStrEqual(type, BAD_CAST "extended")) {
154
+ role = xmlGetNsProp(node, BAD_CAST "role", XLINK_NAMESPACE);
155
+ if (role != NULL) {
156
+ xmlNsPtr xlink;
157
+ xlink = xmlSearchNs(doc, node, XLINK_NAMESPACE);
158
+ if (xlink == NULL) {
159
+ /* Humm, fallback method */
160
+ if (xmlStrEqual(role, BAD_CAST"xlink:external-linkset"))
161
+ ret = XLINK_TYPE_EXTENDED_SET;
162
+ } else {
163
+ xmlChar buf[200];
164
+ snprintf((char *) buf, sizeof(buf), "%s:external-linkset",
165
+ (char *) xlink->prefix);
166
+ buf[sizeof(buf) - 1] = 0;
167
+ if (xmlStrEqual(role, buf))
168
+ ret = XLINK_TYPE_EXTENDED_SET;
169
+
170
+ }
171
+
172
+ }
173
+ ret = XLINK_TYPE_EXTENDED;
174
+ }
175
+ }
176
+
177
+ if (type != NULL) xmlFree(type);
178
+ if (role != NULL) xmlFree(role);
179
+ return(ret);
180
+ }
181
+ #endif /* LIBXML_XPTR_ENABLED */
182
+ #define bottom_xlink
183
+ #include "elfgcchack.h"