You should be able to format in foreach
<Project>
<table labelField='Table Name'>
<row index=1>
<values name='pen'/>
<values name=8/>
<values name=10/>
<values name=80/>
</row>
<row index=2>
<values name='pencil'/>
<values name=5/>
<values name=10/>
<values name=50/>
</row>
</Project>
@before-row[#list doc.project.table.row as t] @after-row[/#list]
@before-cell[#list t.values as c]
@after-cell[/#list]
a!localVariables(
local!items: {
{ item: "pen", quantity: 8, cost: 10 },
{ item: "pencil", quantity: 5, cost: 10 }
},
concat(
"<Project><table labelField='Table Name'>",
joinarray(
a!forEach(
local!items,
"<row index=" & fv!index & ">
<values name='" & fv!item.item & "'/>
<values name=" & fv!item.quantity & "/>
<values name=" & fv!item.cost & "/>
<values name=" & tointeger(fv!item.quantity) * tointeger(fv!item.cost) & "/>
</row>"
),
""
),
"</Project>"
)
)