Home | History | Annotate | Download | only in libxml
      1 /*
      2  * Summary: specific APIs to process HTML tree, especially serialization
      3  * Description: this module implements a few function needed to process
      4  *              tree in an HTML specific way.
      5  *
      6  * Copy: See Copyright for the status of this software.
      7  *
      8  * Author: Daniel Veillard
      9  */
     10 
     11 #ifndef __HTML_TREE_H__
     12 #define __HTML_TREE_H__
     13 
     14 #include <stdio.h>
     15 #include <libxml/xmlversion.h>
     16 #include <libxml/tree.h>
     17 #include <libxml/HTMLparser.h>
     18 
     19 #ifdef LIBXML_HTML_ENABLED
     20 
     21 #ifdef __cplusplus
     22 extern "C" {
     23 #endif
     24 
     25 
     26 /**
     27  * HTML_TEXT_NODE:
     28  *
     29  * Macro. A text node in a HTML document is really implemented
     30  * the same way as a text node in an XML document.
     31  */
     32 #define HTML_TEXT_NODE		XML_TEXT_NODE
     33 /**
     34  * HTML_ENTITY_REF_NODE:
     35  *
     36  * Macro. An entity reference in a HTML document is really implemented
     37  * the same way as an entity reference in an XML document.
     38  */
     39 #define HTML_ENTITY_REF_NODE	XML_ENTITY_REF_NODE
     40 /**
     41  * HTML_COMMENT_NODE:
     42  *
     43  * Macro. A comment in a HTML document is really implemented
     44  * the same way as a comment in an XML document.
     45  */
     46 #define HTML_COMMENT_NODE	XML_COMMENT_NODE
     47 /**
     48  * HTML_PRESERVE_NODE:
     49  *
     50  * Macro. A preserved node in a HTML document is really implemented
     51  * the same way as a CDATA section in an XML document.
     52  */
     53 #define HTML_PRESERVE_NODE	XML_CDATA_SECTION_NODE
     54 /**
     55  * HTML_PI_NODE:
     56  *
     57  * Macro. A processing instruction in a HTML document is really implemented
     58  * the same way as a processing instruction in an XML document.
     59  */
     60 #define HTML_PI_NODE		XML_PI_NODE
     61 
     62 XMLPUBFUN htmlDocPtr XMLCALL
     63 		htmlNewDoc		(const xmlChar *URI,
     64 					 const xmlChar *ExternalID);
     65 XMLPUBFUN htmlDocPtr XMLCALL
     66 		htmlNewDocNoDtD		(const xmlChar *URI,
     67 					 const xmlChar *ExternalID);
     68 XMLPUBFUN const xmlChar * XMLCALL
     69 		htmlGetMetaEncoding	(htmlDocPtr doc);
     70 XMLPUBFUN int XMLCALL
     71 		htmlSetMetaEncoding	(htmlDocPtr doc,
     72 					 const xmlChar *encoding);
     73 #ifdef LIBXML_OUTPUT_ENABLED
     74 XMLPUBFUN void XMLCALL
     75 		htmlDocDumpMemory	(xmlDocPtr cur,
     76 					 xmlChar **mem,
     77 					 int *size);
     78 XMLPUBFUN void XMLCALL
     79 		htmlDocDumpMemoryFormat	(xmlDocPtr cur,
     80 					 xmlChar **mem,
     81 					 int *size,
     82 					 int format);
     83 XMLPUBFUN int XMLCALL
     84 		htmlDocDump		(FILE *f,
     85 					 xmlDocPtr cur);
     86 XMLPUBFUN int XMLCALL
     87 		htmlSaveFile		(const char *filename,
     88 					 xmlDocPtr cur);
     89 XMLPUBFUN int XMLCALL
     90 		htmlNodeDump		(xmlBufferPtr buf,
     91 					 xmlDocPtr doc,
     92 					 xmlNodePtr cur);
     93 XMLPUBFUN void XMLCALL
     94 		htmlNodeDumpFile	(FILE *out,
     95 					 xmlDocPtr doc,
     96 					 xmlNodePtr cur);
     97 XMLPUBFUN int XMLCALL
     98 		htmlNodeDumpFileFormat	(FILE *out,
     99 					 xmlDocPtr doc,
    100 					 xmlNodePtr cur,
    101 					 const char *encoding,
    102 					 int format);
    103 XMLPUBFUN int XMLCALL
    104 		htmlSaveFileEnc		(const char *filename,
    105 					 xmlDocPtr cur,
    106 					 const char *encoding);
    107 XMLPUBFUN int XMLCALL
    108 		htmlSaveFileFormat	(const char *filename,
    109 					 xmlDocPtr cur,
    110 					 const char *encoding,
    111 					 int format);
    112 
    113 XMLPUBFUN void XMLCALL
    114 		htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf,
    115 					 xmlDocPtr doc,
    116 					 xmlNodePtr cur,
    117 					 const char *encoding,
    118 					 int format);
    119 XMLPUBFUN void XMLCALL
    120 		htmlDocContentDumpOutput(xmlOutputBufferPtr buf,
    121 					 xmlDocPtr cur,
    122 					 const char *encoding);
    123 XMLPUBFUN void XMLCALL
    124 		htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf,
    125 					 xmlDocPtr cur,
    126 					 const char *encoding,
    127 					 int format);
    128 XMLPUBFUN void XMLCALL
    129 		htmlNodeDumpOutput	(xmlOutputBufferPtr buf,
    130 					 xmlDocPtr doc,
    131 					 xmlNodePtr cur,
    132 					 const char *encoding);
    133 
    134 #endif /* LIBXML_OUTPUT_ENABLED */
    135 
    136 XMLPUBFUN int XMLCALL
    137 		htmlIsBooleanAttr	(const xmlChar *name);
    138 
    139 
    140 #ifdef __cplusplus
    141 }
    142 #endif
    143 
    144 #endif /* LIBXML_HTML_ENABLED */
    145 
    146 #endif /* __HTML_TREE_H__ */
    147 
    148