Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
None
-
None
-
None
Description
Many properties are allowed to be DFDL expressions, but expressions are not required (e.g. dfdl:initiator, dfdl:separator). Even when these expression are provided as a constant (e.g. dfdl:inititor="foo"), we still compile them. Sometimes this is necessary for things that are numeric so that we can convert the constant string into a numeric constant. However, if the property results in a string, there really is no need to compile it into a string. Avoiding this would prevent allocating DFDLPathExpressionCompiler's and parsing/compiling a value, only to return a Constant of the same value. ��As DFDL-1774 mentions, expression compilation is very slow, so if we could avoid this, it may improve performance.