System.Xml.Tests.TC_SchemaSet_Add_URL.GenerateChoiceXsdFile C# (CSharp) Method

GenerateChoiceXsdFile() private static method

private static GenerateChoiceXsdFile ( int size, string xsdFileName ) : void
size int
xsdFileName string
return void
        private static void GenerateChoiceXsdFile(int size, string xsdFileName)
        {
            // generate the xsd file, the file is some thing like this
            //-------------------------------------------------------
            //<?xml version='1.0'?>
            //<xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema' >
            //<xsd:element name='field0' />
            //<xsd:element name='field1' />
            //<xsd:element name='field2' />
            //<xsd:element name='myFields'>
            //    <xsd:complexType>
            //        <xsd:choice>
            //          <xsd:element ref='field0' minOccurs='0' />
            //          <xsd:element ref='field1' minOccurs='0' />
            //          <xsd:element ref='field2' minOccurs='0' />
            //        </xsd:choice>
            //    </xsd:complexType>
            //</xsd:element>
            //</xsd:schema>
            //------------------------------------------------------
            StreamWriter sw = new StreamWriter(new FileStream(xsdFileName, FileMode.Create, FileAccess.Write));

            string head = @"<?xml version='1.0'?>
            <xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema' >";

            string body = @" <xsd:element name='myFields'>
                              <xsd:complexType>
                               <xsd:choice>";

            string end = @"    </xsd:choice>
                              </xsd:complexType>
                            </xsd:element>
                          </xsd:schema>";

            sw.WriteLine(head);

            for (int ii = 0; ii < size; ++ii)
                sw.WriteLine("       <xsd:element name='field{0}' />", ii);

            sw.WriteLine(body);

            for (int ii = 0; ii < size; ++ii)
                sw.WriteLine("  <xsd:element ref='field{0}' minOccurs='0' />", ii);

            sw.WriteLine(end);

            sw.Dispose();
        }