ruby3mf 0.2.5 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,74 +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.error :has_commas_for_floats if bad_floating_numbers?(document)
19
- l.warning :missing_object_reference if objects_not_referenced?(document)
20
- l.error :contains_xsi_namespace if contains_xsi_namespace?(document)
21
-
22
- if schema_filename
23
- Log3mf.context "validating core schema" do |l|
24
- SchemaFiles.open(schema_filename) do |content|
25
- xsd = Nokogiri::XML::Schema(content)
26
- puts "the schema is NIL!" if xsd.nil?
27
- core_schema_errors = xsd.validate(document)
28
- l.error :invalid_xml_core if core_schema_errors.size > 0
29
- core_schema_errors.each do |error|
30
- if error_involves_colorvalue?(error)
31
- l.error :has_improper_base_color
32
- else
33
- l.error :schema_error, e: error
34
- end
35
- end
36
- end
37
- end
38
- end
39
- end
40
- end
41
-
42
- def self.objects_not_referenced?(document)
43
- document.css('object').map { |x| x.attributes["id"].value } != document.css('build/item').map { |x| x.attributes["objectid"].value }
44
- end
45
-
46
- def self.bad_floating_numbers?(document)
47
- !document.xpath('.//*[find_with_regex(., "[0-9]+\,[0-9]+")]', Class.new {
48
- def find_with_regex node_set, regex
49
- node_set.find_all { |node| node.values.any? { |v| v =~ /#{regex}/ } }
50
- end
51
- }.new).empty?
52
- end
53
-
54
- def self.space_attribute_exists?(document)
55
- !(document.xpath('//*[@xml:space]').empty?)
56
- end
57
-
58
- def self.xml_not_utf8_encoded?(document)
59
- !document.encoding.nil? && (document.encoding.to_s.downcase != 'utf-8')
60
- end
61
-
62
- def self.dtd_exists?(file)
63
- found = file.get_input_stream.find { |line| line =~ /(!DOCTYPE\b)|(!ELEMENT\b)|(!ENTITY\b)|(!NOTATION\b)|(!ATTLIST\b)/ }
64
- !found.nil?
65
- end
66
-
67
- def self.error_involves_colorvalue?(error)
68
- error.to_s.include?("ST_ColorValue") || error.to_s.include?("displaycolor")
69
- end
70
-
71
- def self.contains_xsi_namespace?(document)
72
- document.namespaces.has_value?('http://www.w3.org/2001/XMLSchema-instance')
73
- end
74
- 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/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
data/suite.011917.out CHANGED
@@ -1,237 +1,237 @@
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!
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
237
  ....................................