[ 
https://issues.apache.org/jira/browse/DAFFODIL-1651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17687132#comment-17687132
 ] 

Mike McGann commented on DAFFODIL-1651:
---------------------------------------

So we want the following to succeed:

{noformat}
contentLength(../ex:other, "bytes") 
{noformat}

and this to fail:

{noformat}
contentLength("other", "bytes")
{noformat}

so it is more than not array. It is not array and not literal. Or maybe 
NodeReference is the term we are looking for. Then "../ex:other" would have to 
evaluate to Node/Scalar/NodeReference which then could be convertable to 
string. So would the type hierarchy make more sense to be:

* AnyTypeKind
** Exists
** Node/Scalar/NodeReference
** AnySimpleType
** Complex

> 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)

Reply via email to