This query works fine:
WITH x(xd) AS
(SELECT 'Aa,Bx,D,Z' FROM dual)
SELECT XMLType('<rows>'||
XMLQuery('for $k at $l in ora:tokenize($str,",")
return <a>{$k}</a>'
PASSING xd as "str"
RETURNING CONTENT)||
'</rows>') xd
FROM x;
XD
---------
<rows>
<a>Aa</a>
<a>Bx</a>
<a>D</a>
<a>Z</a>
</rows>
I'm trying to make the tags dynamic <a1></a1>, <a2></a2>, but this isn't so easy:
WITH x(xd) AS
(SELECT 'Aa,Bx,D,Z' FROM dual)
SELECT XMLType('<rows>'||
XMLQuery('for $k at $l in ora:tokenize($str,",")
return <a{$l}>{$k}</a{$l}>'
PASSING xd as "str"
RETURNING CONTENT)||
'</rows>') xd