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
for f in $parms
  echo $f

which will produce

on stdout

To retain the list nature of a command output, use the form ($var) e.g.
for file in $lst
  echo $file

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 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.

There are no comments on this page.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki