diff --git a/PROMS/Formats/fmtall/BASEall.xml b/PROMS/Formats/fmtall/BASEall.xml index cb86c004..03e05a2a 100644 Binary files a/PROMS/Formats/fmtall/BASEall.xml and b/PROMS/Formats/fmtall/BASEall.xml differ diff --git a/PROMS/Formats/fmtall/BNPP1Newall.xml b/PROMS/Formats/fmtall/BNPP1Newall.xml index c58da4be..82e2e4eb 100644 Binary files a/PROMS/Formats/fmtall/BNPP1Newall.xml and b/PROMS/Formats/fmtall/BNPP1Newall.xml differ diff --git a/PROMS/Formats/fmtall/BNPP1all.xml b/PROMS/Formats/fmtall/BNPP1all.xml index 1e852979..2353f22c 100644 Binary files a/PROMS/Formats/fmtall/BNPP1all.xml and b/PROMS/Formats/fmtall/BNPP1all.xml differ diff --git a/PROMS/Formats/fmtall/BNPP2all.xml b/PROMS/Formats/fmtall/BNPP2all.xml index f7193fd0..2ca61c97 100644 Binary files a/PROMS/Formats/fmtall/BNPP2all.xml and b/PROMS/Formats/fmtall/BNPP2all.xml differ diff --git a/PROMS/Formats/fmtall/BNPPsamall.xml b/PROMS/Formats/fmtall/BNPPsamall.xml index 85912464..5feb6a45 100644 Binary files a/PROMS/Formats/fmtall/BNPPsamall.xml and b/PROMS/Formats/fmtall/BNPPsamall.xml differ diff --git a/PROMS/Formats/fmtall/CPBCKNHC_00all.xml b/PROMS/Formats/fmtall/CPBCKNHC_00all.xml index daa3a4ef..00ac98ef 100644 Binary files a/PROMS/Formats/fmtall/CPBCKNHC_00all.xml and b/PROMS/Formats/fmtall/CPBCKNHC_00all.xml differ diff --git a/PROMS/Formats/fmtall/CPBCKNHCall.xml b/PROMS/Formats/fmtall/CPBCKNHCall.xml index ddac1c5a..1560795a 100644 Binary files a/PROMS/Formats/fmtall/CPBCKNHCall.xml and b/PROMS/Formats/fmtall/CPBCKNHCall.xml differ diff --git a/PROMS/Formats/fmtall/CPBCK_00all.xml b/PROMS/Formats/fmtall/CPBCK_00all.xml index bb7bcd67..60ab8747 100644 Binary files a/PROMS/Formats/fmtall/CPBCK_00all.xml and b/PROMS/Formats/fmtall/CPBCK_00all.xml differ diff --git a/PROMS/Formats/fmtall/CPBCKall.xml b/PROMS/Formats/fmtall/CPBCKall.xml index d476b8b5..a4e06a16 100644 Binary files a/PROMS/Formats/fmtall/CPBCKall.xml and b/PROMS/Formats/fmtall/CPBCKall.xml differ diff --git a/PROMS/Formats/fmtall/EPTST1all.xml b/PROMS/Formats/fmtall/EPTST1all.xml index 148469dd..346cba3b 100644 Binary files a/PROMS/Formats/fmtall/EPTST1all.xml and b/PROMS/Formats/fmtall/EPTST1all.xml differ diff --git a/PROMS/Formats/fmtall/EXP2all.xml b/PROMS/Formats/fmtall/EXP2all.xml index ae69a146..ca8b1b8f 100644 Binary files a/PROMS/Formats/fmtall/EXP2all.xml and b/PROMS/Formats/fmtall/EXP2all.xml differ diff --git a/PROMS/Formats/fmtall/PROMSDemo1all.xml b/PROMS/Formats/fmtall/PROMSDemo1all.xml index fdd07f10..5cc382ba 100644 Binary files a/PROMS/Formats/fmtall/PROMSDemo1all.xml and b/PROMS/Formats/fmtall/PROMSDemo1all.xml differ diff --git a/PROMS/Formats/fmtall/PROMSDemo2all.xml b/PROMS/Formats/fmtall/PROMSDemo2all.xml index a5d4598c..e760c358 100644 Binary files a/PROMS/Formats/fmtall/PROMSDemo2all.xml and b/PROMS/Formats/fmtall/PROMSDemo2all.xml differ diff --git a/PROMS/Formats/fmtall/PROMSMan1all.xml b/PROMS/Formats/fmtall/PROMSMan1all.xml index a33d6c3d..f8ed1877 100644 Binary files a/PROMS/Formats/fmtall/PROMSMan1all.xml and b/PROMS/Formats/fmtall/PROMSMan1all.xml differ diff --git a/PROMS/Formats/fmtall/PROMSMan2all.xml b/PROMS/Formats/fmtall/PROMSMan2all.xml index 328704ca..73a74ad9 100644 Binary files a/PROMS/Formats/fmtall/PROMSMan2all.xml and b/PROMS/Formats/fmtall/PROMSMan2all.xml differ diff --git a/PROMS/Formats/fmtall/RNPAOPBCKNHCall.xml b/PROMS/Formats/fmtall/RNPAOPBCKNHCall.xml index d9537e6f..bb4b182a 100644 Binary files a/PROMS/Formats/fmtall/RNPAOPBCKNHCall.xml and b/PROMS/Formats/fmtall/RNPAOPBCKNHCall.xml differ diff --git a/PROMS/Formats/fmtall/SUMall.xml b/PROMS/Formats/fmtall/SUMall.xml index 0cfbc902..26d914b2 100644 Binary files a/PROMS/Formats/fmtall/SUMall.xml and b/PROMS/Formats/fmtall/SUMall.xml differ diff --git a/PROMS/Formats/fmtall/TUECall.xml b/PROMS/Formats/fmtall/TUECall.xml index b6297644..af1dba24 100644 Binary files a/PROMS/Formats/fmtall/TUECall.xml and b/PROMS/Formats/fmtall/TUECall.xml differ diff --git a/PROMS/Formats/fmtall/vcb1all.xml b/PROMS/Formats/fmtall/vcb1all.xml index 30d0e84b..3def1230 100644 Binary files a/PROMS/Formats/fmtall/vcb1all.xml and b/PROMS/Formats/fmtall/vcb1all.xml differ diff --git a/PROMS/Formats/fmtall/vcb2all.xml b/PROMS/Formats/fmtall/vcb2all.xml index cd54bac2..1cc36f82 100644 Binary files a/PROMS/Formats/fmtall/vcb2all.xml and b/PROMS/Formats/fmtall/vcb2all.xml differ diff --git a/PROMS/Formats/fmtall/vcbaall.xml b/PROMS/Formats/fmtall/vcbaall.xml index b6cc7325..0294a52a 100644 Binary files a/PROMS/Formats/fmtall/vcbaall.xml and b/PROMS/Formats/fmtall/vcbaall.xml differ diff --git a/PROMS/Formats/fmtall/vcbeppall.xml b/PROMS/Formats/fmtall/vcbeppall.xml index 880aee4b..93a64ac8 100644 Binary files a/PROMS/Formats/fmtall/vcbeppall.xml and b/PROMS/Formats/fmtall/vcbeppall.xml differ diff --git a/PROMS/Formats/fmtall/wst2all.xml b/PROMS/Formats/fmtall/wst2all.xml index 6ab56c91..70708e0e 100644 Binary files a/PROMS/Formats/fmtall/wst2all.xml and b/PROMS/Formats/fmtall/wst2all.xml differ diff --git a/PROMS/Formats/fmtall/wstdcsall.xml b/PROMS/Formats/fmtall/wstdcsall.xml index 52b54977..92aa7050 100644 Binary files a/PROMS/Formats/fmtall/wstdcsall.xml and b/PROMS/Formats/fmtall/wstdcsall.xml differ diff --git a/PROMS/Formats/fmtall/wstsamall.xml b/PROMS/Formats/fmtall/wstsamall.xml index 73202e14..f437a022 100644 Binary files a/PROMS/Formats/fmtall/wstsamall.xml and b/PROMS/Formats/fmtall/wstsamall.xml differ diff --git a/PROMS/VEPROMS.CSLA.Library/Format/vlnFormat.cs b/PROMS/VEPROMS.CSLA.Library/Format/vlnFormat.cs index 8748f16f..6d5b0728 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/vlnFormat.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/vlnFormat.cs @@ -128,17 +128,27 @@ namespace VEPROMS.CSLA.Library int sibCount = SiblingCount(xmlNode); return string.Format("{0}/{1}[{2}]", parentPath, xmlNode.Name, sibCount); } - public static XmlNode InheritLookup(XmlNode xmlNode, string path, bool stepLookup) + //B2026-077 – Update Format inheritance to use index id instead of position/order. + public static string PathByIndex(XmlNode xmlNode) + { + if (xmlNode.Name == "TransTypes" || xmlNode.Name == "Step") + { + string parentPath = xmlNode.ParentNode == xmlNode.OwnerDocument ? "" : Path(xmlNode.ParentNode); + string Indx = xmlNode.Attributes["Index"].Value; + return $@"{parentPath}/{xmlNode.Name}[@Index='{Indx}']"; + } + else + { + return Path(xmlNode); + } + } + public static XmlNode InheritLookup(XmlNode xmlNode, string path, bool stepLookup) { //stepLookup = false; // 8/2 change for inheritance if (xmlNode == null) return null;// No path to match - string xPath = Path(xmlNode);// Build xPath from xmlNode - if (xmlNode.Name == "TransTypes") - { - string TransIndex = xmlNode.Attributes["Index"].Value; - xPath = System.Text.RegularExpressions.Regex.Replace(xPath, @"\[[0-9]*\]$", @"[@Index='" + TransIndex + @"']"); - } - vlnFormatDocument fd = (vlnFormatDocument)xmlNode.OwnerDocument;//First Get the vlnFormatDocument - This also ties it to a FormatInfo object + string xPath = PathByIndex(xmlNode);// Build xPath from xmlNode + + vlnFormatDocument fd = (vlnFormatDocument)xmlNode.OwnerDocument;//First Get the vlnFormatDocument - This also ties it to a FormatInfo object while(fd.MyFormat.MyIParent != null) { fd = fd.MyFormat.MyIParent.PlantFormat.XmlDoc;// Get the parents vlnFormatDocument @@ -167,14 +177,14 @@ namespace VEPROMS.CSLA.Library { if (xmlNode == null) return null;// No path to match string xPath = Path(xmlNode);// Build xPath from xmlNode - vlnFormatDocument fd = (vlnFormatDocument)xmlNode.OwnerDocument;//First Get the vlnFormatDocument - This also ties it to a FormatInfo object + vlnFormatDocument fd = (vlnFormatDocument)xmlNode.OwnerDocument;//First Get the vlnFormatDocument - This also ties it to a FormatInfo object while (fd.MyFormat.MyIParent != null) { fd = fd.MyFormat.MyIParent.PlantFormat.XmlDoc;// Get the parents vlnFormatDocument if (fd != null) { XmlNode xp = fd.SelectSingleNode(xPath);// Get the related node - if (xp != null) + if (xp != null) { XmlNodeList xl = xp.SelectNodes(path); if (xl != null && xl.Count > 0)