Overview

Namespaces

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

Classes

  • AMemoryUsageDriver
  • AProcessorDriver
  • Controlor
  • Libxslt1123phpProcessorDriver
  • Libxslt1126phpProcessorDriver
  • LinuxMemoryUsageDriver
  • MemoryUsage
  • MSXML30ProcessorDriver
  • MSXML60ProcessorDriver
  • Params
  • Processor
  • Runner
  • Sablotron103cmdProcessorDriver
  • Saxon655ProcessorDriver
  • SaxonHE9402ProcessorDriver
  • Test
  • TestRunner
  • WindowsMemoryUsageDriver
  • Xalan271ProcessorDriver
  • XmlParamsDriver
  • Xsltproc1123ProcessorDriver
  • Xsltproc1126ProcessorDriver
  • XT20051206ProcessorDriver

Interfaces

  • IParamsDriver
  • 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\TestsRunner;
 11: 
 12: // @codeCoverageIgnoreStart
 13: require_once __DIR__ . '/AProcessorDriver.php';
 14: // @codeCoverageIgnoreEnd
 15: 
 16: /**
 17:  * Driver for "XT 20051206"
 18:  *
 19:  * @author Viktor Mašíček <viktor@masicek.net>
 20:  */
 21: class XT20051206ProcessorDriver extends AProcessorDriver
 22: {
 23: 
 24: 
 25:     /**
 26:      * Return flag, if the driver is available.
 27:      *
 28:      * @return bool
 29:      */
 30:     public function isAvailable()
 31:     {
 32:         switch (PHP_OS)
 33:         {
 34:             case self::OS_WIN:
 35:                 return TRUE;
 36:                 break;
 37: 
 38:             case self::OS_LINUX:
 39:                 // java is needed
 40:                 exec('java -version 2>&1 | grep \'java version\' | wc -l', $output);
 41:                 if ($output[0] == '0')
 42:                 {
 43:                     return FALSE;
 44:                 }
 45:                 else
 46:                 {
 47:                     return TRUE;
 48:                 }
 49:                 break;
 50: 
 51:             default:
 52:                 return FALSE;
 53:                 break;
 54:         }
 55:     }
 56: 
 57: 
 58:     /**
 59:      * Return template of command
 60:      *
 61:      * Templates substitutions:
 62:      * [XSLT] = path of XSLT template for transformation
 63:      * [INPUT] = path of input XML file
 64:      * [OUTPUT] = path of generated output XML file
 65:      * [ERROR] = path of file for eventual generated error message
 66:      * [LIBS] = path of directory containing XSLT processors (libraries, command-line program etc.)
 67:      *
 68:      * @return string
 69:      */
 70:     public function getCommandTemplate()
 71:     {
 72:         switch (PHP_OS)
 73:         {
 74:             case self::OS_WIN:
 75:                 $commandTemplate = '"[LIBS]\Java\1.6.0_29\java.exe" -cp "[PROCESSORS]\XT\20051206\xt20051206.jar";"[PROCESSORS]\XT\20051206\xp.jar";"[PROCESSORS]\XT\20051206\sax2r2.jar" com.jclark.xsl.sax.Driver "[INPUT]" "[XSLT]" "[OUTPUT]" 2> "[ERROR]"';
 76:                 break;
 77: 
 78:             case self::OS_LINUX:
 79:                 // we assume installing java
 80:                 $commandTemplate = 'java -cp [PROCESSORS]/XT/20051206/xt20051206.jar:[PROCESSORS]/XT/20051206/xp.jar:[PROCESSORS]/XT/20051206/sax2r2.jar com.jclark.xsl.sax.Driver [INPUT] [XSLT] [OUTPUT] 2> [ERROR]';
 81:                 break;
 82:         }
 83: 
 84:         return $commandTemplate;
 85:     }
 86: 
 87: 
 88:     /**
 89:      * Full name of processor (with version)
 90:      *
 91:      * @return string
 92:      */
 93:     public function getFullName()
 94:     {
 95:         return 'XT 20051206';
 96:     }
 97: 
 98: 
 99:     /**
100:      * Return name of processor kernel.
101:      * Available kernels are const of this class with prefix "KERNEL_"
102:      *
103:      * Examples:
104:      * Saxon 6.5.5 -> Saxon
105:      * xsltproc -> libxslt
106:      *
107:      * @return string
108:      */
109:     public function getKernel()
110:     {
111:         return self::KERNEL_XT;
112:     }
113: 
114: 
115: }
116: 
XSTL Benchmarking API documentation generated by ApiGen.
Generated using the TokenReflection library.