Converting Simple XML to Lua Tables with XSLT

  • : Function ereg() is deprecated in /homepages/26/d126321691/htdocs/latenightpc.com/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /homepages/26/d126321691/htdocs/latenightpc.com/includes/file.inc on line 893.
  • : Function ereg() is deprecated in /homepages/26/d126321691/htdocs/latenightpc.com/includes/file.inc on line 893.
  • strict warning: Non-static method GalleryDataCache::put() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/embed.php on line 32.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 85.
  • : Assigning the return value of new by reference is deprecated in /homepages/26/d126321691/htdocs/g2svn/gallery2/bootstrap.inc on line 43.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/Gallery.class on line 915.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryDataCache::get() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/Gallery.class on line 915.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 186.
  • : Assigning the return value of new by reference is deprecated in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 854.
  • strict warning: Non-static method GalleryEmbed::getEmbedPathByHttpRequest() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/embed.php on line 36.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/Gallery.class on line 972.
  • strict warning: Non-static method GalleryUtilities::getRequestVariablesNoPrefix() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryEmbed.class on line 1092.
  • strict warning: Non-static method GalleryUtilities::_getRequestVariable() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 289.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 874.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 878.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 293.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 708.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 714.
  • strict warning: Non-static method GalleryEmbed::init() should not be called statically in /homepages/26/d126321691/htdocs/latenightpc.com/sites/all/modules/gallery/gallery_base.inc on line 131.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryEmbed.class on line 94.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/init.inc on line 42.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/init.inc on line 43.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/init.inc on line 44.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/init.inc on line 45.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryModule.class on line 21.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/init.inc on line 51.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryPlatform/UnixPlatform.class on line 21.
  • strict warning: Non-static method GalleryUtilities::isEmbedded() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/rewrite/classes/parsers/modrewrite/ModRewriteUrlGenerator.class on line 38.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/Gallery.class on line 915.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryDataCache::get() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/Gallery.class on line 915.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 186.
  • strict warning: Non-static method GalleryCoreApi::getPluginParameter() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/rewrite/classes/parsers/modrewrite/ModRewriteUrlGenerator.class on line 40.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 299.
  • strict warning: Non-static method GalleryPluginHelper_simple::getParameter() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 301.
  • strict warning: Non-static method GalleryPluginHelper_simple::_fetchAllParameters() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 221.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 281.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryDataCache::getFromDisk() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 286.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 273.
  • strict warning: Non-static method GalleryDataCache::getCachePath() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 280.
  • strict warning: Non-static method GalleryDataCache::getCacheTuple() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 438.
  • strict warning: Non-static method GalleryDataCache::put() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 290.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 85.
  • strict warning: Non-static method GalleryUtilities::getServerVar() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUrlGenerator.class on line 357.
  • strict warning: Non-static method GalleryUtilities::getServerVar() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUrlGenerator.class on line 358.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 1407.
  • strict warning: Non-static method GalleryUtilities::getServerVar() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUrlGenerator.class on line 369.
  • strict warning: Non-static method GalleryUtilities::getServerVar() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUrlGenerator.class on line 369.
  • strict warning: Non-static method GalleryUtilities::isEmbedded() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUrlGenerator.class on line 381.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/Gallery.class on line 915.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryDataCache::get() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/Gallery.class on line 915.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 186.
  • strict warning: Non-static method GalleryCoreApi::getPluginParameter() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUrlGenerator.class on line 383.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 299.
  • strict warning: Non-static method GalleryPluginHelper_simple::getParameter() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 301.
  • strict warning: Non-static method GalleryPluginHelper_simple::_fetchAllParameters() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 221.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 281.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryDataCache::getFromDisk() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 286.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 273.
  • strict warning: Non-static method GalleryDataCache::getCachePath() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 280.
  • strict warning: Non-static method GalleryDataCache::getCacheTuple() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 438.
  • strict warning: Non-static method GalleryDataCache::put() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 290.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 85.
  • strict warning: Non-static method GalleryCoreApi::getPluginParameter() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/rewrite/classes/RewriteUrlGenerator.class on line 73.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 299.
  • strict warning: Non-static method GalleryPluginHelper_simple::getParameter() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 301.
  • strict warning: Non-static method GalleryPluginHelper_simple::_fetchAllParameters() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 221.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 281.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryDataCache::get() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 282.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 186.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/Gallery.class on line 284.
  • strict warning: Non-static method GalleryUtilities::getRequestVariables() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GallerySession.class on line 200.
  • strict warning: Non-static method GalleryUtilities::_getRequestVariable() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 241.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 874.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 878.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 246.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 708.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 714.
  • strict warning: Non-static method GalleryUtilities::identifySearchEngine() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GallerySession.class on line 213.
  • strict warning: Non-static method GalleryUtilities::strToLower() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GallerySession.class on line 228.
  • strict warning: Non-static method GalleryUtilities::getServerVar() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GallerySession.class on line 1266.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 1407.
  • strict warning: Non-static method GalleryUtilities::getRemoteHostAddress() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GallerySession.class on line 1267.
  • strict warning: Non-static method GalleryUtilities::isTrustedProxy() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 1007.
  • strict warning: Non-static method GalleryUtilities::getRequestVariables() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/init.inc on line 146.
  • strict warning: Non-static method GalleryUtilities::_getRequestVariable() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 242.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 874.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 878.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 246.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 708.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 714.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/init.inc on line 148.
  • strict warning: Non-static method GalleryTranslator::getSupportedLanguageCode() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/init.inc on line 150.
  • strict warning: Non-static method GalleryTranslator::getLanguageData() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryTranslator.class on line 414.
  • strict warning: Non-static method GalleryUtilities::strToUpper() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryTranslator.class on line 418.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/Gallery.class on line 531.
  • strict warning: Non-static method GalleryUtilities::strToUpper() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryTranslator.class on line 418.
  • strict warning: Non-static method GalleryDataCache::put() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryEmbed.class on line 103.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 85.
  • strict warning: Non-static method GalleryEmbed::isCompatibleWithEmbedApi() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryEmbed.class on line 107.
  • strict warning: Non-static method GalleryEmbed::getApiVersion() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryEmbed.class on line 61.
  • strict warning: Non-static method GalleryUtilities::isCompatibleWithApi() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryEmbed.class on line 61.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryEmbed.class on line 128.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryUtilities::getAllRequestVariables() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/rewrite/classes/RewriteUrlGenerator.class on line 91.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 274.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/rewrite/classes/RewriteUrlGenerator.class on line 101.
  • strict warning: call_user_func() expects parameter 1 to be a valid callback, non-static method RewriteSimpleHelper::loadItemIdFromPath() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/rewrite/classes/RewriteUrlGenerator.class on line 103.
  • strict warning: Non-static method GalleryUtilities::getRequestVariables() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/rewrite/classes/RewriteSimpleHelper.class on line 38.
  • strict warning: Non-static method GalleryUtilities::_getRequestVariable() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 242.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 874.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 878.
  • strict warning: Non-static method GalleryUtilities::_getRequestVariable() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 242.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 874.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 878.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 246.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 708.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 714.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 708.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 714.
  • strict warning: Non-static method GalleryUtilities::getRequestVariables() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUrlGenerator.class on line 794.
  • strict warning: Non-static method GalleryUtilities::_getRequestVariable() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 241.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 874.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 878.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 246.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 708.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 714.
  • strict warning: Non-static method GalleryUtilities::getRequestVariables() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUrlGenerator.class on line 794.
  • strict warning: Non-static method GalleryUtilities::_getRequestVariable() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 241.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 874.
  • strict warning: Non-static method GalleryUtilities::_internalGetRequestVariable() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 878.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 246.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 708.
  • strict warning: Non-static method GalleryUtilities::sanitizeInputValues() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUtilities.class on line 714.
  • strict warning: Non-static method GalleryCoreApi::getAllFactoryImplementationIds() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/init.inc on line 175.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 187.
  • strict warning: Non-static method GalleryFactoryHelper_simple::getAllImplementationIds() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 188.
  • strict warning: Non-static method GalleryFactoryHelper_simple::_getFactoryData() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryFactoryHelper_simple.class on line 213.
  • strict warning: Non-static method GalleryFactoryHelper_simple::_getSingleton() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryFactoryHelper_simple.class on line 63.
  • strict warning: Non-static method GalleryCoreApi::newFactoryInstanceById() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/init.inc on line 182.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 174.
  • strict warning: Non-static method GalleryFactoryHelper_simple::newInstanceById() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 175.
  • strict warning: Non-static method GalleryFactoryHelper_simple::_getFactoryData() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryFactoryHelper_simple.class on line 191.
  • strict warning: Non-static method GalleryFactoryHelper_simple::_getSingleton() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryFactoryHelper_simple.class on line 63.
  • strict warning: Non-static method GalleryFactoryHelper_simple::newInstance() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryFactoryHelper_simple.class on line 201.
  • strict warning: Non-static method GalleryFactoryHelper_simple::_getFactoryData() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryFactoryHelper_simple.class on line 141.
  • strict warning: Non-static method GalleryFactoryHelper_simple::_getSingleton() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryFactoryHelper_simple.class on line 63.
  • strict warning: Non-static method GalleryCoreApi::getAnonymousUserId() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/init.inc on line 199.
  • strict warning: Non-static method GalleryCoreApi::getPluginParameter() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 3078.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 300.
  • strict warning: Non-static method GalleryPluginHelper_simple::getParameter() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 302.
  • strict warning: Non-static method GalleryPluginHelper_simple::_fetchAllParameters() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 222.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 281.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryDataCache::get() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryPluginHelper_simple.class on line 282.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 186.
  • strict warning: Non-static method GalleryCoreApi::loadEntitiesById() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/init.inc on line 204.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 2360.
  • strict warning: Non-static method GalleryEntityHelper_simple::loadEntitiesById() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 2361.
  • strict warning: Non-static method GalleryDataCache::containsKey() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryEntityHelper_simple.class on line 53.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 203.
  • strict warning: Non-static method GalleryDataCache::getFromDisk() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryEntityHelper_simple.class on line 56.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 273.
  • strict warning: Non-static method GalleryDataCache::getCachePath() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 280.
  • strict warning: Non-static method GalleryDataCache::getCacheTuple() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 405.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 287.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUser.class on line 21.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryEntity.class on line 21.
  • strict warning: Declaration of GalleryUser::create() should be compatible with GalleryEntity::create() in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUser.class on line 42.
  • strict warning: Declaration of GalleryUser::save() should be compatible with GalleryEntity::save($postEvent = true, $setAclId = NULL) in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryUser.class on line 42.
  • strict warning: Non-static method GalleryDataCache::put() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryEntityHelper_simple.class on line 95.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 85.
  • strict warning: Non-static method GalleryUtilities::isA() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/helpers/GalleryEntityHelper_simple.class on line 118.
  • strict warning: Non-static method GalleryDataCache::put() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryEmbed.class on line 133.
  • strict warning: Non-static method GalleryDataCache::_getCache() should not be called statically in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class on line 85.
  • strict warning: Non-static method GalleryCoreApi::getMapEntry() should not be called statically in /homepages/26/d126321691/htdocs/latenightpc.com/sites/all/modules/gallery/gallery_user.inc on line 616.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/Gallery.class on line 419.
  • : Assigning the return value of new by reference is deprecated in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryStorage.class on line 290.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryStorage.class on line 30.
  • warning: mysql_connect(): Unknown MySQL server host 'db251.perfora.net' (1) in /homepages/26/d126321691/htdocs/g2svn/gallery2/lib/adodb/drivers/adodb-mysql.inc.php on line 365.
  • strict warning: Non-static method GalleryCoreApi::error() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryStorage.class on line 239.
  • strict warning: Non-static method GalleryCoreApi::requireOnce() should not be called statically, assuming $this from incompatible context in /homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryCoreApi.class on line 2861.
  • strict warning: Non-static method view::load() should not be called statically in /homepages/26/d126321691/htdocs/latenightpc.com/sites/all/modules/views/views.module on line 823.
  • strict warning: Declaration of views_plugin_display::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /homepages/26/d126321691/htdocs/latenightpc.com/sites/all/modules/views/plugins/views_plugin_display.inc on line 1684.
  • strict warning: Declaration of views_plugin_display::options_submit() should be compatible with views_plugin::options_submit(&$form, &$form_state) in /homepages/26/d126321691/htdocs/latenightpc.com/sites/all/modules/views/plugins/views_plugin_display.inc on line 1684.
  • strict warning: Declaration of views_handler_argument::init() should be compatible with views_handler::init(&$view, $options) in /homepages/26/d126321691/htdocs/latenightpc.com/sites/all/modules/views/handlers/views_handler_argument.inc on line 699.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /homepages/26/d126321691/htdocs/latenightpc.com/sites/all/modules/views/handlers/views_handler_filter.inc on line 584.
  • strict warning: Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /homepages/26/d126321691/htdocs/latenightpc.com/sites/all/modules/views/handlers/views_handler_filter.inc on line 584.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /homepages/26/d126321691/htdocs/latenightpc.com/sites/all/modules/views/plugins/views_plugin_row.inc on line 61.
  • strict warning: Declaration of views_plugin_row::options_submit() should be compatible with views_plugin::options_submit(&$form, &$form_state) in /homepages/26/d126321691/htdocs/latenightpc.com/sites/all/modules/views/plugins/views_plugin_row.inc on line 61.
  • strict warning: Non-static method view::load() should not be called statically in /homepages/26/d126321691/htdocs/latenightpc.com/sites/all/modules/views/views.module on line 823.

An idea came up recently in a thread on Gamedev.net about scripting where someone made the statement that Lua tables would be more convenient for storing data than would XML. I don't have any idea as to the veracity of that statement, but I do know two things:

  1. There are more tools to work with XML than there are Lua
  2. Parsing XML in Lua sounds dumb

I've never even written any code in Lua and I'm perfectly comfortable making that second statement. Why does it sound dumb? Because Lua is a script interpreter. Then again, parsing XML in Javascript sounds dumb to me for the same reason, but I've done it all the same.

Since I was looking for an excuse to try out Lua and I don't have a great big project that I want to hook it up with right now, I thought that maybe I'd see about going from my preferred data intermediary (XML) to the poster's suggestion (tables in Lua).

Some Background
Lua is a C-like scripting language that's become popular in game development. Part of the reason for the popularity of Lua is its free open source license. Another part of the popularity comes from the easy interaction with a C or C++ project. Apparently it's also easier to program in than C.

XSLT is the extensible stylesheet transform language. XSLT can be used for processing data that's stored as XML and turning it in to other XML formats, HTML or text. I've talked about XSLT here before.

Some Work
I started by downloading the Lua source and building it. After that I had a lua executable. Running Lua interactively gives a simple shell. Using that I can type in a Lua expression and see the result. So I poked around a bit and flipped through the manual.

I wrote up an XML file that lists some items you might find in a hardware store. The file contains lists of items. Each list is represented by an <items /> element. This element has a category attribute. Inside the <items /> element are <item /> elements. Each item has a name, a price and a quantity (the number the hardware store has in stock) as attributes.

Some Results
Here's what my XML looks like:

<?xml version="1.0" ?>
<itemslist>
    <items category="tools">
        <item name="hammer" price="10" quantity="5" />
        <item name="saw" price="15" quantity="4" />
        <item name="screwdriver" price="4" quantity="12" />
        <item name="measuring tape" price="9" quantity="3" />
        <item name="pliers" price="10" quantity="5" />
        <item name="wrench" price="10" quantity="5" />
    </items>
    <items category="fasteners">
        <item name="nails" price=".1" quantity="1500" />
        <item name="screws" price=".2" quantity="1200" />
        <item name="staples" price=".05" quantity="2000" />
    </items>
</itemslist>

So now, to transform this simple XML list into a simple nested table in Lua source code, I apply this XSLT file (which I came up with through the help of Sal Mangano's XSLT Cookbook):

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"
        omit-xml-declaration = "yes"
        version="1.0"
        encoding = "UTF-8"
/>
<xsl:template match="itemslist">
    <xsl:text>items={</xsl:text>
        <xsl:apply-templates />
    <xsl:text>}</xsl:text>
</xsl:template>

<xsl:template match="items">
    <xsl:apply-templates >
        <xsl:with-param name="category" select="@category" />
    </xsl:apply-templates>
</xsl:template>

<xsl:template match="item">
    <xsl:param name="category" />
    <xsl:text>{["category"]="</xsl:text> <xsl:value-of select="$category" /> <xsl:text>", </xsl:text>
    <xsl:text>["name"]="</xsl:text> <xsl:value-of select="@name" /> <xsl:text>", </xsl:text>
    <xsl:text>["price"]=</xsl:text> <xsl:value-of select="@price" /> <xsl:text>, </xsl:text>
    <xsl:text> ["quantity"]=</xsl:text> <xsl:value-of select="@quantity" /> <xsl:text> }</xsl:text>
    <xsl:text>, </xsl:text>
</xsl:template>
</xsl:stylesheet>

The XSLT simply contains three templates.

  1. <itemslist> The root node. When this node is found, the beginning of a variable assignment is emitted "items=". The apply-templates statement causes other templates (in the XSLT) to be used to match other nodes (in the XML source). After all the nodes have been processed, the closing "}" is emitted.
  2. <items> A list of things in our store. The category attribute of this node is passed on by the with-param element to any templates that are called by apply-templates.
  3. <item /> The item template produces a line of text that declares a Lua table row for the item. The @name, @price, and @quantity statements are replaced by the values of each of those attributes for the item being processed. The $category statement gets the value of the category parameter that was passed from the items template.

Here's what the generated Lua file looks like:

items={

        {["category"]="tools", ["name"]="hammer", ["price"]=10,  ["quantity"]=5 },
        {["category"]="tools", ["name"]="saw", ["price"]=15,  ["quantity"]=4 },
        {["category"]="tools", ["name"]="screwdriver", ["price"]=4,  ["quantity"]=12 },
        {["category"]="tools", ["name"]="measuring tape", ["price"]=9,  ["quantity"]=3 },
        {["category"]="tools", ["name"]="pliers", ["price"]=10,  ["quantity"]=5 },
        {["category"]="tools", ["name"]="wrench", ["price"]=10,  ["quantity"]=5 },


        {["category"]="fasteners", ["name"]="nails", ["price"]=.1,  ["quantity"]=1500 },
        {["category"]="fasteners", ["name"]="screws", ["price"]=.2,  ["quantity"]=1200 },
        {["category"]="fasteners", ["name"]="staples", ["price"]=.05,  ["quantity"]=2000 },

}

The only test I ran on this file was the single line
for i in items do print(items[i].name) end

so if it doesn't work in some other way, leave me a comment and teach me some more Lua.

So if you want to get some XML data into your Lua script without having to actually parse the XML yourself, you could use code like this. Note that this kind of code generation only makes sense if you were going to load up most of XML data structure into a Lua object anyway. If you have a monstrous XML file and only want to use a few lines of it, then this is going to be horrendously inefficient. In that case you're far better off parsing the XML in your application and giving Lua an access function to get the data that it needs.

0
Your rating: None

XSLT tranformations via a browser is only worth doing if the data doesn't change at run-time, and very frequently, otherwise an XML Parser is a better solution.
Or else every time the data changes you have to load your browser, save the file as Lua, stop the program from running, then re-run.

A browser's not the only way to use XSLT. For example, if you have a C++ app that uses Lua for scripting then you could use an XSLT library for C++ to transform data from XML to something easy for Lua to digest.

I don't think XML and XSLT are always the right solution, just that there are definitely cases where it makes sense. In many cases a hardcoded transform using an XML parser in the host application (in C++, Java, or whatever) would make more sense, but XSLT can be more flexible for applications where needs change over time.

Rendering XML via XSLT in the browser to produce Lua code then stuffing that into a Lua interpreter would be terrible process to repeat, I agree.