15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/JXslt/jxslt.rb', line 15
def transform(xslt, infile, outfile, options)
if options[:in] == "stream"
in_var = StreamSource.new(infile)
else
sr = java.io.StringReader.new(infile)
in_var = StreamSource.new(sr)
end
if options[:out] == "stream"
out_var = StreamResult.new(outfile)
else
sw = java.io.StringWriter.new()
out_var = StreamResult.new(sw)
end
if options[:xslt] == "stream"
xslt_var = StreamSource.new(xslt)
else
sxs = java.io.StringReader.new(xslt)
xslt_var = StreamSource.new(sxs)
end
transformer = @tf.newTransformer(xslt_var)
unless options[:transformer_parameters].nil?
options[:transformer_parameters].each do |key, value|
transformer.setParameter(key, java.lang.String.new(value))
end
end
transformer.transform(in_var, out_var)
if options[:out] != "stream"
outfile = sw.toString()
end
end
|