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.