Overview

Namespaces

  • PHP
  • XSLTBenchmarking
    • Reports
    • RunnerConsole
    • TestsGenerator
    • TestsRunner

Classes

  • EasyXmlGeneratorDriver
  • Generator
  • Params
  • SimpleTemplatingDriver
  • SmartyTemplatingDriver
  • SmartyXmlGeneratorDriver
  • Templating
  • Test
  • ToxgeneTemplatingDriver
  • ToxgeneXmlGeneratorDriver
  • XmlGenerator
  • XmlParamsDriver

Interfaces

  • IParamsDriver
  • ITemplatingDriver
  • IXmlGeneratorDriver
  • Overview
  • Namespace
  • Class
  • Tree
  • Todo
 1: <?php
 2: 
 3: /**
 4:  * XSLT Benchmarking
 5:  * @link https://github.com/masicek/XSLT-Benchmarking
 6:  * @author Viktor Mašíček <viktor@masicek.net>
 7:  * @license "New" BSD License
 8:  */
 9: 
10: namespace XSLTBenchmarking\TestsGenerator;
11: 
12: require_once __DIR__ . '/IXmlGeneratorDriver.php';
13: 
14: /**
15:  * Driver for generating XML files by \SimpleXMLElement.
16:  * Generate only list of elements by settings.
17:  *
18:  * @author Viktor Mašíček <viktor@masicek.net>
19:  */
20: class EasyXmlGeneratorDriver implements IXmlGeneratorDriver
21: {
22: 
23: 
24:     /**
25:      * Object configuration
26:      *
27:      * @param string $tmpDirectory The path of the temporary directory
28:      */
29:     public function __construct($tmpDirectory)
30:     {
31:     }
32: 
33: 
34:     /**
35:      * Generate xml file
36:      *
37:      * @param string $outputPath The path of the output xml file
38:      * @param array $settings The list of settings specific by selected xml generator
39:      *
40:      * @return void
41:      */
42:     public function generate($outputPath, $templateDir, array $settings)
43:     {
44:         $xml = new \SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><root></root>');
45: 
46:         foreach ($settings as $elementName => $count)
47:         {
48:             for ($elementIdx = 1; $elementIdx <= $count; $elementIdx++)
49:             {
50:                 $xml->addChild($elementName, 'Easy element ' . $elementIdx);
51:             }
52:         }
53: 
54:         // make indent and new lines
55:         $dom = dom_import_simplexml($xml)->ownerDocument;
56:         $dom->formatOutput = TRUE;
57:         $dom->save($outputPath);
58:     }
59: 
60: 
61: }
62: 
XSTL Benchmarking API documentation generated by ApiGen.
Generated using the TokenReflection library.