ruby3mf 0.2.6 → 0.2.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- ....................................