Mercurial > repos > guerler > springsuite
comparison planemo/lib/python3.7/site-packages/lxml/includes/libxml/xlink.h @ 1:56ad4e20f292 draft
"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
author | guerler |
---|---|
date | Fri, 31 Jul 2020 00:32:28 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:d30785e31577 | 1:56ad4e20f292 |
---|---|
1 /* | |
2 * Summary: unfinished XLink detection module | |
3 * Description: unfinished XLink detection module | |
4 * | |
5 * Copy: See Copyright for the status of this software. | |
6 * | |
7 * Author: Daniel Veillard | |
8 */ | |
9 | |
10 #ifndef __XML_XLINK_H__ | |
11 #define __XML_XLINK_H__ | |
12 | |
13 #include <libxml/xmlversion.h> | |
14 #include <libxml/tree.h> | |
15 | |
16 #ifdef LIBXML_XPTR_ENABLED | |
17 | |
18 #ifdef __cplusplus | |
19 extern "C" { | |
20 #endif | |
21 | |
22 /** | |
23 * Various defines for the various Link properties. | |
24 * | |
25 * NOTE: the link detection layer will try to resolve QName expansion | |
26 * of namespaces. If "foo" is the prefix for "http://foo.com/" | |
27 * then the link detection layer will expand role="foo:myrole" | |
28 * to "http://foo.com/:myrole". | |
29 * NOTE: the link detection layer will expand URI-References found on | |
30 * href attributes by using the base mechanism if found. | |
31 */ | |
32 typedef xmlChar *xlinkHRef; | |
33 typedef xmlChar *xlinkRole; | |
34 typedef xmlChar *xlinkTitle; | |
35 | |
36 typedef enum { | |
37 XLINK_TYPE_NONE = 0, | |
38 XLINK_TYPE_SIMPLE, | |
39 XLINK_TYPE_EXTENDED, | |
40 XLINK_TYPE_EXTENDED_SET | |
41 } xlinkType; | |
42 | |
43 typedef enum { | |
44 XLINK_SHOW_NONE = 0, | |
45 XLINK_SHOW_NEW, | |
46 XLINK_SHOW_EMBED, | |
47 XLINK_SHOW_REPLACE | |
48 } xlinkShow; | |
49 | |
50 typedef enum { | |
51 XLINK_ACTUATE_NONE = 0, | |
52 XLINK_ACTUATE_AUTO, | |
53 XLINK_ACTUATE_ONREQUEST | |
54 } xlinkActuate; | |
55 | |
56 /** | |
57 * xlinkNodeDetectFunc: | |
58 * @ctx: user data pointer | |
59 * @node: the node to check | |
60 * | |
61 * This is the prototype for the link detection routine. | |
62 * It calls the default link detection callbacks upon link detection. | |
63 */ | |
64 typedef void (*xlinkNodeDetectFunc) (void *ctx, xmlNodePtr node); | |
65 | |
66 /* | |
67 * The link detection module interact with the upper layers using | |
68 * a set of callback registered at parsing time. | |
69 */ | |
70 | |
71 /** | |
72 * xlinkSimpleLinkFunk: | |
73 * @ctx: user data pointer | |
74 * @node: the node carrying the link | |
75 * @href: the target of the link | |
76 * @role: the role string | |
77 * @title: the link title | |
78 * | |
79 * This is the prototype for a simple link detection callback. | |
80 */ | |
81 typedef void | |
82 (*xlinkSimpleLinkFunk) (void *ctx, | |
83 xmlNodePtr node, | |
84 const xlinkHRef href, | |
85 const xlinkRole role, | |
86 const xlinkTitle title); | |
87 | |
88 /** | |
89 * xlinkExtendedLinkFunk: | |
90 * @ctx: user data pointer | |
91 * @node: the node carrying the link | |
92 * @nbLocators: the number of locators detected on the link | |
93 * @hrefs: pointer to the array of locator hrefs | |
94 * @roles: pointer to the array of locator roles | |
95 * @nbArcs: the number of arcs detected on the link | |
96 * @from: pointer to the array of source roles found on the arcs | |
97 * @to: pointer to the array of target roles found on the arcs | |
98 * @show: array of values for the show attributes found on the arcs | |
99 * @actuate: array of values for the actuate attributes found on the arcs | |
100 * @nbTitles: the number of titles detected on the link | |
101 * @title: array of titles detected on the link | |
102 * @langs: array of xml:lang values for the titles | |
103 * | |
104 * This is the prototype for a extended link detection callback. | |
105 */ | |
106 typedef void | |
107 (*xlinkExtendedLinkFunk)(void *ctx, | |
108 xmlNodePtr node, | |
109 int nbLocators, | |
110 const xlinkHRef *hrefs, | |
111 const xlinkRole *roles, | |
112 int nbArcs, | |
113 const xlinkRole *from, | |
114 const xlinkRole *to, | |
115 xlinkShow *show, | |
116 xlinkActuate *actuate, | |
117 int nbTitles, | |
118 const xlinkTitle *titles, | |
119 const xmlChar **langs); | |
120 | |
121 /** | |
122 * xlinkExtendedLinkSetFunk: | |
123 * @ctx: user data pointer | |
124 * @node: the node carrying the link | |
125 * @nbLocators: the number of locators detected on the link | |
126 * @hrefs: pointer to the array of locator hrefs | |
127 * @roles: pointer to the array of locator roles | |
128 * @nbTitles: the number of titles detected on the link | |
129 * @title: array of titles detected on the link | |
130 * @langs: array of xml:lang values for the titles | |
131 * | |
132 * This is the prototype for a extended link set detection callback. | |
133 */ | |
134 typedef void | |
135 (*xlinkExtendedLinkSetFunk) (void *ctx, | |
136 xmlNodePtr node, | |
137 int nbLocators, | |
138 const xlinkHRef *hrefs, | |
139 const xlinkRole *roles, | |
140 int nbTitles, | |
141 const xlinkTitle *titles, | |
142 const xmlChar **langs); | |
143 | |
144 /** | |
145 * This is the structure containing a set of Links detection callbacks. | |
146 * | |
147 * There is no default xlink callbacks, if one want to get link | |
148 * recognition activated, those call backs must be provided before parsing. | |
149 */ | |
150 typedef struct _xlinkHandler xlinkHandler; | |
151 typedef xlinkHandler *xlinkHandlerPtr; | |
152 struct _xlinkHandler { | |
153 xlinkSimpleLinkFunk simple; | |
154 xlinkExtendedLinkFunk extended; | |
155 xlinkExtendedLinkSetFunk set; | |
156 }; | |
157 | |
158 /* | |
159 * The default detection routine, can be overridden, they call the default | |
160 * detection callbacks. | |
161 */ | |
162 | |
163 XMLPUBFUN xlinkNodeDetectFunc XMLCALL | |
164 xlinkGetDefaultDetect (void); | |
165 XMLPUBFUN void XMLCALL | |
166 xlinkSetDefaultDetect (xlinkNodeDetectFunc func); | |
167 | |
168 /* | |
169 * Routines to set/get the default handlers. | |
170 */ | |
171 XMLPUBFUN xlinkHandlerPtr XMLCALL | |
172 xlinkGetDefaultHandler (void); | |
173 XMLPUBFUN void XMLCALL | |
174 xlinkSetDefaultHandler (xlinkHandlerPtr handler); | |
175 | |
176 /* | |
177 * Link detection module itself. | |
178 */ | |
179 XMLPUBFUN xlinkType XMLCALL | |
180 xlinkIsLink (xmlDocPtr doc, | |
181 xmlNodePtr node); | |
182 | |
183 #ifdef __cplusplus | |
184 } | |
185 #endif | |
186 | |
187 #endif /* LIBXML_XPTR_ENABLED */ | |
188 | |
189 #endif /* __XML_XLINK_H__ */ |