ReactOS 0.4.15-dev-7842-g558ab78
xlink.h
Go to the documentation of this file.
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
19extern "C" {
20#endif
21
32typedef xmlChar *xlinkHRef;
33typedef xmlChar *xlinkRole;
34typedef xmlChar *xlinkTitle;
35
36typedef enum {
37 XLINK_TYPE_NONE = 0,
38 XLINK_TYPE_SIMPLE,
39 XLINK_TYPE_EXTENDED,
40 XLINK_TYPE_EXTENDED_SET
41} xlinkType;
42
43typedef enum {
44 XLINK_SHOW_NONE = 0,
45 XLINK_SHOW_NEW,
46 XLINK_SHOW_EMBED,
47 XLINK_SHOW_REPLACE
48} xlinkShow;
49
50typedef enum {
51 XLINK_ACTUATE_NONE = 0,
52 XLINK_ACTUATE_AUTO,
53 XLINK_ACTUATE_ONREQUEST
54} xlinkActuate;
55
64typedef 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
81typedef void
82(*xlinkSimpleLinkFunk) (void *ctx,
84 const xlinkHRef href,
85 const xlinkRole role,
86 const xlinkTitle title);
87
106typedef void
107(*xlinkExtendedLinkFunk)(void *ctx,
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
134typedef void
135(*xlinkExtendedLinkSetFunk) (void *ctx,
137 int nbLocators,
138 const xlinkHRef *hrefs,
139 const xlinkRole *roles,
140 int nbTitles,
141 const xlinkTitle *titles,
142 const xmlChar **langs);
143
150typedef struct _xlinkHandler xlinkHandler;
151typedef xlinkHandler *xlinkHandlerPtr;
152struct _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
163XMLPUBFUN xlinkNodeDetectFunc XMLCALL
164 xlinkGetDefaultDetect (void);
166 xlinkSetDefaultDetect (xlinkNodeDetectFunc func);
167
168/*
169 * Routines to set/get the default handlers.
170 */
171XMLPUBFUN xlinkHandlerPtr XMLCALL
172 xlinkGetDefaultHandler (void);
174 xlinkSetDefaultHandler (xlinkHandlerPtr handler);
175
176/*
177 * Link detection module itself.
178 */
179XMLPUBFUN xlinkType XMLCALL
180 xlinkIsLink (xmlDocPtr doc,
182
183#ifdef __cplusplus
184}
185#endif
186
187#endif /* LIBXML_XPTR_ENABLED */
188
189#endif /* __XML_XLINK_H__ */
Definition: _set.h:50
UINT(* handler)(MSIPACKAGE *)
Definition: action.c:7482
#define XMLCALL
GLenum func
Definition: glext.h:6028
static char title[]
Definition: ps.c:92
CardRegion * from
Definition: spigame.cpp:19
Definition: tree.h:551
Definition: tree.h:489
Definition: dlist.c:348
#define XMLPUBFUN
Definition: xmlexports.h:61
unsigned char xmlChar
Definition: xmlstring.h:28