DAP4: Constructing a DDX from a Query

From OPeNDAP Documentation
  1. All functions have a defined "return type", which looks like a legal DDX minus certain things like groups, enumeration declarations, and dimension declarations; in addition, a function may be defined to have a "void" return type, which means it is executed for its side-effects on the server
  2. Any expression that is not assigned to a variable and does not have a void return type will have its return value returned to the caller as part of a DATADDX

[Note, the last two items are important in and of themselves and have been moved to a separate OPULS discussion item.]

An important aspect has to do with the construction of what may be referred to as a DATADDX. It defines the structure of a DDX that is the composition of the return types of the invoked functions that will return a (possibly structured) value. I need to work this out. BUT, in any case, the resulting DATADDX may have only have a loose relation to any DDX representing the raw dataset. This is because server-side computations will not have been represented in the original DDX, but only in the DATADDX.