You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by "Sloane, Brandon" <bs...@tresys.com> on 2019/04/04 21:22:48 UTC

Errors in existing test schemas

While working on adding enum support, I seem to have broken a large numbers of existing tests. While investigating, I ran into the following type definition:


4218     <xs:simpleType name="stTotalDigits_1">
4219       <xs:restriction base="xs:integer">
4220         <xs:maxLength value="1" />
4221       </xs:restriction>
4222     </xs:simpleType>

in section05/facets/Facets.tdml


Which is triggering an error:


Schema Definition Error: Facets minLength and maxLength are not allowed on types derived from type Integer.
They are allowed only on typed derived from string and hexBinary.
Schema context: element reference ex:stTotalDigits_1 Location line 1 in file:/tmp/TestFacets7184668231695540065.dfdl.xsd

Section 5.2 of the DFDL spec seems to indicate that the schema is wrong and the error is correct. Further, these types appear to not be used by anything, which is likely why this error was not surfacing before. My update involve resolving all globalSimpleTypes, regardless of if they are actually used, which is likely why I am not seeing this type fail. In this case, I assume there is no problem in removing unused broken types?


Brandon T. Sloane

Associate, Services

bsloane@tresys.com | tresys.com

Re: Errors in existing test schemas

Posted by "Beckerle, Mike" <mb...@tresys.com>.
Correct with one caveat.

If the types are unused then sure, delete.

But could they be illegal like this on purpose for negative tests checking for those diagnostics? If those diagnostics aren't being captured by oolag and saved  then that could cause the tests to be failing now.

Get Outlook for Android<https://aka.ms/ghei36>

________________________________
From: Sloane, Brandon <bs...@tresys.com>
Sent: Thursday, April 4, 2019 5:22:48 PM
To: dev@daffodil.apache.org
Subject: Errors in existing test schemas

While working on adding enum support, I seem to have broken a large numbers of existing tests. While investigating, I ran into the following type definition:


4218     <xs:simpleType name="stTotalDigits_1">
4219       <xs:restriction base="xs:integer">
4220         <xs:maxLength value="1" />
4221       </xs:restriction>
4222     </xs:simpleType>

in section05/facets/Facets.tdml


Which is triggering an error:


Schema Definition Error: Facets minLength and maxLength are not allowed on types derived from type Integer.
They are allowed only on typed derived from string and hexBinary.
Schema context: element reference ex:stTotalDigits_1 Location line 1 in file:/tmp/TestFacets7184668231695540065.dfdl.xsd

Section 5.2 of the DFDL spec seems to indicate that the schema is wrong and the error is correct. Further, these types appear to not be used by anything, which is likely why this error was not surfacing before. My update involve resolving all globalSimpleTypes, regardless of if they are actually used, which is likely why I am not seeing this type fail. In this case, I assume there is no problem in removing unused broken types?


Brandon T. Sloane

Associate, Services

bsloane@tresys.com | tresys.com