Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Blocking
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 2.0.0
-
Component/s: None
-
Labels: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.