public void WriteXmlSchema3()
{
string xmlschema = @"<?xml version=""1.0"" encoding=""utf-16""?>
<xs:schema id=""ExampleDataSet"" xmlns="""" xmlns:xs=""http://www.w3.org/2001/XMLSchema"" xmlns:msdata=""urn:schemas-microsoft-com:xml-msdata"">
<xs:element name=""ExampleDataSet"" msdata:IsDataSet=""true"" msdata:MainDataTable=""ExampleDataTable"" msdata:UseCurrentLocale=""true"">
<xs:complexType>
<xs:choice minOccurs=""0"" maxOccurs=""unbounded"">
<xs:element name=""ExampleDataTable"">
<xs:complexType>
<xs:attribute name=""PrimaryKeyColumn"" type=""xs:int"" use=""required"" />
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name=""PK_ExampleDataTable"" msdata:PrimaryKey=""true"">
<xs:selector xpath="".//ExampleDataTable"" />
<xs:field xpath=""@PrimaryKeyColumn"" />
</xs:unique>
</xs:element>
</xs:schema>";
DataSet ds = new DataSet("ExampleDataSet");
ds.Tables.Add(new DataTable("ExampleDataTable"));
ds.Tables["ExampleDataTable"].Columns.Add(
new DataColumn("PrimaryKeyColumn", typeof(int), "", MappingType.Attribute));
ds.Tables["ExampleDataTable"].Columns["PrimaryKeyColumn"].AllowDBNull = false;
ds.Tables["ExampleDataTable"].Constraints.Add(
"PK_ExampleDataTable",
ds.Tables["ExampleDataTable"].Columns["PrimaryKeyColumn"],
true);
ds.AcceptChanges();
StringWriter sw = new StringWriter();
ds.Tables[0].WriteXmlSchema(sw);
string result = sw.ToString();
Assert.Equal(xmlschema.Replace("\r\n", "\n"), result.Replace("\r\n", "\n"));
//Assert.Equal (xmlschema, result.Replace ("\r\n");
}