/// <summary> /// Create either the Html or Xml writer and send any cached events to it. /// </summary> private void CreateWrappedWriter(XmlOutputMethod outMethod) { Debug.Assert(_wrapped == null); // Create either the Xml or Html writer _writerSettings.ReadOnly = false; _writerSettings.OutputMethod = outMethod; // If Indent was not set by the user, then default to True for Html if (outMethod == XmlOutputMethod.Html && _writerSettings.IndentInternal == TriState.Unknown) { _writerSettings.Indent = true; } _writerSettings.ReadOnly = true; if (_textWriter != null) { _wrapped = ((XmlWellFormedWriter)XmlWriter.Create(_textWriter, _writerSettings)).RawWriter; } else { _wrapped = ((XmlWellFormedWriter)XmlWriter.Create(_strm, _writerSettings)).RawWriter; } // Send cached events to the new writer _eventCache.EndEvents(); _eventCache.EventsToWriter(_wrapped); // Send OnRemoveWriter event if (_onRemove != null) { (this._onRemove)(_wrapped); } }