=====Plain sequences===== Note that 'lists' are really sequences according to the XDM model, but don't let that put you off. These are lists of items [sequences ] which might be strings for instance. Created with the '(' ... ')' notation. For example %% ls=(a b c) %% To access the command line parameters from a script, as, say 'xmlsh scriptname a.xml b.xml c.xml %% parms=$* for f in $parms do echo $f done %% which will produce %% a.xml b.xml c.xml %% on stdout To retain the list nature of a command output, use the form ($var) e.g. %% lst=$(ls) for file in $lst do echo $file done %% ====xml items==== To form a 'list' of xml items, use the notation '<[item, item, item]>' But note that the contents of the list can be any type valid for xml, including content from the current context, e.g. %% ls=<[a, "b", //x[3]]> %% which adds the content of element a (from the current context), a string "b" and the third x element from the root context. Note the difference between the two types of list and use the appropriate form ===Using variables holding sequences=== The rule is () creates a sequence {} preserves one when calling a function, another script or even calling an initial script. given a sequence in $x %% x=(a b c) y=$x %% $y is now a list To call another script or a function with x as a parameter, where you want to retain the parameter as a sequence use %% functname param1 param2 {$x} is the required syntax %% which ensures that the function receives, and can process $x as a sequence.