Overview
Namespaces
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
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 "Saxon 6.5.5"
18: *
19: * @author Viktor Mašíček <viktor@masicek.net>
20: */
21: class Saxon655ProcessorDriver 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: $prefix = '"[LIBS]\Java\1.6.0_29\java.exe"';
76: break;
77:
78: case self::OS_LINUX:
79: // we assume installing java
80: $prefix = 'java';
81: break;
82: }
83:
84: $commandTemplate = $prefix . ' -jar "[PROCESSORS]\Saxon\6.5.5\saxon.jar" -o "[OUTPUT]" "[INPUT]" "[XSLT]" 2> "[ERROR]"';
85: $commandTemplate = str_replace('\\', DIRECTORY_SEPARATOR, $commandTemplate);
86: return $commandTemplate;
87: }
88:
89:
90: /**
91: * Full name of processor (with version)
92: *
93: * @return string
94: */
95: public function getFullName()
96: {
97: return 'Saxon 6.5.5';
98: }
99:
100:
101: /**
102: * Return name of processor kernel.
103: * Available kernels are const of this class with prefix "KERNEL_"
104: *
105: * Examples:
106: * Saxon 6.5.5 -> Saxon
107: * xsltproc -> libxslt
108: *
109: * @return string
110: */
111: public function getKernel()
112: {
113: return self::KERNEL_SAXON;
114: }
115:
116:
117: }
118: