/**
  * Register XSL templates for Silex microframework
  *
  * @param \Silex\Application|\SilexXSLTemplate\Application $app
  */
 public function register(Application $app)
 {
     $app['xsltemplate'] = $app->share(function () use($app) {
         $renderer = new Renderer();
         if (isset($app['xsltemplate.parameters'])) {
             $renderer->addParameters($app['xsltemplate.parameters']);
         }
         if (isset($app['xsltemplate.templates.path'])) {
             $renderer->addParameters(array('templates.path' => $app['xsltemplate.templates.path']));
         }
         if (isset($app['xsltemplate.templates.url'])) {
             $renderer->addParameters(array('templates.url' => $app['xsltemplate.templates.url']));
         }
         if (isset($app['xsltemplate.configure'])) {
             $app['xsltemplate.configure']($renderer);
         }
         return $renderer;
     });
     $app['xsltemplate.writer'] = $app->share(function () use($app) {
         $writer = new Writer();
         $writer->init();
         return $writer;
     });
 }
示例#2
0
 /**
  * Return xml with instructions for render on browser side
  * @param $template
  * @param XML\Writer $xmlWriter
  * @param array $parameters
  * @return string
  */
 public function renderBrowser($template, \XSLTemplate\XML\Writer $xmlWriter, array $parameters = array())
 {
     $renderer = new \XSLTemplate\Renderer\Browser();
     $this->setCurrentRenderer(Renderer::RENDER_BROWSER);
     return $renderer->execute($template, $xmlWriter->getDom(), $parameters);
 }