[xml_parse_string() is slow for a long XML string #96](https://github.com/clicon/clixon/issues/96)
This commit is contained in:
parent
6b9a9d46f9
commit
039e08f86a
7 changed files with 83 additions and 35 deletions
|
|
@ -94,6 +94,7 @@ ncname {namestart}{namechar}*
|
|||
%s STATEA
|
||||
%s AMPERSAND
|
||||
%s CDATA
|
||||
%s CDATAEND
|
||||
%s CMNT
|
||||
%s STR
|
||||
%s TEXTDECL
|
||||
|
|
@ -145,9 +146,13 @@ ncname {namestart}{namechar}*
|
|||
<AMPERSAND>"apos;" { BEGIN(_YA->ya_lex_state); clixon_xml_parselval.string = "'"; return CHARDATA;}
|
||||
<AMPERSAND>"quot;" { BEGIN(_YA->ya_lex_state); clixon_xml_parselval.string = "\""; return CHARDATA;}
|
||||
|
||||
<CDATA>. { clixon_xml_parselval.string = yytext; return CHARDATA;}
|
||||
<CDATA>\n { clixon_xml_parselval.string = yytext;_YA->ya_linenum++; return (CHARDATA);}
|
||||
<CDATA>"]]>" { BEGIN(_YA->ya_lex_state); clixon_xml_parselval.string = yytext; return CHARDATA;}
|
||||
<CDATA>\] { BEGIN(CDATAEND);clixon_xml_parselval.string = yytext;return (CHARDATA);}
|
||||
<CDATA>[^]\n]+ { clixon_xml_parselval.string = yytext; return CHARDATA;}
|
||||
|
||||
<CDATAEND>\n { clixon_xml_parselval.string = yytext;_YA->ya_linenum++; return (CHARDATA);}
|
||||
<CDATAEND>"]>" { BEGIN(_YA->ya_lex_state); clixon_xml_parselval.string = yytext; return CHARDATA;}
|
||||
<CDATAEND>. { BEGIN(CDATA); clixon_xml_parselval.string = yytext;return (CHARDATA);}
|
||||
|
||||
<CMNT>"-->" { BEGIN(START); return ECOMMENT; }
|
||||
<CMNT>.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue