Учитывая XSD и предполагая, что вы пытаетесь проверить существующий XML, вы не можете преобразовать в один файл. Существует только одно пространство имен, которое может быть описано XSD-файлом, а вы показываете два.
Единственный способ сделать это - поместить все в одно пространство имен, а затем просто скопировать содержимое импортированного файла в файл импорта; удалите любую внешнюю ссылку (xsd: import), и это должно сделать это. Однако в этом случае вы не сможете проверить, что использовалось для начала ...
Вот как будет выглядеть одно пространство имен XSD:
<?xml version="1.0" encoding="utf-8"?>
<!--XML Schema generated by QTAssistant/XSR Module (http://www.paschidev.com)-->
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:app1="urn:ietf:params:xml:ns:xmpp-bind">
<xs:element name="iq">
<xs:complexType>
<xs:sequence>
<xs:element ref="bind"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string"/>
<xs:attribute name="type" type="xs:string"/>
<xs:attribute name="to" type="xs:string"/>
</xs:complexType>
</xs:element>
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="iq"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="bind">
<xs:complexType>
<xs:sequence>
<xs:element name="resource" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Не могу не подчеркнуть, что этот XSD не будет проверять источник, который вы использовали с XSD.exe для генерации файлов ...