Wiki source for Lists


Show raw source

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



Valid XHTML :: Valid CSS: :: Powered by WikkaWiki