ruby3mf 0.2.6 → 0.2.7

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.
@@ -1,68 +1,68 @@
1
- require 'nokogiri'
2
-
3
- class XmlVal
4
-
5
- def self.validate_parse(xml_file, schema_name = nil)
6
- doc = Nokogiri::XML(xml_file.get_input_stream) do |config|
7
- config.strict.nonet.noblanks
8
- end
9
- validate(xml_file, doc, schema_name)
10
- doc
11
- end
12
-
13
- def self.validate(file, document, schema_filename = nil)
14
- Log3mf.context "validations" do |l|
15
- l.error :has_xml_space_attribute if space_attribute_exists?(document)
16
- l.error :wrong_encoding if xml_not_utf8_encoded?(document)
17
- l.error :dtd_not_allowed if dtd_exists?(file)
18
- l.warning :missing_object_reference if objects_not_referenced?(document)
19
- l.error :contains_xsi_namespace if contains_xsi_namespace?(document)
20
-
21
- if schema_filename
22
- Log3mf.context "validating core schema" do |l|
23
- SchemaFiles.open(schema_filename) do |content|
24
- log_schema_errors(Nokogiri::XML::Schema.new(content).validate(document), l)
25
- end
26
- end
27
- end
28
- end
29
- end
30
-
31
- def self.log_schema_errors(core_schema_errors, l)
32
- l.error :invalid_xml_core if core_schema_errors.size > 0
33
- core_schema_errors.each do |error|
34
- case error.message
35
- when /(ST_ColorValue\b)|(displaycolor\b)/
36
- l.error :has_improper_base_color
37
- when /(ST_Number\b)|(numbers not formatted\b)/
38
- l.error :has_commas_for_floats, e: "line: #{error.line}, #{error.message}"
39
- else
40
- l.error :schema_error, e: "line: #{error.line}, #{error.message}"
41
- end
42
- end
43
- end
44
-
45
- def self.objects_not_referenced?(document)
46
- document.css('object').map { |x| x.attributes["id"].value } != document.css('build/item').map { |x| x.attributes["objectid"].value }
47
- end
48
-
49
- def self.space_attribute_exists?(document)
50
- !(document.xpath('//*[@xml:space]').empty?)
51
- end
52
-
53
- def self.xml_not_utf8_encoded?(document)
54
- !document.encoding.nil? && (document.encoding.to_s.downcase != 'utf-8')
55
- end
56
-
57
- def self.dtd_exists?(file)
58
- file.get_input_stream.read.match(/(!DOCTYPE\b)|(!ELEMENT\b)|(!ENTITY\b)|(!NOTATION\b)|(!ATTLIST\b)/)
59
- end
60
-
61
- def self.error_involves_colorvalue?(error)
62
- error.to_s.include?("ST_ColorValue") || error.to_s.include?("displaycolor")
63
- end
64
-
65
- def self.contains_xsi_namespace?(document)
66
- document.namespaces.has_value?('http://www.w3.org/2001/XMLSchema-instance')
67
- end
68
- end
1
+ require 'nokogiri'
2
+
3
+ class XmlVal
4
+
5
+ def self.validate_parse(xml_file, schema_name = nil)
6
+ doc = Nokogiri::XML(xml_file.get_input_stream) do |config|
7
+ config.strict.nonet.noblanks
8
+ end
9
+ validate(xml_file, doc, schema_name)
10
+ doc
11
+ end
12
+
13
+ def self.validate(file, document, schema_filename = nil)
14
+ Log3mf.context "validations" do |l|
15
+ l.error :has_xml_space_attribute if space_attribute_exists?(document)
16
+ l.error :wrong_encoding if xml_not_utf8_encoded?(document)
17
+ l.error :dtd_not_allowed if dtd_exists?(file)
18
+ l.warning :missing_object_reference if objects_not_referenced?(document)
19
+ l.error :contains_xsi_namespace if contains_xsi_namespace?(document)
20
+
21
+ if schema_filename
22
+ Log3mf.context "validating core schema" do |l|
23
+ SchemaFiles.open(schema_filename) do |content|
24
+ log_schema_errors(Nokogiri::XML::Schema.new(content).validate(document), l)
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
30
+
31
+ def self.log_schema_errors(core_schema_errors, l)
32
+ l.error :invalid_xml_core if core_schema_errors.size > 0
33
+ core_schema_errors.each do |error|
34
+ case error.message
35
+ when /(ST_ColorValue\b)|(displaycolor\b)/
36
+ l.error :has_improper_base_color
37
+ when /(ST_Number\b)|(numbers not formatted\b)/
38
+ l.error :has_commas_for_floats, e: "line: #{error.line}, #{error.message}"
39
+ else
40
+ l.error :schema_error, e: "line: #{error.line}, #{error.message}"
41
+ end
42
+ end
43
+ end
44
+
45
+ def self.objects_not_referenced?(document)
46
+ document.css('object').map { |x| x.attributes["id"].value } != document.css('build/item').map { |x| x.attributes["objectid"].value }
47
+ end
48
+
49
+ def self.space_attribute_exists?(document)
50
+ !(document.xpath('//*[@xml:space]').empty?)
51
+ end
52
+
53
+ def self.xml_not_utf8_encoded?(document)
54
+ !document.encoding.nil? && (document.encoding.to_s.downcase != 'utf-8')
55
+ end
56
+
57
+ def self.dtd_exists?(file)
58
+ file.get_input_stream.read.match(/(!DOCTYPE\b)|(!ELEMENT\b)|(!ENTITY\b)|(!NOTATION\b)|(!ATTLIST\b)/)
59
+ end
60
+
61
+ def self.error_involves_colorvalue?(error)
62
+ error.to_s.include?("ST_ColorValue") || error.to_s.include?("displaycolor")
63
+ end
64
+
65
+ def self.contains_xsi_namespace?(document)
66
+ document.namespaces.has_value?('http://www.w3.org/2001/XMLSchema-instance')
67
+ end
68
+ end
data/lib/ruby3mf.rb CHANGED
@@ -1,26 +1,26 @@
1
- require_relative "ruby3mf/version"
2
- require_relative "ruby3mf/interpolation"
3
- require_relative "ruby3mf/schema_files"
4
- require_relative "ruby3mf/log3mf"
5
- require_relative "ruby3mf/document"
6
- require_relative "ruby3mf/content_types"
7
- require_relative "ruby3mf/model3mf"
8
- require_relative "ruby3mf/relationships"
9
- require_relative "ruby3mf/thumbnail3mf"
10
- require_relative "ruby3mf/texture3mf"
11
- require_relative "ruby3mf/xml_val"
12
- require_relative "ruby3mf/edge_list"
13
- require_relative "ruby3mf/mesh_analyzer"
14
- require_relative "ruby3mf/mesh_normal_analyzer"
15
-
16
- require 'zip'
17
- require 'nokogiri'
18
- require 'json'
19
- require 'mimemagic'
20
- require 'uri'
21
- require 'yaml'
22
- require "addressable/uri"
23
-
24
- module Ruby3mf
25
- # Your code goes here...
26
- end
1
+ require_relative "ruby3mf/version"
2
+ require_relative "ruby3mf/interpolation"
3
+ require_relative "ruby3mf/schema_files"
4
+ require_relative "ruby3mf/log3mf"
5
+ require_relative "ruby3mf/document"
6
+ require_relative "ruby3mf/content_types"
7
+ require_relative "ruby3mf/model3mf"
8
+ require_relative "ruby3mf/relationships"
9
+ require_relative "ruby3mf/thumbnail3mf"
10
+ require_relative "ruby3mf/texture3mf"
11
+ require_relative "ruby3mf/xml_val"
12
+ require_relative "ruby3mf/edge_list"
13
+ require_relative "ruby3mf/mesh_analyzer"
14
+ require_relative "ruby3mf/mesh_normal_analyzer"
15
+
16
+ require 'zip'
17
+ require 'nokogiri'
18
+ require 'json'
19
+ require 'mimemagic'
20
+ require 'uri'
21
+ require 'yaml'
22
+ require "addressable/uri"
23
+
24
+ module Ruby3mf
25
+ # Your code goes here...
26
+ end
data/ruby3mf.gemspec CHANGED
@@ -1,32 +1,32 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'ruby3mf/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = "ruby3mf"
8
- spec.version = Ruby3mf::VERSION
9
- spec.authors = ["Mike Whitmarsh, Jeff Porter, and William Hertling"]
10
- spec.email = ["mwhit@hp.com", "jeff.porter@hp.com", "william.hertling@hp.com"]
11
-
12
- spec.summary = %q{Read, write and validate 3MF files with Ruby}
13
- spec.description = %q{Read, write and validate 3MF files with Ruby easily.}
14
- spec.homepage = "https://github.com/IPGPTP/ruby3mf"
15
- spec.license = "MIT"
16
-
17
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
- spec.bindir = "exe"
19
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
- spec.require_paths = ["lib"]
21
-
22
- spec.add_development_dependency "bundler", "~> 1.11"
23
- spec.add_development_dependency "rake", "~> 10.0"
24
- spec.add_development_dependency "rspec", "~> 3.5"
25
- spec.add_development_dependency "simplecov"
26
-
27
- spec.add_runtime_dependency 'rubyzip'
28
- spec.add_runtime_dependency 'nokogiri', '~>1.6.8'
29
- spec.add_runtime_dependency 'mimemagic'
30
- spec.add_runtime_dependency 'mini_magick', '~> 4.6'
31
- spec.add_runtime_dependency 'addressable', '~> 2.5'
32
- end
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'ruby3mf/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "ruby3mf"
8
+ spec.version = Ruby3mf::VERSION
9
+ spec.authors = ["Mike Whitmarsh, Jeff Porter, and William Hertling"]
10
+ spec.email = ["mwhit@hp.com", "jeff.porter@hp.com", "william.hertling@hp.com"]
11
+
12
+ spec.summary = %q{Read, write and validate 3MF files with Ruby}
13
+ spec.description = %q{Read, write and validate 3MF files with Ruby easily.}
14
+ spec.homepage = "https://github.com/IPGPTP/ruby3mf"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.bindir = "exe"
19
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_development_dependency "bundler", "~> 1.11"
23
+ spec.add_development_dependency "rake", "~> 10.0"
24
+ spec.add_development_dependency "rspec", "~> 3.5"
25
+ spec.add_development_dependency "simplecov"
26
+
27
+ spec.add_runtime_dependency 'rubyzip'
28
+ spec.add_runtime_dependency 'nokogiri', '~>1.6.8'
29
+ spec.add_runtime_dependency 'mimemagic'
30
+ spec.add_runtime_dependency 'mini_magick', '~> 4.6'
31
+ spec.add_runtime_dependency 'addressable', '~> 2.5'
32
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby3mf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Whitmarsh, Jeff Porter, and William Hertling
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-02-03 00:00:00.000000000 Z
11
+ date: 2017-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -180,7 +180,6 @@ files:
180
180
  - lib/ruby3mf/xml.xsd
181
181
  - lib/ruby3mf/xml_val.rb
182
182
  - ruby3mf.gemspec
183
- - suite.011917.out
184
183
  homepage: https://github.com/IPGPTP/ruby3mf
185
184
  licenses:
186
185
  - MIT
@@ -201,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
200
  version: '0'
202
201
  requirements: []
203
202
  rubyforge_project:
204
- rubygems_version: 2.4.8
203
+ rubygems_version: 2.6.8
205
204
  signing_key:
206
205
  specification_version: 4
207
206
  summary: Read, write and validate 3MF files with Ruby
data/suite.011917.out DELETED
@@ -1,237 +0,0 @@
1
-
2
-
3
- Positive
4
- ...............
5
- ../3mf-test-suite/Positive/PC_304_01.3mf
6
- {:context=>"zip/relationship elements//Metadata/core.prop", :severity=>:error, :message=>"Invalid relationship type 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties' specified in .rels relationship file. Parts in the 3D payload MUST use one of the appropriate relationship types to establish that relationship between two parts in the payload."}
7
- .
8
- ../3mf-test-suite/Positive/PC_305_01.3mf
9
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/verifying 3D payload required resources/verifying 3D resource types", :severity=>:error, :message=>"Resource in model has invalid contenttype image/png"}
10
- {:context=>"zip/relationship elements//3D/Textures/texture.png/Texture3mf", :severity=>:fatal_error, :message=>"Texture file must be valid image file"}
11
- .............
12
- ../3mf-test-suite/Positive/PC_312_01.3mf
13
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/verifying resources", :severity=>:error, :message=>"resources must be unique within the model"}
14
- .................................................................................
15
- ../3mf-test-suite/Positive/PM_909_02.3mf
16
- {:context=>"zip/relationship elements//2D/337.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
17
- .
18
- ../3mf-test-suite/Positive/PM_909_03.3mf
19
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/checking metadata", :severity=>:error, :message=>"Metadata without a namespace name must only contain allowed name values"}
20
- .
21
- ../3mf-test-suite/Positive/PM_909_04.3mf
22
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
23
- ..
24
- ../3mf-test-suite/Positive/PO_101_01.3mf
25
- {:context=>"zip/content types", :severity=>:error, :message=>"Required 3D model payload not found with provided Content Type model extension: .ModeL"}
26
- .
27
- ../3mf-test-suite/Positive/PO_101_02.3mf
28
- {:context=>"zip/relationship elements//2D/ffffa2c3-ba74-4bea-a4d0-167a4211134d/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
29
- .
30
- ../3mf-test-suite/Positive/PO_101_03.3mf
31
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
32
- .
33
- ../3mf-test-suite/Positive/PO_102_01.3mf
34
- {:context=>"zip/content types/parse", :severity=>:error, :message=>"[Content_Types].xml is missing required ContentType \"application/vnd.ms-package.3dmanufacturing-3dmodel+xml\""}
35
- {:context=>"zip/content types", :severity=>:error, :message=>"Required 3D model payload not found with provided Content Type model extension: ."}
36
- {:context=>"zip/relationship elements//2D/ffffa2c3-ba74-4bea-a4d0-167a4211134d.moodel/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
37
- .
38
- ../3mf-test-suite/Positive/PO_102_02.3mf
39
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
40
- ..
41
- ../3mf-test-suite/Positive/PO_103_01.3mf
42
- {:context=>"zip/relationship elements//2D/ffffa2c3-ba74-4bea-a4d0-167a4211134d.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
43
- .
44
- ../3mf-test-suite/Positive/PO_104_01.3mf
45
- {:context=>"zip/relationship elements//2D/1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
46
- .
47
- ../3mf-test-suite/Positive/PO_104_02.3mf
48
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
49
- .
50
- ../3mf-test-suite/Positive/PO_104_03.3mf
51
- {:context=>"zip/part names /2D/fdfd166f-4f4c-4259-bb96-01e4fb03\xC3\x86381.model", :severity=>:fatal_error, :message=>"This NEVER Happens! mdw 12Jan2017"}
52
- .
53
- ../3mf-test-suite/Positive/PO_105_02.3mf
54
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
55
- .
56
- ../3mf-test-suite/Positive/PO_105_03.3mf
57
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
58
- ..
59
- ../3mf-test-suite/Positive/PO_105_05.3mf
60
- {:context=>"zip/relationship elements//2D/9e1cbf53-9bb1-48fb-aced-acbb9cbbe79f.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
61
- ..
62
- ../3mf-test-suite/Positive/PO_105_07.3mf
63
- {:context=>"zip/relationship elements//2D/9e1cbf53-9bb1-48fb-aced-acbb9cbbe79f.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
64
- .
65
- ../3mf-test-suite/Positive/PO_105_09.3mf
66
- {:context=>"zip/relationship elements//2D/9e1cbf53-9bb1-48fb-aced-acbb9cbbe79f.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
67
- ...
68
- ../3mf-test-suite/Positive/PO_106_01.3mf
69
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
70
- ..
71
- ../3mf-test-suite/Positive/PO_107_01.3mf
72
- {:context=>"zip/relationship elements//2D/ffffa2c3-ba74-4bea-a4d0-167a4211134d.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
73
- .
74
- ../3mf-test-suite/Positive/PO_107_02.3mf
75
- {:context=>"zip/relationship elements//2D/ffffa2c3-ba74-4bea-a4d0-167a4211134d.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
76
- .
77
- ../3mf-test-suite/Positive/PO_108_01.3mf
78
- {:context=>"zip/relationship elements//2D/ffffa2c3-ba74-4bea-a4d0-167a4211134d.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
79
- .
80
- ../3mf-test-suite/Positive/PP_701_01.3mf
81
- {:context=>"zip/relationship elements//2D/7b7c4f2f-3b64-49b9-a098-a978332e8d1a.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
82
- .
83
- ../3mf-test-suite/Positive/PP_701_02.3mf
84
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
85
- .
86
- ../3mf-test-suite/Positive/PP_701_04.3mf
87
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
88
- .
89
- ../3mf-test-suite/Positive/PP_701_05.3mf
90
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
91
- ..
92
- ../3mf-test-suite/Positive/PP_701_07.3mf
93
- {:context=>"zip/relationship elements//2D/d9d8d141-23ff-4cdc-8da1-66b33dd69757.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
94
- .
95
- ../3mf-test-suite/Positive/PP_701_08.3mf
96
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
97
- .
98
- ../3mf-test-suite/Positive/PP_701_09.3mf
99
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
100
- .
101
- ../3mf-test-suite/Positive/PP_701_11.3mf
102
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
103
- .
104
- ../3mf-test-suite/Positive/PP_701_12.3mf
105
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/verifying 3D payload required resources/verifying StartPart relationship points to the root 3D Model", :severity=>:fatal_error, :message=>"Invalid StartPart target '/3D/3dmodel.model'. The 3MF Document StartPart relationship MUST point to the 3D Model part that identifies the root of the 3D payload."}
106
- .
107
- ../3mf-test-suite/Positive/PP_701_13.3mf
108
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
109
- .
110
- ../3mf-test-suite/Positive/PP_701_14.3mf
111
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
112
- ...
113
- ../3mf-test-suite/Positive/PP_701_17.3mf
114
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
115
- .
116
- ../3mf-test-suite/Positive/PP_701_18.3mf
117
- {:context=>"zip/relationship elements//2D/0082f270-d84a-4646-8510-05bc3490bd6f.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
118
- .
119
- ../3mf-test-suite/Positive/PP_701_19.3mf
120
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
121
- .
122
- ../3mf-test-suite/Positive/PP_701_20.3mf
123
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
124
- .
125
- ../3mf-test-suite/Positive/PP_701_21.3mf
126
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
127
- ..
128
- ../3mf-test-suite/Positive/PP_701_23.3mf
129
- {:context=>"zip/relationship elements//2D/dbc5f09a-6bf4-4e9b-9b70-0e418111e81f.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
130
- ...
131
- ../3mf-test-suite/Positive/PP_701_26.3mf
132
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
133
- .
134
- ../3mf-test-suite/Positive/PP_701_27.3mf
135
- {:context=>"zip/relationship elements//2D/topref.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
136
- .
137
- ../3mf-test-suite/Positive/PP_701_30.3mf
138
- {:context=>"zip/relationship elements//2D/0c853b1f-388f-4bd0-a23e-45426e2aa769.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
139
- ..
140
- ../3mf-test-suite/Positive/PP_701_32.3mf
141
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/verifying 3D payload required resources/verifying StartPart relationship points to the root 3D Model", :severity=>:fatal_error, :message=>"Invalid StartPart target '/3D/3dmodel.model'. The 3MF Document StartPart relationship MUST point to the 3D Model part that identifies the root of the 3D payload."}
142
- .
143
- ../3mf-test-suite/Positive/PP_703_01.3mf
144
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
145
- .
146
- ../3mf-test-suite/Positive/PP_704_01.3mf
147
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
148
- ......
149
- ../3mf-test-suite/Positive/PS_502_03.3mf
150
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
151
- .
152
- ../3mf-test-suite/Positive/PS_502_04.3mf
153
- {:context=>"zip/relationship elements//2D/ffffa2c3-ba74-4bea-a4d0-167a4211134d.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
154
- .
155
- ../3mf-test-suite/Positive/PS_502_05.3mf
156
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
157
- .
158
- ../3mf-test-suite/Positive/PS_503_01.3mf
159
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
160
- .
161
- ../3mf-test-suite/Positive/PS_503_02.3mf
162
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
163
- ...
164
- ../3mf-test-suite/Positive/PS_505_01.3mf
165
- {:context=>"zip/relationship elements//2D/917d27a5-e210-4bd8-a430-0dacc3be6d95.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
166
- .
167
- ../3mf-test-suite/Positive/PS_505_02.3mf
168
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
169
- ..
170
- ../3mf-test-suite/Positive/PS_506_01.3mf
171
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/verifying resources", :severity=>:error, :message=>"resources must be unique within the model"}
172
- {:context=>"zip/relationship elements//2D/ad8bd6de-d9b5-446a-8fcd-e75a3bc63c8b.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
173
- .....
174
- ../3mf-test-suite/Positive/PS_509_02.3mf
175
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
176
- ..
177
- ../3mf-test-suite/Positive/PS_509_04.3mf
178
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
179
- ..
180
- ../3mf-test-suite/Positive/PS_511_01.3mf
181
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
182
- .
183
- ../3mf-test-suite/Positive/PS_511_02.3mf
184
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
185
- .
186
- ../3mf-test-suite/Positive/PS_511_03.3mf
187
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
188
- .
189
- ../3mf-test-suite/Positive/PS_511_04.3mf
190
- {:context=>"zip/relationship elements//2D/ffffa2c3-ba74-4bea-a4d0-167a4211134d.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
191
- ...
192
- ../3mf-test-suite/Positive/PS_512_01.3mf
193
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
194
- ..
195
- ../3mf-test-suite/Positive/PS_513_02.3mf
196
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
197
- .
198
- ../3mf-test-suite/Positive/PS_513_03.3mf
199
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
200
- .
201
- ../3mf-test-suite/Positive/PS_514_01.3mf
202
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
203
- ..
204
- ../3mf-test-suite/Positive/PS_515_01.3mf
205
- {:context=>"zip/relationship elements//2D/9e1cbf53-9bb1-48fb-aced-acbb9cbbe79f.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
206
- .
207
- ../3mf-test-suite/Positive/PS_516_01.3mf
208
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/verifying 3D payload required resources/verifying StartPart relationship points to the root 3D Model", :severity=>:fatal_error, :message=>"Invalid StartPart target '/3D/3dmodel.model'. The 3MF Document StartPart relationship MUST point to the 3D Model part that identifies the root of the 3D payload."}
209
- .
210
- ../3mf-test-suite/Positive/PS_516_02.3mf
211
- {:context=>"zip/relationship elements//3D/3dmodel.model/parsing model/validations/validating core schema", :severity=>:fatal_error, :message=>"Model file invalid XML. Exception attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration."}
212
-
213
-
214
- Negative
215
- ...............
216
- ../3mf-test-suite/Negative/NC_405_04.3mf - No Errors Found!
217
- .....
218
- ../3mf-test-suite/Negative/NC_407_02.3mf - No Errors Found!
219
- .......
220
- ../3mf-test-suite/Negative/NC_411_01.3mf - No Errors Found!
221
- .....
222
- ../3mf-test-suite/Negative/NC_413_01.3mf - No Errors Found!
223
- .................
224
- ../3mf-test-suite/Negative/NO_202_01.3mf - No Errors Found!
225
- ...
226
- ../3mf-test-suite/Negative/NO_205_01.3mf - No Errors Found!
227
- .
228
- ../3mf-test-suite/Negative/NO_205_02.3mf - No Errors Found!
229
- ....
230
- ../3mf-test-suite/Negative/NP_801_01.3mf - No Errors Found!
231
- ...
232
- ../3mf-test-suite/Negative/NP_801_04.3mf - No Errors Found!
233
- ...
234
- ../3mf-test-suite/Negative/NP_801_07.3mf - No Errors Found!
235
- .
236
- ../3mf-test-suite/Negative/NP_801_08.3mf - No Errors Found!
237
- ....................................