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"" ";
xmlschema = xmlschema + "msdata:UseCurrentLocale=\"true\"";
xmlschema = xmlschema + @">
<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.WriteXmlSchema(sw);
string result = sw.ToString();
Assert.Equal(result.Replace("\r\n", "\n"), xmlschema.Replace("\r\n", "\n"));
}