How about this redundant, but human-readable and parsable format?

[nodestore player_name="name of my empeg"]
[tree]
[child type="P" FID="100" title="empeg"]
[child type="P" FID="yyyy" title="abc"]
[child type="T" FID="zzzz" title="bac" /]
[child type="T" FID="aaaa" title="bca" /]
[child type="T" FID="bbbb" title="cba" /]
[/child]
[child type="P" FID="WWWW" title="def"]
[child type="T" FID="zozo" title="123" /]
[child type="T" FID="aaaa" title="bca" /]
[child type="T" FID="roro" title="456" /]
[/child]
[child type="P" FID="xxxx" title="qwe"]
....
[/child]
....
[/child]
[/tree]
[nodes]
[node type="P" FID="100" title="empeg"]
[node type="P" FID="xxxx" title="ttt"]
[parents]
[parent FID="100" title="empeg" /]
[/parents]
[tags]
[tag type="title"]ttt[/tag]
[tag type="source"]sssss[/tag]
.....
[/tags]
[/node]
[node type="P" FID="yyyy" title="abc"]
.....
[/node]
[node type="T" FID="aaaa" title="bca"]
[parents]
[parent FID="yyyy" title="abc" /]
[parent FID="wwww" title="def" /]
[/parents]
[tags]
......
[/tags]
[/node]
[node type="T" FID="bbbb" title="cba"]
.....
[/node]
[node type="T" FID="roro" title="456"]
.....
[/node]
[node type="T" FID="zozo" title="123"]
.....
[/node]
[node type="T" FID="zzzz" title="bac"]
.....
[/node]
[/nodes]
[/nodestore]


First comes the complete tree (with repeated child nodes as needed - one child node per one FID mentioned in a playlist) and titles added for readability (identification is by FIDs, of course), followed by nodes (both lists and tunes) and their empeg-tag data (title, artist...). Parent tags are redundant, but come handy to human readers.

_________________________
Dragi "Bonzi" Raos Q#5196 MkII #080000376, 18GB green MkIIa #040103247, 60GB blue