I have an xsd document that starts with:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:import namespace="http://www.w3.org/XML/1998/namespace"     schemaLocation="http://www.w3.org/2001/xml.xsd"/>
    <xs:complexType name="T_segment">
        <xs:sequence>
            <xs:element ref="element" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute ref="xml:space" use="required"/>
        <xs:attribute ref="id" use="required"/>
    </xs:complexType>
...
When I try to use this xsd in a mapping application like BizTalk it blows up complaining about namespaces. So, I remove the xs:import namespace tag and it complains about the xs:attribute ref="xml:space" tag. So, I remove that and it seems to work ok (at least doesn't blow up).
My question is, what are those tags for? By removing them am I breaking the xsd?
From what I know namespaces are to avoid conflicts. But in the xsd everything is prefixed by xs and the schema itself has xmlns:xs="http://www.w3.org/2001/XMLSchema". I'm not sure what that import is for.