10#define LEXBOR_STR_RES_ALPHA_CHARACTER
11#define LEXBOR_STR_RES_ANSI_REPLACEMENT_CHARACTER
48lxb_html_tokenizer_state_script_data_escape_start_dash(
64lxb_html_tokenizer_state_script_data_escaped_dash_dash(
70lxb_html_tokenizer_state_script_data_escaped_less_than_sign(
76lxb_html_tokenizer_state_script_data_escaped_end_tag_open(
82lxb_html_tokenizer_state_script_data_escaped_end_tag_name(
88lxb_html_tokenizer_state_script_data_double_escape_start(
99lxb_html_tokenizer_state_script_data_double_escaped_dash(
105lxb_html_tokenizer_state_script_data_double_escaped_dash_dash(
111lxb_html_tokenizer_state_script_data_double_escaped_less_than_sign(
117lxb_html_tokenizer_state_script_data_double_escaped_end_tag_open(
123lxb_html_tokenizer_state_script_data_double_escape_end(
137 if (tkz->
is_eof ==
false) {
141 tkz->
state = lxb_html_tokenizer_state_script_data;
164 lxb_html_tokenizer_state_script_data_less_than_sign;
174 tkz->
state_return = lxb_html_tokenizer_state_script_data;
241 tkz->
state = lxb_html_tokenizer_state_script_data_end_tag_open;
247 tkz->
state = lxb_html_tokenizer_state_script_data_escape_start;
252 tkz->
state = lxb_html_tokenizer_state_script_data;
272 tkz->
state = lxb_html_tokenizer_state_script_data_end_tag_name;
275 tkz->
state = lxb_html_tokenizer_state_script_data;
364 if (lexbor_str_res_alpha_character[*
data]
382 tkz->
state = lxb_html_tokenizer_state_script_data;
414 tkz->
state = lxb_html_tokenizer_state_script_data_escape_start_dash;
421 tkz->
state = lxb_html_tokenizer_state_script_data;
430lxb_html_tokenizer_state_script_data_escape_start_dash(
439 tkz->
state = lxb_html_tokenizer_state_script_data_escaped_dash_dash;
446 tkz->
state = lxb_html_tokenizer_state_script_data;
467 tkz->
state = lxb_html_tokenizer_state_script_data_escaped_dash;
477 lxb_html_tokenizer_state_script_data_escaped_less_than_sign;
487 tkz->
state_return = lxb_html_tokenizer_state_script_data_escaped;
556 tkz->
state = lxb_html_tokenizer_state_script_data_escaped_dash_dash;
566 lxb_html_tokenizer_state_script_data_escaped_less_than_sign;
593 tkz->
state = lxb_html_tokenizer_state_script_data_escaped;
598 tkz->
state = lxb_html_tokenizer_state_script_data_escaped;
624 lxb_html_tokenizer_state_script_data_escaped_less_than_sign;
630 tkz->
state = lxb_html_tokenizer_state_script_data;
634 tkz->
state = lxb_html_tokenizer_state_script_data_escaped;
643lxb_html_tokenizer_state_script_data_escaped_less_than_sign(
650 tkz->
state = lxb_html_tokenizer_state_script_data_escaped_end_tag_open;
659 tkz->
state = lxb_html_tokenizer_state_script_data_double_escape_start;
664 tkz->
state = lxb_html_tokenizer_state_script_data_escaped;
681 tkz->
state = lxb_html_tokenizer_state_script_data_escaped_end_tag_name;
684 tkz->
state = lxb_html_tokenizer_state_script_data_escaped;
696lxb_html_tokenizer_state_script_data_escaped_end_tag_name(
774 if (lexbor_str_res_alpha_character[*
data]
793 tkz->
state = lxb_html_tokenizer_state_script_data_escaped;
850 lxb_html_tokenizer_state_script_data_double_escaped;
855 tkz->
state = lxb_html_tokenizer_state_script_data_escaped;
860 if (lexbor_str_res_alpha_character[*
data]
865 tkz->
state = lxb_html_tokenizer_state_script_data_escaped;
898 lxb_html_tokenizer_state_script_data_double_escaped_dash;
907 lxb_html_tokenizer_state_script_data_double_escaped_less_than_sign;
917 tkz->
state_return = lxb_html_tokenizer_state_script_data_double_escaped;
987 lxb_html_tokenizer_state_script_data_double_escaped_dash_dash;
996 lxb_html_tokenizer_state_script_data_double_escaped_less_than_sign;
1023 tkz->
state = lxb_html_tokenizer_state_script_data_double_escaped;
1028 tkz->
state = lxb_html_tokenizer_state_script_data_double_escaped;
1038lxb_html_tokenizer_state_script_data_double_escaped_dash_dash(
1054 lxb_html_tokenizer_state_script_data_double_escaped_less_than_sign;
1062 tkz->
state = lxb_html_tokenizer_state_script_data;
1089 tkz->
state = lxb_html_tokenizer_state_script_data_double_escaped;
1094 tkz->
state = lxb_html_tokenizer_state_script_data_double_escaped;
1106lxb_html_tokenizer_state_script_data_double_escaped_less_than_sign(
1112 if (*
data == 0x2F) {
1114 lxb_html_tokenizer_state_script_data_double_escaped_end_tag_open;
1119 tkz->
state = lxb_html_tokenizer_state_script_data_double_escaped;
1128lxb_html_tokenizer_state_script_data_double_escaped_end_tag_open(
1136 tkz->
state = lxb_html_tokenizer_state_script_data_double_escape_end;
1139 tkz->
state = lxb_html_tokenizer_state_script_data_double_escaped;
1151lxb_html_tokenizer_state_script_data_double_escape_end(
1182 tkz->
state = lxb_html_tokenizer_state_script_data_escaped;
1186 tkz->
state = lxb_html_tokenizer_state_script_data_double_escaped;
1191 if (lexbor_str_res_alpha_character[*
data]
1196 tkz->
state = lxb_html_tokenizer_state_script_data_double_escaped;
struct lexbor_hash lexbor_hash_t
hash(string $algo, string $data, bool $binary=false, array $options=[])
struct lxb_html_tokenizer lxb_html_tokenizer_t
@ LXB_HTML_TOKEN_TYPE_CLOSE
lxb_html_tokenizer_error_t * lxb_html_tokenizer_error_add(lexbor_array_obj_t *parse_errors, const lxb_char_t *pos, lxb_html_tokenizer_error_id_t id)
@ LXB_HTML_TOKENIZER_ERROR_UNNUCH
@ LXB_HTML_TOKENIZER_ERROR_EOINSCHTCOLITE
const lxb_char_t * lxb_html_tokenizer_state_before_attribute_name(lxb_html_tokenizer_t *tkz, const lxb_char_t *data, const lxb_char_t *end)
const lxb_char_t * lxb_html_tokenizer_state_data_before(lxb_html_tokenizer_t *tkz, const lxb_char_t *data, const lxb_char_t *end)
const lxb_char_t * lxb_html_tokenizer_state_cr(lxb_html_tokenizer_t *tkz, const lxb_char_t *data, const lxb_char_t *end)
const lxb_char_t * lxb_html_tokenizer_state_self_closing_start_tag(lxb_html_tokenizer_t *tkz, const lxb_char_t *data, const lxb_char_t *end)
#define lxb_html_tokenizer_state_append_data_m(tkz, v_data)
#define lxb_html_tokenizer_state_set_text(tkz)
#define lxb_html_tokenizer_state_token_set_begin(tkz, v_begin)
#define lxb_html_tokenizer_state_append_replace_m(tkz)
#define lxb_html_tokenizer_state_token_done_m(tkz, v_end)
#define lxb_html_tokenizer_state_set_tag_m(tkz, _start, _end)
#define lxb_html_tokenizer_state_token_set_end(tkz, v_end)
#define lxb_html_tokenizer_state_token_set_end_oef(tkz)
#define lxb_html_tokenizer_state_begin_set(tkz, v_data)
#define lxb_html_tokenizer_state_append_m(tkz, v_data, size)
unsigned const char * end
const lxb_char_t * lxb_html_tokenizer_state_script_data_before(lxb_html_tokenizer_t *tkz, const lxb_char_t *data, const lxb_char_t *end)
const lxb_tag_data_t * lxb_tag_append_lower(lexbor_hash_t *hash, const lxb_char_t *name, size_t length)
bool lexbor_str_data_ncasecmp(const lxb_char_t *first, const lxb_char_t *sec, size_t size)
#define LEXBOR_STR_RES_SLIP
lxb_html_token_type_t type
lxb_html_tokenizer_state_f state_return
lxb_html_tokenizer_state_f state
lexbor_array_obj_t * parse_errors