Home | History | Annotate | Download | only in libxml
      1 /*
      2  * Summary: implementation of XInclude
      3  * Description: API to handle XInclude processing,
      4  * implements the
      5  * World Wide Web Consortium Last Call Working Draft 10 November 2003
      6  * http://www.w3.org/TR/2003/WD-xinclude-20031110
      7  *
      8  * Copy: See Copyright for the status of this software.
      9  *
     10  * Author: Daniel Veillard
     11  */
     12 
     13 #ifndef __XML_XINCLUDE_H__
     14 #define __XML_XINCLUDE_H__
     15 
     16 #include <libxml/xmlversion.h>
     17 #include <libxml/tree.h>
     18 
     19 #ifdef LIBXML_XINCLUDE_ENABLED
     20 
     21 #ifdef __cplusplus
     22 extern "C" {
     23 #endif
     24 
     25 /**
     26  * XINCLUDE_NS:
     27  *
     28  * Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude
     29  */
     30 #define XINCLUDE_NS (const xmlChar *) "http://www.w3.org/2003/XInclude"
     31 /**
     32  * XINCLUDE_OLD_NS:
     33  *
     34  * Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude
     35  */
     36 #define XINCLUDE_OLD_NS (const xmlChar *) "http://www.w3.org/2001/XInclude"
     37 /**
     38  * XINCLUDE_NODE:
     39  *
     40  * Macro defining "include"
     41  */
     42 #define XINCLUDE_NODE (const xmlChar *) "include"
     43 /**
     44  * XINCLUDE_FALLBACK:
     45  *
     46  * Macro defining "fallback"
     47  */
     48 #define XINCLUDE_FALLBACK (const xmlChar *) "fallback"
     49 /**
     50  * XINCLUDE_HREF:
     51  *
     52  * Macro defining "href"
     53  */
     54 #define XINCLUDE_HREF (const xmlChar *) "href"
     55 /**
     56  * XINCLUDE_PARSE:
     57  *
     58  * Macro defining "parse"
     59  */
     60 #define XINCLUDE_PARSE (const xmlChar *) "parse"
     61 /**
     62  * XINCLUDE_PARSE_XML:
     63  *
     64  * Macro defining "xml"
     65  */
     66 #define XINCLUDE_PARSE_XML (const xmlChar *) "xml"
     67 /**
     68  * XINCLUDE_PARSE_TEXT:
     69  *
     70  * Macro defining "text"
     71  */
     72 #define XINCLUDE_PARSE_TEXT (const xmlChar *) "text"
     73 /**
     74  * XINCLUDE_PARSE_ENCODING:
     75  *
     76  * Macro defining "encoding"
     77  */
     78 #define XINCLUDE_PARSE_ENCODING (const xmlChar *) "encoding"
     79 /**
     80  * XINCLUDE_PARSE_XPOINTER:
     81  *
     82  * Macro defining "xpointer"
     83  */
     84 #define XINCLUDE_PARSE_XPOINTER (const xmlChar *) "xpointer"
     85 
     86 typedef struct _xmlXIncludeCtxt xmlXIncludeCtxt;
     87 typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr;
     88 
     89 /*
     90  * standalone processing
     91  */
     92 XMLPUBFUN int XMLCALL
     93 		xmlXIncludeProcess	(xmlDocPtr doc);
     94 XMLPUBFUN int XMLCALL
     95 		xmlXIncludeProcessFlags	(xmlDocPtr doc,
     96 					 int flags);
     97 XMLPUBFUN int XMLCALL
     98 		xmlXIncludeProcessFlagsData(xmlDocPtr doc,
     99 					 int flags,
    100 					 void *data);
    101 XMLPUBFUN int XMLCALL
    102                 xmlXIncludeProcessTreeFlagsData(xmlNodePtr tree,
    103                                          int flags,
    104                                          void *data);
    105 XMLPUBFUN int XMLCALL
    106 		xmlXIncludeProcessTree	(xmlNodePtr tree);
    107 XMLPUBFUN int XMLCALL
    108 		xmlXIncludeProcessTreeFlags(xmlNodePtr tree,
    109 					 int flags);
    110 /*
    111  * contextual processing
    112  */
    113 XMLPUBFUN xmlXIncludeCtxtPtr XMLCALL
    114 		xmlXIncludeNewContext	(xmlDocPtr doc);
    115 XMLPUBFUN int XMLCALL
    116 		xmlXIncludeSetFlags	(xmlXIncludeCtxtPtr ctxt,
    117 					 int flags);
    118 XMLPUBFUN void XMLCALL
    119 		xmlXIncludeFreeContext	(xmlXIncludeCtxtPtr ctxt);
    120 XMLPUBFUN int XMLCALL
    121 		xmlXIncludeProcessNode	(xmlXIncludeCtxtPtr ctxt,
    122 					 xmlNodePtr tree);
    123 #ifdef __cplusplus
    124 }
    125 #endif
    126 
    127 #endif /* LIBXML_XINCLUDE_ENABLED */
    128 
    129 #endif /* __XML_XINCLUDE_H__ */
    130