The Choose node can have one or more input ports; by default, it has a single input port, named Input #0. You use the XPath # property to express a "true" condition - that is, a condition that must be met in order for processing to continue. The Choose node in retrieveData.pipeline, for example, uses the XPath expression . castable as xs:double
to check whether or not the user ID it is given as its input is numeric.
The Choose node evaulates XPath#0. If XPath#0 is true, it sends data from Input #0 to Output #0. If XPath#0 is false, it evaluates XPath#1. If XPath#1 is true, it sends data from Input #0 to Output #1, and so on. If none of the XPath # expressions is true, the data from Input #0 is sent to Output `no match' port.