saxon 0.2.2-java → 0.4.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|