thanks for the info guys, i'm diging through the details now.
I've got a solid handle on what i was after now, a fresh set of eyes got me started.
I'll post my results and an article on it when i finish it, but i'm able to script the [data] and [action] items as they appear int he session definitions, but now i want a single coherent script to build it all together.
for example, here's how i'm getting the actions that were definied for a given extended events session:
--actions
;WITH MyCTE
AS
(
select
sess.name,
targz.target_name ,
actz.action_name
from sys.dm_xe_sessions sess
INNER JOIN sys.dm_xe_session_targets AS targz
ON sess.address = targz.event_session_address
AND targz.Target_name = 'event_file'
INNER JOIN sys.dm_xe_session_events evtz
ON targz.event_session_address = evtz.event_session_address
inner join sys.dm_xe_session_event_actions actz
ON targz.event_session_address = actz.event_session_address AND evtz.event_name = actz.event_name
WHERE sess.name = 'ApplicationErrors'
)
SELECT s.Colzs
FROM(SELECT
Colzs = STUFF((SELECT ',' + 'n.value(''(action[@name="' + action_name + '"]/value)[1]'', ''varchar(max)'') ' + CHAR(13) + CHAR(10)
FROM MyCTE
ORDER BY action_name
FOR XML PATH(''), TYPE).value('.','varchar(max)'),1,1,'')
) s
Lowell