Hans, Thank you once more, but I'm just to green for this ... \defineXMLnested [table] { \bgroup \defineXMLsave[caption] \defineXMLsave[content] } { \placetable [\XMLpar{table}{location}{here}] [\XMLpar{table}{label}{unknown}] {\XMLflush{caption}} \ix \expanded{\bTABLE\XMLflush{content}}\eTABLE \x \egroup } Still gives me trouble: ! Missing { inserted. <to be read again> \edef \doifsomething #1->\edef \!!stringa {#1}\ifx \!!stringa \empty \expandafter ... \switchtobodyfont [#1]->\doifsomething {#1} {\doifdefinedelse {\??ft \normal... \dogetgrouped ...nown}] {\XMLflush {caption}} \ix \expanded {\bTABLE \XMLflu... l.417 </table>