mikeebowen / OOXML-Validator

A .NET CLI Package for validating Office Open XML files.
https://marketplace.visualstudio.com/items?itemName=mikeebowen.ooxml-validator-vscode
MIT License
18 stars 2 forks source link

Strict Excel Files Have Invalid int32 Data Types #6

Open Asbjoedt opened 2 years ago

Asbjoedt commented 2 years ago

Hello

I have tested the Strict validation feature with some of my own old Strict test data and a new generic empty Excel file saved as Strict Open XML in Excel 2019.

All are identified as Strict, but they all also have the following errors. No transitional Excel files have these errors. Do you know what is happening?

I validated both using Office2019 paramter and without. The same errors are reported.

`

The attribute 'pos' has invalid value '100%'. The string '100%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '120%'. The string '120%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '63%'. The string '63%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'pos' has invalid value '50%'. The string '50%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '103%'. The string '103%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '90%'. The string '90%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '130%'. The string '130%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '98%'. The string '98%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'pos' has invalid value '0%'. The string '0%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '102%'. The string '102%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '98%'. The string '98%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '150%'. The string '150%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '93%'. The string '93%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '170%'. The string '170%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '95%'. The string '95%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '63%'. The string '63%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'lim' has invalid value '800%'. The string '800%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'lim' has invalid value '800%'. The string '800%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'lim' has invalid value '800%'. The string '800%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'pos' has invalid value '100%'. The string '100%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '78%'. The string '78%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '120%'. The string '120%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '99%'. The string '99%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'pos' has invalid value '50%'. The string '50%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '100%'. The string '100%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '100%'. The string '100%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '110%'. The string '110%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'pos' has invalid value '0%'. The string '0%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '94%'. The string '94%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '102%'. The string '102%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '103%'. The string '103%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'pos' has invalid value '100%'. The string '100%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '81%'. The string '81%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '109%'. The string '109%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '105%'. The string '105%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'pos' has invalid value '50%'. The string '50%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '73%'. The string '73%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '103%'. The string '103%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '105%'. The string '105%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'pos' has invalid value '0%'. The string '0%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '67%'. The string '67%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '105%'. The string '105%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema The attribute 'val' has invalid value '110%'. The string '110%' is not a valid 'Int32' value. DocumentFormat.OpenXml.XmlPath Sch_AttributeValueDataTypeDetailed Schema

`

mikeebowen commented 2 years ago

@Asbjoedt

Can you share an example file that is in Strict mode and has the errors you posted?

Asbjoedt commented 2 years ago

Test.xlsx

mikeebowen commented 2 years ago

In ISO 29500-1 20.1.8.36 gs (Gradient stops) the pos attribute is defined:

Specifies where this gradient stop should appear in the color band. This position is specified in the range [0%, 100%], which corresponds to the beginning and the end of the color band respectively.

So, the SDK's validation (the CLI uses the SDK to get the validation errors) is wrong, but that means the issue is with the SDK and not the validator CLI. Please post an issue on the OOXML SDK issues page and we'll look into fixing the bug.

Asbjoedt commented 2 years ago

Thanks, I have done so!