saxon-rb 0.6.0-java → 0.8.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/.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
|