IfcDoc.DocumentationISO.GenerateExampleLink C# (CSharp) Method

GenerateExampleLink() private static method

private static GenerateExampleLink ( List path, DocObject>.Dictionary mapEntity, string>.Dictionary mapSchema, bool>.Dictionary included, DocPublication docPublication, string dirpath ) : void
path List Path of templates
mapEntity DocObject>.Dictionary
mapSchema string>.Dictionary
included bool>.Dictionary
docPublication DocPublication
dirpath string
return void
        private static void GenerateExampleLink(List<DocExample> path, Dictionary<string, DocObject> mapEntity, Dictionary<string, string> mapSchema, Dictionary<DocObject, bool> included, DocPublication docPublication, string dirpath)
        {
            DocExample docTemplateLast = path[path.Count - 1];

            if (included != null && !included.ContainsKey(docTemplateLast))
                return;

            // flat list -- requires unique template names
            StringBuilder sbFile = new StringBuilder();
            sbFile.Append(dirpath);
            sbFile.Append(@"\link\");
            sbFile.Append(MakeLinkName(docTemplateLast));
            sbFile.Append(".htm");

            StringBuilder sbLink = new StringBuilder();
            sbLink.Append("../annex/annex-e/");
            sbLink.Append(MakeLinkName(docTemplateLast));
            sbLink.Append(".htm");

            using (FormatHTM htmLink = new FormatHTM(sbFile.ToString(), mapEntity, mapSchema, included))
            {
                htmLink.WriteLinkPage(sbLink.ToString(), docPublication);
            }

            if (docTemplateLast.Examples != null)
            {
                foreach (DocExample docSub in docTemplateLast.Examples)
                {
                    path.Add(docSub);
                    GenerateExampleLink(path, mapEntity, mapSchema, included, docPublication, dirpath);
                    path.RemoveAt(path.Count - 1);
                }
            }
        }