public void WriteRoot (object ob)
{
WriteStartDocument ();
if (_typeMap is XmlTypeMapping)
{
XmlTypeMapping mp = (XmlTypeMapping) _typeMap;
if (mp.TypeData.SchemaType == SchemaTypes.Class || mp.TypeData.SchemaType == SchemaTypes.Array)
TopLevelElement ();
if (_format == SerializationFormat.Literal)
WriteObject (mp, ob, mp.ElementName, mp.Namespace, true, false, true);
else
WritePotentiallyReferencingElement (mp.ElementName, mp.Namespace, ob, mp.TypeData.Type, true, false);
}
else if (ob is object[])
WriteMessage ((XmlMembersMapping)_typeMap, (object[]) ob);
else
throw CreateUnknownTypeException (ob);
WriteReferencedElements ();
}