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.
@@ -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