Поддержка привязки элемента 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, равное Применяя программу Xsd.exe для схем с повторно встречающимися последовательностями (т. е. с величиной maxOccurs более 1), используйте параметр командной строки /order. Подробное обоснование необходимости этих мер см. в описании атрибута Поддержка привязки атрибута MaxOccurs. |
minOccurs |
При создании исходного кода из документа схемы XML программа Xsd.exe не обрабатывает атрибут minOccurs, если применен элемент <sequence>. При создании документа схемы XML из классов программа Xsd.exe не указывает значение minOccurs, и используется значение по умолчанию См. описание атрибута Поддержка привязки атрибута MinOccurs. |
Возможные родительские элементы: <choice>, <complexType>, <extension>, <group>, <restriction>
Возможные дочерние элементы: <annotation>, <any>, <choice>, <element>, <group>