HTMLtree.h revision ab4e2e90f63db6b1cd8bb2e453cac899ef43d42b
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