public XPathFunctionLast(FunctionArguments args) : base(args)
 {
     if (args != null)
     {
         throw new XPathException("last takes 0 args");
     }
 }
 public XPathFunctionFalse(FunctionArguments args) : base(args)
 {
     if (args != null)
     {
         throw new XPathException("false takes 0 args");
     }
 }
 public XPathFunctionPosition(FunctionArguments args) : base(args)
 {
     if (args != null)
     {
         throw new XPathException("position takes 0 args");
     }
 }
 public XPathFunctionFloor(FunctionArguments args) : base(args)
 {
     if (args == null || args.Tail != null)
     {
         throw new XPathException("floor takes one arg");
     }
     this.arg0 = args.Arg;
 }
 public XPathFunctionRound(FunctionArguments args) : base(args)
 {
     if (args == null || args.Tail != null)
     {
         throw new XPathException("round takes one arg");
     }
     arg0 = args.Arg;
 }
 public XPathFunctionConcat(FunctionArguments args) : base(args)
 {
     if (args == null || args.Tail == null)
     {
         throw new XPathException("concat takes 2 or more args");
     }
     args.ToArrayList(this.rgs = new ArrayList());
 }
예제 #7
0
 public XPathFunctionId(FunctionArguments args) : base(args)
 {
     if (args == null || args.Tail != null)
     {
         throw new XPathException("id takes 1 arg");
     }
     this.arg0 = args.Arg;
 }
 public XPathFunctionContains(FunctionArguments args) : base(args)
 {
     if (args == null || args.Tail == null || args.Tail.Tail != null)
     {
         throw new XPathException("contains takes 2 args");
     }
     this.arg0 = args.Arg;
     this.arg1 = args.Tail.Arg;
 }
예제 #9
0
 public XPathFunctionSubstringBefore(FunctionArguments args) : base(args)
 {
     if (args == null || args.Tail == null || args.Tail.Tail != null)
     {
         throw new XPathException("substring-before takes 2 args");
     }
     this.arg0 = args.Arg;
     this.arg1 = args.Tail.Arg;
 }
 public XPathFunctionStartsWith(FunctionArguments args) : base(args)
 {
     if (args == null || args.Tail == null || args.Tail.Tail != null)
     {
         throw new XPathException("starts-with takes 2 args");
     }
     this.arg0 = args.Arg;
     this.arg1 = args.Tail.Arg;
 }
        public XPathFunctionCount(FunctionArguments args) : base(args)
        {
            if (args == null || args.Tail != null)
            {
                throw new XPathException("count takes 1 arg");
            }

            arg0 = args.Arg;
        }
        public XPathFunctionSubstringAfter(FunctionArguments args) : base(args)
        {
            if (args == null || args.Tail == null || args.Tail.Tail != null)
            {
                throw new XPathException("substring-after takes 2 args");
            }

            arg0 = args.Arg;
            arg1 = args.Tail.Arg;
        }
        public void ToArrayList(ArrayList a)
        {
            FunctionArguments functionArguments = this;

            do
            {
                a.Add(functionArguments._arg);
                functionArguments = functionArguments._tail;
            }while (functionArguments != null);
        }
 public XPathFunctionTranslate(FunctionArguments args) : base(args)
 {
     if (args == null || args.Tail == null || args.Tail.Tail == null || args.Tail.Tail.Tail != null)
     {
         throw new XPathException("translate takes 3 args");
     }
     this.arg0 = args.Arg;
     this.arg1 = args.Tail.Arg;
     this.arg2 = args.Tail.Tail.Arg;
 }
 public XPathFunctionStringLength(FunctionArguments args) : base(args)
 {
     if (args != null)
     {
         arg0 = args.Arg;
         if (args.Tail != null)
         {
             throw new XPathException("string-length takes 1 or zero args");
         }
     }
 }
 public XPathFunctionName(FunctionArguments args) : base(args)
 {
     if (args != null)
     {
         arg0 = args.Arg;
         if (args.Tail != null)
         {
             throw new XPathException("name takes 1 or zero args");
         }
     }
 }
 public XPathFunctionNormalizeSpace(FunctionArguments args) : base(args)
 {
     if (args != null)
     {
         this.arg0 = args.Arg;
         if (args.Tail != null)
         {
             throw new XPathException("normalize-space takes 1 or zero args");
         }
     }
 }
 public XPathFunctionBoolean(FunctionArguments args) : base(args)
 {
     if (args != null)
     {
         this.arg0 = args.Arg;
         if (args.Tail != null)
         {
             throw new XPathException("boolean takes 1 or zero args");
         }
     }
 }
예제 #19
0
 public XPathFunctionSubstring(FunctionArguments args) : base(args)
 {
     if (args == null || args.Tail == null || (args.Tail.Tail != null && args.Tail.Tail.Tail != null))
     {
         throw new XPathException("substring takes 2 or 3 args");
     }
     this.arg0 = args.Arg;
     this.arg1 = args.Tail.Arg;
     if (args.Tail.Tail != null)
     {
         this.arg2 = args.Tail.Tail.Arg;
     }
 }
예제 #20
0
 public ExprFunctionCall(XmlQualifiedName name, FunctionArguments args, IStaticXsltContext ctx)
 {
     if (ctx != null)
     {
         name = ctx.LookupQName(name.ToString());
         this.resolvedName = true;
     }
     this._name = name;
     if (args != null)
     {
         args.ToArrayList(this._args);
     }
 }
 internal XPathNumericFunction(FunctionArguments args) : base(args)
 {
 }
 public XPathFunction(FunctionArguments args)
 {
 }
예제 #23
0
        public static Expression Factory(XmlQualifiedName name, FunctionArguments args, IStaticXsltContext ctx)
        {
            if (name.Namespace != null && name.Namespace != string.Empty)
            {
                return(new ExprFunctionCall(name, args, ctx));
            }
            string name2 = name.Name;

            switch (name2)
            {
            case "last":
                return(new XPathFunctionLast(args));

            case "position":
                return(new XPathFunctionPosition(args));

            case "count":
                return(new XPathFunctionCount(args));

            case "id":
                return(new XPathFunctionId(args));

            case "local-name":
                return(new XPathFunctionLocalName(args));

            case "namespace-uri":
                return(new XPathFunctionNamespaceUri(args));

            case "name":
                return(new XPathFunctionName(args));

            case "string":
                return(new XPathFunctionString(args));

            case "concat":
                return(new XPathFunctionConcat(args));

            case "starts-with":
                return(new XPathFunctionStartsWith(args));

            case "contains":
                return(new XPathFunctionContains(args));

            case "substring-before":
                return(new XPathFunctionSubstringBefore(args));

            case "substring-after":
                return(new XPathFunctionSubstringAfter(args));

            case "substring":
                return(new XPathFunctionSubstring(args));

            case "string-length":
                return(new XPathFunctionStringLength(args));

            case "normalize-space":
                return(new XPathFunctionNormalizeSpace(args));

            case "translate":
                return(new XPathFunctionTranslate(args));

            case "boolean":
                return(new XPathFunctionBoolean(args));

            case "not":
                return(new XPathFunctionNot(args));

            case "true":
                return(new XPathFunctionTrue(args));

            case "false":
                return(new XPathFunctionFalse(args));

            case "lang":
                return(new XPathFunctionLang(args));

            case "number":
                return(new XPathFunctionNumber(args));

            case "sum":
                return(new XPathFunctionSum(args));

            case "floor":
                return(new XPathFunctionFloor(args));

            case "ceiling":
                return(new XPathFunctionCeil(args));

            case "round":
                return(new XPathFunctionRound(args));
            }
            return(new ExprFunctionCall(name, args, ctx));
        }
 public FunctionArguments(Expression arg, FunctionArguments tail)
 {
     this._arg  = arg;
     this._tail = tail;
 }
 public XPathBooleanFunction(FunctionArguments args) : base(args)
 {
 }