SQLServerにバッチ処理する必要のあるXMLファイルがいくつかあります。次のスキーマとXMLのセクションでは、問題が発生している領域の概要を説明します。
<xs:complexType>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="TextLine" type="xs:string" sql:field="AdvertLine" sql:relation="XmlAdvert" sql:relationship="XmlAdvert" />
<xs:element name="BreakPoint" sql:is-constant="1" />
</xs:choice>
</xs:sequence>
</xs:complexType>
<Advert>
<AdvertText>
<TextLine>Isuzu 4 X 4TRUCKMAN</TextLine>
<BreakPoint />
<TextLine>2.0TD, Red, 5 dr, 60,000 miles, MOT, 5 SEATER</TextLine>
<BreakPoint />
<TextLine>£2500</TextLine>
<BreakPoint />
<TextLine>01234 567890</TextLine>
</AdvertText>
</Advert>
しかし、xs:choiceはSQLXMLBulkloadでサポートされていないため、xs:choiceセクションなしでこれを表す別の方法があるかどうか疑問に思いました。xs:sequenceは2番目のTextLineに到達するとすぐに無効になります。