Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 3b908055e6
Fetching contributors…

Cannot retrieve contributors at this time

50 lines (41 sloc) 1.293 kb
include Java
require 'optparse'
require 'ostruct'
import java.io.FileOutputStream
import javax.xml.transform.stream.StreamSource
import javax.xml.transform.TransformerFactory
class XSLTOptions
def self.parse(args)
options = OpenStruct.new
options.parameters = {}
opts = OptionParser.new do |opts|
opts.banner = "Usage: [options] xslt {xml} {xslt} [{result}]"
opts.separator ""
opts.separator "Specific options:"
opts.on("-p", "--parameters name=value,name1=value1", Array) do |n|
n.collect do |v|
name, value = v.split(/\s*=\s*/)
options.parameters[name] = value
end
end
end
opts.parse!(args)
options
end
end
options = XSLTOptions.parse(ARGV)
if (ARGV.length < 2 || ARGV.length > 3)
puts "Usage: xslt {xml} {xslt} [{result}]"
exit
end
document = StreamSource.new ARGV[0]
stylesheet = StreamSource.new ARGV[1]
output = ARGV.length < 3 ? java.lang.System::out : FileOutputStream.new(ARGV[2])
result = javax.xml.transform.stream.StreamResult.new output
begin
transformer = TransformerFactory.newInstance.newTransformer(stylesheet)
options.parameters.each {|name, value| transformer.setParameter(name, value) }
transformer.transform(document, result)
rescue java.lang.Exception => e
puts e
end
Jump to Line
Something went wrong with that request. Please try again.