Learner
Learner

Reputation: 47

XQUERY: Create elements with given names and values

I've a requiremnet to generate dynamic elements and values based on two xmls. How can I achieve using XQUERY.

I have data like in two xmls:

<td>USERID</td>
<td>NAME</td>
<td>RATING</td>

<id>1</id>
<name>Tom</name>
<grade>A</grade>

Expected:

<userid>1</userid>
<name>Tom</name>
<rating>A</rating>

Upvotes: 0

Views: 94

Answers (1)

Florent Georges
Florent Georges

Reputation: 2327

The key here is the dynamic element constructor:

let $names  := (<td>USERID</td>, <td>NAME</td>, <td>RATING</td>)
let $values := (<id>1</id>, <name>Tom</name>, <grade>A</grade>)
for $name at $pos in $names
return
  element { fn:lower-case($name) } { fn:data($values[$pos]) }

Upvotes: 1

Related Questions