xsd 2.8.0 → 2.8.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 40e6cbfb1356c6d21529ad7339f3ada85dbf85be27d7d0fcd3ecd59e55250192
4
- data.tar.gz: 544ea96a3cc35ac6a37f8ab8971ae7d30c1b4a89c11c80ae6475ad1fcc61a6ae
3
+ metadata.gz: c4ce386992542ac50581306a903b47c6f902db010c8f02a9894287231c15c0ba
4
+ data.tar.gz: c2f104eb7999dda90a472050ab09ab63659029cd3cbfede44206c67ad0765ae2
5
5
  SHA512:
6
- metadata.gz: 6fbc961bab3eac175a05dd99a8cbb34dce5384f682def039f708407f281cbbbe75f5ec6a57a751fff2c8fbad927fd83edf2b1e8e488f255655777a0ce7cf36d0
7
- data.tar.gz: 4f8c2fa9687ed1f4647e91884abd60d63be92fcbda2475cc3b0aa3b340f9ca6ae7fbe12d91343389de1cd0616a676c45e018e88e8dcbe557d7014ce24c02d227
6
+ metadata.gz: 55b27a9f4a09b0c01f60a360b04ffd018645599edd9c7d7e8223a51be831905064b08a9e5e4cfd6cb285967692f355308bbd4acc2b3e5c0c1df91778df752fad
7
+ data.tar.gz: 51cebb0519a4817f94045b73e2c9609f9b9d9de40cd05c31769021e5d710e5ca47acdc159982ac8526bf0fdaeee4a621017994a97b3b9c9bd8514ce1dcfd658a
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## [2.8.1] - 2026-10-18
2
+
3
+ ### Fixed
4
+
5
+ - An import/include location written with backslashes (`import\types.xsd`) is resolved as one written with
6
+ slashes. A `schemaLocation` is a URI reference, but schemas authored on Windows carry such locations; a custom
7
+ resource resolver is handed the location so normalized
8
+
1
9
  ## [2.8.0] - 2026-09-21
2
10
 
3
11
  ### Fixed
data/lib/xsd/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module XSD
4
- VERSION = '2.8.0'
4
+ VERSION = '2.8.1'
5
5
  end
data/lib/xsd/xml.rb CHANGED
@@ -130,7 +130,12 @@ module XSD
130
130
  new_schema
131
131
  end
132
132
 
133
- # Load schema referenced by an import/include, reusing an already loaded one when possible
133
+ # Load schema referenced by an import/include, reusing an already loaded one when possible.
134
+ #
135
+ # A location written with backslashes (`import\types.xsd`) is read as one written with slashes: a
136
+ # `schemaLocation` is a URI reference, where the separator is `/` alone, but schemas authored on Windows
137
+ # carry such locations, and the tools they were made with accept them. A custom resolver is handed the
138
+ # location so normalized.
134
139
  # @param [String] location
135
140
  # @param [String, nil] namespace
136
141
  # @param [String, nil] base Location of the referencing schema
@@ -138,6 +143,7 @@ module XSD
138
143
  def load_schema(location, namespace: nil, base: nil)
139
144
  raise ImportError, 'Schema location must be provided' if location.nil? || location.empty?
140
145
 
146
+ location = location.tr('\\', '/')
141
147
  expanded = expand_location(location, base)
142
148
  return @schemas_by_location[expanded] if @schemas_by_location.key?(expanded)
143
149
 
data/xsd.gemspec ADDED
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'lib/xsd/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'xsd'
7
+ spec.version = XSD::VERSION
8
+ spec.authors = ['d.arkhipov']
9
+ spec.email = ['d.arkhipov@ekzo.dev']
10
+
11
+ spec.summary = 'The Ruby XSD library is an XML Schema implementation for Ruby.'
12
+ spec.description =
13
+ 'The Ruby XSD library is an XML Schema implementation for Ruby.Provides easy and flexible access to XSD information'
14
+
15
+ spec.homepage = 'https://github.com/ekzo-dev/ruby-xsd'
16
+ spec.license = 'MIT'
17
+ spec.required_ruby_version = '>= 2.7.0'
18
+
19
+ spec.metadata['homepage_uri'] = spec.homepage
20
+ spec.metadata['source_code_uri'] = spec.homepage
21
+ spec.metadata['changelog_uri'] = 'https://github.com/ekzo-dev/ruby-xsd/blob/main/CHANGELOG.md'
22
+
23
+ # Specify which files should be added to the gem when it is released.
24
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
25
+ spec.files = Dir.chdir(__dir__) do
26
+ `git ls-files -z`.split("\x0").reject do |f|
27
+ (File.expand_path(f) == __FILE__) || f.start_with?(*%w[bin/ test/ spec/ features/ .git .circleci appveyor])
28
+ end
29
+ end
30
+ spec.bindir = 'exe'
31
+ spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
32
+ spec.require_paths = ['lib']
33
+
34
+ spec.add_dependency 'builder', '~> 3.2'
35
+ spec.add_dependency 'nokogiri', '~> 1.11'
36
+ spec.add_dependency 'rake', '~> 13.0'
37
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xsd
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.0
4
+ version: 2.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - d.arkhipov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-09-21 00:00:00.000000000 Z
11
+ date: 2026-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: builder
@@ -111,6 +111,7 @@ files:
111
111
  - lib/xsd/shared/simple_typed.rb
112
112
  - lib/xsd/version.rb
113
113
  - lib/xsd/xml.rb
114
+ - xsd.gemspec
114
115
  homepage: https://github.com/ekzo-dev/ruby-xsd
115
116
  licenses:
116
117
  - MIT