5 |
|
// $Id$ |
6 |
|
|
7 |
|
#include "Bender.hpp" |
8 |
< |
#include "Matcher.hpp" |
8 |
> |
#include "Matcher/Matcher.hpp" |
9 |
|
|
10 |
|
#include <menes-api/exename.hpp> |
11 |
|
#include <menes-api/files.hpp> |
12 |
|
#include <menes-api/process.hpp> |
13 |
|
#include <menes-app/simple.hpp> |
14 |
|
|
15 |
< |
struct Environment |
15 |
> |
struct |
16 |
|
{ |
17 |
|
ext::String get(const ext::String& name) |
18 |
|
{ |
91 |
|
|
92 |
|
void Bender::bend(const ext::String& path) |
93 |
|
{ |
94 |
< |
_L<ext::String> args(1, path); |
95 |
< |
_S<api::Process> xslt("/usr/local/bin/xsltproc", args); |
94 |
> |
_L<ext::String> args(1, "-a"); |
95 |
> |
|
96 |
> |
args.InsertLast(path); |
97 |
> |
|
98 |
> |
#if defined(__FreeBSD__) |
99 |
> |
_S<api::Process> xslt("/usr/local/bin/Xalan", args); |
100 |
> |
#elif defined(_WIN32) |
101 |
> |
_S<api::Process> xslt("Xalan.exe", args); |
102 |
> |
#else |
103 |
> |
_S<api::Process> xslt("Xalan", args); |
104 |
> |
#endif |
105 |
|
ios::String output; |
106 |
|
|
107 |
|
ios::ReadToWrite(*xslt.GetReader(), output); |
116 |
|
api::Cout << "Content-Type: " << type << "\r\n\r\n" << output; |
117 |
|
} |
118 |
|
else pass(path); |
119 |
+ |
|
120 |
+ |
xslt.Join(); |
121 |
|
} |
122 |
|
|
123 |
|
void Bender::pass(const ext::String& path) |