html - Separating same kind of element by a comma -


i have xquery collection of books, individually have 1 or more fagfelt(topics) each. when run query topics grouped in 1 cell of table (i want this), not separated

let $books := (doc("oblig3.xml")/bøker/bok) return  <html> <head> </head> <body>     <table border="1">         <tr>fagfelt</tr><hr/>         <tr><td><b>bok title</b></td>         <td><b>forfatter</b></td>         <td colspan="3"><b>fagfelt</b></td>     </tr> {     $x in $books     order $x/tittle     return <tr>         <td>{data($x/tittle)}</td>         <td>{data($x/forfatter)}</td>         <td>{data($x/fagfelt)}</td>     </tr>    }  </table> </body> </html> 

example of return -

<td>filosofi kunnskapsrepresentasjon kunstig intelligens programmering</td> 

which 4 topics in one, not easy read. how can separate these , make more like

<td>filosofi, kunnskapsrepresentasjon, kunstig intelligens, programmering</td> 

preferably within same cell, have tried listing them with

{data($x/fagfelt[1...4]/text())}, 

and doing separation manually, leaves lot of commas @ end of books 1 topic.

when serialize sequence string in xquery, defined behavior return space-delimited list. however, if want use custom delimiter, use fn:string-join():

fn:string-join($x/fagfelt, ', ') 

from w3c specification:

each enclosed expression converted string follows:

a. atomization applied value of enclosed expression, converting sequence of atomic values.

b. if result of atomization empty sequence, result zero-length string. otherwise, each atomic value in atomized sequence cast string.

c. individual strings resulting previous step merged single string concatenating them single space character between each pair.


Comments

Popular posts from this blog

aws api gateway - SerializationException in posting new Records via Dynamodb Proxy Service in API -

asp.net - Problems sending emails from forum -