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

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

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

Объяснение

Создавая классы из схемы, XML Schema Definition Tool (Xsd.exe) создает элементы класса (поля или свойства) именно в том порядке, в котором они указаны в элементе <sequence> (или <all>). Однако при создании схемы из определенного экземпляра класса порядок элементов зависит от последовательности их возвращения подсистемой отражения из модуля сериализации. Порядок не определен и может изменяться. Чтобы обеспечить упорядочивание последовательности создания схемы, задайте свойство Order для следующих классов атрибутов соответствующим образом: XmlElementAttribute, XmlAnyElementAttribute и XmlArrayAttribute. При создании класса из схемы с помощью инструмента xsd.exe можно с помощью ключа командной строки /order создать свойство Order автоматически.

Элемент <sequence> обеспечивает упорядоченное группирование элементов, определенных с помощью элемента XSD <element> или некоторых других элементов XSD. Элемент Поддержка привязки элемента All, напротив, обеспечивает неупорядоченное группирование подмножества элементов, которые могут содержаться в элементе <sequence>.

При создании исходного кода из документа схемы XML программа Xsd.exe создает открытые поля в порядке, который имеет содержимое элемента <sequence> или элемента <all>.

При создании документа схемы XML из набора классов в сборке программа Xsd.exe преобразует открытые поля класса в соответствующие элементы, которые располагаются под элементом <sequence> в том же порядке, в котором поля указаны в классе.

Предполагается, что элементы сложного типа должны располагаться по порядку, а не беспорядочно.

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

id

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

maxOccurs

Для элемента <sequence> значение maxOccurs, равное 0, интерпретируется программой Xsd.exe как 1, а значение maxOccurs, превышающее 1, интерпретируется как unbounded.

Применяя программу Xsd.exe для схем с повторно встречающимися последовательностями (т. е. с величиной maxOccurs более 1), используйте параметр командной строки /order. Подробное обоснование необходимости этих мер см. в описании атрибута Поддержка привязки атрибута MaxOccurs.

minOccurs

При создании исходного кода из документа схемы XML программа Xsd.exe не обрабатывает атрибут minOccurs, если применен элемент <sequence>.

При создании документа схемы XML из классов программа Xsd.exe не указывает значение minOccurs, и используется значение по умолчанию 1.

См. описание атрибута Поддержка привязки атрибута MinOccurs.

Возможные родительские элементы: <choice>, <complexType>, <extension>, <group>, <restriction>

Возможные дочерние элементы: <annotation>, <any>, <choice>, <element>, <group>

См. также

Справочник

XmlSchemaSequence