bulkload and XSD schema constructs

I have seen quite a few newsgroup posts about SQLXML Bulkload where the users think the schema and the data file that they use are correct, but nothing gets bulkloaded and neither do they get an error.

One of the main reasons for this is that bulkload does not understand all of the XSD schema constructs.

For ex: Bulkload does not understand xsd:choice,xsd:group

For example, if your schema has a construct like,

  <xsd:element name="sc_Class" msdata:relation="sc_Class" msdata:relationship="CourseClass" >
<xsd:complexType>
<xsd:choice>
<xsd:element name="ClassID" type="xsd:long" />
<xsd:element name="CourseNo" type="xsd:long" />
<xsd:element name="Semester" type="xsd:string" />
<xsd:element name="TNo" type="xsd:long" />
</xsd:choice>
</xsd:complexType>
</xsd:element>

then the elements ClassID,CourseNo, Semester and TNo are not recognised by bulkload and it would not upload values for these fields.

Chandra