[
https://issues.apache.org/jira/browse/DAFFODIL-1651?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dave Thompson reopened DAFFODIL-1651:
-------------------------------------
Verified the specified commit (commit 0987b93ccba910eeb1538f4cd221857f2e3fb7cf)
is included in the latest pull from the daffodil repository.
Verified, via review, change identified in the commit comment were implemented.
Verified the affected daffodil subproject sbt test suites executed
successfully, includung the added tests.
Verified all but the vmf nightly test schemas compile and save successfully.
The vmf schema fails to compile with the following error:
Error: [error] Schema Definition Error: First argument to dfdl:valueLength
cannot be a path to an array Schema context: group_size Location line 1163
column 8 in
file:/home/dfdl/mil-std-2045/src/main/resources/com/tresys/mil-std-2045/xsd/milstd2045_application_header.dfdl.xsd
Rolled commit back to a pre-fix commit and the vmf schema compiles successfully.
Reopening the ticket.
> Unparse: dfdl:content/valueLength of an Array returns unexpected result
> -----------------------------------------------------------------------
>
> Key: DAFFODIL-1651
> URL: https://issues.apache.org/jira/browse/DAFFODIL-1651
> Project: Daffodil
> Issue Type: Bug
> Components: General, Unparsing
> Affects Versions: 2.0.0
> Reporter: Steve Lawrence
> Assignee: Mike McGann
> Priority: Major
> Fix For: 3.5.0
>
>
> When trying to get the dfdl:contentLength of dfdl:valueLength of an array,
> Daffodil returns the length of it's parent, rather than the array. This is
> because the NodeType.Exists parameter type ends up creating a DownArrayExists
> recipe, which does not change the current node. Either we need to disallow
> getting the content/valueLength of an array and require the user to wrap the
> array in a complex type, or we need to allow it and modify/add parsers to
> store value/contentLength of an array.
> Alternatively, we maybe be able to do some magic where we get the start pos
> of the first child and the end pos of the last child and return that length.
> It's not immeidately clear if that is correct.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)