private void WriteXmlSchema(XmlWriter writer, SchemaFormat schemaFormat, Converter<Type, string> multipleTargetConverter)
{
long logScopeId = DataCommonEventSource.Log.EnterScope("<ds.DataSet.WriteXmlSchema|INFO> {0}, schemaFormat={1}", ObjectID, schemaFormat);
try
{
// Generate SchemaTree and write it out
if (writer != null)
{
XmlTreeGen treeGen = null;
if (schemaFormat == SchemaFormat.WebService &&
SchemaSerializationMode == SchemaSerializationMode.ExcludeSchema &&
writer.WriteState == WriteState.Element)
{
treeGen = new XmlTreeGen(SchemaFormat.WebServiceSkipSchema);
}
else
{
treeGen = new XmlTreeGen(schemaFormat);
}
treeGen.Save(this, null, writer, false, multipleTargetConverter);
}
}
finally
{
DataCommonEventSource.Log.ExitScope(logScopeId);
}
}
#endregion