saxon 0.2.2-java → 0.4.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/saxon.gemspec +10 -18
- metadata +17 -166
- data/.gitignore +0 -13
- data/.rspec +0 -3
- data/.ruby-version +0 -1
- data/.travis.yml +0 -20
- data/CODE_OF_CONDUCT.md +0 -74
- data/Gemfile +0 -6
- data/README.md +0 -43
- data/Rakefile +0 -12
- data/bin/console +0 -14
- data/bin/setup +0 -8
- data/lib/net/sf/saxon/Saxon-HE/9.9.1-2/Saxon-HE-9.9.1-2.jar +0 -0
- data/lib/saxon.rb +0 -6
- data/lib/saxon/axis_iterator.rb +0 -32
- data/lib/saxon/configuration.rb +0 -116
- data/lib/saxon/document_builder.rb +0 -28
- data/lib/saxon/item_type.rb +0 -200
- data/lib/saxon/jaxp.rb +0 -8
- data/lib/saxon/loader.rb +0 -103
- data/lib/saxon/occurrence_indicator.rb +0 -33
- data/lib/saxon/parse_options.rb +0 -127
- data/lib/saxon/processor.rb +0 -102
- data/lib/saxon/qname.rb +0 -145
- data/lib/saxon/s9api.rb +0 -16
- data/lib/saxon/serializer.rb +0 -143
- data/lib/saxon/source.rb +0 -187
- data/lib/saxon/version.rb +0 -3
- data/lib/saxon/xdm_atomic_value.rb +0 -48
- data/lib/saxon/xdm_node.rb +0 -65
- data/lib/saxon/xdm_value.rb +0 -129
- data/lib/saxon/xpath.rb +0 -8
- data/lib/saxon/xpath/compiler.rb +0 -69
- data/lib/saxon/xpath/executable.rb +0 -59
- data/lib/saxon/xpath/static_context.rb +0 -161
- data/lib/saxon/xpath/variable_declaration.rb +0 -68
- data/lib/saxon/xslt.rb +0 -8
- data/lib/saxon/xslt/compiler.rb +0 -70
- data/lib/saxon/xslt/evaluation_context.rb +0 -174
- data/lib/saxon/xslt/executable.rb +0 -156
- data/lib/saxon_jars.rb +0 -10
@@ -1,156 +0,0 @@
|
|
1
|
-
require 'forwardable'
|
2
|
-
require_relative 'evaluation_context'
|
3
|
-
require_relative '../serializer'
|
4
|
-
require_relative '../xdm_value'
|
5
|
-
require_relative '../qname'
|
6
|
-
|
7
|
-
module Saxon
|
8
|
-
module XSLT
|
9
|
-
# Represents a compiled XSLT stylesheet ready to be executed
|
10
|
-
class Executable
|
11
|
-
extend Forwardable
|
12
|
-
|
13
|
-
attr_reader :evaluation_context
|
14
|
-
private :evaluation_context
|
15
|
-
|
16
|
-
# @api private
|
17
|
-
# @param s9_xslt_executable [net.sf.saxon.s9api.XsltExecutable] the
|
18
|
-
# Saxon compiled XSLT object
|
19
|
-
# @param evaluation_context [XSLT::EvaluationContext] the XSLT's evaluation
|
20
|
-
# context
|
21
|
-
def initialize(s9_xslt_executable, evaluation_context)
|
22
|
-
@s9_xslt_executable, @evaluation_context = s9_xslt_executable, evaluation_context
|
23
|
-
end
|
24
|
-
|
25
|
-
def_delegators :evaluation_context, :global_parameters, :initial_template_parameters, :initial_template_tunnel_parameters
|
26
|
-
|
27
|
-
def apply_templates(source, opts = {})
|
28
|
-
transformation(opts).apply_templates(source)
|
29
|
-
end
|
30
|
-
|
31
|
-
def call_template(template_name, opts = {})
|
32
|
-
transformation(opts).call_template(template_name)
|
33
|
-
end
|
34
|
-
|
35
|
-
# @return [net.sf.saxon.s9api.XsltExecutable] the underlying Saxon
|
36
|
-
# <tt>XsltExecutable</tt>
|
37
|
-
def to_java
|
38
|
-
@s9_xslt_executable
|
39
|
-
end
|
40
|
-
|
41
|
-
private
|
42
|
-
|
43
|
-
def transformation(opts)
|
44
|
-
Transformation.new(params_merged_opts(opts).merge({
|
45
|
-
s9_transformer: @s9_xslt_executable.load30,
|
46
|
-
}))
|
47
|
-
end
|
48
|
-
|
49
|
-
def params_merged_opts(opts)
|
50
|
-
merged_opts = params_hash.dup
|
51
|
-
opts.each do |key, value|
|
52
|
-
if [:global_parameters, :initial_template_parameters, :initial_template_tunnel_parameters].include?(key)
|
53
|
-
merged_opts[key] = merged_opts.fetch(key, {}).merge(XSLT::ParameterHelper.process_parameters(value))
|
54
|
-
else
|
55
|
-
merged_opts[key] = value
|
56
|
-
end
|
57
|
-
end
|
58
|
-
merged_opts
|
59
|
-
end
|
60
|
-
|
61
|
-
def params_hash
|
62
|
-
@params_hash ||= begin
|
63
|
-
params_hash = {}
|
64
|
-
params_hash[:global_parameters] = global_parameters unless global_parameters.empty?
|
65
|
-
params_hash[:initial_template_parameters] = initial_template_parameters unless initial_template_parameters.empty?
|
66
|
-
params_hash[:initial_template_tunnel_parameters] = initial_template_tunnel_parameters unless initial_template_tunnel_parameters.empty?
|
67
|
-
params_hash
|
68
|
-
end.freeze
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
class Result
|
73
|
-
attr_reader :xdm_value
|
74
|
-
|
75
|
-
def initialize(xdm_value, s9_transformer)
|
76
|
-
@xdm_value, @s9_transformer = xdm_value, s9_transformer
|
77
|
-
end
|
78
|
-
|
79
|
-
def to_s
|
80
|
-
serializer = Serializer.new(@s9_transformer.newSerializer)
|
81
|
-
serializer.serialize(xdm_value.to_java)
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
class Transformation
|
86
|
-
attr_reader :s9_transformer, :opts
|
87
|
-
|
88
|
-
def initialize(args)
|
89
|
-
@s9_transformer = args.fetch(:s9_transformer)
|
90
|
-
@destination = args.fetch(:destination, nil)
|
91
|
-
@opts = args.reject { |opt, _|
|
92
|
-
[:s9_transformer, :destination].include?(opt)
|
93
|
-
}
|
94
|
-
@raw = false
|
95
|
-
end
|
96
|
-
|
97
|
-
def apply_templates(source)
|
98
|
-
transformation_result(:applyTemplates, source)
|
99
|
-
end
|
100
|
-
|
101
|
-
def call_template(template_name)
|
102
|
-
transformation_result(:callTemplate, Saxon::QName.resolve(template_name))
|
103
|
-
end
|
104
|
-
|
105
|
-
private
|
106
|
-
|
107
|
-
def transformation_result(invocation_method, invocation_arg)
|
108
|
-
set_opts!
|
109
|
-
transformer_args = [invocation_method, invocation_arg.to_java, destination].compact
|
110
|
-
Result.new(result_xdm_value(s9_transformer.send(*transformer_args)), s9_transformer)
|
111
|
-
end
|
112
|
-
|
113
|
-
def result_xdm_value(transformer_return_value)
|
114
|
-
XdmValue.wrap_s9_xdm_value(
|
115
|
-
transformer_return_value.nil? ? destination.getXdmNode : transformer_return_value
|
116
|
-
)
|
117
|
-
end
|
118
|
-
|
119
|
-
def destination
|
120
|
-
@destination ||= begin
|
121
|
-
Saxon::S9API::XdmDestination.new unless raw?
|
122
|
-
end
|
123
|
-
end
|
124
|
-
|
125
|
-
def set_opts!
|
126
|
-
opts.each do |opt, value|
|
127
|
-
send(opt, value)
|
128
|
-
end
|
129
|
-
end
|
130
|
-
|
131
|
-
def raw(value)
|
132
|
-
@raw = value
|
133
|
-
end
|
134
|
-
|
135
|
-
def raw?
|
136
|
-
@raw
|
137
|
-
end
|
138
|
-
|
139
|
-
def mode(mode_name)
|
140
|
-
s9_transformer.setInitialMode(Saxon::QName.resolve(mode_name).to_java)
|
141
|
-
end
|
142
|
-
|
143
|
-
def global_parameters(parameters)
|
144
|
-
s9_transformer.setStylesheetParameters(XSLT::ParameterHelper.to_java(parameters))
|
145
|
-
end
|
146
|
-
|
147
|
-
def initial_template_parameters(parameters)
|
148
|
-
s9_transformer.setInitialTemplateParameters(XSLT::ParameterHelper.to_java(parameters) , false)
|
149
|
-
end
|
150
|
-
|
151
|
-
def initial_template_tunnel_parameters(parameters)
|
152
|
-
s9_transformer.setInitialTemplateParameters(XSLT::ParameterHelper.to_java(parameters) , true)
|
153
|
-
end
|
154
|
-
end
|
155
|
-
end
|
156
|
-
end
|
data/lib/saxon_jars.rb
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
# this is a generated file, to avoid over-writing it just delete this comment
|
2
|
-
begin
|
3
|
-
require 'jar_dependencies'
|
4
|
-
rescue LoadError
|
5
|
-
require 'net/sf/saxon/Saxon-HE/9.9.1-2/Saxon-HE-9.9.1-2.jar'
|
6
|
-
end
|
7
|
-
|
8
|
-
if defined? Jars
|
9
|
-
require_jar 'net.sf.saxon', 'Saxon-HE', '9.9.1-2'
|
10
|
-
end
|