سؤال

I am creating a utility to convert the Dataset into xsd file. i am Reading data from database and creating dataset For creation of XSD file i am actually creating a Dataset and Datatable and then i am using Dataset.WriteXMLSchema() to write the xsd file.

After my file generated i am getting attribute minoccur =0 for all the elements in my xsd file

Is there is any way by which i can change the minOccur = 2 or can we add Maxoccur also in the same way.??

Below is my code

DataSet MyDataSet = new DataSet("Emp");

    // This can be confusing, the 'DataTable' will actually
    // become Elements (Rows) in the XML file.
    DataTable MyDataTable = new DataTable("Employee_1");

    MyDataSet.Tables.Add(MyDataTable);

    // Make columns attributes so we can 
    // link directly to a GridView
    MyDataTable.Columns.Add(new DataColumn("ID",
                                 typeof(System.Int32),
                                 null,
                                 MappingType.Attribute));

    MyDataTable.Columns.Add(new DataColumn("Name",
                                 typeof(String),
                                 null,
                                 MappingType.Attribute));

    MyDataTable.Columns.Add(new DataColumn("Salary",
                                 typeof(int),
                                 null,
                                 MappingType.Attribute));

    // Write out the XSD
    MyDataSet.WriteXmlSchema(@"C:\Employee.xsd");

I am getting below xsd file

<?xml version="1.0" standalone="yes"?>
  <xs:schema id="Golfers" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="Emp" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="Employee_1">
            <xs:complexType>
              <xs:attribute name="ID" type="xs:int" />
              <xs:attribute name="Name" type="xs:string" />
              <xs:attribute name="Salary" type="xs:int" />
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema><!--EndFragment-->

i wanted to change the minOccurs and maxOccurs value

هل كانت مفيدة؟

المحلول

There are no methods to influence the generation of the built in DataSet to XSD Custom Tool. I'd recommend to post-process the output manually by loading and modifying the XSD after generation like described here http://support.microsoft.com/kb/318502.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top