Uniones
Archi almacena la identidad de las uniones AND/OR mediante un atributo nativo
type que es independiente del xsi:type del elemento.
Para una unión, el analizador expone tanto el valor semántico interpretado como el valor nativo original:
type ArchiJunctionType = 'And' | 'Or';
interface ArchiElement { junctionType: ArchiJunctionType | null; rawJunctionType: string | null;}Reglas de decodificación
Sección titulada «Reglas de decodificación»type nativo de la unión | junctionType | rawJunctionType |
|---|---|---|
| ausente | 'And' | '' |
"" | 'And' | '' |
"or" | 'Or' | 'or' |
| cualquier otro valor | null | valor original |
Coinciden con las constantes propias de IJunction de Archi
(AND_JUNCTION_TYPE = "", OR_JUNCTION_TYPE = "or"), confirmadas contra el
código fuente de Archi.
Nunca se adivina
Sección titulada «Nunca se adivina»Los valores nativos desconocidos nunca se adivinan ni se descartan:
parseArchiModelsigue teniendo éxito — el modelo se analiza con normalidad;rawJunctionTypeconserva siempre el valor original, se entienda o no;validateArchiModelinforma deunrecognized-junction-typepara una unión cuyo valor nativo no puede resolverse.
Elementos que no son uniones
Sección titulada «Elementos que no son uniones»Para todo elemento que no sea una unión, ambos campos son null:
junctionType === nullrawJunctionType === null