ÿØÿàJFIFÿþ ÿÛC       ÿÛC ÿÀÿÄÿÄ"#QrÿÄÿÄ&1!A"2qQaáÿÚ ?Øy,æ/3JæÝ¹È߲؋5êXw²±ÉyˆR”¾I0ó2—PI¾IÌÚiMö¯–þrìN&"KgX:Šíµ•nTJnLK„…@!‰-ý ùúmë;ºgµŒ&ó±hw’¯Õ@”Ü— 9ñ-ë.²1<yà‚¹ïQÐU„ہ?.’¦èûbß±©Ö«Âw*VŒ) `$‰bØÔŸ’ëXÖ-ËTÜíGÚ3ð«g Ÿ§¯—Jx„–’U/ÂÅv_s(Hÿ@TñJÑãõçn­‚!ÈgfbÓc­:él[ðQe 9ÀPLbÃãCµm[5¿ç'ªjglå‡Ûí_§Úõl-;"PkÞÞÁQâ¼_Ñ^¢SŸx?"¸¦ùY騐ÒOÈ q’`~~ÚtËU¹CڒêV  I1Áß_ÿÙ/** * @file * * @brief unfinished XLink detection module * * This module is deprecated, don't use. * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */ #ifndef __XML_XLINK_H__ #define __XML_XLINK_H__ #include #include #ifdef LIBXML_XPTR_ENABLED #ifdef __cplusplus extern "C" { #endif /** @cond ignore */ /** * Various defines for the various Link properties. * * NOTE: the link detection layer will try to resolve QName expansion * of namespaces. If "foo" is the prefix for "http://foo.com/" * then the link detection layer will expand role="foo:myrole" * to "http://foo.com/:myrole". * NOTE: the link detection layer will expand URI-References found on * href attributes by using the base mechanism if found. */ typedef xmlChar *xlinkHRef; typedef xmlChar *xlinkRole; typedef xmlChar *xlinkTitle; typedef enum { XLINK_TYPE_NONE = 0, XLINK_TYPE_SIMPLE, XLINK_TYPE_EXTENDED, XLINK_TYPE_EXTENDED_SET } xlinkType; typedef enum { XLINK_SHOW_NONE = 0, XLINK_SHOW_NEW, XLINK_SHOW_EMBED, XLINK_SHOW_REPLACE } xlinkShow; typedef enum { XLINK_ACTUATE_NONE = 0, XLINK_ACTUATE_AUTO, XLINK_ACTUATE_ONREQUEST } xlinkActuate; /** @endcond */ /** * This is the prototype for the link detection routine. * It calls the default link detection callbacks upon link detection. * * @param ctx user data pointer * @param node the node to check */ typedef void (*xlinkNodeDetectFunc) (void *ctx, xmlNode *node); /* * The link detection module interact with the upper layers using * a set of callback registered at parsing time. */ /** * This is the prototype for a simple link detection callback. * * @param ctx user data pointer * @param node the node carrying the link * @param href the target of the link * @param role the role string * @param title the link title */ typedef void (*xlinkSimpleLinkFunk) (void *ctx, xmlNode *node, const xlinkHRef href, const xlinkRole role, const xlinkTitle title); /** * This is the prototype for a extended link detection callback. * * @param ctx user data pointer * @param node the node carrying the link * @param nbLocators the number of locators detected on the link * @param hrefs pointer to the array of locator hrefs * @param roles pointer to the array of locator roles * @param nbArcs the number of arcs detected on the link * @param from pointer to the array of source roles found on the arcs * @param to pointer to the array of target roles found on the arcs * @param show array of values for the show attributes found on the arcs * @param actuate array of values for the actuate attributes found on the arcs * @param nbTitles the number of titles detected on the link * @param titles array of titles detected on the link * @param langs array of xml:lang values for the titles */ typedef void (*xlinkExtendedLinkFunk)(void *ctx, xmlNode *node, int nbLocators, const xlinkHRef *hrefs, const xlinkRole *roles, int nbArcs, const xlinkRole *from, const xlinkRole *to, xlinkShow *show, xlinkActuate *actuate, int nbTitles, const xlinkTitle *titles, const xmlChar **langs); /** * This is the prototype for a extended link set detection callback. * * @param ctx user data pointer * @param node the node carrying the link * @param nbLocators the number of locators detected on the link * @param hrefs pointer to the array of locator hrefs * @param roles pointer to the array of locator roles * @param nbTitles the number of titles detected on the link * @param titles array of titles detected on the link * @param langs array of xml:lang values for the titles */ typedef void (*xlinkExtendedLinkSetFunk) (void *ctx, xmlNode *node, int nbLocators, const xlinkHRef *hrefs, const xlinkRole *roles, int nbTitles, const xlinkTitle *titles, const xmlChar **langs); typedef struct _xlinkHandler xlinkHandler; typedef xlinkHandler *xlinkHandlerPtr; /** * This is the structure containing a set of Links detection callbacks. * * There is no default xlink callbacks, if one want to get link * recognition activated, those call backs must be provided before parsing. */ struct _xlinkHandler { xlinkSimpleLinkFunk simple; xlinkExtendedLinkFunk extended; xlinkExtendedLinkSetFunk set; }; /* * The default detection routine, can be overridden, they call the default * detection callbacks. */ XML_DEPRECATED XMLPUBFUN xlinkNodeDetectFunc xlinkGetDefaultDetect (void); XML_DEPRECATED XMLPUBFUN void xlinkSetDefaultDetect (xlinkNodeDetectFunc func); /* * Routines to set/get the default handlers. */ XML_DEPRECATED XMLPUBFUN xlinkHandler * xlinkGetDefaultHandler (void); XML_DEPRECATED XMLPUBFUN void xlinkSetDefaultHandler (xlinkHandler *handler); /* * Link detection module itself. */ XML_DEPRECATED XMLPUBFUN xlinkType xlinkIsLink (xmlDoc *doc, xmlNode *node); #ifdef __cplusplus } #endif #endif /* LIBXML_XPTR_ENABLED */ #endif /* __XML_XLINK_H__ */