XSD элемент complexContent

Элемент complexContent определяет расширения или ограничения для сложного типа, который содержит только смешанный контент или элементы.

  • Родительские элементы: complexType

Синтаксис элемента


<complexContent
 id=идентификатор
 mixed=true | false
 любые атрибуты
 >

 (annotation?, (restriction | extension))

</complexContent>

(Знак ? указывает на то, что элемент может появляться ноль или один раз внутри элемента complexContent.)

Атрибуты элемента

АтрибутОписание
idНе обязательный. Определяет уникальный идентификатор для элемента
mixedНе обязательный. Определяет, могут ли символьные данные появляться между дочерних элементов данного элемента complexType. Значение по умолчнию false
любые атрибутыНе обязательный. Любые другие атрибуты вне пространства имен схемы

Пример использования

В следующем примере декларируется сложный тип "fullpersoninfo", который происходит от другого сложного типа "personinfo" путем расширения исходного типа тремя дополнительными элементами (address, city и country):


<xs:element name="employee" type="fullpersoninfo"/>

<xs:complexType name="personinfo">
   <xs:sequence>
     <xs:element name="firstname" type="xs:string"/>
     <xs:element name="lastname" type="xs:string"/>
   </xs:sequence>
</xs:complexType>

<xs:complexType name="fullpersoninfo">
  <xs:complexContent>
    <xs:extension base="personinfo">
      <xs:sequence>
        <xs:element name="address" type="xs:string"/>
        <xs:element name="city" type="xs:string"/>
        <xs:element name="country" type="xs:string"/>
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>