ОК, похоже, schemaLocation
имеет другой синтаксис в этом контексте (сумасшедший, верно?).Как правило, он принимает «$ namespace $ address» (то есть два аргумента, разделенных пробелом - фактически, список таких пар), как вы говорите.
Но в элементе <import>
естьспециальный атрибут для пространства имен (называемый namespace
), а schemaLocation
теперь содержит только адрес.Имеет ли это смысл?Нет. Вот что я думаю, что это означает для вашего примера:
<xsd:import namespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes"
schemaLocation="./bin/sqlTypes.xsd" />
Вот спецификация, определяющая <import>
, а schemaLocation
явно является просто ури: http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#composition-schemaImport
* 1016для сравнения, вот определение
<xsi:schemaLocation>
(обратите внимание на «xsi» - оно находится в другом пространстве имен, поэтому они могут иметь разные определения, просто излишне запутанно использовать одно и то же имя):
http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/structures.html#xsi.schemaLocation XML-схема "учебник для начинающих" также различает эти варианты использования: http://www.w3.org/TR/xmlschema-0/#schemaLocation