Ejemplo n.º 1
0
 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);
     }
 }
Ejemplo n.º 2
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);
     }
 }
Ejemplo n.º 3
0
            public override void Read(Tokeniser t, CharacterReader r)
            {
                if (r.MatchesLetter())
                {
                    t.CreateTagPending(false);
                    t.Transition(ScriptDataEndTagName);
                }
                else
                {
                    t.Emit("</");
                    t.Transition(ScriptData);
                }

            }
Ejemplo n.º 4
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;
     }
 }