Source for file Transformer.class.php

Documentation is available at Transformer.class.php

  1. /**
  2.  * Класс Transformer.
  3.  *
  4.  * @package energine
  5.  * @subpackage core
  6.  * @author dr.Pavka
  7.  * @copyright ColoCall 2006
  8.  * @version $Id: fsource_energine_core_frameworkTransformer.class.php.html,v 1.1 2007/09/17 14:32:35 pavka Exp $
  9.  */
  10.  
  11. require_once 'core/framework/SystemConfig.class.php';
  12.  
  13. /**
  14.  * Трансформер XML-документа страницы.
  15.  *
  16.  * @package energine
  17.  * @subpackage core
  18.  */
  19. class Transformer extends SystemConfig {
  20.  
  21.     /**
  22.      * Директория, где находится основной трансформер
  23.      */
  24.     const MAIN_TRANSFORMER_DIR = 'site/transformers/';
  25.  
  26.     /**
  27.      * Конструктор класса.
  28.      *
  29.      * @access public
  30.      * @return void 
  31.      */
  32.     public function __construct({
  33.         parent::__construct();
  34.     }
  35.  
  36.     /**
  37.      * Трансформирует XML-документ страницы в выходной формат.
  38.      *
  39.      * @param DOMDocument 
  40.      * @param string 
  41.      * @return string 
  42.      * @access public
  43.      */
  44.     public function transform($document$transformerFilename null{
  45.         $xsltProc new XSLTProcessor;
  46.         if (!isset($transformerFilename)) {
  47.             $transformerFilename $this->getConfigValue('document.transformer');
  48.         }
  49.         if (empty($transformerFilename)) {
  50.             throw new SystemException('ERR_DEV_NO_TRANSFORMER'SystemException::ERR_DEVELOPER);
  51.         }
  52.         $transformerFilename self::MAIN_TRANSFORMER_DIR.$transformerFilename;
  53.         if (!file_exists($transformerFilename)) {
  54.             throw new SystemException('ERR_DEV_NO_MAIN_TRANSFORMER'SystemException::ERR_DEVELOPER$transformerFilename);
  55.         }
  56.         $xsltDoc new DOMDocument('1.0''UTF-8');
  57.         if (!@$xsltDoc->load($transformerFilename)) {
  58.             throw new SystemException('ERR_DEV_NOT_WELL_FORMED_XSLT'SystemException::ERR_DEVELOPER);
  59.         }
  60.         $xsltProc->importStylesheet($xsltDoc);
  61.         $result $xsltProc->transformToXml($document);
  62.         return $result;
  63.     }
  64. }

Documentation generated on Mon, 17 Sep 2007 13:32:48 +0300 by phpDocumentor 1.4.0a2