Validação XSD - Torne o elemento filho como obrigatório se o elemento pai estiver presente, caso contrário, torne a criança opcional

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

  •  29-07-2022
  •  | 
  •  

Pergunta

Eu tenho um XML que se parece:

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

e o XSD correspondente como o abaixo:

<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>

Preciso tornar o nome do passageiro obrigatório se o RawData estiver presente, caso contrário, opcional.

Por favor, ajude com suas sugestões.

Desde já, obrigado.

Foi útil?

Solução

Se o elemento pai não estiver presente, ele não será validado e as definições de esquema para esse elemento, portanto, não têm relevância. Se o pai estiver ausente, os filhos sempre estarão ausentes e o esquema permite que eles estejam ausentes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top