Description
Expression.scala uses FNZeroArgExpr to implement fn:local-name, fn:namespace-uri, dfdlx:outputTypeCalcNextSibling, dfdlx:repTypeValue, and dfdlx:logicalTypeValue functions. It has to pass NodeInfo.XXX for the argType parameter, even though the argType parameter shouldn't be needed if there are zero arguments. Should we remove this parameter? It looks like argType is used only in targetTypeForSubexpression, which should never be called in FNZeroArgExpr since there are zero arguments.
If we remove the argType parameter, we also shouldn't need to pass argType to the constructor for FNNamespaceURI0 and similar classes in FNFunctions.scala.
People who can answer questions about this issue are Steve Lawrence and myself (although Steve can answer questions better).