blob: 832c7c8e9a106e56e95216ca0196559cee9e8446 [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);
Daniel Veillarda9cce9c2003-09-29 13:20:24 +000071#ifdef LIBXML_OUTPUT_ENABLED
Igor Zlatkovic76874e42003-08-25 09:05:12 +000072XMLPUBFUN void XMLCALL
73 htmlDocDumpMemory (xmlDocPtr cur,
Daniel Veillard963d2ae2002-01-20 22:08:18 +000074 xmlChar **mem,
Owen Taylor3473f882001-02-23 17:55:21 +000075 int *size);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000076XMLPUBFUN int XMLCALL
77 htmlDocDump (FILE *f,
Owen Taylor3473f882001-02-23 17:55:21 +000078 xmlDocPtr cur);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000079XMLPUBFUN int XMLCALL
80 htmlSaveFile (const char *filename,
Owen Taylor3473f882001-02-23 17:55:21 +000081 xmlDocPtr cur);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000082XMLPUBFUN int XMLCALL
83 htmlNodeDump (xmlBufferPtr buf,
Owen Taylor3473f882001-02-23 17:55:21 +000084 xmlDocPtr doc,
85 xmlNodePtr cur);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000086XMLPUBFUN void XMLCALL
87 htmlNodeDumpFile (FILE *out,
Owen Taylor3473f882001-02-23 17:55:21 +000088 xmlDocPtr doc,
89 xmlNodePtr cur);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000090XMLPUBFUN int XMLCALL
91 htmlNodeDumpFileFormat (FILE *out,
Daniel Veillard95d845f2001-06-13 13:48:46 +000092 xmlDocPtr doc,
93 xmlNodePtr cur,
94 const char *encoding,
95 int format);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000096XMLPUBFUN int XMLCALL
97 htmlSaveFileEnc (const char *filename,
Owen Taylor3473f882001-02-23 17:55:21 +000098 xmlDocPtr cur,
99 const char *encoding);
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000100XMLPUBFUN int XMLCALL
101 htmlSaveFileFormat (const char *filename,
Daniel Veillard95d845f2001-06-13 13:48:46 +0000102 xmlDocPtr cur,
103 const char *encoding,
104 int format);
Owen Taylor3473f882001-02-23 17:55:21 +0000105
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000106XMLPUBFUN void XMLCALL
107 htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf,
CET 2001 Daniel Veillard5a37bde2001-11-01 14:31:22 +0000108 xmlDocPtr doc,
109 xmlNodePtr cur,
110 const char *encoding,
111 int format);
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000112XMLPUBFUN void XMLCALL
113 htmlDocContentDumpOutput(xmlOutputBufferPtr buf,
Owen Taylor3473f882001-02-23 17:55:21 +0000114 xmlDocPtr cur,
115 const char *encoding);
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000116XMLPUBFUN void XMLCALL
117 htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf,
CET 2001 Daniel Veillard5a37bde2001-11-01 14:31:22 +0000118 xmlDocPtr cur,
119 const char *encoding,
120 int format);
Igor Zlatkovic76874e42003-08-25 09:05:12 +0000121XMLPUBFUN void XMLCALL
122 htmlNodeDumpOutput (xmlOutputBufferPtr buf,
123 xmlDocPtr doc,
124 xmlNodePtr cur,
125 const char *encoding);
Daniel Veillard024b5702002-12-12 00:15:55 +0000126
Daniel Veillarda9cce9c2003-09-29 13:20:24 +0000127#endif /* LIBXML_OUTPUT_ENABLED */
Daniel Veillardc084e472002-08-12 13:27:28 +0000128
Daniel Veillarda9cce9c2003-09-29 13:20:24 +0000129XMLPUBFUN int XMLCALL
130 htmlIsBooleanAttr (const xmlChar *name);
Daniel Veillardc084e472002-08-12 13:27:28 +0000131
132
Owen Taylor3473f882001-02-23 17:55:21 +0000133#ifdef __cplusplus
134}
135#endif
136
137#endif /* __HTML_TREE_H__ */
138