19
The problem is that you are trying to validate a file that is not fully parsed. Given the information you've provided, I'm assuming that you're uploading the theme.html file directly to validate it. This will never work. reason being, the validator is ignorant of Smarty variables, which is where it bombs out.
Case in point, you mentioned that the validator fails at <{$xoops_charset}>, which is the first Smarty variable in a theme.
The only solution I know for this is to maintain a testing environment where themes can be fully parsed before the validator sees theme. A quick and dirty approach would be to keep a seperate install of XOOPS in a sub directory on your site, like so...
http://yoursite.com/testing/There, you would test new designs. Since Smarty is a server side language, by placing your theme in a "live" environment, you ensure that the Smarty code is properly parsed, and therefore obtain an acurate evaluation of your theme's compliance.
On a side note...
IMHO, NO site should display buttons claiming XHTML/CSS compliance unless ALL pages validate. This is why I do not display such buttons on my XOOPS sites and I do not include these buttons in my themes. Because of the poor XHTML/CSS coding practices of many Devs, I know the site will fail on, at least, some pages by default.
Speaking from experience, it's a real PITA to make a XOOPS site fully standards compliant. It is my hope that, in the future, it will be mandatory that all modules be standards compliant.
Hope this clears things up.
Best Regards,
James
Insanity can be defined as "doing the same thing over and over and expecting different results."
Stupidity is not a crime. Therefore, you are free to go.