示例#1
0
        //private static int depth = 0;
        public override Unifiable RecurseChildren()
        {
            try
            {
                ResetValues(true);
                isRecursive = true;
                Unifiable f = Recurse();
                //depth++;

                /* int d = request.GetCurrentDepth();
                 * if (d > 30)
                 * {
                 *   writeToLogWarn("WARNING Depth pretty deep " + f + " returning empty");
                 *   return Unifiable.Empty;
                 * }
                 * if (depth > 30)
                 * {
                 *   writeToLogWarn("WARNING Depth pretty deep " + f + " returning empty");
                 *   return Unifiable.Empty;
                 * }*/
                var tn = templateNode;
                foreach (var cn in tn.ChildNodes)
                {
                }
                string  s    = Unifiable.ToVMString(f);
                XmlNode node =
                    new XmlDocumentLineInfo(s, false).ReadNode(
                        XmlDocumentLineInfo.CreateXmlTextReader(new StringReader(s)));
                bool templateSucceeded;
                bool createdOutput;
                templateInfo        = GetTemplateInfo();
                request.LastHandler = Proc.TagHandling.proccessResponse(query, request, result, (XmlNode)node, templateInfo.Guard, out createdOutput,
                                                                        out templateSucceeded, this, templateInfo, ReadOnly, true);
                return(Unifiable.Empty);
            }
            finally
            {
                //   depth--;
            }
        }