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 22extern "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 62XMLPUBFUN htmlDocPtr XMLCALL 63 htmlNewDoc (const xmlChar *URI, 64 const xmlChar *ExternalID); 65XMLPUBFUN htmlDocPtr XMLCALL 66 htmlNewDocNoDtD (const xmlChar *URI, 67 const xmlChar *ExternalID); 68XMLPUBFUN const xmlChar * XMLCALL 69 htmlGetMetaEncoding (htmlDocPtr doc); 70XMLPUBFUN int XMLCALL 71 htmlSetMetaEncoding (htmlDocPtr doc, 72 const xmlChar *encoding); 73#ifdef LIBXML_OUTPUT_ENABLED 74XMLPUBFUN void XMLCALL 75 htmlDocDumpMemory (xmlDocPtr cur, 76 xmlChar **mem, 77 int *size); 78XMLPUBFUN void XMLCALL 79 htmlDocDumpMemoryFormat (xmlDocPtr cur, 80 xmlChar **mem, 81 int *size, 82 int format); 83XMLPUBFUN int XMLCALL 84 htmlDocDump (FILE *f, 85 xmlDocPtr cur); 86XMLPUBFUN int XMLCALL 87 htmlSaveFile (const char *filename, 88 xmlDocPtr cur); 89XMLPUBFUN int XMLCALL 90 htmlNodeDump (xmlBufferPtr buf, 91 xmlDocPtr doc, 92 xmlNodePtr cur); 93XMLPUBFUN void XMLCALL 94 htmlNodeDumpFile (FILE *out, 95 xmlDocPtr doc, 96 xmlNodePtr cur); 97XMLPUBFUN int XMLCALL 98 htmlNodeDumpFileFormat (FILE *out, 99 xmlDocPtr doc, 100 xmlNodePtr cur, 101 const char *encoding, 102 int format); 103XMLPUBFUN int XMLCALL 104 htmlSaveFileEnc (const char *filename, 105 xmlDocPtr cur, 106 const char *encoding); 107XMLPUBFUN int XMLCALL 108 htmlSaveFileFormat (const char *filename, 109 xmlDocPtr cur, 110 const char *encoding, 111 int format); 112 113XMLPUBFUN void XMLCALL 114 htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf, 115 xmlDocPtr doc, 116 xmlNodePtr cur, 117 const char *encoding, 118 int format); 119XMLPUBFUN void XMLCALL 120 htmlDocContentDumpOutput(xmlOutputBufferPtr buf, 121 xmlDocPtr cur, 122 const char *encoding); 123XMLPUBFUN void XMLCALL 124 htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf, 125 xmlDocPtr cur, 126 const char *encoding, 127 int format); 128XMLPUBFUN void XMLCALL 129 htmlNodeDumpOutput (xmlOutputBufferPtr buf, 130 xmlDocPtr doc, 131 xmlNodePtr cur, 132 const char *encoding); 133 134#endif /* LIBXML_OUTPUT_ENABLED */ 135 136XMLPUBFUN 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