2013-10-09 4 views
4

Что такое отношения между:WSDL импорта 'местоположение' атрибут импорта XSD-vs атрибут 'SchemaLocation'

... и, в частности, связь между атрибутом location первого и атрибутом schemaLocation последнего?

Хотя я могу использовать catalog файл (в JAX-WS/wsimport набора инструментов) для «коррекции» schemaLocation атрибутов для xsd:import элемента, кажется, что я не могу сделать то же самое для location атрибутов wsdl:import заявления.

ответ

4

В обоих случаях import устанавливает связь между документом (будь то WSDL или XSD) и внешним ресурсом).

Запрещая путаницу, которая окружала : импорт WSDL, в частности, если он может быть использован для импорта XSDs или нет (в the interoperable way он не должен), они оба предназначен, чтобы сделать то же самое для своего собственного вида , т.е. вносить в WSDL другие (в случае WSDL) или другие определения XSD (в случае XSD) в области видимости, что позволяет использовать модульный подход к авторингу.

Атрибуты, которые вы имеете в виду, должны быть эквивалентными, аналогично тому, как import в Java более или менее соответствует using в C#.

Однако специфика вокруг каждого различна, если вы считаете WSDL 1.1 примечания: в то время как в XSD SchemaLocation атрибут является необязательным для XSD: импорт (с адресом импортный может быть решен с помощью пространства имен, используя другие средства, разрешенных спецификация), то же самое не было встроено в WSDL 1.1 note для атрибута .

Кроме того, XSD спецификации явно позволяет переопределение:

The ·actual value· of the schemaLocation, if present, gives a **hint** as to where a serialization of a ·schema document·...

Если вы ищете the same in WSDL 2.0, вы заметите, что теперь WSDL поддерживает включают в дополнение к старой импорта , в основном следуя той же семантике относительно пространства имен, связанного с директивой. Более того, использование атрибута location также соответствует таковому в XSD, что в свою очередь должно способствовать основанию на основе каталогов для разрешения «оборванных» импортов.

Чтобы округлить его, с учетом обязательного атрибута в WSDL 1.1, не было смысла говорить о каталогах или переопределениях, поскольку оно не подразумевалось и не допускалось запиской.

Смежные вопросы