Другое отличие состоит в том, что <import>
позволяет импортировать, ссылаясь на другое пространство имен. <include>
разрешает импорт только по ссылке на URI предполагаемой схемы включения. Это, безусловно, еще одно отличие от импорта внутри пространства имен.
Например, средство проверки xml-схемы уже может знать местоположения всех схем по пространству имен . Особенно учитывая, что обращение к пространствам имен XML с помощью URI может быть проблематичным в разных системах, где classpath: // ничего не значит, или где http: // не разрешен, или где какой-то URI не указывает на то же, что и другая система.
Пример кода действительного и недействительного импорта и включает:
Действительно:
<xsd:import namespace="some/name/space"/>
<xsd:import schemaLocation="classpath://mine.xsd"/>
<xsd:include schemaLocation="classpath://mine.xsd"/>
Invalid:
<xsd:include namespace="some/name/space"/>