xml - How to move two row values to column and respective row in xquery -
below xml output have extract values details fields- 1st value column name , 2nd value value in row.
example: column name - renamedcount , row value 64 column name -successupdatecount , row value 64 , on..
<root> <details> <values>renamedcount</values> <values>64</values> <values>successupdatecount</values> <values>64</values> <values>totalcreatecount</values> <values>0</values> <values>successrowcount</values> <values>64</values> <values>invalidcount</values> <values>0</values> <values>totalupdatecount</values> <values>4211</values> <values>failedcount</values> <values>64</values> <values>totalrowcount</values> <values>0</values> <values>4275</values> <occurrences>0</occurrences> <localmessagetext>accounts: 64 (0/64) rows successful, 4211 ignored </localmessagetext> <type>hierarchyrowsprocessed</type> </details> <details> </root>
please suggest how assign 1 value variable name , second 1 value?
thanks in advance support, kelly
a grouping or windowing clause here.
for example, 1 can compute row number integer division 2, , group values it:
let $doc := <root> <details> <values>renamedcount</values> <values>64</values> <values>successupdatecount</values> <values>64</values> <values>totalcreatecount</values> <values>0</values> <values>successrowcount</values> <values>64</values> <values>invalidcount</values> <values>0</values> <values>totalupdatecount</values> <values>4211</values> <values>failedcount</values> <values>64</values> <values>totalrowcount</values> <values>0</values> <values>4275</values> <occurrences>0</occurrences> <localmessagetext>accounts: 64 (0/64) rows successful, 4211 ignored </localmessagetext> <type>hierarchyrowsprocessed</type> </details> </root> $values @ $pos in $doc/details/values let $row-number := ($pos + 1) idiv 2 group $row-number return <row number="{$row-number}">{$values}</row>
it requires xquery 3.0 both grouping , windowing. query can tested zorba here.
Comments
Post a Comment