Andrei,
like nXML PSGML has problems with @vars@ too. Another structural problem with ADPs is that the use of 'if tags' leads to invalid XML. Often 'if tags' are used to conditionally open or close a (X)HTML tag.
This renders any attempt to get ADPs to qualify as valid impossible I would think.
I'll take a look at nXML when I find the time.
/Bart