本文整理汇总了C#中Tokenizer.ChangeTokenState方法的典型用法代码示例。如果您正苦于以下问题:C# Tokenizer.ChangeTokenState方法的具体用法?C# Tokenizer.ChangeTokenState怎么用?C# Tokenizer.ChangeTokenState使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tokenizer
的用法示例。
在下文中一共展示了Tokenizer.ChangeTokenState方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Read
public override void Read(Tokenizer t)
{
char? c = t.ConsumeChar();
switch(c){
case Chars.HYPHEN_MINUS:
t.ChangeTokenState<ScriptDataDoubleEscapedDashState>();
t.EmitToken(Chars.HYPHEN_MINUS);
return;
case Chars.LESS_THAN_SIGN:
t.ChangeTokenState<ScriptDataDoubleEscapedLessThanSignState>();
t.EmitToken(Chars.LESS_THAN_SIGN);
return;
case Chars.NULL:
OnMessageRaised(new NullInScriptError());
t.EmitToken(Chars.REPLACEMENT_CHARACTER);
return;
case null:
OnMessageRaised(new SuddenlyEndAtScriptError());
t.UnConsume(1);
t.ChangeTokenState<DataState>();
return;
default:
t.EmitToken(c);
return;
}
}
示例2: Read
public override void Read(Tokenizer t)
{
char? c = t.ConsumeChar();
switch(c){
case Chars.CHARACTER_TABULATION:
case Chars.LINE_FEED:
case Chars.FORM_FEED:
case Chars.SPACE:
t.ChangeTokenState<BeforeAttributeNameState>();
return;
case Chars.SOLIDUS:
t.ChangeTokenState<SelfClosingStartTagState>();
return;
case Chars.GREATER_THAN_SIGN:
t.ChangeTokenState<DataState>();
t.EmitToken();
return;
case null:
OnMessageRaised(new SuddenlyEndAtAttributeError());
t.UnConsume(1);
t.ChangeTokenState<DataState>();
return;
default:
OnMessageRaised(new MissingSpaceAfterAttributeValueError(c));
t.UnConsume(1);
t.ChangeTokenState<BeforeAttributeNameState>();
return;
}
}
示例3: Read
public override void Read(Tokenizer t)
{
char? c = t.ConsumeChar();
switch(c){
case Chars.GREATER_THAN_SIGN:
OnMessageRaised(new EmptyEndTagError());
t.ChangeTokenState<DataState>();
return;
case null:
OnMessageRaised(new SuddenlyEndAtTagError());
t.EmitToken(Chars.LESS_THAN_SIGN);
t.EmitToken(Chars.SOLIDUS);
t.UnConsume(1);
t.ChangeTokenState<DataState>();
return;
}
if(c.IsLatinCapitalLetter()){
t.CurrentToken = new EndTagToken(){Name = c.ToLower().ToString()};
t.ChangeTokenState<TagNameState>();
return;
} else if(c.IsLatinSmallLetter()){
t.CurrentToken = new EndTagToken(){Name = c.ToString()};
t.ChangeTokenState<TagNameState>();
return;
}
OnMessageRaised(new UnknownEndTagError());
t.ChangeTokenState<BogusCommentState>();
return;
}
示例4: Read
public override void Read(Tokenizer t)
{
char? c = t.ConsumeChar();
if(c.IsLatinCapitalLetter()){
t.TemporaryBuffer = "";
t.TemporaryBuffer += c.ToLower();
t.EmitToken(Chars.LESS_THAN_SIGN);
t.EmitToken(c);
t.ChangeTokenState<ScriptDataDoubleEscapeStartState>();
return;
} else if(c.IsLatinSmallLetter()){
t.TemporaryBuffer = "";
t.TemporaryBuffer += c;
t.EmitToken(Chars.LESS_THAN_SIGN);
t.EmitToken(c);
t.ChangeTokenState<ScriptDataDoubleEscapeStartState>();
return;
}
switch(c){
case Chars.SOLIDUS:
t.TemporaryBuffer = "";
t.ChangeTokenState<ScriptDataEscapedEndTagOpenState>();
return;
default:
t.EmitToken(Chars.LESS_THAN_SIGN);
t.UnConsume(1);
t.ChangeTokenState<ScriptDataEscapedState>();
return;
}
}
示例5: Read
public override void Read(Tokenizer t)
{
char? c = t.ConsumeChar();
if(c.IsLatinCapitalLetter()){
t.TemporaryBuffer += c.ToLower();
t.EmitToken(c);
return;
} else if(c.IsLatinSmallLetter()){
t.TemporaryBuffer += c;
t.EmitToken(c);
return;
}
switch(c){
case Chars.CHARACTER_TABULATION:
case Chars.LINE_FEED:
case Chars.FORM_FEED:
case Chars.SPACE:
case Chars.SOLIDUS:
case Chars.GREATER_THAN_SIGN:
if(t.TemporaryBuffer.Equals("script", StringComparison.InvariantCulture)){
t.ChangeTokenState<ScriptDataDoubleEscapedState>();
} else {
t.ChangeTokenState<ScriptDataEscapedState>();
}
t.EmitToken(c);
return;
default:
t.UnConsume(1);
t.ChangeTokenState<ScriptDataEscapedState>();
return;
}
}
示例6: Read
public override void Read(Tokenizer t)
{
char? c = t.ConsumeChar();
switch(c){
case Chars.CHARACTER_TABULATION:
case Chars.LINE_FEED:
case Chars.FORM_FEED:
case Chars.SPACE:
return;
case Chars.GREATER_THAN_SIGN:{
t.ChangeTokenState<DataState>();
t.EmitToken();
return;
}
case null:
OnMessageRaised(new SuddenlyEndAtDoctypeError());
((DoctypeToken)t.CurrentToken).ForceQuirks = true;
t.UnConsume(1);
t.ChangeTokenState<DataState>();
t.EmitToken();
return;
default:
OnMessageRaised(new UnknownIdentifierAfterDoctypeError());
t.ChangeTokenState<BogusDoctypeState>();
return;
}
}
示例7: Read
public override void Read(Tokenizer t)
{
char? c = t.ConsumeChar();
switch(c){
case Chars.HYPHEN_MINUS:
t.ChangeTokenState<CommentEndState>();
return;
case Chars.NULL:
OnMessageRaised(new NullInCommentError());
t.CurrentCommentToken.Append(Chars.HYPHEN_MINUS);
t.CurrentCommentToken.Append(Chars.REPLACEMENT_CHARACTER);
t.ChangeTokenState<CommentState>();
return;
case null:
OnMessageRaised(new SuddenlyEndAtCommentError());
t.EmitToken();
t.UnConsume(1);
t.ChangeTokenState<DataState>();
return;
default:
t.CurrentCommentToken.Append(Chars.HYPHEN_MINUS);
t.CurrentCommentToken.Append(c);
t.ChangeTokenState<CommentState>();
return;
}
}
示例8: Read
public override void Read(Tokenizer t)
{
char? c = t.ConsumeChar();
switch(c){
case Chars.CHARACTER_TABULATION:
case Chars.LINE_FEED:
case Chars.FORM_FEED:
case Chars.SPACE:
return;
case Chars.SOLIDUS:
t.ChangeTokenState<SelfClosingStartTagState>();
return;
case Chars.EQUALS_SIGN:
t.ChangeTokenState<BeforeAttributeValueState>();
return;
case Chars.GREATER_THAN_SIGN:
t.ChangeTokenState<DataState>();
t.EmitToken();
return;
case Chars.NULL:
if(t.CurrentTagToken.FixAttribute() == false){
OnMessageRaised(new DuplicateAttributeError(t.CurrentTagToken.CurrentAttribute.Name));
t.CurrentTagToken.CurrentAttribute = null;
}
OnMessageRaised(new NullInAttributeNameError());
t.CurrentTagToken.CreateAttribute(Chars.REPLACEMENT_CHARACTER, "");
return;
case Chars.QUOTATION_MARK:
case Chars.APOSTROPHE:
case Chars.LESS_THAN_SIGN:
OnMessageRaised(new InvaridCharAtAfterAttributeNameError(c, t.CurrentTagToken.CurrentAttribute.Name));
goto default;
case null:
OnMessageRaised(new SuddenlyEndAtAttributeError());
t.UnConsume(1);
t.ChangeTokenState<DataState>();
return;
default:
if(t.CurrentTagToken.FixAttribute() == false){
OnMessageRaised(new DuplicateAttributeError(t.CurrentTagToken.CurrentAttribute.Name));
t.CurrentTagToken.CurrentAttribute = null;
}
if(c.IsLatinCapitalLetter()){
t.CurrentTagToken.CreateAttribute(c.ToLower(), "");
} else {
t.CurrentTagToken.CreateAttribute(c, "");
}
t.ChangeTokenState<AttributeNameState>();
return;
}
}
示例9: Read
public override void Read(Tokenizer t)
{
char? c = t.ConsumeChar();
if(c == Chars.SOLIDUS){
t.TemporaryBuffer = "";
t.ChangeTokenState<RAWTEXTEndTagOpenState>();
return;
}
t.EmitToken(Chars.LESS_THAN_SIGN);
t.UnConsume(1);
t.ChangeTokenState<RAWTEXTState>();
return;
}
示例10: Read
public override void Read(Tokenizer t)
{
char? c = t.ConsumeChar();
switch(c){
case Chars.HYPHEN_MINUS:
t.EmitToken(Chars.HYPHEN_MINUS);
t.ChangeTokenState<ScriptDataEscapedDashDashState>();
return;
default:
t.UnConsume(1);
t.ChangeTokenState<ScriptDataState>();
return;
}
}
示例11: Read
public override void Read(Tokenizer t)
{
char? c = t.ConsumeChar();
switch(c){
case Chars.SOLIDUS:
t.TemporaryBuffer = "";
t.ChangeTokenState<ScriptDataDoubleEscapeEndState>();
return;
default:
t.UnConsume(1);
t.ChangeTokenState<ScriptDataDoubleEscapedState>();
return;
}
}
示例12: Read
public override void Read(Tokenizer t)
{
char? c = t.ConsumeChar();
if(c.IsLatinCapitalLetter()){
t.CurrentTagToken.Name += c.ToLower();
t.TemporaryBuffer += c;
return;
} else if(c.IsLatinSmallLetter()){
t.CurrentTagToken.Name += c;
t.TemporaryBuffer += c;
return;
}
switch(c){
case Chars.CHARACTER_TABULATION:
case Chars.LINE_FEED:
case Chars.FORM_FEED:
case Chars.SPACE:
if(t.IsAppropriateEndTagToken){
t.ChangeTokenState<BeforeAttributeNameState>();
return;
}
goto default;
case Chars.SOLIDUS:
if(t.IsAppropriateEndTagToken){
t.ChangeTokenState<SelfClosingStartTagState>();
return;
}
goto default;
case Chars.GREATER_THAN_SIGN:
if(t.IsAppropriateEndTagToken){
t.EmitToken();
t.ChangeTokenState<DataState>();
return;
}
goto default;
default:{
t.EmitToken(Chars.LESS_THAN_SIGN);
t.EmitToken(Chars.SOLIDUS);
t.EmitToken(t.TemporaryBuffer);
t.UnConsume(1);
t.ChangeTokenState<ScriptDataEscapedState>();
return;
}
}
}
示例13: Read
public override void Read(Tokenizer t)
{
char? c = t.ConsumeChar();
switch(c){
case Chars.RIGHT_SQUARE_BRACKET:
if(IsStringMatch(t, CDATASectionEndId)){
t.ChangeTokenState<DataState>();
return;
}
break;
case null:
t.UnConsume(1);
t.ChangeTokenState<DataState>();
return;
}
t.EmitToken(c);
}
示例14: Read
public override void Read(Tokenizer t)
{
char? c = t.ConsumeChar();
switch(c){
case Chars.GREATER_THAN_SIGN:{
t.ChangeTokenState<DataState>();
return;
}
case null:
t.UnConsume(1);
t.ChangeTokenState<DataState>();
t.EmitToken();
return;
default:
return;
}
}
示例15: Read
public override void Read(Tokenizer t)
{
char? c = t.ConsumeChar();
if(c == Chars.SOLIDUS){
t.TemporaryBuffer = "";
t.ChangeTokenState<ScriptDataEndTagOpenState>();
return;
}
if(c == Chars.EXCLAMATION_MARK){
t.EmitToken(Chars.LESS_THAN_SIGN);
t.EmitToken(Chars.EXCLAMATION_MARK);
t.ChangeTokenState<ScriptDataEscapeStartState>();
return;
}
t.EmitToken(Chars.LESS_THAN_SIGN);
t.UnConsume(1);
t.ChangeTokenState<ScriptDataState>();
return;
}