private string ReadNameOrNmToken(bool isNameToken)
{
int ch = PeekChar ();
if(isNameToken) {
if (!XmlChar.IsNameChar (ch))
throw NotWFError (String.Format ("a nmtoken did not start with a legal character {0} ({1})", ch, (char) ch));
}
else {
if (!XmlChar.IsFirstNameChar (ch))
throw NotWFError (String.Format ("a name did not start with a legal character {0} ({1})", ch, (char) ch));
}
nameLength = 0;
AppendNameChar (ReadChar ());
while (XmlChar.IsNameChar (PeekChar ())) {
AppendNameChar (ReadChar ());
}
return CreateNameString ();
}