internal MatchDomainFmStructure EnforceFmStructure(string id, LL.MDE.DataModels.XML.Tag fmStructure) { MatchDomainFmStructure match = new MatchDomainFmStructure(); // Contructing fmStructure LL.MDE.DataModels.XML.Tag fmStructureRoot = null; fmStructureRoot = (LL.MDE.DataModels.XML.Tag)editor.CreateNewObjectInField(fmStructure, "childTags"); // Contructing fmStructureRoot editor.AddOrSetInField(fmStructureRoot, "tagname", "FM-STRUCTURE-ROOT"); LL.MDE.DataModels.XML.Tag fmStructureElementRef = null; fmStructureElementRef = (LL.MDE.DataModels.XML.Tag)editor.CreateNewObjectInField(fmStructureRoot, "childTags"); // Contructing fmStructureElementRef editor.AddOrSetInField(fmStructureElementRef, "tagname", "FM-STRUCTURE-ELEMENT-REF"); LL.MDE.DataModels.XML.Attribute idRef = null; idRef = (LL.MDE.DataModels.XML.Attribute)editor.CreateNewObjectInField(fmStructureElementRef, "attributes"); // Contructing idRef editor.AddOrSetInField(idRef, "name", "ID-REF"); editor.AddOrSetInField(idRef, "value", id); // Return newly binded variables match.fmStructure = fmStructure; match.fmStructureRoot = fmStructureRoot; match.fmStructureElementRef = fmStructureElementRef; match.idRef = idRef; return(match); }
internal void Enforce(ISet <CheckResultCreateStructureRootLink> result, LL.MDE.DataModels.XML.Tag fmStructure) { foreach (CheckResultCreateStructureRootLink match in result) { // Extracting variables binded in source domains LL.MDE.DataModels.XML.Attribute structureElementRef = match.matchDomainStructureElementRef.structureElementRef; string id = match.matchDomainStructureElementRef.id; // Enforcing each enforced domain MatchDomainFmStructure targetMatchDomainFmStructure = EnforceFmStructure(id, fmStructure); // Retrieving variables binded in the enforced domains LL.MDE.DataModels.XML.Tag fmStructureRoot = targetMatchDomainFmStructure.fmStructureRoot; LL.MDE.DataModels.XML.Tag fmStructureElementRef = targetMatchDomainFmStructure.fmStructureElementRef; LL.MDE.DataModels.XML.Attribute idRef = targetMatchDomainFmStructure.idRef; } }