Etiqueta Choice (Elección) en FSD
La etiqueta "choice" define una secuencia de registros, elecciones u otras secuencias. A diferencia de "sequence", "choice" se basa en la correspondencia de modelos para seleccionar la mejor entre los registros incluidos en esa elección.
<choice> name output='yes|no' max-occur min-occur <record/> <choice/> <sequence/> </choice>
Atributos
name
Define el nombre para "choice". Si el atributo "output" se define como yes, el nombre se utilizará como nombre de la etiqueta XML en la salida, y también para establecer la correspondencia entre la elección y la etiqueta XML en la fase de entrada.
output
Define si la secuencia aparece o no en la salida. Los valores válidos para este atributo son yes y no. El valor yes significa que "choice" debe generar un etiqueta en la salida y no que la secuencia simplemente describe la estructura de datos y no aparece en la salida.
El valor por defecto para este atributo es yes.
max-occur
Define el máximo de veces que puede aparecer "choice". El valor cero significa que su presencia no está limitada a ningún número.
El valor por defecto de este atributo es uno.
min-occur
Define el mínimo de veces que puede aparecer "choice".
El valor por defecto de este atributo es cero.
Comentarios
El elemento "choice" busca el registro con la mejor correspondencia para procesar los datos. La correspondencia se basa en atributos tales como "valid-value" para "field", "record separator" y los atributos "min-occur" y "max-occur".
La correspondencia de modelos para este elemento supone un desgaste de rendimiento, por lo tanto debe utilizarse con precaución.