public virtual bool ParseLiteral(Literal lt, bool literalToken) { if (literalToken) Reader.LiteralToken(); lt.Clear(); lt.IsCData = false; if (CurrentToken.Class == TokenClass.Literal || CurrentToken.Class == TokenClass.Identifier || CurrentToken.Class == TokenClass.Equals || CurrentToken.Class == TokenClass.CData || CurrentToken.Class == TokenClass.String) { lt.LiteralToken.Read(); return true; } else if (CurrentToken.Class == TokenClass.CDataStart) { lt.IsCData = true; lt.CDataStartToken.Read(); lt.LiteralToken.Read(); lt.CDataEndToken.Read(); return true; } else Error("Literal: literal expected."); return false; }