php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
parser.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2018-2021 Alexander Borisov
3 *
4 * Author: Alexander Borisov <borisov@lexbor.com>
5 */
6
7#ifndef LEXBOR_HTML_PARSER_H
8#define LEXBOR_HTML_PARSER_H
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14#include "lexbor/html/base.h"
15#include "lexbor/html/tree.h"
17
18#include "lexbor/ns/ns.h"
19
20
29
44
45
48
51
52LXB_API void
54
57
60
63
64
66lxb_html_parse(lxb_html_parser_t *parser, const lxb_char_t *html, size_t size);
67
68
71 const lxb_char_t *html, size_t size);
72
75 lxb_html_document_t *document,
76 lxb_tag_id_t tag_id, lxb_ns_id_t ns,
77 const lxb_char_t *html, size_t size);
78
79
82
85 const lxb_char_t *html, size_t size);
86
89
90
93 lxb_html_document_t *document,
94 lxb_tag_id_t tag_id, lxb_ns_id_t ns);
95
98 const lxb_char_t *html, size_t size);
99
102
103
104/*
105 * Inline functions
106 */
109{
110 return parser->tkz;
111}
112
115{
116 return parser->tree;
117}
118
121{
122 return parser->status;
123}
124
127{
128 return parser->state;
129}
130
131lxb_inline bool
136
137lxb_inline void
139{
140 lxb_html_tree_scripting_set(parser->tree, scripting);
141}
142
143
144/*
145 * No inline functions for ABI.
146 */
149
152
155
158
159LXB_API bool
161
162LXB_API void
164
165
166#ifdef __cplusplus
167} /* extern "C" */
168#endif
169
170#endif /* LEXBOR_HTML_PARSER_H */
#define LXB_API
Definition def.h:48
struct lxb_dom_node lxb_dom_node_t
Definition interface.h:38
new_type size
Definition ffi.c:4365
struct lxb_html_tokenizer lxb_html_tokenizer_t
Definition base.h:26
struct lxb_html_tree lxb_html_tree_t
Definition base.h:28
struct lxb_html_element lxb_html_element_t
Definition interface.h:111
struct lxb_html_document lxb_html_document_t
Definition interface.h:95
LXB_API lxb_html_parser_t * lxb_html_parser_unref(lxb_html_parser_t *parser)
Definition parser.c:104
LXB_API lxb_html_document_t * lxb_html_parse(lxb_html_parser_t *parser, const lxb_char_t *html, size_t size)
Definition parser.c:121
lxb_inline lxb_status_t lxb_html_parser_status(lxb_html_parser_t *parser)
Definition parser.h:120
LXB_API lxb_html_parser_t * lxb_html_parser_destroy(lxb_html_parser_t *parser)
Definition parser.c:79
lxb_inline lxb_html_tokenizer_t * lxb_html_parser_tokenizer(lxb_html_parser_t *parser)
Definition parser.h:108
lxb_inline bool lxb_html_parser_scripting(lxb_html_parser_t *parser)
Definition parser.h:132
LXB_API lxb_dom_node_t * lxb_html_parse_fragment_by_tag_id(lxb_html_parser_t *parser, lxb_html_document_t *document, lxb_tag_id_t tag_id, lxb_ns_id_t ns, const lxb_char_t *html, size_t size)
Definition parser.c:159
LXB_API lxb_dom_node_t * lxb_html_parse_fragment(lxb_html_parser_t *parser, lxb_html_element_t *element, const lxb_char_t *html, size_t size)
Definition parser.c:148
LXB_API void lxb_html_parser_clean(lxb_html_parser_t *parser)
Definition parser.c:66
lxb_inline lxb_html_tree_t * lxb_html_parser_tree(lxb_html_parser_t *parser)
Definition parser.h:114
lxb_html_parser_state_t
Definition parser.h:21
@ LXB_HTML_PARSER_STATE_ERROR
Definition parser.h:26
@ LXB_HTML_PARSER_STATE_BEGIN
Definition parser.h:22
@ LXB_HTML_PARSER_STATE_END
Definition parser.h:24
@ LXB_HTML_PARSER_STATE_FRAGMENT_PROCESS
Definition parser.h:25
@ LXB_HTML_PARSER_STATE_PROCESS
Definition parser.h:23
LXB_API lxb_dom_node_t * lxb_html_parse_fragment_chunk_end(lxb_html_parser_t *parser)
Definition parser.c:301
LXB_API lxb_html_tokenizer_t * lxb_html_parser_tokenizer_noi(lxb_html_parser_t *parser)
Definition parser.c:438
LXB_API lxb_html_tree_t * lxb_html_parser_tree_noi(lxb_html_parser_t *parser)
Definition parser.c:444
LXB_API lxb_status_t lxb_html_parse_chunk_process(lxb_html_parser_t *parser, const lxb_char_t *html, size_t size)
Definition parser.c:403
LXB_API lxb_status_t lxb_html_parser_state_noi(lxb_html_parser_t *parser)
Definition parser.c:456
LXB_API lxb_html_parser_t * lxb_html_parser_ref(lxb_html_parser_t *parser)
Definition parser.c:92
lxb_inline void lxb_html_parser_scripting_set(lxb_html_parser_t *parser, bool scripting)
Definition parser.h:138
LXB_API lxb_html_parser_t * lxb_html_parser_create(void)
Definition parser.c:26
LXB_API lxb_html_document_t * lxb_html_parse_chunk_begin(lxb_html_parser_t *parser)
Definition parser.c:376
LXB_API lxb_status_t lxb_html_parser_status_noi(lxb_html_parser_t *parser)
Definition parser.c:450
lxb_inline lxb_status_t lxb_html_parser_state(lxb_html_parser_t *parser)
Definition parser.h:126
LXB_API lxb_status_t lxb_html_parse_chunk_end(lxb_html_parser_t *parser)
Definition parser.c:419
LXB_API lxb_status_t lxb_html_parser_init(lxb_html_parser_t *parser)
Definition parser.c:32
LXB_API void lxb_html_parser_scripting_set_noi(lxb_html_parser_t *parser, bool scripting)
Definition parser.c:468
LXB_API lxb_status_t lxb_html_parse_fragment_chunk_process(lxb_html_parser_t *parser, const lxb_char_t *html, size_t size)
Definition parser.c:280
LXB_API lxb_status_t lxb_html_parse_fragment_chunk_begin(lxb_html_parser_t *parser, lxb_html_document_t *document, lxb_tag_id_t tag_id, lxb_ns_id_t ns)
Definition parser.c:178
LXB_API bool lxb_html_parser_scripting_noi(lxb_html_parser_t *parser)
Definition parser.c:462
uintptr_t lxb_ns_id_t
Definition const.h:20
lxb_html_tree_t * original_tree
Definition parser.h:33
lxb_html_parser_state_t state
Definition parser.h:38
lxb_dom_node_t * root
Definition parser.h:35
lxb_html_tokenizer_t * tkz
Definition parser.h:31
lxb_html_tree_t * tree
Definition parser.h:32
size_t ref_count
Definition parser.h:41
lxb_dom_node_t * form
Definition parser.h:36
lxb_status_t status
Definition parser.h:39
uintptr_t lxb_tag_id_t
Definition const.h:21
lxb_inline bool lxb_html_tree_scripting(lxb_html_tree_t *tree)
Definition tree.h:360
lxb_inline void lxb_html_tree_scripting_set(lxb_html_tree_t *tree, bool scripting)
Definition tree.h:366
unsigned int lxb_status_t
Definition types.h:28
#define lxb_inline
Definition types.h:21
unsigned char lxb_char_t
Definition types.h:27