tuxji commented on a change in pull request #373:
URL: https://github.com/apache/incubator-daffodil/pull/373#discussion_r416791007
##########
File path:
daffodil-core/src/main/scala/org/apache/daffodil/dpath/Expression.scala
##########
@@ -1510,6 +1510,14 @@ case class FunctionCallExpression(functionQNameString:
String, expressions: List
FNOneArgExpr(functionQNameString, functionQName, args,
NodeInfo.String, NodeInfo.AnyAtomic, FNLocalName1(_, _))
+ case (RefQName(_, "namespace-uri", FUNC), args) if args.length == 0 =>
+ FNZeroArgExpr(functionQNameString, functionQName,
+ NodeInfo.AnyURI, NodeInfo.AnyAtomic, FNNamespaceUri0(_, _))
Review comment:
I checked and FNZeroArgExpr is used by fn:local-name, fn:namespace-uri,
dfdlx:outputTypeCalcNextSibling, dfdlx:repTypeValue, and
dfdlx:logicalTypeValue. That's five places so I agree a new issue makes more
sense than folding the changes into this issue. I also noticed that fn:true,
fn:false, and dfdl:occursIndex take no arguments but get their own special
implementation classes. All other functions in the DFDL
[spec](https://daffodil.apache.org/docs/dfdl/) take arguments.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]