Example #1
0
        public object VisitProperty(XjsltProperty node)
        {
            var name     = Expression.Constant(node.Name);
            var getValue = (Expression)node.Value.Accept(this);

            return(this._ctorJProperty.CreateObject(name, getValue));
        }
Example #2
0
        private void ParseObject(Queue <Token> tokens, XjsltObject o)
        {
            XjsltProperty prop = null;

            while (tokens.Count > 0)
            {
                var token = tokens.Dequeue();
                switch (token.Kind)
                {
                case KindToken.Identifier:
                    prop = new XjsltProperty()
                    {
                        Name = token.Text
                    };
                    o.AddProperty(prop);
                    ParseProperty(tokens, prop);
                    break;

                case KindToken.Left:
                    break;

                case KindToken.Pipe:
                    break;

                case KindToken.Right:
                    break;

                default:
                    break;
                }
            }
        }
Example #3
0
        private XjsltJson ReadProperty(JProperty n)
        {
            var name = n.Name;

            var result = new XjsltProperty()
            {
                Name  = name,
                Value = Read(n.Value)
            };

            return(result);
        }
Example #4
0
        private void ParseProperty(Queue <Token> tokens, XjsltProperty prop)
        {
            XjPath p = null;

            while (tokens.Count > 0)
            {
                var token = tokens.Dequeue();
                switch (token.Kind)
                {
                case KindToken.Identifier:
                    p = new XjPath()
                    {
                        Type = token.Text.ToLower()
                    };
                    prop.Value = p;
                    break;

                case KindToken.Left:
                    if (p == null)
                    {
                        throw new ParsingException(token.Text, token.Index);
                    }
                    if (p.Type == "jpath")
                    {
                        ParseJpath(tokens, p);
                    }
                    else
                    {
                        ParseFunction(tokens, p);
                    }
                    break;

                case KindToken.Pipe:
                    ParseFunction(tokens, p);
                    break;

                case KindToken.Right:
                    break;

                default:
                    break;
                }
            }
        }
Example #5
0
 public object VisitProperty(XjsltProperty node)
 {
     throw new NotImplementedException();
 }