blob: 3a441c4b5c4628420ddf89127f8dd846ad87c2bf [file] [log] [blame]
Owen Taylor3473f882001-02-23 17:55:21 +00001/*
Daniel Veillardcbaf3992001-12-31 16:16:02 +00002 * HTMLtree.h : describes the structures found in an tree resulting
3 * from an XML parsing.
Owen Taylor3473f882001-02-23 17:55:21 +00004 *
5 * See Copyright for the status of this software.
6 *
Daniel Veillardc5d64342001-06-24 12:13:24 +00007 * daniel@veillard.com
Owen Taylor3473f882001-02-23 17:55:21 +00008 */
9
10#ifndef __HTML_TREE_H__
11#define __HTML_TREE_H__
12
13#include <stdio.h>
14#include <libxml/tree.h>
15#include <libxml/HTMLparser.h>
16
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
Daniel Veillardc084e472002-08-12 13:27:28 +000022
Daniel Veillardbed7b052001-05-19 14:59:49 +000023/**
24 * HTML_TEXT_NODE:
25 *
Daniel Veillard61f26172002-03-12 18:46:39 +000026 * Macro. A text node in a HTML document is really implemented
Daniel Veillardbed7b052001-05-19 14:59:49 +000027 * the same way as a text node in an XML document.
28 */
Owen Taylor3473f882001-02-23 17:55:21 +000029#define HTML_TEXT_NODE XML_TEXT_NODE
Daniel Veillardbed7b052001-05-19 14:59:49 +000030/**
31 * HTML_ENTITY_REF_NODE:
32 *
Daniel Veillard61f26172002-03-12 18:46:39 +000033 * Macro. An entity reference in a HTML document is really implemented
Daniel Veillardbed7b052001-05-19 14:59:49 +000034 * the same way as an entity reference in an XML document.
35 */
Owen Taylor3473f882001-02-23 17:55:21 +000036#define HTML_ENTITY_REF_NODE XML_ENTITY_REF_NODE
Daniel Veillardbed7b052001-05-19 14:59:49 +000037/**
38 * HTML_COMMENT_NODE:
39 *
Daniel Veillard61f26172002-03-12 18:46:39 +000040 * Macro. A comment in a HTML document is really implemented
Daniel Veillardbed7b052001-05-19 14:59:49 +000041 * the same way as a comment in an XML document.
42 */
Owen Taylor3473f882001-02-23 17:55:21 +000043#define HTML_COMMENT_NODE XML_COMMENT_NODE
Daniel Veillardbed7b052001-05-19 14:59:49 +000044/**
45 * HTML_PRESERVE_NODE:
46 *
Daniel Veillard61f26172002-03-12 18:46:39 +000047 * Macro. A preserved node in a HTML document is really implemented
Daniel Veillardbed7b052001-05-19 14:59:49 +000048 * the same way as a CDATA section in an XML document.
49 */
Owen Taylor3473f882001-02-23 17:55:21 +000050#define HTML_PRESERVE_NODE XML_CDATA_SECTION_NODE
Daniel Veillardbed7b052001-05-19 14:59:49 +000051/**
52 * HTML_PI_NODE:
53 *
Daniel Veillard61f26172002-03-12 18:46:39 +000054 * Macro. A processing instruction in a HTML document is really implemented
Daniel Veillardbed7b052001-05-19 14:59:49 +000055 * the same way as a processing instruction in an XML document.
56 */
Daniel Veillard7533cc82001-04-24 15:52:00 +000057#define HTML_PI_NODE XML_PI_NODE
Owen Taylor3473f882001-02-23 17:55:21 +000058
59htmlDocPtr htmlNewDoc (const xmlChar *URI,
60 const xmlChar *ExternalID);
61htmlDocPtr htmlNewDocNoDtD (const xmlChar *URI,
62 const xmlChar *ExternalID);
63const xmlChar * htmlGetMetaEncoding (htmlDocPtr doc);
64int htmlSetMetaEncoding (htmlDocPtr doc,
65 const xmlChar *encoding);
66void htmlDocDumpMemory (xmlDocPtr cur,
Daniel Veillard963d2ae2002-01-20 22:08:18 +000067 xmlChar **mem,
Owen Taylor3473f882001-02-23 17:55:21 +000068 int *size);
69int htmlDocDump (FILE *f,
70 xmlDocPtr cur);
71int htmlSaveFile (const char *filename,
72 xmlDocPtr cur);
Daniel Veillard8db67d22002-11-27 19:39:27 +000073int htmlNodeDump (xmlBufferPtr buf,
Owen Taylor3473f882001-02-23 17:55:21 +000074 xmlDocPtr doc,
75 xmlNodePtr cur);
76void htmlNodeDumpFile (FILE *out,
77 xmlDocPtr doc,
78 xmlNodePtr cur);
Daniel Veillardc4f631d2001-06-14 11:11:59 +000079int htmlNodeDumpFileFormat (FILE *out,
Daniel Veillard95d845f2001-06-13 13:48:46 +000080 xmlDocPtr doc,
81 xmlNodePtr cur,
82 const char *encoding,
83 int format);
Owen Taylor3473f882001-02-23 17:55:21 +000084int htmlSaveFileEnc (const char *filename,
85 xmlDocPtr cur,
86 const char *encoding);
Daniel Veillard95d845f2001-06-13 13:48:46 +000087int htmlSaveFileFormat (const char *filename,
88 xmlDocPtr cur,
89 const char *encoding,
90 int format);
Owen Taylor3473f882001-02-23 17:55:21 +000091
CET 2001 Daniel Veillard5a37bde2001-11-01 14:31:22 +000092void htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf,
93 xmlDocPtr doc,
94 xmlNodePtr cur,
95 const char *encoding,
96 int format);
Owen Taylor3473f882001-02-23 17:55:21 +000097void htmlDocContentDumpOutput(xmlOutputBufferPtr buf,
98 xmlDocPtr cur,
99 const char *encoding);
CET 2001 Daniel Veillard5a37bde2001-11-01 14:31:22 +0000100void htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf,
101 xmlDocPtr cur,
102 const char *encoding,
103 int format);
Daniel Veillardc084e472002-08-12 13:27:28 +0000104
105int htmlIsBooleanAttr (const xmlChar *name);
Daniel Veillard024b5702002-12-12 00:15:55 +0000106void htmlNodeDumpOutput(xmlOutputBufferPtr buf, xmlDocPtr doc,
107 xmlNodePtr cur, const char *encoding);
108
Daniel Veillardc084e472002-08-12 13:27:28 +0000109
110
111
Owen Taylor3473f882001-02-23 17:55:21 +0000112#ifdef __cplusplus
113}
114#endif
115
116#endif /* __HTML_TREE_H__ */
117