Validación XSD: haga que el elemento infantil sea obligatorio si el elemento principal está presente, de lo contrario, haga que el niño sea opcional

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

  •  29-07-2022
  •  | 
  •  

Pregunta

Tengo un XML que parece:

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

y el XSD correspondiente como el siguiente:

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

Necesito hacer que PassengerName sea obligatorio si RawData está presente, de lo contrario, opcional.

Amablemente ayuda con tus sugerencias.

Gracias por adelantado.

¿Fue útil?

Solución

Si el elemento principal no está presente, entonces no está validada y las definiciones de esquema para ese elemento, por lo tanto, no tienen relevancia. Si el padre está ausente, los niños siempre estarán ausentes, y el esquema automáticamente les permite estar ausentes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top