XSD, разрешающий контент simpleType и complexType для одного и того же элемента?

У меня есть ситуация, когда у меня есть разные XML, которые будут иметь разные типы свойств. Иногда элементHEADER может иметь только узел или некоторые XML могут иметь элементы внутриHEADER узел и значения внутри.

Пример 1 (HEADER только с текстом):

<Details HeaderLabel="DETAILS">
   <HEADER Label="Header">2.5%</HEADER>
</Details>

Пример 2 (HEADER с двумя дочерними элементами):

<Details HeaderLabel="DETAILS">
   <HEADER Label="Header">
       <HEAD Label="H1a">2.88%</HEAD>
       <HEAD Label="H2b">3.24%</HEAD>
   </HEADER>
</Details>

XSD работает следующим образом:пример 1:

<xs:element name="HEADER">
   <xs:complexType>
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="Label" type="xs:string" use="required" />
          </xs:extension>
       </xs:simpleContent>
    </xs:complexType>
 </xs:element>

Это подтвердитпример 2:

<xs:element name="HEADER">
   <xs:complexType>
      <xs:sequence>
         <xs:element maxOccurs="unbounded" name="HEAD">
           <xs:complexType>
             <xs:simpleContent>
               <xs:extension base="xs:string">
                 <xs:attribute name="Label" type="xs:string" use="required" />
               </xs:extension>
             </xs:simpleContent>
           </xs:complexType>
         </xs:element>
       </xs:sequence>
     <xs:attribute name="Label" type="xs:string" use="required" />
   </xs:complexType>
 </xs:element>

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

Ответы на вопрос(2)

Ваш ответ на вопрос