Поддержка привязки элемента Extension

Этот раздел посвящен технологии прежних версий. Веб-службы XML и клиенты веб-служб XML должны создаваться с использованием Windows Communication Foundation.

Платформа .NET Framework обеспечивает поддержку привязки для элемента <extension>.

Программа Xsd.exe создает базовый класс, соответствующий значению атрибута base, исключительно для сложного содержимого (не для простого содержимого).

Объяснение

Язык определения схемы XML допускает наследование новых типов данных от базовых как с помощью расширения, так и ограничения. Расширение всегда используется для наследования сложных типов. Расширение может основываться на простом или сложном содержимом, при этом действуют следующие различия:

  • Простое содержимое: использует XPath complexType/simpleContent/extension. Производный сложный тип не содержит дочерние элементы, а только простое содержимое: атрибуты или основной текст, или и то и другое.

  • Сложное содержимое: использует XPath complexType/complexContent/extension. Как производные, так и базовые сложные типы содержат дочерние элементы. Они также содержат атрибуты и основной текст.

Расширения типов схемы XML всегда полностью выражается через определения классов в платформе .NET Framework. Способ создания исходного кода из документа схемы XML программой Xsd.exe зависит от типа содержимого (простое или сложное) следующим образом:

  • Для простого содержимого: программа Xsd.exe создает новый класс с открытым полем, соответствующим базовому типу данных, заданному атрибутом base элемента <extension>.

  • Для сложного содержимого: программа Xsd.exe создает класс, соответствующий базовому типу данных, заданному атрибутом base элемента <extension>, а также класс для производного типа данных, который наследуется от вышеупомянутого класса с помощью такого объявления класса, как public class DerivedClass : BaseClass.

Когда программа Xsd.exe преобразует схему XML в класс, а затем в новый документ схемы XML, она сохраняет расширения обоих типов.

Пример расширения простого содержимого см. в описании элемента <simpleContent>.

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

base

Для элемента <extension> требуется атрибут base, значением которого является полное имя базового типа данных.

Для расширения простого содержимого программа Xsd.exe создает открытое поле из значения атрибута base. Для расширения сложного типа программа Xsd.exe создает базовый класс из значения атрибута base. См. выше.

id

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

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

Возможные дочерние элементы: <all>, <annotation>, <anyAttribute>, <attribute>, <attributeGroup>, <choice>, <group>, <sequence>

См. также

Справочник

XmlSchemaComplexContentExtension
XmlSchemaSimpleContentExtension