====== Description ====== The switch node is a proxy-node that uses the value of its topic-node to select an evaluation path based on evaluation of its argument list. ====== Constraints ====== * Minimum number of child-nodes: 0 * Maximum number of child-nodes: no limit ====== Calculus ====== - If the topic-node has no data then the switch node's value = 0 (undetermined) - Otherwise: - Arguments are evaluated in sequence - The chosen argument is the first true argument in the argument list - The chosen child-node is the nth node where n is the index of the chosen argument - If there are no true arguments and there are more child-nodes than arguments then the chosen child-node is the (n+1)th child-node where n is the argument count. - If there is a chosen child-node then the value of the chosen child-node is passed as the value of the switch node - Otherwise the value of the switch node = 0 (undetermined)