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