saxon-rb 0.6.0-java → 0.8.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +623 -44
- data/.rspec-jar-loading +2 -0
- data/.ruby-version +1 -1
- data/.yardopts +1 -0
- data/README.md +1 -1
- data/Rakefile +10 -4
- data/docs/templates/plugin.rb +73 -0
- data/lib/saxon-rb.rb +0 -1
- data/lib/saxon/configuration.rb +15 -13
- data/lib/saxon/document_builder.rb +216 -5
- data/lib/saxon/feature_flags.rb +11 -0
- data/lib/saxon/feature_flags/errors.rb +8 -0
- data/lib/saxon/feature_flags/helpers.rb +15 -0
- data/lib/saxon/feature_flags/version.rb +100 -0
- data/lib/saxon/item_type.rb +116 -71
- data/lib/saxon/item_type/lexical_string_conversion.rb +78 -1
- data/lib/saxon/item_type/value_to_ruby.rb +12 -0
- data/lib/saxon/jruby_bug_6197_workaround.rb +5 -0
- data/lib/saxon/loader.rb +56 -43
- data/lib/saxon/processor.rb +6 -4
- data/lib/saxon/s9api.rb +17 -17
- data/lib/saxon/version.rb +7 -1
- data/lib/saxon/version/library.rb +89 -0
- data/lib/saxon/xdm/atomic_value.rb +16 -9
- data/lib/saxon/xdm/node.rb +30 -0
- data/lib/saxon/xpath/compiler.rb +2 -2
- data/lib/saxon/xpath/static_context.rb +6 -1
- data/lib/saxon/xslt/evaluation_context.rb +11 -1
- data/lib/saxon/xslt/executable.rb +14 -2
- data/lib/saxon/xslt/invocation.rb +2 -1
- data/saxon-rb.gemspec +1 -1
- metadata +22 -14
data/lib/saxon/xpath/compiler.rb
CHANGED
@@ -40,7 +40,7 @@ module Saxon
|
|
40
40
|
# static context.
|
41
41
|
#
|
42
42
|
# @param processor [Saxon::Processor] the {Saxon::Processor} to use
|
43
|
-
# @yield An XPath
|
43
|
+
# @yield An XPath::StaticContext::DSL block
|
44
44
|
# @return [Saxon::XPath::Compiler] the new compiler instance
|
45
45
|
def self.create(processor, &block)
|
46
46
|
static_context = XPath::StaticContext.define(block)
|
@@ -79,7 +79,7 @@ module Saxon
|
|
79
79
|
# Compiler's static context. As with {.create}, passing a block gives
|
80
80
|
# access to a DSL for setting up the compiler's static context.
|
81
81
|
#
|
82
|
-
# @yield An
|
82
|
+
# @yield An XPath::StaticContext::DSL block
|
83
83
|
# @return [Saxon::XPath::Compiler] the new compiler instance
|
84
84
|
def create(&block)
|
85
85
|
new_static_context = static_context.define(block)
|
@@ -117,7 +117,12 @@ module Saxon
|
|
117
117
|
DSL.define(block)
|
118
118
|
end
|
119
119
|
|
120
|
-
|
120
|
+
# @return [String] The default collation URI as a String
|
121
|
+
attr_reader :default_collation
|
122
|
+
# @return [Hash<Saxon::QName => Saxon::XPath::VariableDeclaration] the declared variables
|
123
|
+
attr_reader :declared_variables
|
124
|
+
# @return [Hash<String => String>] the declared namespaces, as a prefix => uri hash
|
125
|
+
attr_reader :declared_namespaces
|
121
126
|
|
122
127
|
# @return [Saxon::QName]
|
123
128
|
# @overload resolve_variable_qname(qname)
|
@@ -143,7 +143,17 @@ module Saxon
|
|
143
143
|
DSL.define(block)
|
144
144
|
end
|
145
145
|
|
146
|
-
|
146
|
+
|
147
|
+
# @return [String] The default collation URI as a String
|
148
|
+
attr_reader :default_collation
|
149
|
+
# @return [Hash<Saxon::QName => Saxon::XDM::Value>] All the static parameters
|
150
|
+
attr_reader :static_parameters
|
151
|
+
# @return [Hash<Saxon::QName => Saxon::XDM::Value>] All the global parameters
|
152
|
+
attr_reader :global_parameters
|
153
|
+
# @return [Hash<Saxon::QName => Saxon::XDM::Value>] All the initial template parameters
|
154
|
+
attr_reader :initial_template_parameters
|
155
|
+
# @return [Hash<Saxon::QName => Saxon::XDM::Value>] All the initial template parameters with tunnelling = "yes"
|
156
|
+
attr_reader :initial_template_tunnel_parameters
|
147
157
|
|
148
158
|
# @api private
|
149
159
|
# When passed a Proc, create a new EvaluationContext based on this one, with the same DSL available as in {.define}.
|
@@ -4,6 +4,7 @@ require_relative 'invocation'
|
|
4
4
|
require_relative '../serializer'
|
5
5
|
require_relative '../xdm'
|
6
6
|
require_relative '../qname'
|
7
|
+
require_relative '../feature_flags'
|
7
8
|
|
8
9
|
module Saxon
|
9
10
|
module XSLT
|
@@ -53,6 +54,7 @@ module Saxon
|
|
53
54
|
# prefix, you must use an explicit {Saxon::QName} to refer to it.
|
54
55
|
class Executable
|
55
56
|
extend Forwardable
|
57
|
+
extend Saxon::FeatureFlags::Helpers
|
56
58
|
|
57
59
|
attr_reader :evaluation_context
|
58
60
|
private :evaluation_context
|
@@ -162,6 +164,15 @@ module Saxon
|
|
162
164
|
transformation(opts.reject { |k, v| k == :args }).call_function(function_name, args)
|
163
165
|
end
|
164
166
|
|
167
|
+
# Create a {Serializer::Object} configured using the options that were set
|
168
|
+
# by +<xsl:output>+.
|
169
|
+
#
|
170
|
+
# @return [Saxon::Serializer::Object] the Serializer
|
171
|
+
def serializer
|
172
|
+
Saxon::Serializer::Object.new(@s9_xslt_executable.load30.newSerializer)
|
173
|
+
end
|
174
|
+
requires_saxon_version :serializer, '>= 9.9'
|
175
|
+
|
165
176
|
# @return [net.sf.saxon.s9api.XsltExecutable] the underlying Saxon
|
166
177
|
# +XsltExecutable+
|
167
178
|
def to_java
|
@@ -203,6 +214,7 @@ module Saxon
|
|
203
214
|
# Represents a loaded XSLT transformation ready to be applied against a
|
204
215
|
# context node.
|
205
216
|
class Transformation
|
217
|
+
# A list of valid option names for the transform
|
206
218
|
VALID_OPTS = [:raw, :mode, :global_context_item, :global_parameters, :initial_template_parameters, :initial_template_tunnel_parameters]
|
207
219
|
|
208
220
|
attr_reader :s9_transformer, :opts
|
@@ -297,11 +309,11 @@ module Saxon
|
|
297
309
|
end
|
298
310
|
|
299
311
|
def initial_template_parameters(parameters)
|
300
|
-
s9_transformer.setInitialTemplateParameters(XSLT::ParameterHelper.to_java(parameters)
|
312
|
+
s9_transformer.setInitialTemplateParameters(XSLT::ParameterHelper.to_java(parameters), false)
|
301
313
|
end
|
302
314
|
|
303
315
|
def initial_template_tunnel_parameters(parameters)
|
304
|
-
s9_transformer.setInitialTemplateParameters(XSLT::ParameterHelper.to_java(parameters)
|
316
|
+
s9_transformer.setInitialTemplateParameters(XSLT::ParameterHelper.to_java(parameters), true)
|
305
317
|
end
|
306
318
|
end
|
307
319
|
|
@@ -10,6 +10,7 @@ module Saxon
|
|
10
10
|
# IO.
|
11
11
|
class Invocation
|
12
12
|
attr_reader :s9_transformer, :invocation_lambda
|
13
|
+
private :s9_transformer, :invocation_lambda
|
13
14
|
|
14
15
|
# @api private
|
15
16
|
def initialize(s9_transformer, invocation_lambda, raw)
|
@@ -65,7 +66,7 @@ module Saxon
|
|
65
66
|
|
66
67
|
# Send the result of the transformation to the supplied Destination
|
67
68
|
#
|
68
|
-
# @param
|
69
|
+
# @param s9_destination [net.sf.saxon.s9api.Destination] the Saxon
|
69
70
|
# destination to use
|
70
71
|
# @return [nil]
|
71
72
|
def to_destination(s9_destination)
|
data/saxon-rb.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: saxon-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Matt Patterson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -17,8 +17,8 @@ dependencies:
|
|
17
17
|
- !ruby/object:Gem::Version
|
18
18
|
version: '2.0'
|
19
19
|
name: bundler
|
20
|
-
prerelease: false
|
21
20
|
type: :development
|
21
|
+
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
@@ -31,8 +31,8 @@ dependencies:
|
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '0'
|
33
33
|
name: jar-dependencies
|
34
|
-
prerelease: false
|
35
34
|
type: :development
|
35
|
+
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
@@ -45,8 +45,8 @@ dependencies:
|
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '12.0'
|
47
47
|
name: rake
|
48
|
-
prerelease: false
|
49
48
|
type: :development
|
49
|
+
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
@@ -59,8 +59,8 @@ dependencies:
|
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '3.0'
|
61
61
|
name: rspec
|
62
|
-
prerelease: false
|
63
62
|
type: :development
|
63
|
+
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
@@ -73,8 +73,8 @@ dependencies:
|
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '4.0'
|
75
75
|
name: vcr
|
76
|
-
prerelease: false
|
77
76
|
type: :development
|
77
|
+
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
@@ -87,8 +87,8 @@ dependencies:
|
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: 2.4.0
|
89
89
|
name: addressable
|
90
|
-
prerelease: false
|
91
90
|
type: :development
|
91
|
+
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
@@ -101,8 +101,8 @@ dependencies:
|
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: 2.3.2
|
103
103
|
name: webmock
|
104
|
-
prerelease: false
|
105
104
|
type: :development
|
105
|
+
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
@@ -115,8 +115,8 @@ dependencies:
|
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: 0.9.12
|
117
117
|
name: yard
|
118
|
-
prerelease: false
|
119
118
|
type: :development
|
119
|
+
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
@@ -129,8 +129,8 @@ dependencies:
|
|
129
129
|
- !ruby/object:Gem::Version
|
130
130
|
version: 0.17.1
|
131
131
|
name: simplecov
|
132
|
-
prerelease: false
|
133
132
|
type: :development
|
133
|
+
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - "~>"
|
@@ -143,8 +143,8 @@ dependencies:
|
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: '0'
|
145
145
|
name: rspec_junit_formatter
|
146
|
-
prerelease: false
|
147
146
|
type: :development
|
147
|
+
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
150
|
- - ">="
|
@@ -163,7 +163,9 @@ files:
|
|
163
163
|
- ".circleci/config.yml"
|
164
164
|
- ".gitignore"
|
165
165
|
- ".rspec"
|
166
|
+
- ".rspec-jar-loading"
|
166
167
|
- ".ruby-version"
|
168
|
+
- ".yardopts"
|
167
169
|
- CODE_OF_CONDUCT.md
|
168
170
|
- Gemfile
|
169
171
|
- LICENSE.txt
|
@@ -171,6 +173,7 @@ files:
|
|
171
173
|
- Rakefile
|
172
174
|
- bin/console
|
173
175
|
- bin/setup
|
176
|
+
- docs/templates/plugin.rb
|
174
177
|
- lib/net/sf/saxon/Saxon-HE/9.9.1-6/Saxon-HE-9.9.1-6.jar
|
175
178
|
- lib/saxon-rb.rb
|
176
179
|
- lib/saxon-rb_jars.rb
|
@@ -178,10 +181,15 @@ files:
|
|
178
181
|
- lib/saxon/axis_iterator.rb
|
179
182
|
- lib/saxon/configuration.rb
|
180
183
|
- lib/saxon/document_builder.rb
|
184
|
+
- lib/saxon/feature_flags.rb
|
185
|
+
- lib/saxon/feature_flags/errors.rb
|
186
|
+
- lib/saxon/feature_flags/helpers.rb
|
187
|
+
- lib/saxon/feature_flags/version.rb
|
181
188
|
- lib/saxon/item_type.rb
|
182
189
|
- lib/saxon/item_type/lexical_string_conversion.rb
|
183
190
|
- lib/saxon/item_type/value_to_ruby.rb
|
184
191
|
- lib/saxon/jaxp.rb
|
192
|
+
- lib/saxon/jruby_bug_6197_workaround.rb
|
185
193
|
- lib/saxon/loader.rb
|
186
194
|
- lib/saxon/nokogiri.rb
|
187
195
|
- lib/saxon/occurrence_indicator.rb
|
@@ -196,6 +204,7 @@ files:
|
|
196
204
|
- lib/saxon/serializer/output_properties.rb
|
197
205
|
- lib/saxon/source.rb
|
198
206
|
- lib/saxon/version.rb
|
207
|
+
- lib/saxon/version/library.rb
|
199
208
|
- lib/saxon/xdm.rb
|
200
209
|
- lib/saxon/xdm/array.rb
|
201
210
|
- lib/saxon/xdm/atomic_value.rb
|
@@ -238,8 +247,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
238
247
|
version: '0'
|
239
248
|
requirements:
|
240
249
|
- jar net.sf.saxon, Saxon-HE, 9.9.1-6
|
241
|
-
|
242
|
-
rubygems_version: 2.7.10
|
250
|
+
rubygems_version: 3.0.6
|
243
251
|
signing_key:
|
244
252
|
specification_version: 4
|
245
253
|
summary: Saxon 9.9 for JRuby, with an idiomatic Ruby API
|