Возможно, заголовок моего вопроса исключает эту опцию, но он не предназначен:
Вы можете получить данные локального файла для переопределения скомпилированного файла, включив xs:schema
в качестве первого подэлемента XML.
т.е. если исходные данные не имеют схемы, будет использоваться объединенная схема.
1010 * Е.Г. *
Оригинал:
<NewDataSet>
<dt1>
<k>1</k>
<l>test</l>
<m>1</m>
</dt1>
<dt1>
<k>2</k>
<l>test</l>
<m>2</m>
</dt1>
<dt1>
<k>2</k>
<l>tst</l>
<m>3</m>
</dt1>
</NewDataSet>
Новое:
<NewDataSet>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="dt1">
<xs:complexType>
<xs:sequence>
<xs:element name="k" type="xs:string" />
<xs:element name="l" type="xs:string" />
<xs:element name="m" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//dt1" />
<xs:field xpath="k" />
<xs:field xpath="l" />
</xs:unique>
</xs:element>
</xs:schema>
<dt1>
<k>1</k>
<l>test</l>
<m>1</m>
</dt1>
<dt1>
<k>2</k>
<l>test</l>
<m>3</m>
</dt1>
<dt1>
<k>3</k>
<l>test</l>
<m>4</m>
</dt1>
</NewDataSet>
Объединено (для простоты я включаю вывод WriteXml):
<NewDataSet>
<dt1>
<k>1</k>
<l>test</l>
<m>1</m>
</dt1>
<dt1>
<k>2</k>
<l>test</l>
<m>3</m>
</dt1>
<dt1>
<k>2</k>
<l>tst</l>
<m>3</m>
</dt1>
<dt1>
<k>3</k>
<l>test</l>
<m>4</m>
</dt1>
</NewDataSet>