Exemple #1
0
 protected void AppendSourceEvalation(string origParentName, XmlNode attach, XmlNode childNode)
 {
     {
         {
             {
                 string ts      = "<template>" + ToXmlValue(childNode) + "</template>";
                 var    tchiuld = getNodeAndSetSiblingNode(ts, childNode);
                 string ost     = tchiuld.OuterXml;
                 LineInfoElementImpl.unsetReadonly(tchiuld);
                 Unifiable processChildNode = ProcessChildNode(tchiuld);
                 SaveResultOnChild(childNode, processChildNode);
                 var readNode = getNodeAndSetSiblingNode("<node>" + Unifiable.InnerXmlText(childNode) + "</node>", childNode);
                 LineInfoElementImpl.unsetReadonly(readNode);
                 if (readNode.ChildNodes.Count == 1)
                 {
                     XmlNode chilz = readNode.ChildNodes[0];
                     LineInfoElementImpl.chopParent(chilz);
                     attach.AppendChild(chilz);
                     return;
                 }
                 foreach (XmlNode child in readNode.ChildNodes)
                 {
                     LineInfoElementImpl.unsetReadonly(child);
                     attach.AppendChild(child.CloneNode(true));
                 }
             }
         }
     }
 }
        private object EvalAIMLHandler(string cmd, Request user)
        {
            XmlNode node = StaticAIMLUtils.getTemplateNode(cmd);

            LineInfoElementImpl.unsetReadonly(node);
            if (Loader == null)
            {
                Loader = GetLoader(GetBotRequest("EvalAIMLHandler " + cmd, RequestKind.EvalAIMLHandler));
            }
            var res = ImmediateAiml(node, user, Loader, RequestKind.EvalAIMLHandler);

            return(res);
        }
Exemple #3
0
        protected XmlNode EvalChildToSource(string parentName, XmlNode templateNode)
        {
            XmlNode attach = templateNode.CloneNode(false);// //AIMLLoader.CopyNode(templateNode, false);

            LineInfoElementImpl.unsetReadonly(attach);
            if (templateNode.HasChildNodes)
            {
                // recursively check
                foreach (XmlNode childNode in templateNode.ChildNodes)
                {
                    if (childNode.LocalName == "eval")
                    {
                        AppendSourceEvalation(parentName, attach, childNode);
                    }
                    else
                    {
                        attach.AppendChild(EvalChildToSource(childNode.LocalName, childNode));
                    }
                }
            }
            return(attach);
        }