I'd like to add to my question. Suppose NumStudents is an ordinary integer that 
every 1st grader understands: base 10, no exponents, 0 means no students. In 
that case, I don't understand why any of the properties shown below have to be 
specified. And yet they must, or an error will be generated. It seems to me 
that DFDL should make it possible to specify simple things simply, but this 
sure looks like an example of having to specify all sorts of complex properties 
to specify a very simple use case. Am I mistaken?  /Roger

-----Original Message-----
From: Roger L Costello <coste...@mitre.org> 
Sent: Monday, November 8, 2021 9:11 AM
To: users@daffodil.apache.org
Subject: Why do I need to specify the DFDL rounding properties for an integer 
data item?

Hi Folks,

My input is  a single integer representing the number of students in a 
classroom, e.g.,

        30

The following  shows the declaration of the element NumStudents. Notice the 
plethora of DFDL properties. They are the minimum properties - if you omit any 
of them, you will get an error. I don't understand why the rounding properties 
are required. There's no rounding with integers, so why do I need to specify 
those properties? Even if rounding did apply to integers, then it is mighty odd 
to specify that rounding is not necessary 
(textNumberRoundingMode="roundUnnecessary") and then be required to specify the 
rounding increment (textNumberRoundingIncrement) ... doesn't that strike you as 
a bit odd?

Also, I don't show it, but the fillByte property is required (if I delete it, 
an error is raised). Huh? Filling is a concept of binary data formats, not text 
data formats, so why do I need to specify it?  /Roger 
 
<xs:element name="NumStudents" type="xs:integer"
    dfdl:textNumberPattern="#"
    dfdl:textNumberRep="standard"
    dfdl:textStandardBase="10"
    dfdl:textStandardExponentRep="E"
    dfdl:textStandardZeroRep="0"
    dfdl:textNumberRounding="explicit"
    dfdl:textNumberRoundingMode="roundUnnecessary"
    dfdl:textNumberRoundingIncrement="1"
    dfdl:textNumberCheckPolicy="strict"
/>

Reply via email to