public override void EnterElement(BabyScriptParser.ElementContext ctx)
            {
                BabyElement element  = (BabyElement)ctx.treeNode;
                string      realName = element.Name;
                string      fullName = Owner.nameConfig.ToFull(realName);

                if (fullName != null)
                {
                    realName = fullName;
                }

                if (Error)
                {
                    return;
                }

                Writer.WriteStartElement(realName);
                SetCurrentElement(ctx, realName);

                if (element.IsAssignment)
                {
                    foreach (BabyAttribute a in element.Attributes)
                    {
                        Writer.WriteAttributeString(a.Name, a.Value);
                    }
                }
            }
        public static BabyElement CreateAssignment(string name, string exact)
        {
            BabyAttribute[] attributes = new BabyAttribute[]
            {
                new BabyAttribute("name", name),
                new BabyAttribute("exact", exact)
            };

            BabyElement retVal = new BabyElement("set_value", attributes, null);

            retVal.IsAssignment = true;
            return(retVal);
        }