I'm giving a try to your gem (1.0.18) with Rub enterprise edition (1.8.7 (2012-02-08 MBARI 8/0x6770 on patchlevel 358) [i686-darwin11.3.0], MBARI 0x6770, Ruby Enterprise Edition 2012.02) and ruby 1.9.3 (ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]), but the validations are failing:
>> require 'axlsx.rb'
=> []
>>
?> p = Axlsx::Package.new
=> #<Axlsx::Package:0x110c7c4a8 @workbook=nil, @app=#<Axlsx::App:0x110c7c3e0>, @core=#<Axlsx::Core:0x110c7c408 @creator="axlsx">>
>> wb = p.workbook
=> #<Axlsx::Workbook:0x110c79690 @worksheets=#<Axlsx::SimpleTypedList:0x110c71da0 @locked_at=nil, @allowed_types=[Axlsx::Worksheet], @list=[], @serialize_as=nil>, @charts=#<Axlsx::SimpleTypedList:0x110c71cb0 @locked_at=nil, @allowed_types=[Axlsx::Chart], @list=[], @serialize_as=nil>, @images=#<Axlsx::SimpleTypedList:0x110c71c38 @locked_at=nil, @allowed_types=[Axlsx::Pic], @list=[], @serialize_as=nil>, @drawings=#<Axlsx::SimpleTypedList:0x110c71d78 @locked_at=nil, @allowed_types=[Axlsx::Drawing], @list=[], @serialize_as=nil>, @styles=#<Axlsx::Styles:0x110c79618 @fonts=#<Axlsx::SimpleTypedList:0x110c78b28 @locked_at=1, @allowed_types=[Axlsx::Font], @list=[#<Axlsx::Font:0x110c78a10 @sz=11, @name="Arial", @family=1>], @serialize_as="fonts">, @cellXfs=#<Axlsx::SimpleTypedList:0x110c744b0 @locked_at=3, @allowed_types=[Axlsx::Xf], @list=[#<Axlsx::Xf:0x110c743c0 @borderId=0, @fillId=0, @numFmtId=0, @fontId=0, @xfId=0>, #<Axlsx::Xf:0x110c738a8 @borderId=1, @fillId=0, @numFmtId=0, @fontId=0, @xfId=0>, #<Axlsx::Xf:0x110c72d40 @borderId=0, @applyNumberFormat=1, @fillId=0, @numFmtId=14, @fontId=0, @xfId=0>], @serialize_as="cellXfs">, @fills=#<Axlsx::SimpleTypedList:0x110c783f8 @locked_at=2, @allowed_types=[Axlsx::Fill], @list=[#<Axlsx::Fill:0x110c782e0 @fill_type=#<Axlsx::PatternFill:0x110c78308 @patternType=:none>>, #<Axlsx::Fill:0x110c77f98 @fill_type=#<Axlsx::PatternFill:0x110c78010 @patternType=:gray125>>], @serialize_as="fills">, @cellStyles=#<Axlsx::SimpleTypedList:0x110c74be0 @locked_at=1, @allowed_types=[Axlsx::CellStyle], @list=[#<Axlsx::CellStyle:0x110c74ac8 @name="Normal", @builtinId=0, @xfId=0>], @serialize_as="cellStyles">, @numFmts=#<Axlsx::SimpleTypedList:0x110c79578 @locked_at=2, @allowed_types=[Axlsx::NumFmt], @list=[#<Axlsx::NumFmt:0x110c794b0 @formatCode="yyyy/mm/dd", @numFmtId=100>, #<Axlsx::NumFmt:0x110c78fb0 @formatCode="yyyy/mm/dd hh:mm:ss", @numFmtId=101>], @serialize_as="numFmts">, @cellStyleXfs=#<Axlsx::SimpleTypedList:0x110c755e0 @locked_at=1, @allowed_types=[Axlsx::Xf], @list=[#<Axlsx::Xf:0x110c754f0 @borderId=0, @fillId=0, @numFmtId=0, @fontId=0>], @serialize_as="cellStyleXfs">, @tableStyles=#<Axlsx::TableStyles:0x110c71dc8 @locked_at=0, @allowed_types=[Axlsx::TableStyle], @list=[], @defaultPivotStyle="PivotStyleLight16", @defaultTableStyle="TableStyleMedium9", @serialize_as=nil>, @dxfs=#<Axlsx::SimpleTypedList:0x110c71f08 @locked_at=0, @allowed_types=[Axlsx::Xf], @list=[], @serialize_as="dxfs">, @borders=#<Axlsx::SimpleTypedList:0x110c77cc8 @locked_at=2, @allowed_types=[Axlsx::Border], @list=[#<Axlsx::Border:0x110c77c50 @prs=#<Axlsx::SimpleTypedList:0x110c77b88 @locked_at=nil, @allowed_types=[Axlsx::BorderPr], @list=[], @serialize_as=nil>>, #<Axlsx::Border:0x110c77a48 @prs=#<Axlsx::SimpleTypedList:0x110c779f8 @locked_at=nil, @allowed_types=[Axlsx::BorderPr], @list=[#<Axlsx::BorderPr:0x110c775e8 @name=:left, @style=:thin, @color=#<Axlsx::Color:0x110c778b8 @rgb="FF000000">>, #<Axlsx::BorderPr:0x110c76d28 @name=:right, @style=:thin, @color=#<Axlsx::Color:0x110c76ff8 @rgb="FF000000">>, #<Axlsx::BorderPr:0x110c76468 @name=:top, @style=:thin, @color=#<Axlsx::Color:0x110c76738 @rgb="FF000000">>, #<Axlsx::BorderPr:0x110c75ba8 @name=:bottom, @style=:thin, @color=#<Axlsx::Color:0x110c75e78 @rgb="FF000000">>], @serialize_as=nil>>], @serialize_as="borders">>>
>>
?> p.validate.each { |e| puts e.message }
Element '{http://schemas.openxmlformats.org/package/2006/content-types}Default', attribute 'ContentType': [facet 'pattern'] The value 'application/vnd.openxmlformats-package.relationships+xml' is not accepted by the pattern '(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))/((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))((\s+)*;(\s+)*(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))=((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)|("(([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}�"\n\r]]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)'.
Element '{http://schemas.openxmlformats.org/package/2006/content-types}Default', attribute 'ContentType': 'application/vnd.openxmlformats-package.relationships+xml' is not a valid value of the atomic type '{http://schemas.openxmlformats.org/package/2006/content-types}ST_ContentType'.
Element '{http://schemas.openxmlformats.org/package/2006/content-types}Default', attribute 'ContentType': [facet 'pattern'] The value 'application/xml' is not accepted by the pattern '(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))/((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))((\s+)*;(\s+)*(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))=((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)|("(([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}�"\n\r]]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)'.
Element '{http://schemas.openxmlformats.org/package/2006/content-types}Default', attribute 'ContentType': 'application/xml' is not a valid value of the atomic type '{http://schemas.openxmlformats.org/package/2006/content-types}ST_ContentType'.
Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': [facet 'pattern'] The value 'application/vnd.openxmlformats-officedocument.extended-properties+xml' is not accepted by the pattern '(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))/((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))((\s+)*;(\s+)*(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))=((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)|("(([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}�"\n\r]]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)'.
Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': 'application/vnd.openxmlformats-officedocument.extended-properties+xml' is not a valid value of the atomic type '{http://schemas.openxmlformats.org/package/2006/content-types}ST_ContentType'.
Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': [facet 'pattern'] The value 'application/vnd.openxmlformats-package.core-properties+xml' is not accepted by the pattern '(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))/((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))((\s+)*;(\s+)*(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))=((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)|("(([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}�"\n\r]]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)'.
Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': 'application/vnd.openxmlformats-package.core-properties+xml' is not a valid value of the atomic type '{http://schemas.openxmlformats.org/package/2006/content-types}ST_ContentType'.
Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': [facet 'pattern'] The value 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml' is not accepted by the pattern '(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))/((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))((\s+)*;(\s+)*(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))=((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)|("(([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}�"\n\r]]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)'.
Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml' is not a valid value of the atomic type '{http://schemas.openxmlformats.org/package/2006/content-types}ST_ContentType'.
Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': [facet 'pattern'] The value 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml' is not accepted by the pattern '(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))/((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))((\s+)*;(\s+)*(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))=((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)|("(([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}�"\n\r]]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)'.
Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml' is not a valid value of the atomic type '{http://schemas.openxmlformats.org/package/2006/content-types}ST_ContentType'.
=> [#<Nokogiri::XML::SyntaxError: Element '{http://schemas.openxmlformats.org/package/2006/content-types}Default', attribute 'ContentType': [facet 'pattern'] The value 'application/vnd.openxmlformats-package.relationships+xml' is not accepted by the pattern '(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))/((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))((\s+)*;(\s+)*(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))=((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)|("(([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}�"\n\r]]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)'.>, #<Nokogiri::XML::SyntaxError: Element '{http://schemas.openxmlformats.org/package/2006/content-types}Default', attribute 'ContentType': 'application/vnd.openxmlformats-package.relationships+xml' is not a valid value of the atomic type '{http://schemas.openxmlformats.org/package/2006/content-types}ST_ContentType'.>, #<Nokogiri::XML::SyntaxError: Element '{http://schemas.openxmlformats.org/package/2006/content-types}Default', attribute 'ContentType': [facet 'pattern'] The value 'application/xml' is not accepted by the pattern '(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))/((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))((\s+)*;(\s+)*(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))=((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)|("(([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}�"\n\r]]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)'.>, #<Nokogiri::XML::SyntaxError: Element '{http://schemas.openxmlformats.org/package/2006/content-types}Default', attribute 'ContentType': 'application/xml' is not a valid value of the atomic type '{http://schemas.openxmlformats.org/package/2006/content-types}ST_ContentType'.>, #<Nokogiri::XML::SyntaxError: Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': [facet 'pattern'] The value 'application/vnd.openxmlformats-officedocument.extended-properties+xml' is not accepted by the pattern '(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))/((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))((\s+)*;(\s+)*(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))=((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)|("(([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}�"\n\r]]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)'.>, #<Nokogiri::XML::SyntaxError: Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': 'application/vnd.openxmlformats-officedocument.extended-properties+xml' is not a valid value of the atomic type '{http://schemas.openxmlformats.org/package/2006/content-types}ST_ContentType'.>, #<Nokogiri::XML::SyntaxError: Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': [facet 'pattern'] The value 'application/vnd.openxmlformats-package.core-properties+xml' is not accepted by the pattern '(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))/((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))((\s+)*;(\s+)*(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))=((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)|("(([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}�"\n\r]]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)'.>, #<Nokogiri::XML::SyntaxError: Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': 'application/vnd.openxmlformats-package.core-properties+xml' is not a valid value of the atomic type '{http://schemas.openxmlformats.org/package/2006/content-types}ST_ContentType'.>, #<Nokogiri::XML::SyntaxError: Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': [facet 'pattern'] The value 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml' is not accepted by the pattern '(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))/((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))((\s+)*;(\s+)*(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))=((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)|("(([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}�"\n\r]]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)'.>, #<Nokogiri::XML::SyntaxError: Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml' is not a valid value of the atomic type '{http://schemas.openxmlformats.org/package/2006/content-types}ST_ContentType'.>, #<Nokogiri::XML::SyntaxError: Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': [facet 'pattern'] The value 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml' is not accepted by the pattern '(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))/((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))((\s+)*;(\s+)*(((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))=((([\p{IsBasicLatin}-[\p{Cc}�\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)|("(([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}�"\n\r]]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)'.>, #<Nokogiri::XML::SyntaxError: Element '{http://schemas.openxmlformats.org/package/2006/content-types}Override', attribute 'ContentType': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml' is not a valid value of the atomic type '{http://schemas.openxmlformats.org/package/2006/content-types}ST_ContentType'.>]
Maybe I missed something but I can't see it.
Could you please help me?