stevedlawrence commented on a change in pull request #210: Add midBitsToEnd
layer transform
URL: https://github.com/apache/incubator-daffodil/pull/210#discussion_r279359204
##########
File path:
daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/DFDL_part1_simpletypes.xsd
##########
@@ -794,6 +794,17 @@
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
+ <xsd:enumeration value="midBitsToEnd">
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+ Move the bits with indecis [x, x+y] to
+ the end of the layer block.
+
+ x,y are provided as a space delimated list in layerTransformArgs
Review comment:
DFDL doesn't really have positional arguments either. Every property has
it's own DFDL type. Maybe the more DFDL-y way is to have a unique property for
for each argument, e.g. dfdl:mbitsToEndFirstBitIndex, dfdl:mbitsToEndNumBits,
but that's probably going to get messy, and would make pluggable transforms
more difficult. I agree that positional arguments are definitely simpler
(though, from an implementation perspective not significantly so), but they
aren't as extensible. Adding new arguments later or deprecating old ones
becomes diffiult. Optional args are impossible. And it's not clear from just
looking at the layerTransformRags value what the args actually mean. So there's
just some limitations.
But, maybe we don't need that flexablity. I guess this is fine for now, and
if we realize it's too limiting or confusing in the real world, we can always
change how things work. Perhaps we should consider extensions as a sort of
"beta" featue that are subject to change, and so we don't have to worry quite
so much about backwards compatability.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services