Warning: INSERT command denied to user 'dbo231948299'@'74.208.16.41' for table 'lndru_watchdog' query: INSERT INTO lndru_watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";N;s:8:\"%message\";s:29:\"Function ereg() is deprecated\";s:5:\"%file\";s:65:\"/homepages/26/d126321691/htdocs/latenightpc.com/includes/file.inc\";s:5:\"%line\";i:893;}', 3, '', 'http://www.latenightpc.com/blog/archives/2006/02/07/xml-to-css-with-xslt-how-to', '', '54.196.62.132', 1414207716) in /homepages/26/d126321691/htdocs/latenightpc.com/includes/database.mysql.inc on line 128

Warning: INSERT command denied to user 'dbo231948299'@'74.208.16.41' for table 'lndru_watchdog' query: INSERT INTO lndru_watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";N;s:8:\"%message\";s:29:\"Function ereg() is deprecated\";s:5:\"%file\";s:65:\"/homepages/26/d126321691/htdocs/latenightpc.com/includes/file.inc\";s:5:\"%line\";i:893;}', 3, '', 'http://www.latenightpc.com/blog/archives/2006/02/07/xml-to-css-with-xslt-how-to', '', '54.196.62.132', 1414207716) in /homepages/26/d126321691/htdocs/latenightpc.com/includes/database.mysql.inc on line 128

Warning: INSERT command denied to user 'dbo231948299'@'74.208.16.41' for table 'lndru_watchdog' query: INSERT INTO lndru_watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";N;s:8:\"%message\";s:29:\"Function ereg() is deprecated\";s:5:\"%file\";s:65:\"/homepages/26/d126321691/htdocs/latenightpc.com/includes/file.inc\";s:5:\"%line\";i:893;}', 3, '', 'http://www.latenightpc.com/blog/archives/2006/02/07/xml-to-css-with-xslt-how-to', '', '54.196.62.132', 1414207716) in /homepages/26/d126321691/htdocs/latenightpc.com/includes/database.mysql.inc on line 128

Warning: INSERT command denied to user 'dbo231948299'@'74.208.16.41' for table 'lndru_watchdog' query: INSERT INTO lndru_watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:14:\"strict warning\";s:8:\"%message\";s:73:\"Non-static method GalleryDataCache::put() should not be called statically\";s:5:\"%file\";s:56:\"/homepages/26/d126321691/htdocs/g2svn/gallery2/embed.php\";s:5:\"%line\";i:32;}', 3, '', 'http://www.latenightpc.com/blog/archives/2006/02/07/xml-to-css-with-xslt-how-to', '', '54.196.62.132', 1414207716) in /homepages/26/d126321691/htdocs/latenightpc.com/includes/database.mysql.inc on line 128

Warning: INSERT command denied to user 'dbo231948299'@'74.208.16.41' for table 'lndru_watchdog' query: INSERT INTO lndru_watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";s:14:\"strict warning\";s:8:\"%message\";s:79:\"Non-static method GalleryDataCache::_getCache() should not be called statically\";s:5:\"%file\";s:90:\"/homepages/26/d126321691/htdocs/g2svn/gallery2/modules/core/classes/GalleryDataCache.class\";s:5:\"%line\";i:85;}', 3, '', 'http://www.latenightpc.com/blog/archives/2006/02/07/xml-to-css-with-xslt-how-to', '', '54.196.62.132', 1414207716) in /homepages/26/d126321691/htdocs/latenightpc.com/includes/database.mysql.inc on line 128

Warning: INSERT command denied to user 'dbo231948299'@'74.208.16.41' for table 'lndru_watchdog' query: INSERT INTO lndru_watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (0, 'php', '%message in %file on line %line.', 'a:4:{s:6:\"%error\";N;s:8:\"%message\";s:60:\"Assigning the return value of new by reference is deprecated\";s:5:\"%file\";s:60:\"/homepages/26/d126321691/htdocs/g2svn/gallery2/bootstrap.inc\";s:5:\"%line\";i:43;}', 3, '', 'http://www.latenightpc.com/blog/archives/2006/02/07/xml-to-css-with-xslt-how-to', '', '54.196.62.132', 1414207716) in /homepages/26/d126321691/htdocs/latenightpc.com/includes/database.mysql.inc on line 128
XML to CSS with XSLT How-To | Late Night PC

XML to CSS with XSLT How-To

  • : 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.
  • user warning: INSERT command denied to user 'dbo231948299'@'74.208.16.41' for table 'lndru_watchdog' query: INSERT INTO lndru_watchdog (uid, type, message, variables, severity, link, location, referer, hostname, timestamp) VALUES (0, 'gallery', 'Error fetching \'GalleryUser\' entries from \'ExternalIdMap\'', 'a:0:{}', 3, '', 'http://www.latenightpc.com/blog/archives/2006/02/07/xml-to-css-with-xslt-how-to', '', '54.196.62.132', 1414207716) in /homepages/26/d126321691/htdocs/latenightpc.com/modules/dblog/dblog.module on line 144.
  • 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.
I set out today to write about converting a simplistic XML document into a simple CSS stylesheet. The specific example I chose to work with creates code for CSS-rollover buttons. The first part I deal with is how to create such a rollover manually. The second part is about generating CSS like this using XSLT and a homemade XML language.

Making the Graphics with the Gimp

I started with the Gimp. First I used the Simple Beveled Button Script to produce a button. After that I made another, but set the upper right colour to be a little brighter. Next I made the same button again, but this time I checked off the "pressed" checkbox. So now I've got three images in the Gimp that represent the three states of the button I want to put on a web page. The first is the default state, the second is used when the mouse is over the button and the third is used when the button is clicked. There's a popular method of making the button change between these states very smoothly using just CSS. Basically you pack all three images into a single image file. This single packed file is just an ordinary image (gif, jpeg or png) that has all three states of the button one next to the other. The picture is set as the background image for some otherwise transparent box. Then the background-offset CSS property is used to adjust the position of the background so that the different parts of the image are visible when the button is in each of the three states I mentioned. Oh, and the three states are distinguished with the help of the CSS pseudo-classes hover and active. All right, time for something more concrete. Here's the kind of background image that we need to make this work. All three button states on one picture Here's how to make this picture from the three button pictures:
  1. Choose File->New in the Gimp, and specify the same width as one of my buttons and three times the height. How did I know the width and height? The Gimp displays the dimensions as width x height in the title bar of each picture.
  2. Flatten each button picture. On each picture, go to the Image menu and choose "Flatten Image".
  3. For the first button state, select the entire image (press ctrl-a). Copy the image (ctrl-c) and paste it into the new packed image (switch to that image window and press ctrl-v). Use the Move tool to position this one exactly at the top. This has to be pixel accurate, so zoom in if you need to (shift + mouse wheel up). I use the keyboard arrow keys for fine adjustments.
  4. Repeat the copy, paste and positioning for the other two pictures, putting them at the middle and bottom of the packed image.
You can also do the compositing step pretty quickly and accurately with ImageMagick in a batch file, but I haven't got time to get into that right now. The point today is supposed to be making XML into CSS.

Testing the CSS by Hand

On to the CSS. Here's an example of the kind of CSS that we need to have in the end: a#cool_button { display:block; width:91px; height:32px; background: url(cool_button.png); } a#cool_button:hover { background-position: 0 -32px; } a#cool_button:active { background-position: 0 -64px; } Applying this CSS gets us a button that looks like this:   when the HTML says <a href="#" id="cool_button">&nbsp;</a> If I hadn't put the text on the button, then I could've just made the text content of the <a /> tag, but it wouldn't be blended in with the graphic.

Building the Template in XSLT

I suppose if all you're interested in is doing buttons one-off, then everything up to here is all you need to know. This has been done before by other people before and with better colour schemes to boot. What I wanted to try out today is something that's purely hypothetical for me right now, but seemed interesting after doing that XSLT-generated code in Lua yesterday. I want to make a simple piece of XSLT that will transform an XML description of a button into the CSS necessary to display the button. I still have to produce the same image file as before, but I can describe the button using some very clear XML notation that suits my needs. Suppose I want some XML that looks like this to describe my buttons: <?xml version="1.0" ?> <buttonset> <button name="cool_button" width=91 height=32 buttonfaces="cool_button.png" /> <button name="hot_button" width=91 height=32 buttonfaces="hot_button.png" /> <button name="panic_button" width=91 height=32 buttonfaces="panic_button.png" /> <button name="push_button" width=91 height=32 buttonfaces="push_button.png" /> </buttonset> Here is some XSLT that will transform this XML into appropriate CSS: <?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:strip-space elements="*" />
<xsl:template match="buttonset"> <xsl:apply-templates /> </xsl:template>
<xsl:template match="button"> <xsl:text>a#</xsl:text><xsl:value-of select="@name" /> <xsl:text > { &#xA;</xsl:text> <xsl:text> display:block;&#xA;</xsl:text> <xsl:text> width:</xsl:text> <xsl:value-of select="@width" /> <xsl:text>px;&#xA;</xsl:text> <xsl:text> height:</xsl:text> <xsl:value-of select="@height" /> <xsl:text>px;&#xA;</xsl:text> <xsl:text> background: url(</xsl:text> <xsl:value-of select="@buttonfaces" /> <xsl:text>);&#xA;</xsl:text> <xsl:text>}&#xA;&#xA;</xsl:text>
<xsl:text>a#</xsl:text><xsl:value-of select="@name" /> <xsl:text>:hover {&#xA;</xsl:text> <xsl:text> background-position: 0px </xsl:text> -<xsl:value-of select="@height" /> <xsl:text>px;&#xA;</xsl:text> <xsl:text>}&#xA;&#xA;</xsl:text>
<xsl:text>a#</xsl:text><xsl:value-of select="@name" /> <xsl:text>:active {&#xA;</xsl:text> <xsl:text> background-position: 0px </xsl:text> -<xsl:value-of select="@height*2" /> <xsl:text>px;&#xA;</xsl:text> <xsl:text>}&#xA;&#xA;</xsl:text> </xsl:template> </xsl:stylesheet>
The XSLT shown here is pretty simple. I've included characters that do nothing but add whitespace to make the output CSS more readable. I tend to leave these out when I'm creating this sort of stuff for my own use. The whitespace is produced by the leading spaces inside the <xsl:text /> elements and the &#xA; (linebreak) trailing characters. The linebreaks are not cross-platform but most editors will handle them correctly. The two templates included match the < buttonset /> and < button /> elements from the source XML file. The first template, for < buttonset />, isn't very interesting. It just applies templates to contained markup. This would be a good place to put any code that goes before or after all the buttons though. The second template, < button />, matches each button element in the source file. It replaces the buttons with the CSS text that we need. The XSLT doesn't understand CSS because it's not an XML-derived syntax. Still, XSLT can produce plain text results and that's the mechanism we're using here. The values of the attributes like height and width are copied into the CSS output by the <xsl:value-of /> elements. The select attribute specifies in most cases just the attribute value to copy, such as @name. In the case of the :active pseudo-class, the offset is twice the height, so I used select="@height*2". I think that statement is always an XPath expression, but I'm not positive. If you run the transform then you'll see that you get a CSS file that looks just like the CSS shown earlier, with additional code for the other three button types. While writing this post, I referred to Sal Mangano's XSLT Cookbook.
0
Your rating: None

[...] After the little CSS mouseover example I threw in last week, I started thinking about how simple it would be to use the same technique to animate the background-offset value to create the illusion of animation. I know this technique has been done before - I don&#8217;t claim to be the first - but it wasn&#8217;t hard to build my own from where I was at already. The thing that really sucks is that SVG should make this sort of animation easier. Well, this sort and a lot of others. The SVG recommendation from the W3C includes extensive descriptions of support for SMIL, SMIL should be available to handle many kinds of animation. Unfortunately the only way to get SMIL in a browsers is with Adobe SVG Viewer. The fact that it&#8217;s not available in the native browser implementations of SVG means that you cant rely on it as a developer. If you&#8217;re really into declarative animation or want to bank on native SMIL spreading in the future, you can get SmilScript, a clever innovation of Doug Scheppers and Vectoreal. SmilScript will use Javascript to make part of SMIL available to your SVG. [...]

your button image did not display ... this tutorial is just what I've been looking for. thanks

Glad it was helpful to you :)

I just fixed the images too - thanks for the note.

It\'s pretty straightforward to transform an xml document into css with xslt, but were you actually able to apply the resulting css to a 3rd document? In a browser? I\'m curious if you did this/how this would be accomplished.

Yeah, I think back when I wrote this I used Saxon for XSLT most of the time. I'm sure you noticed that in the source of this page I have the CSS for the button styles done as a block up at the top.

If I were to actually implement the sort of thing I talked about in this post on a live site I'd use PHP to do the transform. Then it's a pretty simple matter of passing the name of the xml file to the PHP script in a URL and using that URL as an external stylesheet.

Sort of like this:
&lt;style type="text/css" media="screen" &gt;
@import url(http://www.example.com/styles.php?s=mystyle.xml);
&lt;/style&gt;

Where styles.php applies the XSLT in my example to mystyle.xml - which could contain the XML from my example. There might be a content type header to pay attention to but in principle it's not too difficult. Of course I've never tried it on a live site so caveat emptor.