1 * Summary: unfinished XLink detection module
2 * Description: unfinished XLink detection module
4 * Copy: See Copyright for the status of this software.
6 * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
8 /if not defined(XML_XLINK_H__)
11 /include "libxmlrpg/xmlversion"
13 /if defined(LIBXML_XPTR_ENABLED)
15 /include "libxmlrpg/xmlTypesC"
16 /include "libxmlrpg/tree"
18 * Various defines for the various Link properties.
20 * NOTE: the link detection layer will try to resolve QName expansion
21 * of namespaces. If "foo" is the prefix for "http://foo.com/"
22 * then the link detection layer will expand role="foo:myrole"
23 * to "http://foo.com/:myrole".
24 * NOTE: the link detection layer will expand URI-Refences found on
25 * href attributes by using the base mechanism if found.
27 d xlinkRef s * based(######typedef######) xmlChar *
28 d xlinkRole s * based(######typedef######) xmlChar *
29 d xlinkTitle s * based(######typedef######) xmlChar *
31 d xlinkType s based(######typedef######)
35 d XLINK_TYPE_SIMPLE...
37 d XLINK_TYPE_EXTENDED...
39 d XLINK_TYPE_EXTENDED_SET...
42 d xlinkShow s based(######typedef######)
50 d XLINK_SHOW_REPLACE...
53 d xlinkActuate s based(######typedef######)
55 d XLINK_ACTUATE_NONE...
57 d XLINK_ACTUATE_AUTO...
59 d XLINK_ACTUATE_ONREQUEST...
62 * xlinkNodeDetectFunc:
63 * @ctx: user data pointer
64 * @node: the node to check
66 * This is the prototype for the link detection routine.
67 * It calls the default link detection callbacks upon link detection.
69 d xlinkNodeDetectFunc...
70 d s * based(######typedef######)
73 * The link detection module interact with the upper layers using
74 * a set of callback registered at parsing time.
76 * xlinkSimpleLinkFunk:
77 * @ctx: user data pointer
78 * @node: the node carrying the link
79 * @href: the target of the link
80 * @role: the role string
81 * @title: the link title
83 * This is the prototype for a simple link detection callback.
85 d xlinkSimpleLinkFunk...
86 d s * based(######typedef######)
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
104 * This is the prototype for a extended link detection callback.
106 d xlinkExtendedLinkFunk...
107 d s * based(######typedef######)
110 * xlinkExtendedLinkSetFunk:
111 * @ctx: user data pointer
112 * @node: the node carrying the link
113 * @nbLocators: the number of locators detected on the link
114 * @hrefs: pointer to the array of locator hrefs
115 * @roles: pointer to the array of locator roles
116 * @nbTitles: the number of titles detected on the link
117 * @title: array of titles detected on the link
118 * @langs: array of xml:lang values for the titles
120 * This is the prototype for a extended link set detection callback.
122 d xlinkExtendedLinkSetFunk...
123 d s * based(######typedef######)
126 * This is the structure containing a set of Links detection callbacks.
128 * There is no default xlink callbacks, if one want to get link
129 * recognition activated, those call backs must be provided before parsing.
132 d s * based(######typedef######) xmlChar *
134 d xlinkHandler ds based(xlinkHandlerPtr)
136 d simple like(xlinkSimpleLinkFunk)
137 d extended like(xlinkExtendedLinkFunk)
138 d set like(xlinkExtendedLinkSetFunk)
140 * The default detection routine, can be overridden, they call the default
141 * detection callbacks.
143 d xlinkGetDefaultDetect...
144 d pr extproc('xlinkGetDefaultDetect')
145 d like(xlinkNodeDetectFunc)
147 d xlinkSetDefaultDetect...
148 d pr extproc('xlinkSetDefaultDetect')
149 d func value like(xlinkNodeDetectFunc)
151 * Routines to set/get the default handlers.
153 d xlinkGetDefaultHandler...
154 d pr extproc('xlinkGetDefaultHandler')
155 d like(xlinkHandlerPtr)
157 d xlinkSetDefaultHandler...
158 d pr extproc('xlinkSetDefaultHandler')
159 d handler value like(xlinkHandlerPtr)
161 * Link detection module itself.
163 d xlinkIsLink pr extproc('xlinkIsLink')
165 d doc value like(xmlDocPtr)
166 d node value like(xmlNodePtr)
168 /endif LIBXML_XPTR_ENABLED