From 046ffcbb9d90548e9544aa4044e1ac9a5251fac7 Mon Sep 17 00:00:00 2001 From: Mike Christiansen Date: Tue, 15 Sep 2020 21:53:30 -0400 Subject: [PATCH] Check both the default namespace and the xpath query namespace for function name resolution --- src/XPath2/AST/FuncNode.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/XPath2/AST/FuncNode.cs b/src/XPath2/AST/FuncNode.cs index 010aea2..f60e4ae 100644 --- a/src/XPath2/AST/FuncNode.cs +++ b/src/XPath2/AST/FuncNode.cs @@ -24,7 +24,8 @@ public sealed class FuncNode : AbstractNode public FuncNode(XPath2Context context, string name, string ns) : base(context) { - _func = FunctionTable.Inst.Bind(name, ns, 0); + _func = FunctionTable.Inst.Bind(name, ns, 0) + ?? FunctionTable.Inst.Bind(name, XmlReservedNs.NsXQueryFunc, 0); if (_func == null) throw new XPath2Exception("XPST0017", Resources.XPST0017, name, 0, ns); _name = name; @@ -34,7 +35,8 @@ public FuncNode(XPath2Context context, string name, string ns) public FuncNode(XPath2Context context, string name, string ns, List nodes) : base(context) { - _func = FunctionTable.Inst.Bind(name, ns, nodes.Count); + _func = FunctionTable.Inst.Bind(name, ns, nodes.Count) + ?? FunctionTable.Inst.Bind(name, XmlReservedNs.NsXQueryFunc, nodes.Count); if (_func == null) throw new XPath2Exception("XPST0017", Resources.XPST0017, name, nodes.Count, ns); _name = name;