XML - Validar con XSD elementos excluyentes

   
Vista:

Validar con XSD elementos excluyentes

Publicado por agjj677 (1 intervención) el 25/07/2008 18:44:56
Buen día compañeros

Necesito validar un XML con un SChema, el XML tiene una serie de elementos y entre ellos 2 son excluyentes, es decir solo puede aparecer 1 de los dos, he tratado de hacer la validación pero no he podido. Algunas de las puebas son.

<xs:union>
<xs:complexType>
<xs:all>
<xs:element name="HIS" minOccurs="1" maxOccurs="1"></xs:element>
<xs:element name="Supervision" minOccurs="1" maxOccurs="1"></xs:element>
</xs:all>
</xs:complexType>
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="Control"></xs:element>
<xs:element name="Services"></xs:element>
</xs:all>
</xs:complexType>
</xs:union>

En este caso encontré que .Net no soporta el unión.

<xs:complexType>
<xs:all>
<xs:element name="HIS" minOccurs="1" maxOccurs="1"></xs:element>
<xs:element name="Supervision" minOccurs="1" maxOccurs="1"></xs:element>
<xs:group ref="restriccion1" />
</xs:all>
</xs:complexType>
<xs:group name="restriccion1">
<xs:complexType>
<xs:all>
<xs:element name="Control"></xs:element>
<xs:element name="Services"></xs:element>
</xs:all>
</xs:complexType>
</xs:group>

Me dice que el xs:group no esta definido.

Saben como lo puedo implementar?

Saludos cordiales,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Validar con XSD elementos excluyentes

Publicado por Juan (2 intervenciones) el 23/01/2009 10:50:28
Por que no lo intentas con validación XSD a través de un Java. El XML Fox podría generarte automáticamente el XSD, y si tienes problemas con el java contacta commigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validar con XSD elementos excluyentes

Publicado por Emmanuel Zagal (1 intervención) el 10/09/2014 23:29:10
Use xs:choice:

<xs:sequence>
...
<xs:choice minOccurs="0">
<xs:element ref="purchase" />
<xs:element ref="airline" />
</xs:choice>
</xs:sequence>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar