示例#1
0
            // from < in data
            public override void Read(Tokeniser t, CharacterReader r)
            {
                switch (r.Current)
                {
                case '!':
                    t.AdvanceTransition(MarkupDeclarationOpen);
                    break;

                case '/':
                    t.AdvanceTransition(EndTagOpen);
                    break;

                case '?':
                    t.AdvanceTransition(BogusComment);
                    break;

                default:
                    if (r.MatchesLetter())
                    {
                        t.CreateTagPending(true);
                        t.Transition(TagName);
                    }
                    else
                    {
                        t.Error(this);
                        t.Emit('<');     // char that got us here
                        t.Transition(Data);
                    }
                    break;
                }
            }
 public override void Read(Tokeniser t, CharacterReader r)
 {
     if (r.MatchesLetter())
     {
         t.CreateTagPending(false);
         t.Transition(ScriptDataEndTagName);
     }
     else
     {
         t.Emit("</");
         t.Transition(ScriptData);
     }
 }
 public override void Read(Tokeniser t, CharacterReader r)
 {
     if (r.MatchesLetter())
     {
         t.CreateTagPending(false);
         t.tagPending.AppendTagName(char.ToLowerInvariant(r.Current));
         t.dataBuffer.Append(r.Current);
         t.AdvanceTransition(ScriptDataEscapedEndTagName);
     }
     else
     {
         t.Emit("</");
         t.Transition(ScriptDataEscaped);
     }
 }
示例#4
0
 public override void Read(Tokeniser t, CharacterReader r)
 {
     if (r.IsEmpty)
     {
         t.EofError(this);
         t.Emit("</");
         t.Transition(Data);
     }
     else if (r.MatchesLetter())
     {
         t.CreateTagPending(false);
         t.Transition(TagName);
     }
     else if (r.Matches('>'))
     {
         t.Error(this);
         t.AdvanceTransition(Data);
     }
     else
     {
         t.Error(this);
         t.AdvanceTransition(BogusComment);
     }
 }