Поддержка привязки элемента Include
Этот раздел посвящен технологии прежних версий. Веб-службы XML и клиенты веб-служб XML должны создаваться с использованием Windows Communication Foundation.
Платформа .NET Framework обеспечивает частичную поддержку привязки для элемента <include>.
При создании исходного кода из элемента <include> программа Xsd.exe находит включаемый XSD-документ как абсолютный путь файловой системы, указанный атрибутом schemaLocation.
Объяснение
Элемент <include> подобен элементу <import>. Оба элемента используются как дочерние элементы корневого элемента <schema>. Они должны указываться до любых других дочерних элементов. Оба запрашивают отдельное определение <schema>, обычно задаваемое в другом XSD-файле. Существует одно ключевое отличие (см. ниже).
<import> импортирует определения и объявления схемы из отдельного пространства имен, заданного с помощью атрибута namespace.
<include> включает дополнительные определения и объявления схемы в том же пространстве имен, заданном как targetNamespace для существующего определения схемы XML.
Определение схемы XML, в котором используются элементы <include>, синтаксически эквивалентно определению схемы XML, в которой включаемые определения используются непосредственно.
При создании документов схемы XML из набора классов в сборке программа Xsd.exe создает только один XSD-файл для каждого целевого пространства имен. Другими словами, среди созданных XSD-файлов никакие два файла не могут иметь одинаковое значение атрибута targetNamespace корневого элемента <schema>. Поэтому элемент <include> никогда не создается. Разработчик всегда может вручную разделить созданный XSD-файл на несколько файлов с помощью элемента <include>.
При создании исходного кода из документа схемы XML программа Xsd.exe распознает элемент <include>. Включаемые XSD-документы не следует передавать в качестве дополнительных аргументов программы Xsd.exe. Вместо этого их расположение определяется по атрибуту schemaLocation. Значением атрибута должен быть абсолютный путь файловой системы.
В следующем примере показано действительное значение атрибута schemaLocation:
<xsd:include schemaLocation="c:\\projectRoot\\source\\xsd\\included1.xsd" />
Примечание |
---|
Программа Xsd.exe не обрабатывает атрибут schemaLocation, если он содержится в элементе <import>. Вместо этого все импортируемые файлы задаются для программы Xsd.exe в виде дополнительных параметров командной строки. См. раздел Поддержка привязки элемента Import. |
Возможные атрибуты | Поддержка привязки |
---|---|
id |
Программа Xsd.exe игнорирует атрибут id, который предназначен для обеспечения уникального идентификатора. |
schemaLocation |
См. выше. |
Возможные родительские элементы: <schema>
Возможные дочерние элементы: <annotation>