blob: c40df38c4c27ab24983a33647bc5697a5d124189 [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>
Igor Zlatkovic76874e42003-08-25 09:05:12 +000014#include <libxml/xmlversion.h>
Owen Taylor3473f882001-02-23 17:55:21 +000015#include <libxml/tree.h>
16#include <libxml/HTMLparser.h>
17
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
Daniel Veillardc084e472002-08-12 13:27:28 +000023
Daniel Veillardbed7b052001-05-19 14:59:49 +000024/**
25 * HTML_TEXT_NODE:
26 *
Daniel Veillard61f26172002-03-12 18:46:39 +000027 * Macro. A text node in a HTML document is really implemented
Daniel Veillardbed7b052001-05-19 14:59:49 +000028 * the same way as a text node in an XML document.
29 */
Owen Taylor3473f882001-02-23 17:55:21 +000030#define HTML_TEXT_NODE XML_TEXT_NODE
Daniel Veillardbed7b052001-05-19 14:59:49 +000031/**
32 * HTML_ENTITY_REF_NODE:
33 *
Daniel Veillard61f26172002-03-12 18:46:39 +000034 * Macro. An entity reference in a HTML document is really implemented
Daniel Veillardbed7b052001-05-19 14:59:49 +000035 * the same way as an entity reference in an XML document.
36 */
Owen Taylor3473f882001-02-23 17:55:21 +000037#define HTML_ENTITY_REF_NODE XML_ENTITY_REF_NODE
Daniel Veillardbed7b052001-05-19 14:59:49 +000038/**
39 * HTML_COMMENT_NODE:
40 *
Daniel Veillard61f26172002-03-12 18:46:39 +000041 * Macro. A comment in a HTML document is really implemented
Daniel Veillardbed7b052001-05-19 14:59:49 +000042 * the same way as a comment in an XML document.
43 */
Owen Taylor3473f882001-02-23 17:55:21 +000044#define HTML_COMMENT_NODE XML_COMMENT_NODE
Daniel Veillardbed7b052001-05-19 14:59:49 +000045/**
46 * HTML_PRESERVE_NODE:
47 *
Daniel Veillard61f26172002-03-12 18:46:39 +000048 * Macro. A preserved node in a HTML document is really implemented
Daniel Veillardbed7b052001-05-19 14:59:49 +000049 * the same way as a CDATA section in an XML document.
50 */
Owen Taylor3473f882001-02-23 17:55:21 +000051#define HTML_PRESERVE_NODE XML_CDATA_SECTION_NODE
Daniel Veillardbed7b052001-05-19 14:59:49 +000052/**
53 * HTML_PI_NODE:
54 *
Daniel Veillard61f26172002-03-12 18:46:39 +000055 * Macro. A processing instruction in a HTML document is really implemented
Daniel Veillardbed7b052001-05-19 14:59:49 +000056 * the same way as a processing instruction in an XML document.
57 */
Daniel Veillard7533cc82001-04-24 15:52:00 +000058#define HTML_PI_NODE XML_PI_NODE
Owen Taylor3473f882001-02-23 17:55:21 +000059
Igor Zlatkovic76874e42003-08-25 09:05:12 +000060XMLPUBFUN htmlDocPtr XMLCALL
61 htmlNewDoc (const xmlChar *URI,
Owen Taylor3473f882001-02-23 17:55:21 +000062 const xmlChar *ExternalID);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000063XMLPUBFUN htmlDocPtr XMLCALL
64 htmlNewDocNoDtD (const xmlChar *URI,
Owen Taylor3473f882001-02-23 17:55:21 +000065 const xmlChar *ExternalID);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000066XMLPUBFUN const xmlChar * XMLCALL
67 htmlGetMetaEncoding (htmlDocPtr doc);
68XMLPUBFUN int XMLCALL
69 htmlSetMetaEncoding (htmlDocPtr doc,
Owen Taylor3473f882001-02-23 17:55:21 +000070 const xmlChar *encoding);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000071XMLPUBFUN void XMLCALL
72 htmlDocDumpMemory (xmlDocPtr cur,
Daniel Veillard963d2ae2002-01-20 22:08:18 +000073 xmlChar **mem,
Owen Taylor3473f882001-02-23 17:55:21 +000074 int *size);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000075XMLPUBFUN int XMLCALL
76 htmlDocDump (FILE *f,
Owen Taylor3473f882001-02-23 17:55:21 +000077 xmlDocPtr cur);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000078XMLPUBFUN int XMLCALL
79 htmlSaveFile (const char *filename,
Owen Taylor3473f882001-02-23 17:55:21 +000080 xmlDocPtr cur);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000081XMLPUBFUN int XMLCALL
82 htmlNodeDump (xmlBufferPtr buf,
Owen Taylor3473f882001-02-23 17:55:21 +000083 xmlDocPtr doc,
84 xmlNodePtr cur);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000085XMLPUBFUN void XMLCALL
86 htmlNodeDumpFile (FILE *out,
Owen Taylor3473f882001-02-23 17:55:21 +000087 xmlDocPtr doc,
88 xmlNodePtr cur);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000089XMLPUBFUN int XMLCALL
90 htmlNodeDumpFileFormat (FILE *out,
Daniel Veillard95d845f2001-06-13 13:48:46 +000091 xmlDocPtr doc,
92 xmlNodePtr cur,
93 const char *encoding,
94 int format);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000095XMLPUBFUN int XMLCALL
96 htmlSaveFileEnc (const char *filename,
Owen Taylor3473f882001-02-23 17:55:21 +000097 xmlDocPtr cur,
98 const char *encoding);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000099XMLPUBFUN int XMLCALL
100 htmlSaveFileFormat (const char *filename,
Daniel Veillard95d845f2001-06-13 13:48:46 +0000101 xmlDocPtr cur,
102 const char *encoding,
103 int format);
Owen Taylor3473f882001-02-23 17:55:21 +0000104
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000105XMLPUBFUN void XMLCALL
106 htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf,
CET 2001 Daniel Veillard5a37bde2001-11-01 14:31:22 +0000107 xmlDocPtr doc,
108 xmlNodePtr cur,
109 const char *encoding,
110 int format);
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000111XMLPUBFUN void XMLCALL
112 htmlDocContentDumpOutput(xmlOutputBufferPtr buf,
Owen Taylor3473f882001-02-23 17:55:21 +0000113 xmlDocPtr cur,
114 const char *encoding);
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000115XMLPUBFUN void XMLCALL
116 htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf,
CET 2001 Daniel Veillard5a37bde2001-11-01 14:31:22 +0000117 xmlDocPtr cur,
118 const char *encoding,
119 int format);
Daniel Veillardc084e472002-08-12 13:27:28 +0000120
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000121XMLPUBFUN int XMLCALL
122 htmlIsBooleanAttr (const xmlChar *name);
123XMLPUBFUN void XMLCALL
124 htmlNodeDumpOutput (xmlOutputBufferPtr buf,
125 xmlDocPtr doc,
126 xmlNodePtr cur,
127 const char *encoding);
Daniel Veillard024b5702002-12-12 00:15:55 +0000128
Daniel Veillardc084e472002-08-12 13:27:28 +0000129
130
131
Owen Taylor3473f882001-02-23 17:55:21 +0000132#ifdef __cplusplus
133}
134#endif
135
136#endif /* __HTML_TREE_H__ */
137