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