I prefer Template::Toolkit over anything else these days, but if crosslanguage (and possibly -platform) is such a concern, I don't believe anything can beat XML. Just about every language under the sun (no pun intended) has one or more libraries for it these days. Obviously their APIs will vary, but XPath, XSL and friends are standard and very powerful; sticking to them will minimize the amount of heterogenia between the sources in various languages.
Makeshifts last the longest.