Поддержка привязки элемента 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" />
2x3c3hhs.note(ru-ru,VS.100).gifПримечание
Программа Xsd.exe не обрабатывает атрибут schemaLocation, если он содержится в элементе <import>. Вместо этого все импортируемые файлы задаются для программы Xsd.exe в виде дополнительных параметров командной строки. См. раздел Поддержка привязки элемента Import.

Возможные атрибуты Поддержка привязки

id

Программа Xsd.exe игнорирует атрибут id, который предназначен для обеспечения уникального идентификатора.

schemaLocation

См. выше.

Возможные родительские элементы: <schema>

Возможные дочерние элементы: <annotation>

См. также

Справочник

XmlSchemaInclude