Hello,
I’ve run into a roadblock and I’m hoping someone can help me. I am trying to create a table using xslt 1.0. I’ve searched around and found posts on using for loops with xslt key and generate-id. None of them seem to address all the issues I have with empty tables matching up to a column and concatenating multiple values together in one cell. The xml structure is the following and cannot be changed:
<Document>
<Records>
<User>
<Name>User1</Name>
<list xid="data.set">
<Data>
<Column>2</Column>
<Type>Carbs</Type>
<RowValue>Oatmeal</RowValue>
</Data>
<Data>
<Column>1</Column>
<Type>Protein</Type>
<RowValue>sausage</RowValue>
<RowValue>eggs</RowValue>
<RowValue>turkey</RowValue>
</Data>
</list>
</User>
<User>
<Name>User2</Name>
<list xid="data.set">
<Data>
<Type>Vegetables</Type>
<Column>8</Column>
<RowValue>Squash</RowValue>
</Data>
<Data>
<Column>3</Column>
<Type>Sweets</Type>
<RowValue>cake</RowValue>
<RowValue>cookies</RowValue>
</Data>
<Data>
<Column>5</Column>
<Type>Other</Type>
</Data>
<Data>
<Column>6</Column>
<Type>Beverage</Type>
<RowValue>grape juice</RowValue>
</Data>
</list>
</User>
<User>
<Name>User3</Name>
<list xid="data.set">
<Data>
<Column>7</Column>
<Type>Fats</Type>
<RowValue>cashews</RowValue>
</Data>
<Data>
<Column>8</Column>
<Type>Vegetables</Type>
<RowValue>Green Beans</RowValue>
</Data>
<Data>
<Column>2</Column>
<Type>Carbs</Type>
<RowValue>Brown Rice</RowValue>
</Data>
</list>
</User>
<User>
<Name>User5</Name>
<list xid="data.set">
<Data>
<Column>3</Column>
<Type>Sweets</Type>
<RowValue>gummy worms</RowValue>
</Data>
<Data>
<Column>4</Column>
<Type>Fruit</Type>
<RowValue>apples</RowValue>
</Data>
</list>
</User>
<User>
<list xid="data.set">
<Name>User6</Name>
<Data>
<Column>3</Column>
<Type>Sweets</Type>
<RowValue>gummy worms</RowValue>
</Data>
<Data>
<Column>4</Column>
<Type>Fruit</Type>
<RowValue>grapes</RowValue>
</Data>
</list>
</User>
</Records>
</Document>
I need to this to display in a table like the one below. Also, please notice that I need to be able to concatenate multiple values in a table cell as well. I.e. for User1: sausage, eggs and turkey needs to be concatenated under the “protein” column.
[table=“width: 800, class: grid”]
[tr]
[td]Name[/td]
[td]Protein[/td]
[td]Carbs[/td]
[td]Sweets[/td]
[td]Fruits[/td]
[td]Other[/td]
[td]Beverages[/td]
[td]Fats[/td]
[td]Vegetables[/td]
[/tr]
[tr]
[td]User1[/td]
[td]Sausage, eggs, turkey[/td]
[td]Oatmeal[/td]
[td][/td]
[td][/td]
[td][/td]
[td][/td]
[td][/td]
[td][/td]
[/tr]
[tr]
[td]User2[/td]
[td][/td]
[td][/td]
[td]cookies, cakes[/td]
[td][/td]
[td][/td]
[td]grape juice[/td]
[td][/td]
[td]Squash[/td]
[/tr]
[tr]
[td]User3[/td]
[td][/td]
[td]Brown Rice[/td]
[td][/td]
[td][/td]
[td][/td]
[td][/td]
[td]Cashews[/td]
[td]Green Beans[/td]
[/tr]
[tr]
[td]User4[/td]
[td][/td]
[td][/td]
[td]gummy worms[/td]
[td]apples[/td]
[td][/td]
[td][/td]
[td][/td]
[td][/td]
[/tr]
[tr]
[td]User5[/td]
[td][/td]
[td][/td]
[td]gummy worms[/td]
[td]grapes[/td]
[td][/td]
[td][/td]
[td][/td]
[td][/td]
[/tr]
[/table]