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
22: extern "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:
62: XMLPUBFUN htmlDocPtr XMLCALL
63: htmlNewDoc (const xmlChar *URI,
64: const xmlChar *ExternalID);
65: XMLPUBFUN htmlDocPtr XMLCALL
66: htmlNewDocNoDtD (const xmlChar *URI,
67: const xmlChar *ExternalID);
68: XMLPUBFUN const xmlChar * XMLCALL
69: htmlGetMetaEncoding (htmlDocPtr doc);
70: XMLPUBFUN int XMLCALL
71: htmlSetMetaEncoding (htmlDocPtr doc,
72: const xmlChar *encoding);
73: #ifdef LIBXML_OUTPUT_ENABLED
74: XMLPUBFUN void XMLCALL
75: htmlDocDumpMemory (xmlDocPtr cur,
76: xmlChar **mem,
77: int *size);
78: XMLPUBFUN void XMLCALL
79: htmlDocDumpMemoryFormat (xmlDocPtr cur,
80: xmlChar **mem,
81: int *size,
82: int format);
83: XMLPUBFUN int XMLCALL
84: htmlDocDump (FILE *f,
85: xmlDocPtr cur);
86: XMLPUBFUN int XMLCALL
87: htmlSaveFile (const char *filename,
88: xmlDocPtr cur);
89: XMLPUBFUN int XMLCALL
90: htmlNodeDump (xmlBufferPtr buf,
91: xmlDocPtr doc,
92: xmlNodePtr cur);
93: XMLPUBFUN void XMLCALL
94: htmlNodeDumpFile (FILE *out,
95: xmlDocPtr doc,
96: xmlNodePtr cur);
97: XMLPUBFUN int XMLCALL
98: htmlNodeDumpFileFormat (FILE *out,
99: xmlDocPtr doc,
100: xmlNodePtr cur,
101: const char *encoding,
102: int format);
103: XMLPUBFUN int XMLCALL
104: htmlSaveFileEnc (const char *filename,
105: xmlDocPtr cur,
106: const char *encoding);
107: XMLPUBFUN int XMLCALL
108: htmlSaveFileFormat (const char *filename,
109: xmlDocPtr cur,
110: const char *encoding,
111: int format);
112:
113: XMLPUBFUN void XMLCALL
114: htmlNodeDumpFormatOutput(xmlOutputBufferPtr buf,
115: xmlDocPtr doc,
116: xmlNodePtr cur,
117: const char *encoding,
118: int format);
119: XMLPUBFUN void XMLCALL
120: htmlDocContentDumpOutput(xmlOutputBufferPtr buf,
121: xmlDocPtr cur,
122: const char *encoding);
123: XMLPUBFUN void XMLCALL
124: htmlDocContentDumpFormatOutput(xmlOutputBufferPtr buf,
125: xmlDocPtr cur,
126: const char *encoding,
127: int format);
128: XMLPUBFUN void XMLCALL
129: htmlNodeDumpOutput (xmlOutputBufferPtr buf,
130: xmlDocPtr doc,
131: xmlNodePtr cur,
132: const char *encoding);
133:
134: #endif /* LIBXML_OUTPUT_ENABLED */
135:
136: XMLPUBFUN 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:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>