ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

xlink.h
Go to the documentation of this file.
00001 /*
00002  * Summary: unfinished XLink detection module
00003  * Description: unfinished XLink detection module
00004  *
00005  * Copy: See Copyright for the status of this software.
00006  *
00007  * Author: Daniel Veillard
00008  */
00009 
00010 #ifndef __XML_XLINK_H__
00011 #define __XML_XLINK_H__
00012 
00013 #include <libxml/xmlversion.h>
00014 #include <libxml/tree.h>
00015 
00016 #ifdef LIBXML_XPTR_ENABLED
00017 
00018 #ifdef __cplusplus
00019 extern "C" {
00020 #endif
00021 
00032 typedef xmlChar *xlinkHRef;
00033 typedef xmlChar *xlinkRole;
00034 typedef xmlChar *xlinkTitle;
00035 
00036 typedef enum {
00037     XLINK_TYPE_NONE = 0,
00038     XLINK_TYPE_SIMPLE,
00039     XLINK_TYPE_EXTENDED,
00040     XLINK_TYPE_EXTENDED_SET
00041 } xlinkType;
00042 
00043 typedef enum {
00044     XLINK_SHOW_NONE = 0,
00045     XLINK_SHOW_NEW,
00046     XLINK_SHOW_EMBED,
00047     XLINK_SHOW_REPLACE
00048 } xlinkShow;
00049 
00050 typedef enum {
00051     XLINK_ACTUATE_NONE = 0,
00052     XLINK_ACTUATE_AUTO,
00053     XLINK_ACTUATE_ONREQUEST
00054 } xlinkActuate;
00055 
00064 typedef void (*xlinkNodeDetectFunc) (void *ctx, xmlNodePtr node);
00065 
00066 /*
00067  * The link detection module interact with the upper layers using
00068  * a set of callback registered at parsing time.
00069  */
00070 
00081 typedef void
00082 (*xlinkSimpleLinkFunk)  (void *ctx,
00083              xmlNodePtr node,
00084              const xlinkHRef href,
00085              const xlinkRole role,
00086              const xlinkTitle title);
00087 
00106 typedef void
00107 (*xlinkExtendedLinkFunk)(void *ctx,
00108              xmlNodePtr node,
00109              int nbLocators,
00110              const xlinkHRef *hrefs,
00111              const xlinkRole *roles,
00112              int nbArcs,
00113              const xlinkRole *from,
00114              const xlinkRole *to,
00115              xlinkShow *show,
00116              xlinkActuate *actuate,
00117              int nbTitles,
00118              const xlinkTitle *titles,
00119              const xmlChar **langs);
00120 
00134 typedef void
00135 (*xlinkExtendedLinkSetFunk) (void *ctx,
00136                  xmlNodePtr node,
00137                  int nbLocators,
00138                  const xlinkHRef *hrefs,
00139                  const xlinkRole *roles,
00140                  int nbTitles,
00141                  const xlinkTitle *titles,
00142                  const xmlChar **langs);
00143 
00150 typedef struct _xlinkHandler xlinkHandler;
00151 typedef xlinkHandler *xlinkHandlerPtr;
00152 struct _xlinkHandler {
00153     xlinkSimpleLinkFunk simple;
00154     xlinkExtendedLinkFunk extended;
00155     xlinkExtendedLinkSetFunk set;
00156 };
00157 
00158 /*
00159  * The default detection routine, can be overridden, they call the default
00160  * detection callbacks. 
00161  */
00162 
00163 XMLPUBFUN xlinkNodeDetectFunc XMLCALL   
00164         xlinkGetDefaultDetect   (void);
00165 XMLPUBFUN void XMLCALL          
00166         xlinkSetDefaultDetect   (xlinkNodeDetectFunc func);
00167 
00168 /*
00169  * Routines to set/get the default handlers.
00170  */
00171 XMLPUBFUN xlinkHandlerPtr XMLCALL   
00172         xlinkGetDefaultHandler  (void);
00173 XMLPUBFUN void XMLCALL      
00174         xlinkSetDefaultHandler  (xlinkHandlerPtr handler);
00175 
00176 /*
00177  * Link detection module itself.
00178  */
00179 XMLPUBFUN xlinkType XMLCALL  
00180         xlinkIsLink     (xmlDocPtr doc,
00181                      xmlNodePtr node);
00182 
00183 #ifdef __cplusplus
00184 }
00185 #endif
00186 
00187 #endif /* LIBXML_XPTR_ENABLED */
00188 
00189 #endif /* __XML_XLINK_H__ */

Generated on Sun May 27 2012 04:33:14 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.