IfcDoc.DocumentationISO.GenerateTemplateLink C# (CSharp) Méthode

GenerateTemplateLink() private static méthode

private static GenerateTemplateLink ( 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
Résultat void
        private static void GenerateTemplateLink(List<DocTemplateDefinition> path, Dictionary<string, DocObject> mapEntity, Dictionary<string, string> mapSchema, Dictionary<DocObject, bool> included, DocPublication docPublication, string dirpath)
        {
            DocTemplateDefinition 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("../schema/templates/");
            sbLink.Append(MakeLinkName(docTemplateLast));
            sbLink.Append(".htm");

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

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