Junctions
Archi stores AND/OR Junction identity using a native type attribute that is
separate from the element’s xsi:type.
For a Junction, the parser exposes both the interpreted semantic value and the original native value:
type ArchiJunctionType = 'And' | 'Or';
interface ArchiElement { junctionType: ArchiJunctionType | null; rawJunctionType: string | null;}Decoding rules
Section titled “Decoding rules”Native Junction type | junctionType | rawJunctionType |
|---|---|---|
| absent | 'And' | '' |
"" | 'And' | '' |
"or" | 'Or' | 'or' |
| any other value | null | original value |
These match Archi’s own IJunction constants (AND_JUNCTION_TYPE = "",
OR_JUNCTION_TYPE = "or"), confirmed against Archi’s source.
Never guessed
Section titled “Never guessed”Unknown native values are never guessed or discarded:
parseArchiModelstill succeeds — the model parses normally;rawJunctionTypealways keeps the original value, understood or not;validateArchiModelreportsunrecognized-junction-typefor a Junction whose native value cannot be resolved.
Non-Junction elements
Section titled “Non-Junction elements”For every non-Junction element both fields are null:
junctionType === nullrawJunctionType === null