System\Xml\Core\XmlTextWriter.cs (270)
155private State[] _stateTable;
156private State _currentState;
218private static readonly State[] s_stateTableDefault = {
221/* Token.PI */ State.Prolog, State.Prolog, State.PostDTD, State.Content, State.Content, State.Content, State.Error, State.Epilog,
222/* Token.Doctype */ State.PostDTD, State.PostDTD, State.Error, State.Error, State.Error, State.Error, State.Error, State.Error,
223/* Token.Comment */ State.Prolog, State.Prolog, State.PostDTD, State.Content, State.Content, State.Content, State.Error, State.Epilog,
224/* Token.CData */ State.Content, State.Content, State.Error, State.Content, State.Content, State.Content, State.Error, State.Epilog,
225/* Token.StartElement */ State.Element, State.Element, State.Element, State.Element, State.Element, State.Element, State.Error, State.Element,
226/* Token.EndElement */ State.Error, State.Error, State.Error, State.Content, State.Content, State.Content, State.Error, State.Error,
227/* Token.LongEndElement */ State.Error, State.Error, State.Error, State.Content, State.Content, State.Content, State.Error, State.Error,
228/* Token.StartAttribute */ State.AttrOnly, State.Error, State.Error, State.Attribute, State.Attribute, State.Error, State.Error, State.Error,
229/* Token.EndAttribute */ State.Error, State.Error, State.Error, State.Error, State.Element, State.Error, State.Epilog, State.Error,
230/* Token.Content */ State.Content, State.Content, State.Error, State.Content, State.Attribute, State.Content, State.Attribute, State.Epilog,
231/* Token.Base64 */ State.Content, State.Content, State.Error, State.Content, State.Attribute, State.Content, State.Attribute, State.Epilog,
232/* Token.RawData */ State.Prolog, State.Prolog, State.PostDTD, State.Content, State.Attribute, State.Content, State.Attribute, State.Epilog,
233/* Token.Whitespace */ State.Prolog, State.Prolog, State.PostDTD, State.Content, State.Attribute, State.Content, State.Attribute, State.Epilog,
236private static readonly State[] s_stateTableDocument = {
239/* Token.PI */ State.Error, State.Prolog, State.PostDTD, State.Content, State.Content, State.Content, State.Error, State.Epilog,
240/* Token.Doctype */ State.Error, State.PostDTD, State.Error, State.Error, State.Error, State.Error, State.Error, State.Error,
241/* Token.Comment */ State.Error, State.Prolog, State.PostDTD, State.Content, State.Content, State.Content, State.Error, State.Epilog,
242/* Token.CData */ State.Error, State.Error, State.Error, State.Content, State.Content, State.Content, State.Error, State.Error,
243/* Token.StartElement */ State.Error, State.Element, State.Element, State.Element, State.Element, State.Element, State.Error, State.Error,
244/* Token.EndElement */ State.Error, State.Error, State.Error, State.Content, State.Content, State.Content, State.Error, State.Error,
245/* Token.LongEndElement */ State.Error, State.Error, State.Error, State.Content, State.Content, State.Content, State.Error, State.Error,
246/* Token.StartAttribute */ State.Error, State.Error, State.Error, State.Attribute, State.Attribute, State.Error, State.Error, State.Error,
247/* Token.EndAttribute */ State.Error, State.Error, State.Error, State.Error, State.Element, State.Error, State.Error, State.Error,
248/* Token.Content */ State.Error, State.Error, State.Error, State.Content, State.Attribute, State.Content, State.Error, State.Error,
249/* Token.Base64 */ State.Error, State.Error, State.Error, State.Content, State.Attribute, State.Content, State.Error, State.Error,
250/* Token.RawData */ State.Error, State.Prolog, State.PostDTD, State.Content, State.Attribute, State.Content, State.Error, State.Epilog,
251/* Token.Whitespace */ State.Error, State.Prolog, State.PostDTD, State.Content, State.Attribute, State.Content, State.Error, State.Epilog,
274_currentState = State.Start;
332if (_currentState != State.Start)
417if (_currentState != State.Epilog)
419if (_currentState == State.Closed)
429_currentState = State.Start;
434_currentState = State.Error;
473_currentState = State.Error;
551_currentState = State.Error;
710_currentState = State.Error;
724_currentState = State.Error;
751_currentState = State.Error;
775_currentState = State.Error;
800_currentState = State.Error;
816_currentState = State.Error;
831_currentState = State.Error;
855_currentState = State.Error;
873_currentState = State.Error;
888_currentState = State.Error;
904_currentState = State.Error;
919_currentState = State.Error;
934_currentState = State.Error;
961_currentState = State.Error;
977_currentState = State.Error;
989case State.Start:
991case State.Prolog:
992case State.PostDTD:
994case State.Element:
996case State.Attribute:
997case State.AttrOnly:
999case State.Content:
1000case State.Epilog:
1002case State.Error:
1004case State.Closed:
1025_currentState = State.Closed;
1047_currentState = State.Error;
1065if (_currentState != State.Attribute)
1090_currentState = State.Error;
1158_currentState = State.Error;
1170if (_currentState != State.Start)
1175_currentState = State.Prolog;
1197_currentState = State.Error;
1204if (_currentState == State.Closed)
1208else if (_currentState == State.Error)
1210throw new InvalidOperationException(SR.Format(SR.Xml_WrongToken, s_tokenName[(int)token], s_stateName[(int)State.Error]));
1213State newState = _stateTable[(int)token * 8 + (int)_currentState];
1214if (newState == State.Error)
1222if (_indented && _currentState != State.Start)
1232if (_currentState == State.Attribute)
1237else if (_currentState == State.Element)
1245else if (_indented && _currentState != State.Start)
1257if (_currentState == State.Attribute)
1261if (_currentState == State.Content)
1271newState = State.Epilog;
1280if (_currentState == State.Attribute)
1285else if (_currentState == State.Element)
1308if (_currentState == State.Element && _lastToken != Token.Content)
1312if (newState == State.Content)
1376_currentState = State.Error;