How can I increment the x variable only when numerical is false? (I've been reading how xquery isn't iterative...)
current output:
<xml> <person id="1" x="0" numerical="false">people</person> <person id="2" x="0" numerical="false">joe</person> <person id="3" x="0" numerical="true">phone1</person> <person id="4" x="0" numerical="true">phone2</person> <person id="5" x="0" numerical="true">phone3</person> <person id="6" x="0" numerical="false">sue</person> <person id="7" x="0" numerical="true">cell4</person> <person id="8" x="0" numerical="true">home5</person> <person id="9" x="0" numerical="false">alice</person> <person id="10" x="0" numerical="true">atrib6</person> <person id="11" x="0" numerical="true">x7</person> <person id="12" x="0" numerical="true">y9</person> <person id="13" x="0" numerical="true">z10</person> </xml>
desired output:
<xml> <person id="1" x="1" numerical="false">people</person> <person id="2" x="2" numerical="false">joe</person> <person id="3" x="2" numerical="true">phone1</person> <person id="4" x="2" numerical="true">phone2</person> ... </xml>
Maybe with a second xquery? Here's the first:
xquery version "3.0";
<xml>
{ variable $x:=0;
for $line in db:open("foo.txt")//text()
count $id
return if (matches($line, "[0-9]")) then <person id='{$id}' x='{$x}' numerical="true">{$line}</person> else <person id='{$id}' x='{$x}' numerical="false">{$line}</person> } </xml>
where I'm trying to use attributes because I'm not sure how to conditionally nest tags. But, this is interesting. Not quite sure on syntax to set and then conditionally increment $x, however.
thanks,
Thufir