@@ -527,7 +527,7 @@ static TParserStateActionItem actionTPS_InTagFirst[] = {
527
527
{p_iseqC ,'/' ,A_PUSH ,TPS_InTagCloseFirst ,0 ,NULL },
528
528
{p_iseqC ,'!' ,A_PUSH ,TPS_InCommentFirst ,0 ,NULL },
529
529
{p_iseqC ,'?' ,A_PUSH ,TPS_InXMLBegin ,0 ,NULL },
530
- {p_islatin ,0 ,A_PUSH ,TPS_InTag ,0 ,NULL },
530
+ {p_islatin ,0 ,A_PUSH ,TPS_InTagName ,0 ,NULL },
531
531
{NULL ,0 ,A_POP ,TPS_Null ,0 ,NULL }
532
532
};
533
533
@@ -541,7 +541,23 @@ static TParserStateActionItem actionTPS_InXMLBegin[] = {
541
541
542
542
static TParserStateActionItem actionTPS_InTagCloseFirst []= {
543
543
{p_isEOF ,0 ,A_POP ,TPS_Null ,0 ,NULL },
544
- {p_islatin ,0 ,A_NEXT ,TPS_InTag ,0 ,NULL },
544
+ {p_islatin ,0 ,A_NEXT ,TPS_InTagName ,0 ,NULL },
545
+ {NULL ,0 ,A_POP ,TPS_Null ,0 ,NULL }
546
+ };
547
+
548
+ static TParserStateActionItem actionTPS_InTagName []= {
549
+ {p_isEOF ,0 ,A_POP ,TPS_Null ,0 ,NULL },
550
+ /* <br/> case */
551
+ {p_iseqC ,'/' ,A_NEXT ,TPS_InTagBeginEnd ,0 ,NULL },
552
+ {p_iseqC ,'>' ,A_NEXT ,TPS_InTagEnd ,0 ,SpecialTags },
553
+ {p_isspace ,0 ,A_NEXT ,TPS_InTag ,0 ,SpecialTags },
554
+ {p_islatin ,0 ,A_NEXT ,TPS_Null ,0 ,NULL },
555
+ {NULL ,0 ,A_POP ,TPS_Null ,0 ,NULL }
556
+ };
557
+
558
+ static TParserStateActionItem actionTPS_InTagBeginEnd []= {
559
+ {p_isEOF ,0 ,A_POP ,TPS_Null ,0 ,NULL },
560
+ {p_iseqC ,'>' ,A_NEXT ,TPS_InTagEnd ,0 ,NULL },
545
561
{NULL ,0 ,A_POP ,TPS_Null ,0 ,NULL }
546
562
};
547
563
@@ -977,6 +993,8 @@ static const TParserStateAction Actions[] = {
977
993
{TPS_InTagFirst ,actionTPS_InTagFirst },
978
994
{TPS_InXMLBegin ,actionTPS_InXMLBegin },
979
995
{TPS_InTagCloseFirst ,actionTPS_InTagCloseFirst },
996
+ {TPS_InTagName ,actionTPS_InTagName },
997
+ {TPS_InTagBeginEnd ,actionTPS_InTagBeginEnd },
980
998
{TPS_InTag ,actionTPS_InTag },
981
999
{TPS_InTagEscapeK ,actionTPS_InTagEscapeK },
982
1000
{TPS_InTagEscapeKK ,actionTPS_InTagEscapeKK },