Validation XSD - сделайте дочерний элемент обязательным, если родительский элемент присутствует, иначе сделайте ребенка необязательным

StackOverflow https://stackoverflow.com/questions/19853760

  •  29-07-2022
  •  | 
  •  

Вопрос

У меня есть XML, который выглядит как:

<RawData>
                  <EmailAddress>xyz.abc@email.com</EmailAddress>
                  <PassengerName>XYZ/ABC</PassengerName>
</RawData>

и соответствующий XSD, как ниже:

<xsd:element name="RawData" minOccurs="0" maxOccurs="1">
                    <xsd:complexType>
                        <xsd:sequence>
                        <xsd:element name="EmailAddress" minOccurs="0" maxOccurs="1">
                    </xsd:element>
                        <xsd:element name="PassengerName" minOccurs="0" maxOccurs="1"/>
</xsd:element>
                        </xsd:sequence>
                    </xsd:complexType>

Мне нужно сделать PassengerName обязательным, если RAWDATA присутствует, иначе необязательно.

Пожалуйста, помогите с вашими предложениями.

Заранее спасибо.

Это было полезно?

Решение

Если родительский элемент отсутствует, он не подтвержден, и определения схемы для этого элемента, следовательно, не имеют отношения. Если родитель отсутствует, дети всегда будут отсутствовать, и схема автоматически позволяет им отсутствовать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top