public DocumentXmlWriter(DocumentXmlWriterType type, XmlNode start, XmlDocument document) {
this.type = type;
this.start = start;
this.document = document;
state = StartState();
fragment = new List<XmlNode>();
settings = new XmlWriterSettings();
settings.ReadOnly = false;
settings.CheckCharacters = false;
settings.CloseOutput = false;
settings.ConformanceLevel = (state == State.Prolog ? ConformanceLevel.Document : ConformanceLevel.Fragment);
settings.ReadOnly = true;
}