HtmlKit.HtmlTokenizer.ReadAttributeValueUnquoted C# (CSharp) Method

ReadAttributeValueUnquoted() private method

private ReadAttributeValueUnquoted ( ) : HtmlToken
return HtmlToken
		HtmlToken ReadAttributeValueUnquoted ()
		{
			do {
				int nc = Read ();
				char c;

				if (nc == -1) {
					TokenizerState = HtmlTokenizerState.EndOfFile;
					name.Length = 0;

					return EmitDataToken (false);
				}

				c = (char) nc;

				// Note: we save the data in case we hit a parse error and have to emit a data token
				data.Append (c);

				switch (c) {
				case '\t': case '\r': case '\n': case '\f': case ' ':
					TokenizerState = HtmlTokenizerState.BeforeAttributeName;
					break;
				case '&':
					TokenizerState = HtmlTokenizerState.CharacterReferenceInAttributeValue;
					return null;
				case '>':
					attribute.Value = name.ToString ();
					name.Length = 0;

					return EmitTagToken ();
				case '\'': case '<': case '=': case '`':
					// parse error
					goto default;
				default:
					name.Append (c == '\0' ? '\uFFFD' : c);
					break;
				}
			} while (TokenizerState == HtmlTokenizerState.AttributeValueUnquoted);

			attribute.Value = name.ToString ();
			name.Length = 0;

			return null;
		}
HtmlTokenizer