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);
}
}
}