Возможно ли написать xml-схему для проверки как текстового узла, так и узла элемента в корневом элементе?

#xml #xsd

#xml #xsd

Вопрос:

Я хотел бы, чтобы оба из двух были допустимыми.

 <a>
 <b></b>
</a>
  

или

 <a>My text</a>
  

Ответ №1:

Установите mixed=true атрибут при определении complexType для a . Смотрите подробности здесь

Пример:

 <xs:element name="a">
  <xs:complexType mixed="true">
    <xs:sequence>
      <xs:element name="b" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>
  

Комментарии:

1. Вам также нужно будет сделать элемент b необязательным, используя minOccurs.