void WriteStartDocumentCore (bool outputStd, bool standalone)
{
if (state != WriteState.Start)
throw StateError ("XmlDeclaration");
switch (xmldecl_state) {
case XmlDeclState.Ignore:
return;
case XmlDeclState.Prohibit:
throw InvalidOperation ("WriteStartDocument cannot be called when ConformanceLevel is Fragment.");
}
state = WriteState.Prolog;
writer.Write ("<?xml version=");
writer.Write (quote_char);
writer.Write ("1.0");
writer.Write (quote_char);
if (!ignore_encoding) {
writer.Write (" encoding=");
writer.Write (quote_char);
writer.Write (writer.Encoding.WebName);
writer.Write (quote_char);
}
if (outputStd) {
writer.Write (" standalone=");
writer.Write (quote_char);
writer.Write (standalone ? "yes" : "no");
writer.Write (quote_char);
}
writer.Write ("?>");
xmldecl_state = XmlDeclState.Ignore;
}