On 8/25/21 1:41 PM, Beckerle, Mike wrote:
> One further comment at the end.
> 
> ________________________________
> From: Steve Lawrence <slawre...@apache.org>
> Sent: Monday, August 23, 2021 2:23 PM
> To: dev@daffodil.apache.org <dev@daffodil.apache.org>
> Subject: Re: Please review mock up idea for checksum calculations in DFDL
> 
> On 8/23/21 1:51 PM, Beckerle, Mike wrote:
>> Comments below see @@@mb
>>
>> ________________________________
>> From: Steve Lawrence <slawre...@apache.org>
>> Sent: Monday, August 9, 2021 12:18 PM
>> To: dev@daffodil.apache.org <dev@daffodil.apache.org>
>> Subject: Re: Please review mock up idea for checksum calculations in DFDL
>>
>> Some comments:
>>
>> 1) I like the idea that the layers write to a variable, but it seems
>> like the variables are hard coded in the layer transformer? What are
>> your thoughts on having the variable defined in a property so that the
>> user has more control over the naming/definition of it, maybe via
>> something like dfdlx:runtimeProperties? For example:
>>
>>   <xs:sequence dfdlx:layerTransform="checksum"
>> dfdlx:runtimeProperties="resultVariable=checksumPart1">...
>>
>> @@@ given that a layer transform can be defined with a unique namespace 
>> defined by way of a URI, there's never a need to be
>> concerned about naming conflicts. So I think ability to choose the variables 
>> names and provide them is overkill.
> 
> This is maybe a bit contrived, but one benefit of some configurability
> is that if you have a format with two of the same checksums for
> different parts of the data, you don't need newVariableInstance stuff.
> For example:
> 
>   <dfdl:defineVariable name="checksumHeader" ... />
>   <dfdl:defineVariable name="checksumPayload" ... />
> 
>   <xs:sequence>
>     <xs:sequence xmlns:chksum="urn:checksum"
> dfdl:layerParameters="res=checksumHeader">
>       <xs:element ref="Header" />
>     </xs:sequence>
>     <xs:sequence xmlns:chksum="urn:checksum"
> dfdl:layerParameters="res=checksumPayload">
>       <xs:element ref="Payload" />
>     </xs:sequence>
>   </xs:sequence>
> 
> So it's just a bit cleaner looking. Though, I'm not sure that's a strong
> argument for configuring the variables. I imagine in most formats where
> there's multiple of the same checksums then it's in an array and you'd
> need new variable instance since the number of checksums isn't known.
> 
> I think this is a "let's see" kind of issue. We can use hardwired variables 
> for now, and add a feature later to pass in QNames of variables for the layer 
> to use if we find it too clumsy.

Good point. Keep it easy at first make sense. It should be easy to add a
feature to override the hardwired name if we realize it's needed.

Reply via email to