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.
@@ -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 compiler DSL block
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 {XPath::StaticContext::DSL} block
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
- attr_reader :declared_variables, :declared_namespaces, :default_collation
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
- attr_reader :default_collation, :static_parameters, :global_parameters, :initial_template_parameters, :initial_template_tunnel_parameters
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) , false)
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) , true)
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 destination [net.sf.saxon.s9api.Destination] the Saxon
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)
@@ -5,7 +5,7 @@ require 'saxon/version'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'saxon-rb'
8
- spec.version = Saxon::VERSION
8
+ spec.version = Saxon::Version::WRAPPER
9
9
  spec.authors = ['Matt Patterson']
10
10
  spec.email = ['matt@werkstatt.io']
11
11
 
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.6.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-02-19 00:00:00.000000000 Z
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
- rubyforge_project:
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