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


0