I'm ok adding this now, so long as there are comments in the code
easily found indicating this is non-portable DFDL feature.
E.g., put keyword "PORTABILITY" in the comments so that we can search it easily.

The idea is in the future, should portability become a bigger deal
than now, we can add some sort of portability check and
warnings/errors easily.




On Wed, Sep 25, 2024 at 3:29 PM Kilo, Olabusayo
<ok...@owlcyberdefense.com> wrote:
>
> I currently have some code that adds support for date/time/datetime types and 
> binary packed decimal representations (DAFFODIL-2931), as per what the spec 
> currently says:
>
> > 'bits' may only be used for xs:boolean, xs:byte, xs:short, xs:int, xs:long, 
> > xs:unsignedByte, xs:unsignedShort, xs:unsignedInt, and xs:unsignedLong 
> > simple types with binary representation, and for calendar (date and time) 
> > simple types with binary packed representation.
>
> Do we want to wait for a spec update to remove the warning, or should I 
> update the code to drop the warning and add support for all types now and 
> push my changes?
>
> --
> Lola Kilo
> ________________________________
> From: Mike Beckerle <mbecke...@apache.org>
> Sent: Saturday, September 21, 2024 1:27 PM
> To: dev@daffodil.apache.org <dev@daffodil.apache.org>
> Subject: Re: Questions about addressing warnings for daf-2926
>
> On Thu, Sep 19, 2024 at 3:20 PM Kilo, Olabusayo
> <ok...@owlcyberdefense.com> wrote:
> >
> > Below are some warnings that need some discussion on how best to approach
> >
> > (noEmptyDefault) Element with no empty representation. Xsd default can only 
> > be used when unparsed
> >
> >   *
> > this warning shows up when an element cannot be empty (ex has 
> > dfdl:length=1), but has a default value. As discussed with Steve, default 
> > is ignored when parsing, and can only be applied on unparsing. We also 
> > discussed updating the warning to say "Element with no empty 
> > representation. XSD default='xxx' will be ignored when parsing." 
> > (DAFFODIL-2929).
> >   *
> > The question is how to handle the tests that display this warning. Some 
> > suggestions are to:
> >      *
> > add the warning to all the affected tests
> >      *
> > suppress this warning in the schema
> >   *
> > Affected Tests
> >      *
> > org.apache.daffodil.section00.general.TestUnparserFileBuffering#test_parseFixedLengthStringLength0_ffb
> >      *
> > org.apache.daffodil.section00.general.TestUnparserGeneral#test_parseFixedLengthStringLength0
> >      *
> > org.apache.daffodil.section13.boolean.TestBoolean#test_booleanDefault
>
> I think for the above, the "suppress this warning in the schema" is
> the right thing.
>
> >
> >
> > (deprecatedBigIntegerBits)In a future release, lengthUnits='bits' will only 
> > be supported for the following types: xs:boolean, xs:byte, xs:int, xs:long, 
> > xs:short, xs:unsignedByte, xs:unsignedInt, xs:unsignedLong, xs:unsignedShort
> >
> >   *
> > this warning shows up when we use lengthUnits='bits' for xs:date or 
> > xs:dateTime. On discussing with Steve, he thinks this may be a bug due to 
> > the fact that we support bits on hexBinary and should support bits on 
> > xs:date for example for the IBM4690Packed binaryCalendarRep which needs a 
> > length that is a multiple of 4, which means we can't use bytes. Thoughts?
>
> Yes this is a bug. Bits should be allowed without warning for the
> date/time/datetime types and binary packed decimal representations.
>
> In fact we should just drop this warning entirely, as DFDL Workgroup
> issue https://github.com/OpenGridForum/DFDL/issues/12 is about opening
> up use of lengthUnits 'bits' to all types. (Originally it was about
> hexBinary, but integer, nonNegativeInteger, float, double, and even
> string should be able to use lengthUnits 'bits' also.
>
> >   *
> > Affected Tests
> >      *
> > org.apache.daffodil.section05.simple_types.TestSimpleTypes#test_dateBinIBM4690Packed2
> >      *
> > org.apache.daffodil.section05.simple_types.TestSimpleTypes#test_dateBinBCD5
> >      *
> > org.apache.daffodil.section12.lengthKind.TestLengthKindPrefixed#test_pl_bin_date_bin_bits_bcd
> >      *
> > org.apache.daffodil.section12.lengthKind.TestLengthKindPrefixed#test_pl_bin_dec_bin_bits
> >      *
> > org.apache.daffodil.section12.lengthKind.TestLengthKindPrefixed#test_pl_bin_hex_bin_bits
> >      *
> > org.apache.daffodil.section12.lengthKind.TestLengthKindPrefixed#test_pl_bin_dec_bin_bits_bcd
> >      *
> > org.apache.daffodil.section12.lengthKind.TestLengthKindPrefixed#test_pl_bin_dec_txt_bits
> >      *
> > org.apache.daffodil.section12.lengthKind.TestLengthKindPrefixed#test_pl_bin_date_bin_bits_ibm4690
> >      *
> > org.apache.daffodil.section12.lengthKind.TestLengthKindPrefixed#test_pl_bin_dec_bin_bits_ibm4690
> >      *
> > org.apache.daffodil.section12.lengthKind.TestLengthKindPrefixed#test_pl_bin_hex_txt_bits
> >      *
> > org.apache.daffodil.section12.lengthKind.TestLengthKindPrefixed#test_pl_bin_dec_bin_bits_packed
> >      *
> > org.apache.daffodil.section12.lengthKind.TestLengthKindPrefixed#test_pl_bin_date_bin_bits_packed
> >
> >
> >
> > --
> > Lola Kilo

Reply via email to