virtual public string ToFileString(PrintOptions printOptions) { //if (XmlDocumentLineInfo.SkipXmlns && this.srcNode.Attributes != null) this.srcNode.Attributes.RemoveNamedItem("xmlns"); string s = ""; if (IsDisabled) { if (!printOptions.WriteDisabledItems) { return(s); } } string graphName = ((IAIMLInfo)this).Graph.ScriptingName; if (printOptions.IncludeGraphName) { if (graphName != printOptions.CurrentGraphName) { if (printOptions.InsideAiml) { s += "\n</aiml>\n"; s += string.Format("\n<aiml graph=\"{0}\">\n", graphName); printOptions.CurrentGraphName = graphName; } else { printOptions.InsideAiml = true; s += string.Format("\n<aiml graph=\"{0}\">\n", graphName); printOptions.CurrentGraphName = graphName; } } } s += GetSourceWithTopic(printOptions); string escapedStuff = ""; //if (!printOptions.IncludeLineInfoExternal) { if (!printOptions.GroupFileElements) { if (printOptions.IncludeFileNamePerNode) { string cfile = Filename ?? StaticXMLUtils.FileNameOfXmlNode(srcNode); if (cfile != printOptions.InsideFilename) { escapedStuff += cfile; printOptions.InsideFilename = cfile; } } } if (printOptions.IncludeLinenoPerNode) { escapedStuff += ":" + LineNumberInfo; } } escapedStuff = StaticXMLUtils.MakeXmlCommentSafe(escapedStuff); if (IsDisabled) { s = DLRConsole.SafeFormat("<!-- {0} {1} {2} -->", StaticAIMLUtils.MakeXmlCommentSafe(WhyDisabled), StaticAIMLUtils.MakeXmlCommentSafe(s), escapedStuff); } else { s = DLRConsole.SafeFormat("{0} <!-- {1} -->", s, escapedStuff); } return(s); }