public PartyMessageInformation(XmlNode xmlNode)
 {
     XmlNodeList partyReferenceNodeList = xmlNode.SelectNodes("partyReference");
     if (partyReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in partyReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 partyReferenceIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(partyReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 partyReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 partyReference = new PartyReference(item);
             }
         }
     }
     
 
 }
 public PartyMessageInformation(XmlNode xmlNode)
 {
     XmlNode partyReferenceNode = xmlNode.SelectSingleNode("partyReference");
     
     if (partyReferenceNode != null)
     {
         if (partyReferenceNode.Attributes["href"] != null || partyReferenceNode.Attributes["id"] != null) 
         {
             if (partyReferenceNode.Attributes["id"] != null) 
             {
                 partyReferenceIDRef_ = partyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(partyReferenceNode);
                 IDManager.SetID(partyReferenceIDRef_, ob);
             }
             else if (partyReferenceNode.Attributes["href"] != null)
             {
                 partyReferenceIDRef_ = partyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 partyReference_ = new PartyReference(partyReferenceNode);
             }
         }
         else
         {
             partyReference_ = new PartyReference(partyReferenceNode);
         }
     }
     
 
 }
        public PartyMessageInformation(XmlNode xmlNode)
        {
            XmlNode partyReferenceNode = xmlNode.SelectSingleNode("partyReference");

            if (partyReferenceNode != null)
            {
                if (partyReferenceNode.Attributes["href"] != null || partyReferenceNode.Attributes["id"] != null)
                {
                    if (partyReferenceNode.Attributes["id"] != null)
                    {
                        partyReferenceIDRef_ = partyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(partyReferenceNode);
                        IDManager.SetID(partyReferenceIDRef_, ob);
                    }
                    else if (partyReferenceNode.Attributes["href"] != null)
                    {
                        partyReferenceIDRef_ = partyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        partyReference_ = new PartyReference(partyReferenceNode);
                    }
                }
                else
                {
                    partyReference_ = new PartyReference(partyReferenceNode);
                }
            }
        }
        public PartyMessageInformation(XmlNode xmlNode)
        {
            XmlNodeList partyReferenceNodeList = xmlNode.SelectNodes("partyReference");

            if (partyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in partyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        partyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(partyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        partyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        partyReference = new PartyReference(item);
                    }
                }
            }
        }
 public NotifyingParty(XmlNode xmlNode)
 {
     XmlNodeList buyerPartyReferenceNodeList = xmlNode.SelectNodes("buyerPartyReference");
     if (buyerPartyReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in buyerPartyReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 buyerPartyReferenceIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(buyerPartyReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 buyerPartyReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 buyerPartyReference = new PartyReference(item);
             }
         }
     }
     
 
     XmlNodeList sellerPartyReferenceNodeList = xmlNode.SelectNodes("sellerPartyReference");
     if (sellerPartyReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in sellerPartyReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 sellerPartyReferenceIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(sellerPartyReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 sellerPartyReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 sellerPartyReference = new PartyReference(item);
             }
         }
     }
     
 
 }
        public NotifyingParty(XmlNode xmlNode)
        {
            XmlNodeList buyerPartyReferenceNodeList = xmlNode.SelectNodes("buyerPartyReference");

            if (buyerPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in buyerPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        buyerPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(buyerPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        buyerPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        buyerPartyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList sellerPartyReferenceNodeList = xmlNode.SelectNodes("sellerPartyReference");

            if (sellerPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in sellerPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        sellerPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(sellerPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        sellerPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        sellerPartyReference = new PartyReference(item);
                    }
                }
            }
        }
 public NotifyingParty(XmlNode xmlNode)
 {
     XmlNode buyerPartyReferenceNode = xmlNode.SelectSingleNode("buyerPartyReference");
     
     if (buyerPartyReferenceNode != null)
     {
         if (buyerPartyReferenceNode.Attributes["href"] != null || buyerPartyReferenceNode.Attributes["id"] != null) 
         {
             if (buyerPartyReferenceNode.Attributes["id"] != null) 
             {
                 buyerPartyReferenceIDRef_ = buyerPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(buyerPartyReferenceNode);
                 IDManager.SetID(buyerPartyReferenceIDRef_, ob);
             }
             else if (buyerPartyReferenceNode.Attributes["href"] != null)
             {
                 buyerPartyReferenceIDRef_ = buyerPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 buyerPartyReference_ = new PartyReference(buyerPartyReferenceNode);
             }
         }
         else
         {
             buyerPartyReference_ = new PartyReference(buyerPartyReferenceNode);
         }
     }
     
 
     XmlNode sellerPartyReferenceNode = xmlNode.SelectSingleNode("sellerPartyReference");
     
     if (sellerPartyReferenceNode != null)
     {
         if (sellerPartyReferenceNode.Attributes["href"] != null || sellerPartyReferenceNode.Attributes["id"] != null) 
         {
             if (sellerPartyReferenceNode.Attributes["id"] != null) 
             {
                 sellerPartyReferenceIDRef_ = sellerPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(sellerPartyReferenceNode);
                 IDManager.SetID(sellerPartyReferenceIDRef_, ob);
             }
             else if (sellerPartyReferenceNode.Attributes["href"] != null)
             {
                 sellerPartyReferenceIDRef_ = sellerPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 sellerPartyReference_ = new PartyReference(sellerPartyReferenceNode);
             }
         }
         else
         {
             sellerPartyReference_ = new PartyReference(sellerPartyReferenceNode);
         }
     }
     
 
 }
        public ReturnSwapEarlyTermination(XmlNode xmlNode)
        {
            XmlNodeList partyReferenceNodeList = xmlNode.SelectNodes("partyReference");

            if (partyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in partyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        partyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(partyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        partyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        partyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList startingDateNodeList = xmlNode.SelectNodes("startingDate");

            if (startingDateNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in startingDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        startingDateIDRef = item.Attributes["id"].Name;
                        StartingDate ob = StartingDate();
                        IDManager.SetID(startingDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        startingDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        startingDate = new StartingDate(item);
                    }
                }
            }
        }
 public ReturnSwapEarlyTermination(XmlNode xmlNode)
 {
     XmlNodeList partyReferenceNodeList = xmlNode.SelectNodes("partyReference");
     if (partyReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in partyReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 partyReferenceIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(partyReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 partyReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 partyReference = new PartyReference(item);
             }
         }
     }
     
 
     XmlNodeList startingDateNodeList = xmlNode.SelectNodes("startingDate");
     if (startingDateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in startingDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 startingDateIDRef = item.Attributes["id"].Name;
                 StartingDate ob = StartingDate();
                 IDManager.SetID(startingDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 startingDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 startingDate = new StartingDate(item);
             }
         }
     }
     
 
 }
 public ReturnSwapEarlyTermination(XmlNode xmlNode)
 {
     XmlNode partyReferenceNode = xmlNode.SelectSingleNode("partyReference");
     
     if (partyReferenceNode != null)
     {
         if (partyReferenceNode.Attributes["href"] != null || partyReferenceNode.Attributes["id"] != null) 
         {
             if (partyReferenceNode.Attributes["id"] != null) 
             {
                 partyReferenceIDRef_ = partyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(partyReferenceNode);
                 IDManager.SetID(partyReferenceIDRef_, ob);
             }
             else if (partyReferenceNode.Attributes["href"] != null)
             {
                 partyReferenceIDRef_ = partyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 partyReference_ = new PartyReference(partyReferenceNode);
             }
         }
         else
         {
             partyReference_ = new PartyReference(partyReferenceNode);
         }
     }
     
 
     XmlNode startingDateNode = xmlNode.SelectSingleNode("startingDate");
     
     if (startingDateNode != null)
     {
         if (startingDateNode.Attributes["href"] != null || startingDateNode.Attributes["id"] != null) 
         {
             if (startingDateNode.Attributes["id"] != null) 
             {
                 startingDateIDRef_ = startingDateNode.Attributes["id"].Value;
                 StartingDate ob = new StartingDate(startingDateNode);
                 IDManager.SetID(startingDateIDRef_, ob);
             }
             else if (startingDateNode.Attributes["href"] != null)
             {
                 startingDateIDRef_ = startingDateNode.Attributes["href"].Value;
             }
             else
             {
                 startingDate_ = new StartingDate(startingDateNode);
             }
         }
         else
         {
             startingDate_ = new StartingDate(startingDateNode);
         }
     }
     
 
 }
        public ReturnSwapEarlyTermination(XmlNode xmlNode)
        {
            XmlNode partyReferenceNode = xmlNode.SelectSingleNode("partyReference");

            if (partyReferenceNode != null)
            {
                if (partyReferenceNode.Attributes["href"] != null || partyReferenceNode.Attributes["id"] != null)
                {
                    if (partyReferenceNode.Attributes["id"] != null)
                    {
                        partyReferenceIDRef_ = partyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(partyReferenceNode);
                        IDManager.SetID(partyReferenceIDRef_, ob);
                    }
                    else if (partyReferenceNode.Attributes["href"] != null)
                    {
                        partyReferenceIDRef_ = partyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        partyReference_ = new PartyReference(partyReferenceNode);
                    }
                }
                else
                {
                    partyReference_ = new PartyReference(partyReferenceNode);
                }
            }


            XmlNode startingDateNode = xmlNode.SelectSingleNode("startingDate");

            if (startingDateNode != null)
            {
                if (startingDateNode.Attributes["href"] != null || startingDateNode.Attributes["id"] != null)
                {
                    if (startingDateNode.Attributes["id"] != null)
                    {
                        startingDateIDRef_ = startingDateNode.Attributes["id"].Value;
                        StartingDate ob = new StartingDate(startingDateNode);
                        IDManager.SetID(startingDateIDRef_, ob);
                    }
                    else if (startingDateNode.Attributes["href"] != null)
                    {
                        startingDateIDRef_ = startingDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        startingDate_ = new StartingDate(startingDateNode);
                    }
                }
                else
                {
                    startingDate_ = new StartingDate(startingDateNode);
                }
            }
        }
        public NotifyingParty(XmlNode xmlNode)
        {
            XmlNode buyerPartyReferenceNode = xmlNode.SelectSingleNode("buyerPartyReference");

            if (buyerPartyReferenceNode != null)
            {
                if (buyerPartyReferenceNode.Attributes["href"] != null || buyerPartyReferenceNode.Attributes["id"] != null)
                {
                    if (buyerPartyReferenceNode.Attributes["id"] != null)
                    {
                        buyerPartyReferenceIDRef_ = buyerPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(buyerPartyReferenceNode);
                        IDManager.SetID(buyerPartyReferenceIDRef_, ob);
                    }
                    else if (buyerPartyReferenceNode.Attributes["href"] != null)
                    {
                        buyerPartyReferenceIDRef_ = buyerPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        buyerPartyReference_ = new PartyReference(buyerPartyReferenceNode);
                    }
                }
                else
                {
                    buyerPartyReference_ = new PartyReference(buyerPartyReferenceNode);
                }
            }


            XmlNode sellerPartyReferenceNode = xmlNode.SelectSingleNode("sellerPartyReference");

            if (sellerPartyReferenceNode != null)
            {
                if (sellerPartyReferenceNode.Attributes["href"] != null || sellerPartyReferenceNode.Attributes["id"] != null)
                {
                    if (sellerPartyReferenceNode.Attributes["id"] != null)
                    {
                        sellerPartyReferenceIDRef_ = sellerPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(sellerPartyReferenceNode);
                        IDManager.SetID(sellerPartyReferenceIDRef_, ob);
                    }
                    else if (sellerPartyReferenceNode.Attributes["href"] != null)
                    {
                        sellerPartyReferenceIDRef_ = sellerPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        sellerPartyReference_ = new PartyReference(sellerPartyReferenceNode);
                    }
                }
                else
                {
                    sellerPartyReference_ = new PartyReference(sellerPartyReferenceNode);
                }
            }
        }
 public PartyPortfolioName(XmlNode xmlNode)
 {
     XmlNodeList partyReferenceNodeList = xmlNode.SelectNodes("partyReference");
     if (partyReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in partyReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 partyReferenceIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(partyReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 partyReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 partyReference = new PartyReference(item);
             }
         }
     }
     
 
     XmlNodeList portfolioNameNodeList = xmlNode.SelectNodes("portfolioName");
     
     foreach (XmlNode item in portfolioNameNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 portfolioNameIDRef = item.Attributes["id"].Name;
                 List<PortfolioName> ob = new List<PortfolioName>();
                 ob.Add(new PortfolioName(item));
                 IDManager.SetID(portfolioNameIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 portfolioNameIDRef = item.Attributes["href"].Name;
             }
             else
             {
             portfolioName.Add(new PortfolioName(item));
             }
         }
     }
     
 
 }
        public PartyPortfolioName(XmlNode xmlNode)
        {
            XmlNodeList partyReferenceNodeList = xmlNode.SelectNodes("partyReference");

            if (partyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in partyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        partyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(partyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        partyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        partyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList portfolioNameNodeList = xmlNode.SelectNodes("portfolioName");

            foreach (XmlNode item in portfolioNameNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        portfolioNameIDRef = item.Attributes["id"].Name;
                        List <PortfolioName> ob = new List <PortfolioName>();
                        ob.Add(new PortfolioName(item));
                        IDManager.SetID(portfolioNameIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        portfolioNameIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        portfolioName.Add(new PortfolioName(item));
                    }
                }
            }
        }
        public OilDelivery(XmlNode xmlNode)
        {
            XmlNode pipelineNode = xmlNode.SelectSingleNode("pipeline");

            if (pipelineNode != null)
            {
                if (pipelineNode.Attributes["href"] != null || pipelineNode.Attributes["id"] != null)
                {
                    if (pipelineNode.Attributes["id"] != null)
                    {
                        pipelineIDRef_ = pipelineNode.Attributes["id"].Value;
                        OilPipelineDelivery ob = new OilPipelineDelivery(pipelineNode);
                        IDManager.SetID(pipelineIDRef_, ob);
                    }
                    else if (pipelineNode.Attributes["href"] != null)
                    {
                        pipelineIDRef_ = pipelineNode.Attributes["href"].Value;
                    }
                    else
                    {
                        pipeline_ = new OilPipelineDelivery(pipelineNode);
                    }
                }
                else
                {
                    pipeline_ = new OilPipelineDelivery(pipelineNode);
                }
            }


            XmlNode transferNode = xmlNode.SelectSingleNode("transfer");

            if (transferNode != null)
            {
                if (transferNode.Attributes["href"] != null || transferNode.Attributes["id"] != null)
                {
                    if (transferNode.Attributes["id"] != null)
                    {
                        transferIDRef_ = transferNode.Attributes["id"].Value;
                        OilTransferDelivery ob = new OilTransferDelivery(transferNode);
                        IDManager.SetID(transferIDRef_, ob);
                    }
                    else if (transferNode.Attributes["href"] != null)
                    {
                        transferIDRef_ = transferNode.Attributes["href"].Value;
                    }
                    else
                    {
                        transfer_ = new OilTransferDelivery(transferNode);
                    }
                }
                else
                {
                    transfer_ = new OilTransferDelivery(transferNode);
                }
            }


            XmlNode importerOfRecordNode = xmlNode.SelectSingleNode("importerOfRecord");

            if (importerOfRecordNode != null)
            {
                if (importerOfRecordNode.Attributes["href"] != null || importerOfRecordNode.Attributes["id"] != null)
                {
                    if (importerOfRecordNode.Attributes["id"] != null)
                    {
                        importerOfRecordIDRef_ = importerOfRecordNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(importerOfRecordNode);
                        IDManager.SetID(importerOfRecordIDRef_, ob);
                    }
                    else if (importerOfRecordNode.Attributes["href"] != null)
                    {
                        importerOfRecordIDRef_ = importerOfRecordNode.Attributes["href"].Value;
                    }
                    else
                    {
                        importerOfRecord_ = new PartyReference(importerOfRecordNode);
                    }
                }
                else
                {
                    importerOfRecord_ = new PartyReference(importerOfRecordNode);
                }
            }


            XmlNode absoluteToleranceNode = xmlNode.SelectSingleNode("absoluteTolerance");

            if (absoluteToleranceNode != null)
            {
                if (absoluteToleranceNode.Attributes["href"] != null || absoluteToleranceNode.Attributes["id"] != null)
                {
                    if (absoluteToleranceNode.Attributes["id"] != null)
                    {
                        absoluteToleranceIDRef_ = absoluteToleranceNode.Attributes["id"].Value;
                        AbsoluteTolerance ob = new AbsoluteTolerance(absoluteToleranceNode);
                        IDManager.SetID(absoluteToleranceIDRef_, ob);
                    }
                    else if (absoluteToleranceNode.Attributes["href"] != null)
                    {
                        absoluteToleranceIDRef_ = absoluteToleranceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        absoluteTolerance_ = new AbsoluteTolerance(absoluteToleranceNode);
                    }
                }
                else
                {
                    absoluteTolerance_ = new AbsoluteTolerance(absoluteToleranceNode);
                }
            }


            XmlNode percentageToleranceNode = xmlNode.SelectSingleNode("percentageTolerance");

            if (percentageToleranceNode != null)
            {
                if (percentageToleranceNode.Attributes["href"] != null || percentageToleranceNode.Attributes["id"] != null)
                {
                    if (percentageToleranceNode.Attributes["id"] != null)
                    {
                        percentageToleranceIDRef_ = percentageToleranceNode.Attributes["id"].Value;
                        PercentageTolerance ob = new PercentageTolerance(percentageToleranceNode);
                        IDManager.SetID(percentageToleranceIDRef_, ob);
                    }
                    else if (percentageToleranceNode.Attributes["href"] != null)
                    {
                        percentageToleranceIDRef_ = percentageToleranceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        percentageTolerance_ = new PercentageTolerance(percentageToleranceNode);
                    }
                }
                else
                {
                    percentageTolerance_ = new PercentageTolerance(percentageToleranceNode);
                }
            }
        }
        public GasPhysicalQuantity(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode physicalQuantityNode = xmlNode.SelectSingleNode("physicalQuantity");

            if (physicalQuantityNode != null)
            {
                if (physicalQuantityNode.Attributes["href"] != null || physicalQuantityNode.Attributes["id"] != null)
                {
                    if (physicalQuantityNode.Attributes["id"] != null)
                    {
                        physicalQuantityIDRef_ = physicalQuantityNode.Attributes["id"].Value;
                        CommodityNotionalQuantity ob = new CommodityNotionalQuantity(physicalQuantityNode);
                        IDManager.SetID(physicalQuantityIDRef_, ob);
                    }
                    else if (physicalQuantityNode.Attributes["href"] != null)
                    {
                        physicalQuantityIDRef_ = physicalQuantityNode.Attributes["href"].Value;
                    }
                    else
                    {
                        physicalQuantity_ = new CommodityNotionalQuantity(physicalQuantityNode);
                    }
                }
                else
                {
                    physicalQuantity_ = new CommodityNotionalQuantity(physicalQuantityNode);
                }
            }


            XmlNode physicalQuantityScheduleNode = xmlNode.SelectSingleNode("physicalQuantitySchedule");

            if (physicalQuantityScheduleNode != null)
            {
                if (physicalQuantityScheduleNode.Attributes["href"] != null || physicalQuantityScheduleNode.Attributes["id"] != null)
                {
                    if (physicalQuantityScheduleNode.Attributes["id"] != null)
                    {
                        physicalQuantityScheduleIDRef_ = physicalQuantityScheduleNode.Attributes["id"].Value;
                        CommodityPhysicalQuantitySchedule ob = new CommodityPhysicalQuantitySchedule(physicalQuantityScheduleNode);
                        IDManager.SetID(physicalQuantityScheduleIDRef_, ob);
                    }
                    else if (physicalQuantityScheduleNode.Attributes["href"] != null)
                    {
                        physicalQuantityScheduleIDRef_ = physicalQuantityScheduleNode.Attributes["href"].Value;
                    }
                    else
                    {
                        physicalQuantitySchedule_ = new CommodityPhysicalQuantitySchedule(physicalQuantityScheduleNode);
                    }
                }
                else
                {
                    physicalQuantitySchedule_ = new CommodityPhysicalQuantitySchedule(physicalQuantityScheduleNode);
                }
            }


            XmlNode totalPhysicalQuantityNode = xmlNode.SelectSingleNode("totalPhysicalQuantity");

            if (totalPhysicalQuantityNode != null)
            {
                if (totalPhysicalQuantityNode.Attributes["href"] != null || totalPhysicalQuantityNode.Attributes["id"] != null)
                {
                    if (totalPhysicalQuantityNode.Attributes["id"] != null)
                    {
                        totalPhysicalQuantityIDRef_ = totalPhysicalQuantityNode.Attributes["id"].Value;
                        UnitQuantity ob = new UnitQuantity(totalPhysicalQuantityNode);
                        IDManager.SetID(totalPhysicalQuantityIDRef_, ob);
                    }
                    else if (totalPhysicalQuantityNode.Attributes["href"] != null)
                    {
                        totalPhysicalQuantityIDRef_ = totalPhysicalQuantityNode.Attributes["href"].Value;
                    }
                    else
                    {
                        totalPhysicalQuantity_ = new UnitQuantity(totalPhysicalQuantityNode);
                    }
                }
                else
                {
                    totalPhysicalQuantity_ = new UnitQuantity(totalPhysicalQuantityNode);
                }
            }


            XmlNodeList minPhysicalQuantityNodeList = xmlNode.SelectNodes("minPhysicalQuantity");

            if (minPhysicalQuantityNodeList != null)
            {
                this.minPhysicalQuantity_ = new List <CommodityNotionalQuantity>();
                foreach (XmlNode item in minPhysicalQuantityNodeList)
                {
                    if (item.Attributes["href"] != null || item.Attributes["id"] != null)
                    {
                        if (item.Attributes["id"] != null)
                        {
                            minPhysicalQuantityIDRef_ = item.Attributes["id"].Value;
                            minPhysicalQuantity_.Add(new CommodityNotionalQuantity(item));
                            IDManager.SetID(minPhysicalQuantityIDRef_, minPhysicalQuantity_[minPhysicalQuantity_.Count - 1]);
                        }
                        else if (item.Attributes["href"] != null)
                        {
                            minPhysicalQuantityIDRef_ = item.Attributes["href"].Value;
                        }
                        else
                        {
                            minPhysicalQuantity_.Add(new CommodityNotionalQuantity(item));
                        }
                    }
                    else
                    {
                        minPhysicalQuantity_.Add(new CommodityNotionalQuantity(item));
                    }
                }
            }


            XmlNodeList maxPhysicalQuantityNodeList = xmlNode.SelectNodes("maxPhysicalQuantity");

            if (maxPhysicalQuantityNodeList != null)
            {
                this.maxPhysicalQuantity_ = new List <CommodityNotionalQuantity>();
                foreach (XmlNode item in maxPhysicalQuantityNodeList)
                {
                    if (item.Attributes["href"] != null || item.Attributes["id"] != null)
                    {
                        if (item.Attributes["id"] != null)
                        {
                            maxPhysicalQuantityIDRef_ = item.Attributes["id"].Value;
                            maxPhysicalQuantity_.Add(new CommodityNotionalQuantity(item));
                            IDManager.SetID(maxPhysicalQuantityIDRef_, maxPhysicalQuantity_[maxPhysicalQuantity_.Count - 1]);
                        }
                        else if (item.Attributes["href"] != null)
                        {
                            maxPhysicalQuantityIDRef_ = item.Attributes["href"].Value;
                        }
                        else
                        {
                            maxPhysicalQuantity_.Add(new CommodityNotionalQuantity(item));
                        }
                    }
                    else
                    {
                        maxPhysicalQuantity_.Add(new CommodityNotionalQuantity(item));
                    }
                }
            }


            XmlNode electingPartyNode = xmlNode.SelectSingleNode("electingParty");

            if (electingPartyNode != null)
            {
                if (electingPartyNode.Attributes["href"] != null || electingPartyNode.Attributes["id"] != null)
                {
                    if (electingPartyNode.Attributes["id"] != null)
                    {
                        electingPartyIDRef_ = electingPartyNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(electingPartyNode);
                        IDManager.SetID(electingPartyIDRef_, ob);
                    }
                    else if (electingPartyNode.Attributes["href"] != null)
                    {
                        electingPartyIDRef_ = electingPartyNode.Attributes["href"].Value;
                    }
                    else
                    {
                        electingParty_ = new PartyReference(electingPartyNode);
                    }
                }
                else
                {
                    electingParty_ = new PartyReference(electingPartyNode);
                }
            }
        }
Example #17
0
        public ProposedCollateralAllocation(XmlNode xmlNode)
        {
            XmlNode allocationPartyReferenceNode = xmlNode.SelectSingleNode("allocationPartyReference");

            if (allocationPartyReferenceNode != null)
            {
                if (allocationPartyReferenceNode.Attributes["href"] != null || allocationPartyReferenceNode.Attributes["id"] != null)
                {
                    if (allocationPartyReferenceNode.Attributes["id"] != null)
                    {
                        allocationPartyReferenceIDRef_ = allocationPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(allocationPartyReferenceNode);
                        IDManager.SetID(allocationPartyReferenceIDRef_, ob);
                    }
                    else if (allocationPartyReferenceNode.Attributes["href"] != null)
                    {
                        allocationPartyReferenceIDRef_ = allocationPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        allocationPartyReference_ = new PartyReference(allocationPartyReferenceNode);
                    }
                }
                else
                {
                    allocationPartyReference_ = new PartyReference(allocationPartyReferenceNode);
                }
            }


            XmlNode allocationAccountReferenceNode = xmlNode.SelectSingleNode("allocationAccountReference");

            if (allocationAccountReferenceNode != null)
            {
                if (allocationAccountReferenceNode.Attributes["href"] != null || allocationAccountReferenceNode.Attributes["id"] != null)
                {
                    if (allocationAccountReferenceNode.Attributes["id"] != null)
                    {
                        allocationAccountReferenceIDRef_ = allocationAccountReferenceNode.Attributes["id"].Value;
                        AccountReference ob = new AccountReference(allocationAccountReferenceNode);
                        IDManager.SetID(allocationAccountReferenceIDRef_, ob);
                    }
                    else if (allocationAccountReferenceNode.Attributes["href"] != null)
                    {
                        allocationAccountReferenceIDRef_ = allocationAccountReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        allocationAccountReference_ = new AccountReference(allocationAccountReferenceNode);
                    }
                }
                else
                {
                    allocationAccountReference_ = new AccountReference(allocationAccountReferenceNode);
                }
            }


            XmlNode collateralValueAllocationNode = xmlNode.SelectSingleNode("collateralValueAllocation");

            if (collateralValueAllocationNode != null)
            {
                if (collateralValueAllocationNode.Attributes["href"] != null || collateralValueAllocationNode.Attributes["id"] != null)
                {
                    if (collateralValueAllocationNode.Attributes["id"] != null)
                    {
                        collateralValueAllocationIDRef_ = collateralValueAllocationNode.Attributes["id"].Value;
                        CollateralValueAllocation ob = new CollateralValueAllocation(collateralValueAllocationNode);
                        IDManager.SetID(collateralValueAllocationIDRef_, ob);
                    }
                    else if (collateralValueAllocationNode.Attributes["href"] != null)
                    {
                        collateralValueAllocationIDRef_ = collateralValueAllocationNode.Attributes["href"].Value;
                    }
                    else
                    {
                        collateralValueAllocation_ = new CollateralValueAllocation(collateralValueAllocationNode);
                    }
                }
                else
                {
                    collateralValueAllocation_ = new CollateralValueAllocation(collateralValueAllocationNode);
                }
            }
        }
Example #18
0
        public FeaturePayment(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNodeList payerPartyReferenceNodeList = xmlNode.SelectNodes("payerPartyReference");

            if (payerPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in payerPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        payerPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(payerPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        payerPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        payerPartyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList payerAccountReferenceNodeList = xmlNode.SelectNodes("payerAccountReference");

            if (payerAccountReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in payerAccountReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        payerAccountReferenceIDRef = item.Attributes["id"].Name;
                        AccountReference ob = AccountReference();
                        IDManager.SetID(payerAccountReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        payerAccountReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        payerAccountReference = new AccountReference(item);
                    }
                }
            }


            XmlNodeList receiverPartyReferenceNodeList = xmlNode.SelectNodes("receiverPartyReference");

            if (receiverPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in receiverPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        receiverPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(receiverPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        receiverPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        receiverPartyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList receiverAccountReferenceNodeList = xmlNode.SelectNodes("receiverAccountReference");

            if (receiverAccountReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in receiverAccountReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        receiverAccountReferenceIDRef = item.Attributes["id"].Name;
                        AccountReference ob = AccountReference();
                        IDManager.SetID(receiverAccountReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        receiverAccountReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        receiverAccountReference = new AccountReference(item);
                    }
                }
            }


            XmlNodeList levelPercentageNodeList = xmlNode.SelectNodes("levelPercentage");

            if (levelPercentageNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in levelPercentageNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        levelPercentageIDRef = item.Attributes["id"].Name;
                        XsdTypeDecimal ob = XsdTypeDecimal();
                        IDManager.SetID(levelPercentageIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        levelPercentageIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        levelPercentage = new XsdTypeDecimal(item);
                    }
                }
            }


            XmlNodeList amountNodeList = xmlNode.SelectNodes("amount");

            if (amountNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in amountNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        amountIDRef = item.Attributes["id"].Name;
                        NonNegativeDecimal ob = NonNegativeDecimal();
                        IDManager.SetID(amountIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        amountIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        amount = new NonNegativeDecimal(item);
                    }
                }
            }


            XmlNodeList timeNodeList = xmlNode.SelectNodes("time");

            if (timeNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in timeNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        timeIDRef = item.Attributes["id"].Name;
                        TimeTypeEnum ob = TimeTypeEnum();
                        IDManager.SetID(timeIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        timeIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        time = new TimeTypeEnum(item);
                    }
                }
            }


            XmlNodeList currencyNodeList = xmlNode.SelectNodes("currency");

            if (currencyNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in currencyNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        currencyIDRef = item.Attributes["id"].Name;
                        Currency ob = Currency();
                        IDManager.SetID(currencyIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        currencyIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        currency = new Currency(item);
                    }
                }
            }


            XmlNodeList featurePaymentDateNodeList = xmlNode.SelectNodes("featurePaymentDate");

            if (featurePaymentDateNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in featurePaymentDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        featurePaymentDateIDRef = item.Attributes["id"].Name;
                        AdjustableOrRelativeDate ob = AdjustableOrRelativeDate();
                        IDManager.SetID(featurePaymentDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        featurePaymentDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        featurePaymentDate = new AdjustableOrRelativeDate(item);
                    }
                }
            }
        }
 public TradeNovationContent(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNodeList newTradeIdentifierNodeList = xmlNode.SelectNodes("newTradeIdentifier");
     
     foreach (XmlNode item in newTradeIdentifierNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 newTradeIdentifierIDRef = item.Attributes["id"].Name;
                 List<PartyTradeIdentifier> ob = new List<PartyTradeIdentifier>();
                 ob.Add(new PartyTradeIdentifier(item));
                 IDManager.SetID(newTradeIdentifierIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 newTradeIdentifierIDRef = item.Attributes["href"].Name;
             }
             else
             {
             newTradeIdentifier.Add(new PartyTradeIdentifier(item));
             }
         }
     }
     
 
     XmlNodeList newTradeNodeList = xmlNode.SelectNodes("newTrade");
     if (newTradeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in newTradeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 newTradeIDRef = item.Attributes["id"].Name;
                 Trade ob = Trade();
                 IDManager.SetID(newTradeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 newTradeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 newTrade = new Trade(item);
             }
         }
     }
     
 
     XmlNodeList oldTradeIdentifierNodeList = xmlNode.SelectNodes("oldTradeIdentifier");
     
     foreach (XmlNode item in oldTradeIdentifierNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 oldTradeIdentifierIDRef = item.Attributes["id"].Name;
                 List<PartyTradeIdentifier> ob = new List<PartyTradeIdentifier>();
                 ob.Add(new PartyTradeIdentifier(item));
                 IDManager.SetID(oldTradeIdentifierIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 oldTradeIdentifierIDRef = item.Attributes["href"].Name;
             }
             else
             {
             oldTradeIdentifier.Add(new PartyTradeIdentifier(item));
             }
         }
     }
     
 
     XmlNodeList oldTradeNodeList = xmlNode.SelectNodes("oldTrade");
     if (oldTradeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in oldTradeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 oldTradeIDRef = item.Attributes["id"].Name;
                 Trade ob = Trade();
                 IDManager.SetID(oldTradeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 oldTradeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 oldTrade = new Trade(item);
             }
         }
     }
     
 
     XmlNodeList feeTradeIdentifierNodeList = xmlNode.SelectNodes("feeTradeIdentifier");
     if (feeTradeIdentifierNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in feeTradeIdentifierNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 feeTradeIdentifierIDRef = item.Attributes["id"].Name;
                 PartyTradeIdentifier ob = PartyTradeIdentifier();
                 IDManager.SetID(feeTradeIdentifierIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 feeTradeIdentifierIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 feeTradeIdentifier = new PartyTradeIdentifier(item);
             }
         }
     }
     
 
     XmlNodeList feeTradeNodeList = xmlNode.SelectNodes("feeTrade");
     if (feeTradeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in feeTradeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 feeTradeIDRef = item.Attributes["id"].Name;
                 Trade ob = Trade();
                 IDManager.SetID(feeTradeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 feeTradeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 feeTrade = new Trade(item);
             }
         }
     }
     
 
     XmlNodeList transferorNodeList = xmlNode.SelectNodes("transferor");
     if (transferorNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in transferorNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 transferorIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(transferorIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 transferorIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 transferor = new PartyReference(item);
             }
         }
     }
     
 
     XmlNodeList transferorAccountNodeList = xmlNode.SelectNodes("transferorAccount");
     if (transferorAccountNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in transferorAccountNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 transferorAccountIDRef = item.Attributes["id"].Name;
                 AccountReference ob = AccountReference();
                 IDManager.SetID(transferorAccountIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 transferorAccountIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 transferorAccount = new AccountReference(item);
             }
         }
     }
     
 
     XmlNodeList transfereeNodeList = xmlNode.SelectNodes("transferee");
     if (transfereeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in transfereeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 transfereeIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(transfereeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 transfereeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 transferee = new PartyReference(item);
             }
         }
     }
     
 
     XmlNodeList otherTransfereeNodeList = xmlNode.SelectNodes("otherTransferee");
     if (otherTransfereeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in otherTransfereeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 otherTransfereeIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(otherTransfereeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 otherTransfereeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 otherTransferee = new PartyReference(item);
             }
         }
     }
     
 
     XmlNodeList transfereeAccountNodeList = xmlNode.SelectNodes("transfereeAccount");
     if (transfereeAccountNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in transfereeAccountNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 transfereeAccountIDRef = item.Attributes["id"].Name;
                 AccountReference ob = AccountReference();
                 IDManager.SetID(transfereeAccountIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 transfereeAccountIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 transfereeAccount = new AccountReference(item);
             }
         }
     }
     
 
     XmlNodeList otherTransfereeAccountNodeList = xmlNode.SelectNodes("otherTransfereeAccount");
     if (otherTransfereeAccountNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in otherTransfereeAccountNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 otherTransfereeAccountIDRef = item.Attributes["id"].Name;
                 AccountReference ob = AccountReference();
                 IDManager.SetID(otherTransfereeAccountIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 otherTransfereeAccountIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 otherTransfereeAccount = new AccountReference(item);
             }
         }
     }
     
 
     XmlNodeList remainingPartyNodeList = xmlNode.SelectNodes("remainingParty");
     if (remainingPartyNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in remainingPartyNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 remainingPartyIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(remainingPartyIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 remainingPartyIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 remainingParty = new PartyReference(item);
             }
         }
     }
     
 
     XmlNodeList remainingPartyAccountNodeList = xmlNode.SelectNodes("remainingPartyAccount");
     if (remainingPartyAccountNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in remainingPartyAccountNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 remainingPartyAccountIDRef = item.Attributes["id"].Name;
                 AccountReference ob = AccountReference();
                 IDManager.SetID(remainingPartyAccountIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 remainingPartyAccountIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 remainingPartyAccount = new AccountReference(item);
             }
         }
     }
     
 
     XmlNodeList otherRemainingPartyNodeList = xmlNode.SelectNodes("otherRemainingParty");
     if (otherRemainingPartyNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in otherRemainingPartyNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 otherRemainingPartyIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(otherRemainingPartyIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 otherRemainingPartyIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 otherRemainingParty = new PartyReference(item);
             }
         }
     }
     
 
     XmlNodeList otherRemainingPartyAccountNodeList = xmlNode.SelectNodes("otherRemainingPartyAccount");
     if (otherRemainingPartyAccountNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in otherRemainingPartyAccountNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 otherRemainingPartyAccountIDRef = item.Attributes["id"].Name;
                 AccountReference ob = AccountReference();
                 IDManager.SetID(otherRemainingPartyAccountIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 otherRemainingPartyAccountIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 otherRemainingPartyAccount = new AccountReference(item);
             }
         }
     }
     
 
     XmlNodeList novationDateNodeList = xmlNode.SelectNodes("novationDate");
     if (novationDateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in novationDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 novationDateIDRef = item.Attributes["id"].Name;
                 XsdTypeDate ob = XsdTypeDate();
                 IDManager.SetID(novationDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 novationDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 novationDate = new XsdTypeDate(item);
             }
         }
     }
     
 
     XmlNodeList executionDateTimeNodeList = xmlNode.SelectNodes("executionDateTime");
     if (executionDateTimeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in executionDateTimeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 executionDateTimeIDRef = item.Attributes["id"].Name;
                 ExecutionDateTime ob = ExecutionDateTime();
                 IDManager.SetID(executionDateTimeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 executionDateTimeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 executionDateTime = new ExecutionDateTime(item);
             }
         }
     }
     
 
     XmlNodeList novationTradeDateNodeList = xmlNode.SelectNodes("novationTradeDate");
     if (novationTradeDateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in novationTradeDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 novationTradeDateIDRef = item.Attributes["id"].Name;
                 XsdTypeDate ob = XsdTypeDate();
                 IDManager.SetID(novationTradeDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 novationTradeDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 novationTradeDate = new XsdTypeDate(item);
             }
         }
     }
     
 
     XmlNodeList novatedAmountNodeList = xmlNode.SelectNodes("novatedAmount");
     
     foreach (XmlNode item in novatedAmountNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 novatedAmountIDRef = item.Attributes["id"].Name;
                 List<Money> ob = new List<Money>();
                 ob.Add(new Money(item));
                 IDManager.SetID(novatedAmountIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 novatedAmountIDRef = item.Attributes["href"].Name;
             }
             else
             {
             novatedAmount.Add(new Money(item));
             }
         }
     }
     
 
     XmlNodeList remainingAmountNodeList = xmlNode.SelectNodes("remainingAmount");
     
     foreach (XmlNode item in remainingAmountNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 remainingAmountIDRef = item.Attributes["id"].Name;
                 List<Money> ob = new List<Money>();
                 ob.Add(new Money(item));
                 IDManager.SetID(remainingAmountIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 remainingAmountIDRef = item.Attributes["href"].Name;
             }
             else
             {
             remainingAmount.Add(new Money(item));
             }
         }
     }
     
 
     XmlNodeList novatedNumberOfOptionsNodeList = xmlNode.SelectNodes("novatedNumberOfOptions");
     if (novatedNumberOfOptionsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in novatedNumberOfOptionsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 novatedNumberOfOptionsIDRef = item.Attributes["id"].Name;
                 XsdTypeDecimal ob = XsdTypeDecimal();
                 IDManager.SetID(novatedNumberOfOptionsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 novatedNumberOfOptionsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 novatedNumberOfOptions = new XsdTypeDecimal(item);
             }
         }
     }
     
 
     XmlNodeList remainingNumberOfOptionsNodeList = xmlNode.SelectNodes("remainingNumberOfOptions");
     if (remainingNumberOfOptionsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in remainingNumberOfOptionsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 remainingNumberOfOptionsIDRef = item.Attributes["id"].Name;
                 XsdTypeDecimal ob = XsdTypeDecimal();
                 IDManager.SetID(remainingNumberOfOptionsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 remainingNumberOfOptionsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 remainingNumberOfOptions = new XsdTypeDecimal(item);
             }
         }
     }
     
 
     XmlNodeList novatedNumberOfUnitsNodeList = xmlNode.SelectNodes("novatedNumberOfUnits");
     if (novatedNumberOfUnitsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in novatedNumberOfUnitsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 novatedNumberOfUnitsIDRef = item.Attributes["id"].Name;
                 XsdTypeDecimal ob = XsdTypeDecimal();
                 IDManager.SetID(novatedNumberOfUnitsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 novatedNumberOfUnitsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 novatedNumberOfUnits = new XsdTypeDecimal(item);
             }
         }
     }
     
 
     XmlNodeList remainingNumberOfUnitsNodeList = xmlNode.SelectNodes("remainingNumberOfUnits");
     if (remainingNumberOfUnitsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in remainingNumberOfUnitsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 remainingNumberOfUnitsIDRef = item.Attributes["id"].Name;
                 XsdTypeDecimal ob = XsdTypeDecimal();
                 IDManager.SetID(remainingNumberOfUnitsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 remainingNumberOfUnitsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 remainingNumberOfUnits = new XsdTypeDecimal(item);
             }
         }
     }
     
 
     XmlNodeList fullFirstCalculationPeriodNodeList = xmlNode.SelectNodes("fullFirstCalculationPeriod");
     if (fullFirstCalculationPeriodNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in fullFirstCalculationPeriodNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 fullFirstCalculationPeriodIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(fullFirstCalculationPeriodIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 fullFirstCalculationPeriodIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 fullFirstCalculationPeriod = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList firstPeriodStartDateNodeList = xmlNode.SelectNodes("firstPeriodStartDate");
     
     foreach (XmlNode item in firstPeriodStartDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 firstPeriodStartDateIDRef = item.Attributes["id"].Name;
                 List<FirstPeriodStartDate> ob = new List<FirstPeriodStartDate>();
                 ob.Add(new FirstPeriodStartDate(item));
                 IDManager.SetID(firstPeriodStartDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 firstPeriodStartDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
             firstPeriodStartDate.Add(new FirstPeriodStartDate(item));
             }
         }
     }
     
 
     XmlNodeList nonRelianceNodeList = xmlNode.SelectNodes("nonReliance");
     if (nonRelianceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in nonRelianceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 nonRelianceIDRef = item.Attributes["id"].Name;
                 Empty ob = Empty();
                 IDManager.SetID(nonRelianceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 nonRelianceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 nonReliance = new Empty(item);
             }
         }
     }
     
 
     XmlNodeList creditDerivativesNoticesNodeList = xmlNode.SelectNodes("creditDerivativesNotices");
     if (creditDerivativesNoticesNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in creditDerivativesNoticesNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 creditDerivativesNoticesIDRef = item.Attributes["id"].Name;
                 CreditDerivativesNotices ob = CreditDerivativesNotices();
                 IDManager.SetID(creditDerivativesNoticesIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 creditDerivativesNoticesIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 creditDerivativesNotices = new CreditDerivativesNotices(item);
             }
         }
     }
     
 
     XmlNodeList contractualDefinitionsNodeList = xmlNode.SelectNodes("contractualDefinitions");
     
     foreach (XmlNode item in contractualDefinitionsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 contractualDefinitionsIDRef = item.Attributes["id"].Name;
                 List<ContractualDefinitions> ob = new List<ContractualDefinitions>();
                 ob.Add(new ContractualDefinitions(item));
                 IDManager.SetID(contractualDefinitionsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 contractualDefinitionsIDRef = item.Attributes["href"].Name;
             }
             else
             {
             contractualDefinitions.Add(new ContractualDefinitions(item));
             }
         }
     }
     
 
     XmlNodeList contractualTermsSupplementNodeList = xmlNode.SelectNodes("contractualTermsSupplement");
     
     foreach (XmlNode item in contractualTermsSupplementNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 contractualTermsSupplementIDRef = item.Attributes["id"].Name;
                 List<ContractualTermsSupplement> ob = new List<ContractualTermsSupplement>();
                 ob.Add(new ContractualTermsSupplement(item));
                 IDManager.SetID(contractualTermsSupplementIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 contractualTermsSupplementIDRef = item.Attributes["href"].Name;
             }
             else
             {
             contractualTermsSupplement.Add(new ContractualTermsSupplement(item));
             }
         }
     }
     
 
     XmlNodeList paymentNodeList = xmlNode.SelectNodes("payment");
     if (paymentNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in paymentNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 paymentIDRef = item.Attributes["id"].Name;
                 Payment ob = Payment();
                 IDManager.SetID(paymentIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 paymentIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 payment = new Payment(item);
             }
         }
     }
     
 
 }
Example #20
0
        public TradeIdentifier(XmlNode xmlNode)
        {
            XmlNode issuerNode = xmlNode.SelectSingleNode("issuer");

            if (issuerNode != null)
            {
                if (issuerNode.Attributes["href"] != null || issuerNode.Attributes["id"] != null)
                {
                    if (issuerNode.Attributes["id"] != null)
                    {
                        issuerIDRef_ = issuerNode.Attributes["id"].Value;
                        IssuerId ob = new IssuerId(issuerNode);
                        IDManager.SetID(issuerIDRef_, ob);
                    }
                    else if (issuerNode.Attributes["href"] != null)
                    {
                        issuerIDRef_ = issuerNode.Attributes["href"].Value;
                    }
                    else
                    {
                        issuer_ = new IssuerId(issuerNode);
                    }
                }
                else
                {
                    issuer_ = new IssuerId(issuerNode);
                }
            }


            XmlNode tradeIdNode = xmlNode.SelectSingleNode("tradeId");

            if (tradeIdNode != null)
            {
                if (tradeIdNode.Attributes["href"] != null || tradeIdNode.Attributes["id"] != null)
                {
                    if (tradeIdNode.Attributes["id"] != null)
                    {
                        tradeIdIDRef_ = tradeIdNode.Attributes["id"].Value;
                        TradeId ob = new TradeId(tradeIdNode);
                        IDManager.SetID(tradeIdIDRef_, ob);
                    }
                    else if (tradeIdNode.Attributes["href"] != null)
                    {
                        tradeIdIDRef_ = tradeIdNode.Attributes["href"].Value;
                    }
                    else
                    {
                        tradeId_ = new TradeId(tradeIdNode);
                    }
                }
                else
                {
                    tradeId_ = new TradeId(tradeIdNode);
                }
            }


            XmlNode partyReferenceNode = xmlNode.SelectSingleNode("partyReference");

            if (partyReferenceNode != null)
            {
                if (partyReferenceNode.Attributes["href"] != null || partyReferenceNode.Attributes["id"] != null)
                {
                    if (partyReferenceNode.Attributes["id"] != null)
                    {
                        partyReferenceIDRef_ = partyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(partyReferenceNode);
                        IDManager.SetID(partyReferenceIDRef_, ob);
                    }
                    else if (partyReferenceNode.Attributes["href"] != null)
                    {
                        partyReferenceIDRef_ = partyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        partyReference_ = new PartyReference(partyReferenceNode);
                    }
                }
                else
                {
                    partyReference_ = new PartyReference(partyReferenceNode);
                }
            }


            XmlNode accountReferenceNode = xmlNode.SelectSingleNode("accountReference");

            if (accountReferenceNode != null)
            {
                if (accountReferenceNode.Attributes["href"] != null || accountReferenceNode.Attributes["id"] != null)
                {
                    if (accountReferenceNode.Attributes["id"] != null)
                    {
                        accountReferenceIDRef_ = accountReferenceNode.Attributes["id"].Value;
                        AccountReference ob = new AccountReference(accountReferenceNode);
                        IDManager.SetID(accountReferenceIDRef_, ob);
                    }
                    else if (accountReferenceNode.Attributes["href"] != null)
                    {
                        accountReferenceIDRef_ = accountReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        accountReference_ = new AccountReference(accountReferenceNode);
                    }
                }
                else
                {
                    accountReference_ = new AccountReference(accountReferenceNode);
                }
            }


            XmlNode versionedTradeIdNode = xmlNode.SelectSingleNode("versionedTradeId");

            if (versionedTradeIdNode != null)
            {
                if (versionedTradeIdNode.Attributes["href"] != null || versionedTradeIdNode.Attributes["id"] != null)
                {
                    if (versionedTradeIdNode.Attributes["id"] != null)
                    {
                        versionedTradeIdIDRef_ = versionedTradeIdNode.Attributes["id"].Value;
                        VersionedTradeId ob = new VersionedTradeId(versionedTradeIdNode);
                        IDManager.SetID(versionedTradeIdIDRef_, ob);
                    }
                    else if (versionedTradeIdNode.Attributes["href"] != null)
                    {
                        versionedTradeIdIDRef_ = versionedTradeIdNode.Attributes["href"].Value;
                    }
                    else
                    {
                        versionedTradeId_ = new VersionedTradeId(versionedTradeIdNode);
                    }
                }
                else
                {
                    versionedTradeId_ = new VersionedTradeId(versionedTradeIdNode);
                }
            }
        }
 public EquityDerivativeBase(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNodeList buyerPartyReferenceNodeList = xmlNode.SelectNodes("buyerPartyReference");
     if (buyerPartyReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in buyerPartyReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 buyerPartyReferenceIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(buyerPartyReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 buyerPartyReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 buyerPartyReference = new PartyReference(item);
             }
         }
     }
     
 
     XmlNodeList buyerAccountReferenceNodeList = xmlNode.SelectNodes("buyerAccountReference");
     if (buyerAccountReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in buyerAccountReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 buyerAccountReferenceIDRef = item.Attributes["id"].Name;
                 AccountReference ob = AccountReference();
                 IDManager.SetID(buyerAccountReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 buyerAccountReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 buyerAccountReference = new AccountReference(item);
             }
         }
     }
     
 
     XmlNodeList sellerPartyReferenceNodeList = xmlNode.SelectNodes("sellerPartyReference");
     if (sellerPartyReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in sellerPartyReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 sellerPartyReferenceIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(sellerPartyReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 sellerPartyReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 sellerPartyReference = new PartyReference(item);
             }
         }
     }
     
 
     XmlNodeList sellerAccountReferenceNodeList = xmlNode.SelectNodes("sellerAccountReference");
     if (sellerAccountReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in sellerAccountReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 sellerAccountReferenceIDRef = item.Attributes["id"].Name;
                 AccountReference ob = AccountReference();
                 IDManager.SetID(sellerAccountReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 sellerAccountReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 sellerAccountReference = new AccountReference(item);
             }
         }
     }
     
 
     XmlNodeList optionTypeNodeList = xmlNode.SelectNodes("optionType");
     if (optionTypeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in optionTypeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 optionTypeIDRef = item.Attributes["id"].Name;
                 EquityOptionTypeEnum ob = EquityOptionTypeEnum();
                 IDManager.SetID(optionTypeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 optionTypeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 optionType = new EquityOptionTypeEnum(item);
             }
         }
     }
     
 
     XmlNodeList equityEffectiveDateNodeList = xmlNode.SelectNodes("equityEffectiveDate");
     if (equityEffectiveDateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in equityEffectiveDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 equityEffectiveDateIDRef = item.Attributes["id"].Name;
                 XsdTypeDate ob = XsdTypeDate();
                 IDManager.SetID(equityEffectiveDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 equityEffectiveDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 equityEffectiveDate = new XsdTypeDate(item);
             }
         }
     }
     
 
     XmlNodeList underlyerNodeList = xmlNode.SelectNodes("underlyer");
     if (underlyerNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in underlyerNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 underlyerIDRef = item.Attributes["id"].Name;
                 Underlyer ob = Underlyer();
                 IDManager.SetID(underlyerIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 underlyerIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 underlyer = new Underlyer(item);
             }
         }
     }
     
 
     XmlNodeList notionalNodeList = xmlNode.SelectNodes("notional");
     if (notionalNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notionalNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notionalIDRef = item.Attributes["id"].Name;
                 NonNegativeMoney ob = NonNegativeMoney();
                 IDManager.SetID(notionalIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notionalIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notional = new NonNegativeMoney(item);
             }
         }
     }
     
 
     XmlNodeList equityExerciseNodeList = xmlNode.SelectNodes("equityExercise");
     if (equityExerciseNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in equityExerciseNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 equityExerciseIDRef = item.Attributes["id"].Name;
                 EquityExerciseValuationSettlement ob = EquityExerciseValuationSettlement();
                 IDManager.SetID(equityExerciseIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 equityExerciseIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 equityExercise = new EquityExerciseValuationSettlement(item);
             }
         }
     }
     
 
     XmlNodeList featureNodeList = xmlNode.SelectNodes("feature");
     if (featureNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in featureNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 featureIDRef = item.Attributes["id"].Name;
                 OptionFeatures ob = OptionFeatures();
                 IDManager.SetID(featureIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 featureIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 feature = new OptionFeatures(item);
             }
         }
     }
     
 
     XmlNodeList fxFeatureNodeList = xmlNode.SelectNodes("fxFeature");
     if (fxFeatureNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in fxFeatureNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 fxFeatureIDRef = item.Attributes["id"].Name;
                 FxFeature ob = FxFeature();
                 IDManager.SetID(fxFeatureIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 fxFeatureIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 fxFeature = new FxFeature(item);
             }
         }
     }
     
 
     XmlNodeList strategyFeatureNodeList = xmlNode.SelectNodes("strategyFeature");
     if (strategyFeatureNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in strategyFeatureNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 strategyFeatureIDRef = item.Attributes["id"].Name;
                 StrategyFeature ob = StrategyFeature();
                 IDManager.SetID(strategyFeatureIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 strategyFeatureIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 strategyFeature = new StrategyFeature(item);
             }
         }
     }
     
 
 }
 public PrincipalExchangeDescriptions(XmlNode xmlNode)
 {
     XmlNode payerPartyReferenceNode = xmlNode.SelectSingleNode("payerPartyReference");
     
     if (payerPartyReferenceNode != null)
     {
         if (payerPartyReferenceNode.Attributes["href"] != null || payerPartyReferenceNode.Attributes["id"] != null) 
         {
             if (payerPartyReferenceNode.Attributes["id"] != null) 
             {
                 payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(payerPartyReferenceNode);
                 IDManager.SetID(payerPartyReferenceIDRef_, ob);
             }
             else if (payerPartyReferenceNode.Attributes["href"] != null)
             {
                 payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
             }
         }
         else
         {
             payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
         }
     }
     
 
     XmlNode payerAccountReferenceNode = xmlNode.SelectSingleNode("payerAccountReference");
     
     if (payerAccountReferenceNode != null)
     {
         if (payerAccountReferenceNode.Attributes["href"] != null || payerAccountReferenceNode.Attributes["id"] != null) 
         {
             if (payerAccountReferenceNode.Attributes["id"] != null) 
             {
                 payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(payerAccountReferenceNode);
                 IDManager.SetID(payerAccountReferenceIDRef_, ob);
             }
             else if (payerAccountReferenceNode.Attributes["href"] != null)
             {
                 payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
             }
         }
         else
         {
             payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
         }
     }
     
 
     XmlNode receiverPartyReferenceNode = xmlNode.SelectSingleNode("receiverPartyReference");
     
     if (receiverPartyReferenceNode != null)
     {
         if (receiverPartyReferenceNode.Attributes["href"] != null || receiverPartyReferenceNode.Attributes["id"] != null) 
         {
             if (receiverPartyReferenceNode.Attributes["id"] != null) 
             {
                 receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(receiverPartyReferenceNode);
                 IDManager.SetID(receiverPartyReferenceIDRef_, ob);
             }
             else if (receiverPartyReferenceNode.Attributes["href"] != null)
             {
                 receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
             }
         }
         else
         {
             receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
         }
     }
     
 
     XmlNode receiverAccountReferenceNode = xmlNode.SelectSingleNode("receiverAccountReference");
     
     if (receiverAccountReferenceNode != null)
     {
         if (receiverAccountReferenceNode.Attributes["href"] != null || receiverAccountReferenceNode.Attributes["id"] != null) 
         {
             if (receiverAccountReferenceNode.Attributes["id"] != null) 
             {
                 receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(receiverAccountReferenceNode);
                 IDManager.SetID(receiverAccountReferenceIDRef_, ob);
             }
             else if (receiverAccountReferenceNode.Attributes["href"] != null)
             {
                 receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
             }
         }
         else
         {
             receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
         }
     }
     
 
     XmlNode principalExchangeAmountNode = xmlNode.SelectSingleNode("principalExchangeAmount");
     
     if (principalExchangeAmountNode != null)
     {
         if (principalExchangeAmountNode.Attributes["href"] != null || principalExchangeAmountNode.Attributes["id"] != null) 
         {
             if (principalExchangeAmountNode.Attributes["id"] != null) 
             {
                 principalExchangeAmountIDRef_ = principalExchangeAmountNode.Attributes["id"].Value;
                 PrincipalExchangeAmount ob = new PrincipalExchangeAmount(principalExchangeAmountNode);
                 IDManager.SetID(principalExchangeAmountIDRef_, ob);
             }
             else if (principalExchangeAmountNode.Attributes["href"] != null)
             {
                 principalExchangeAmountIDRef_ = principalExchangeAmountNode.Attributes["href"].Value;
             }
             else
             {
                 principalExchangeAmount_ = new PrincipalExchangeAmount(principalExchangeAmountNode);
             }
         }
         else
         {
             principalExchangeAmount_ = new PrincipalExchangeAmount(principalExchangeAmountNode);
         }
     }
     
 
     XmlNode principalExchangeDateNode = xmlNode.SelectSingleNode("principalExchangeDate");
     
     if (principalExchangeDateNode != null)
     {
         if (principalExchangeDateNode.Attributes["href"] != null || principalExchangeDateNode.Attributes["id"] != null) 
         {
             if (principalExchangeDateNode.Attributes["id"] != null) 
             {
                 principalExchangeDateIDRef_ = principalExchangeDateNode.Attributes["id"].Value;
                 AdjustableOrRelativeDate ob = new AdjustableOrRelativeDate(principalExchangeDateNode);
                 IDManager.SetID(principalExchangeDateIDRef_, ob);
             }
             else if (principalExchangeDateNode.Attributes["href"] != null)
             {
                 principalExchangeDateIDRef_ = principalExchangeDateNode.Attributes["href"].Value;
             }
             else
             {
                 principalExchangeDate_ = new AdjustableOrRelativeDate(principalExchangeDateNode);
             }
         }
         else
         {
             principalExchangeDate_ = new AdjustableOrRelativeDate(principalExchangeDateNode);
         }
     }
     
 
 }
Example #23
0
        public UpfrontPremium(XmlNode xmlNode)
        {
            XmlNodeList payerPartyReferenceNodeList = xmlNode.SelectNodes("payerPartyReference");

            if (payerPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in payerPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        payerPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(payerPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        payerPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        payerPartyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList receiverPartyReferenceNodeList = xmlNode.SelectNodes("receiverPartyReference");

            if (receiverPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in receiverPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        receiverPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(receiverPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        receiverPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        receiverPartyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList amountNodeList = xmlNode.SelectNodes("amount");

            if (amountNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in amountNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        amountIDRef = item.Attributes["id"].Name;
                        XsdTypeDecimal ob = XsdTypeDecimal();
                        IDManager.SetID(amountIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        amountIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        amount = new XsdTypeDecimal(item);
                    }
                }
            }


            XmlNodeList exchangeDateNodeList = xmlNode.SelectNodes("exchangeDate");

            if (exchangeDateNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in exchangeDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        exchangeDateIDRef = item.Attributes["id"].Name;
                        XsdTypeDate ob = XsdTypeDate();
                        IDManager.SetID(exchangeDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        exchangeDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        exchangeDate = new XsdTypeDate(item);
                    }
                }
            }
        }
        public PaymentBaseExtended(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNodeList payerPartyReferenceNodeList = xmlNode.SelectNodes("payerPartyReference");

            if (payerPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in payerPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        payerPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(payerPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        payerPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        payerPartyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList payerAccountReferenceNodeList = xmlNode.SelectNodes("payerAccountReference");

            if (payerAccountReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in payerAccountReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        payerAccountReferenceIDRef = item.Attributes["id"].Name;
                        AccountReference ob = AccountReference();
                        IDManager.SetID(payerAccountReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        payerAccountReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        payerAccountReference = new AccountReference(item);
                    }
                }
            }


            XmlNodeList receiverPartyReferenceNodeList = xmlNode.SelectNodes("receiverPartyReference");

            if (receiverPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in receiverPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        receiverPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(receiverPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        receiverPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        receiverPartyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList receiverAccountReferenceNodeList = xmlNode.SelectNodes("receiverAccountReference");

            if (receiverAccountReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in receiverAccountReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        receiverAccountReferenceIDRef = item.Attributes["id"].Name;
                        AccountReference ob = AccountReference();
                        IDManager.SetID(receiverAccountReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        receiverAccountReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        receiverAccountReference = new AccountReference(item);
                    }
                }
            }


            XmlNodeList paymentDateNodeList = xmlNode.SelectNodes("paymentDate");

            if (paymentDateNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in paymentDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        paymentDateIDRef = item.Attributes["id"].Name;
                        AdjustableOrRelativeDate ob = AdjustableOrRelativeDate();
                        IDManager.SetID(paymentDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        paymentDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        paymentDate = new AdjustableOrRelativeDate(item);
                    }
                }
            }
        }
        public AdditionalDisruptionEvents(XmlNode xmlNode)
        {
            XmlNode changeInLawNode = xmlNode.SelectSingleNode("changeInLaw");

            if (changeInLawNode != null)
            {
                if (changeInLawNode.Attributes["href"] != null || changeInLawNode.Attributes["id"] != null)
                {
                    if (changeInLawNode.Attributes["id"] != null)
                    {
                        changeInLawIDRef_ = changeInLawNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(changeInLawNode);
                        IDManager.SetID(changeInLawIDRef_, ob);
                    }
                    else if (changeInLawNode.Attributes["href"] != null)
                    {
                        changeInLawIDRef_ = changeInLawNode.Attributes["href"].Value;
                    }
                    else
                    {
                        changeInLaw_ = new XsdTypeBoolean(changeInLawNode);
                    }
                }
                else
                {
                    changeInLaw_ = new XsdTypeBoolean(changeInLawNode);
                }
            }


            XmlNode failureToDeliverNode = xmlNode.SelectSingleNode("failureToDeliver");

            if (failureToDeliverNode != null)
            {
                if (failureToDeliverNode.Attributes["href"] != null || failureToDeliverNode.Attributes["id"] != null)
                {
                    if (failureToDeliverNode.Attributes["id"] != null)
                    {
                        failureToDeliverIDRef_ = failureToDeliverNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(failureToDeliverNode);
                        IDManager.SetID(failureToDeliverIDRef_, ob);
                    }
                    else if (failureToDeliverNode.Attributes["href"] != null)
                    {
                        failureToDeliverIDRef_ = failureToDeliverNode.Attributes["href"].Value;
                    }
                    else
                    {
                        failureToDeliver_ = new XsdTypeBoolean(failureToDeliverNode);
                    }
                }
                else
                {
                    failureToDeliver_ = new XsdTypeBoolean(failureToDeliverNode);
                }
            }


            XmlNode insolvencyFilingNode = xmlNode.SelectSingleNode("insolvencyFiling");

            if (insolvencyFilingNode != null)
            {
                if (insolvencyFilingNode.Attributes["href"] != null || insolvencyFilingNode.Attributes["id"] != null)
                {
                    if (insolvencyFilingNode.Attributes["id"] != null)
                    {
                        insolvencyFilingIDRef_ = insolvencyFilingNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(insolvencyFilingNode);
                        IDManager.SetID(insolvencyFilingIDRef_, ob);
                    }
                    else if (insolvencyFilingNode.Attributes["href"] != null)
                    {
                        insolvencyFilingIDRef_ = insolvencyFilingNode.Attributes["href"].Value;
                    }
                    else
                    {
                        insolvencyFiling_ = new XsdTypeBoolean(insolvencyFilingNode);
                    }
                }
                else
                {
                    insolvencyFiling_ = new XsdTypeBoolean(insolvencyFilingNode);
                }
            }


            XmlNode hedgingDisruptionNode = xmlNode.SelectSingleNode("hedgingDisruption");

            if (hedgingDisruptionNode != null)
            {
                if (hedgingDisruptionNode.Attributes["href"] != null || hedgingDisruptionNode.Attributes["id"] != null)
                {
                    if (hedgingDisruptionNode.Attributes["id"] != null)
                    {
                        hedgingDisruptionIDRef_ = hedgingDisruptionNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(hedgingDisruptionNode);
                        IDManager.SetID(hedgingDisruptionIDRef_, ob);
                    }
                    else if (hedgingDisruptionNode.Attributes["href"] != null)
                    {
                        hedgingDisruptionIDRef_ = hedgingDisruptionNode.Attributes["href"].Value;
                    }
                    else
                    {
                        hedgingDisruption_ = new XsdTypeBoolean(hedgingDisruptionNode);
                    }
                }
                else
                {
                    hedgingDisruption_ = new XsdTypeBoolean(hedgingDisruptionNode);
                }
            }


            XmlNode lossOfStockBorrowNode = xmlNode.SelectSingleNode("lossOfStockBorrow");

            if (lossOfStockBorrowNode != null)
            {
                if (lossOfStockBorrowNode.Attributes["href"] != null || lossOfStockBorrowNode.Attributes["id"] != null)
                {
                    if (lossOfStockBorrowNode.Attributes["id"] != null)
                    {
                        lossOfStockBorrowIDRef_ = lossOfStockBorrowNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(lossOfStockBorrowNode);
                        IDManager.SetID(lossOfStockBorrowIDRef_, ob);
                    }
                    else if (lossOfStockBorrowNode.Attributes["href"] != null)
                    {
                        lossOfStockBorrowIDRef_ = lossOfStockBorrowNode.Attributes["href"].Value;
                    }
                    else
                    {
                        lossOfStockBorrow_ = new XsdTypeBoolean(lossOfStockBorrowNode);
                    }
                }
                else
                {
                    lossOfStockBorrow_ = new XsdTypeBoolean(lossOfStockBorrowNode);
                }
            }


            XmlNode maximumStockLoanRateNode = xmlNode.SelectSingleNode("maximumStockLoanRate");

            if (maximumStockLoanRateNode != null)
            {
                if (maximumStockLoanRateNode.Attributes["href"] != null || maximumStockLoanRateNode.Attributes["id"] != null)
                {
                    if (maximumStockLoanRateNode.Attributes["id"] != null)
                    {
                        maximumStockLoanRateIDRef_ = maximumStockLoanRateNode.Attributes["id"].Value;
                        RestrictedPercentage ob = new RestrictedPercentage(maximumStockLoanRateNode);
                        IDManager.SetID(maximumStockLoanRateIDRef_, ob);
                    }
                    else if (maximumStockLoanRateNode.Attributes["href"] != null)
                    {
                        maximumStockLoanRateIDRef_ = maximumStockLoanRateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        maximumStockLoanRate_ = new RestrictedPercentage(maximumStockLoanRateNode);
                    }
                }
                else
                {
                    maximumStockLoanRate_ = new RestrictedPercentage(maximumStockLoanRateNode);
                }
            }


            XmlNode increasedCostOfStockBorrowNode = xmlNode.SelectSingleNode("increasedCostOfStockBorrow");

            if (increasedCostOfStockBorrowNode != null)
            {
                if (increasedCostOfStockBorrowNode.Attributes["href"] != null || increasedCostOfStockBorrowNode.Attributes["id"] != null)
                {
                    if (increasedCostOfStockBorrowNode.Attributes["id"] != null)
                    {
                        increasedCostOfStockBorrowIDRef_ = increasedCostOfStockBorrowNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(increasedCostOfStockBorrowNode);
                        IDManager.SetID(increasedCostOfStockBorrowIDRef_, ob);
                    }
                    else if (increasedCostOfStockBorrowNode.Attributes["href"] != null)
                    {
                        increasedCostOfStockBorrowIDRef_ = increasedCostOfStockBorrowNode.Attributes["href"].Value;
                    }
                    else
                    {
                        increasedCostOfStockBorrow_ = new XsdTypeBoolean(increasedCostOfStockBorrowNode);
                    }
                }
                else
                {
                    increasedCostOfStockBorrow_ = new XsdTypeBoolean(increasedCostOfStockBorrowNode);
                }
            }


            XmlNode initialStockLoanRateNode = xmlNode.SelectSingleNode("initialStockLoanRate");

            if (initialStockLoanRateNode != null)
            {
                if (initialStockLoanRateNode.Attributes["href"] != null || initialStockLoanRateNode.Attributes["id"] != null)
                {
                    if (initialStockLoanRateNode.Attributes["id"] != null)
                    {
                        initialStockLoanRateIDRef_ = initialStockLoanRateNode.Attributes["id"].Value;
                        RestrictedPercentage ob = new RestrictedPercentage(initialStockLoanRateNode);
                        IDManager.SetID(initialStockLoanRateIDRef_, ob);
                    }
                    else if (initialStockLoanRateNode.Attributes["href"] != null)
                    {
                        initialStockLoanRateIDRef_ = initialStockLoanRateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        initialStockLoanRate_ = new RestrictedPercentage(initialStockLoanRateNode);
                    }
                }
                else
                {
                    initialStockLoanRate_ = new RestrictedPercentage(initialStockLoanRateNode);
                }
            }


            XmlNode increasedCostOfHedgingNode = xmlNode.SelectSingleNode("increasedCostOfHedging");

            if (increasedCostOfHedgingNode != null)
            {
                if (increasedCostOfHedgingNode.Attributes["href"] != null || increasedCostOfHedgingNode.Attributes["id"] != null)
                {
                    if (increasedCostOfHedgingNode.Attributes["id"] != null)
                    {
                        increasedCostOfHedgingIDRef_ = increasedCostOfHedgingNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(increasedCostOfHedgingNode);
                        IDManager.SetID(increasedCostOfHedgingIDRef_, ob);
                    }
                    else if (increasedCostOfHedgingNode.Attributes["href"] != null)
                    {
                        increasedCostOfHedgingIDRef_ = increasedCostOfHedgingNode.Attributes["href"].Value;
                    }
                    else
                    {
                        increasedCostOfHedging_ = new XsdTypeBoolean(increasedCostOfHedgingNode);
                    }
                }
                else
                {
                    increasedCostOfHedging_ = new XsdTypeBoolean(increasedCostOfHedgingNode);
                }
            }


            XmlNode determiningPartyReferenceNode = xmlNode.SelectSingleNode("determiningPartyReference");

            if (determiningPartyReferenceNode != null)
            {
                if (determiningPartyReferenceNode.Attributes["href"] != null || determiningPartyReferenceNode.Attributes["id"] != null)
                {
                    if (determiningPartyReferenceNode.Attributes["id"] != null)
                    {
                        determiningPartyReferenceIDRef_ = determiningPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(determiningPartyReferenceNode);
                        IDManager.SetID(determiningPartyReferenceIDRef_, ob);
                    }
                    else if (determiningPartyReferenceNode.Attributes["href"] != null)
                    {
                        determiningPartyReferenceIDRef_ = determiningPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        determiningPartyReference_ = new PartyReference(determiningPartyReferenceNode);
                    }
                }
                else
                {
                    determiningPartyReference_ = new PartyReference(determiningPartyReferenceNode);
                }
            }


            XmlNode foreignOwnershipEventNode = xmlNode.SelectSingleNode("foreignOwnershipEvent");

            if (foreignOwnershipEventNode != null)
            {
                if (foreignOwnershipEventNode.Attributes["href"] != null || foreignOwnershipEventNode.Attributes["id"] != null)
                {
                    if (foreignOwnershipEventNode.Attributes["id"] != null)
                    {
                        foreignOwnershipEventIDRef_ = foreignOwnershipEventNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(foreignOwnershipEventNode);
                        IDManager.SetID(foreignOwnershipEventIDRef_, ob);
                    }
                    else if (foreignOwnershipEventNode.Attributes["href"] != null)
                    {
                        foreignOwnershipEventIDRef_ = foreignOwnershipEventNode.Attributes["href"].Value;
                    }
                    else
                    {
                        foreignOwnershipEvent_ = new XsdTypeBoolean(foreignOwnershipEventNode);
                    }
                }
                else
                {
                    foreignOwnershipEvent_ = new XsdTypeBoolean(foreignOwnershipEventNode);
                }
            }
        }
        public ExerciseFee(XmlNode xmlNode)
        {
            XmlNode payerPartyReferenceNode = xmlNode.SelectSingleNode("payerPartyReference");

            if (payerPartyReferenceNode != null)
            {
                if (payerPartyReferenceNode.Attributes["href"] != null || payerPartyReferenceNode.Attributes["id"] != null)
                {
                    if (payerPartyReferenceNode.Attributes["id"] != null)
                    {
                        payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(payerPartyReferenceNode);
                        IDManager.SetID(payerPartyReferenceIDRef_, ob);
                    }
                    else if (payerPartyReferenceNode.Attributes["href"] != null)
                    {
                        payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
                    }
                }
                else
                {
                    payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
                }
            }


            XmlNode payerAccountReferenceNode = xmlNode.SelectSingleNode("payerAccountReference");

            if (payerAccountReferenceNode != null)
            {
                if (payerAccountReferenceNode.Attributes["href"] != null || payerAccountReferenceNode.Attributes["id"] != null)
                {
                    if (payerAccountReferenceNode.Attributes["id"] != null)
                    {
                        payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["id"].Value;
                        AccountReference ob = new AccountReference(payerAccountReferenceNode);
                        IDManager.SetID(payerAccountReferenceIDRef_, ob);
                    }
                    else if (payerAccountReferenceNode.Attributes["href"] != null)
                    {
                        payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
                    }
                }
                else
                {
                    payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
                }
            }


            XmlNode receiverPartyReferenceNode = xmlNode.SelectSingleNode("receiverPartyReference");

            if (receiverPartyReferenceNode != null)
            {
                if (receiverPartyReferenceNode.Attributes["href"] != null || receiverPartyReferenceNode.Attributes["id"] != null)
                {
                    if (receiverPartyReferenceNode.Attributes["id"] != null)
                    {
                        receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(receiverPartyReferenceNode);
                        IDManager.SetID(receiverPartyReferenceIDRef_, ob);
                    }
                    else if (receiverPartyReferenceNode.Attributes["href"] != null)
                    {
                        receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
                    }
                }
                else
                {
                    receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
                }
            }


            XmlNode receiverAccountReferenceNode = xmlNode.SelectSingleNode("receiverAccountReference");

            if (receiverAccountReferenceNode != null)
            {
                if (receiverAccountReferenceNode.Attributes["href"] != null || receiverAccountReferenceNode.Attributes["id"] != null)
                {
                    if (receiverAccountReferenceNode.Attributes["id"] != null)
                    {
                        receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["id"].Value;
                        AccountReference ob = new AccountReference(receiverAccountReferenceNode);
                        IDManager.SetID(receiverAccountReferenceIDRef_, ob);
                    }
                    else if (receiverAccountReferenceNode.Attributes["href"] != null)
                    {
                        receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
                    }
                }
                else
                {
                    receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
                }
            }


            XmlNode notionalReferenceNode = xmlNode.SelectSingleNode("notionalReference");

            if (notionalReferenceNode != null)
            {
                if (notionalReferenceNode.Attributes["href"] != null || notionalReferenceNode.Attributes["id"] != null)
                {
                    if (notionalReferenceNode.Attributes["id"] != null)
                    {
                        notionalReferenceIDRef_ = notionalReferenceNode.Attributes["id"].Value;
                        NotionalReference ob = new NotionalReference(notionalReferenceNode);
                        IDManager.SetID(notionalReferenceIDRef_, ob);
                    }
                    else if (notionalReferenceNode.Attributes["href"] != null)
                    {
                        notionalReferenceIDRef_ = notionalReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        notionalReference_ = new NotionalReference(notionalReferenceNode);
                    }
                }
                else
                {
                    notionalReference_ = new NotionalReference(notionalReferenceNode);
                }
            }


            XmlNode feeAmountNode = xmlNode.SelectSingleNode("feeAmount");

            if (feeAmountNode != null)
            {
                if (feeAmountNode.Attributes["href"] != null || feeAmountNode.Attributes["id"] != null)
                {
                    if (feeAmountNode.Attributes["id"] != null)
                    {
                        feeAmountIDRef_ = feeAmountNode.Attributes["id"].Value;
                        XsdTypeDecimal ob = new XsdTypeDecimal(feeAmountNode);
                        IDManager.SetID(feeAmountIDRef_, ob);
                    }
                    else if (feeAmountNode.Attributes["href"] != null)
                    {
                        feeAmountIDRef_ = feeAmountNode.Attributes["href"].Value;
                    }
                    else
                    {
                        feeAmount_ = new XsdTypeDecimal(feeAmountNode);
                    }
                }
                else
                {
                    feeAmount_ = new XsdTypeDecimal(feeAmountNode);
                }
            }


            XmlNode feeRateNode = xmlNode.SelectSingleNode("feeRate");

            if (feeRateNode != null)
            {
                if (feeRateNode.Attributes["href"] != null || feeRateNode.Attributes["id"] != null)
                {
                    if (feeRateNode.Attributes["id"] != null)
                    {
                        feeRateIDRef_ = feeRateNode.Attributes["id"].Value;
                        XsdTypeDecimal ob = new XsdTypeDecimal(feeRateNode);
                        IDManager.SetID(feeRateIDRef_, ob);
                    }
                    else if (feeRateNode.Attributes["href"] != null)
                    {
                        feeRateIDRef_ = feeRateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        feeRate_ = new XsdTypeDecimal(feeRateNode);
                    }
                }
                else
                {
                    feeRate_ = new XsdTypeDecimal(feeRateNode);
                }
            }


            XmlNode feePaymentDateNode = xmlNode.SelectSingleNode("feePaymentDate");

            if (feePaymentDateNode != null)
            {
                if (feePaymentDateNode.Attributes["href"] != null || feePaymentDateNode.Attributes["id"] != null)
                {
                    if (feePaymentDateNode.Attributes["id"] != null)
                    {
                        feePaymentDateIDRef_ = feePaymentDateNode.Attributes["id"].Value;
                        RelativeDateOffset ob = new RelativeDateOffset(feePaymentDateNode);
                        IDManager.SetID(feePaymentDateIDRef_, ob);
                    }
                    else if (feePaymentDateNode.Attributes["href"] != null)
                    {
                        feePaymentDateIDRef_ = feePaymentDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        feePaymentDate_ = new RelativeDateOffset(feePaymentDateNode);
                    }
                }
                else
                {
                    feePaymentDate_ = new RelativeDateOffset(feePaymentDateNode);
                }
            }
        }
Example #27
0
        public CommodityHub(XmlNode xmlNode)
        {
            XmlNode partyReferenceNode = xmlNode.SelectSingleNode("partyReference");

            if (partyReferenceNode != null)
            {
                if (partyReferenceNode.Attributes["href"] != null || partyReferenceNode.Attributes["id"] != null)
                {
                    if (partyReferenceNode.Attributes["id"] != null)
                    {
                        partyReferenceIDRef_ = partyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(partyReferenceNode);
                        IDManager.SetID(partyReferenceIDRef_, ob);
                    }
                    else if (partyReferenceNode.Attributes["href"] != null)
                    {
                        partyReferenceIDRef_ = partyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        partyReference_ = new PartyReference(partyReferenceNode);
                    }
                }
                else
                {
                    partyReference_ = new PartyReference(partyReferenceNode);
                }
            }


            XmlNode accountReferenceNode = xmlNode.SelectSingleNode("accountReference");

            if (accountReferenceNode != null)
            {
                if (accountReferenceNode.Attributes["href"] != null || accountReferenceNode.Attributes["id"] != null)
                {
                    if (accountReferenceNode.Attributes["id"] != null)
                    {
                        accountReferenceIDRef_ = accountReferenceNode.Attributes["id"].Value;
                        AccountReference ob = new AccountReference(accountReferenceNode);
                        IDManager.SetID(accountReferenceIDRef_, ob);
                    }
                    else if (accountReferenceNode.Attributes["href"] != null)
                    {
                        accountReferenceIDRef_ = accountReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        accountReference_ = new AccountReference(accountReferenceNode);
                    }
                }
                else
                {
                    accountReference_ = new AccountReference(accountReferenceNode);
                }
            }


            XmlNode hubCodeNode = xmlNode.SelectSingleNode("hubCode");

            if (hubCodeNode != null)
            {
                if (hubCodeNode.Attributes["href"] != null || hubCodeNode.Attributes["id"] != null)
                {
                    if (hubCodeNode.Attributes["id"] != null)
                    {
                        hubCodeIDRef_ = hubCodeNode.Attributes["id"].Value;
                        CommodityHubCode ob = new CommodityHubCode(hubCodeNode);
                        IDManager.SetID(hubCodeIDRef_, ob);
                    }
                    else if (hubCodeNode.Attributes["href"] != null)
                    {
                        hubCodeIDRef_ = hubCodeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        hubCode_ = new CommodityHubCode(hubCodeNode);
                    }
                }
                else
                {
                    hubCode_ = new CommodityHubCode(hubCodeNode);
                }
            }
        }
Example #28
0
        public IntermediaryInformation(XmlNode xmlNode)
        {
            XmlNodeList routingIdsNodeList = xmlNode.SelectNodes("routingIds");

            if (routingIdsNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in routingIdsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        routingIdsIDRef = item.Attributes["id"].Name;
                        RoutingIds ob = RoutingIds();
                        IDManager.SetID(routingIdsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        routingIdsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        routingIds = new RoutingIds(item);
                    }
                }
            }


            XmlNodeList routingExplicitDetailsNodeList = xmlNode.SelectNodes("routingExplicitDetails");

            if (routingExplicitDetailsNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in routingExplicitDetailsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        routingExplicitDetailsIDRef = item.Attributes["id"].Name;
                        RoutingExplicitDetails ob = RoutingExplicitDetails();
                        IDManager.SetID(routingExplicitDetailsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        routingExplicitDetailsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        routingExplicitDetails = new RoutingExplicitDetails(item);
                    }
                }
            }


            XmlNodeList routingIdsAndExplicitDetailsNodeList = xmlNode.SelectNodes("routingIdsAndExplicitDetails");

            if (routingIdsAndExplicitDetailsNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in routingIdsAndExplicitDetailsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        routingIdsAndExplicitDetailsIDRef = item.Attributes["id"].Name;
                        RoutingIdsAndExplicitDetails ob = RoutingIdsAndExplicitDetails();
                        IDManager.SetID(routingIdsAndExplicitDetailsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        routingIdsAndExplicitDetailsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        routingIdsAndExplicitDetails = new RoutingIdsAndExplicitDetails(item);
                    }
                }
            }


            XmlNodeList intermediarySequenceNumberNodeList = xmlNode.SelectNodes("intermediarySequenceNumber");

            if (intermediarySequenceNumberNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in intermediarySequenceNumberNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        intermediarySequenceNumberIDRef = item.Attributes["id"].Name;
                        XsdTypePositiveInteger ob = XsdTypePositiveInteger();
                        IDManager.SetID(intermediarySequenceNumberIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        intermediarySequenceNumberIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        intermediarySequenceNumber = new XsdTypePositiveInteger(item);
                    }
                }
            }


            XmlNodeList intermediaryPartyReferenceNodeList = xmlNode.SelectNodes("intermediaryPartyReference");

            if (intermediaryPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in intermediaryPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        intermediaryPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(intermediaryPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        intermediaryPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        intermediaryPartyReference = new PartyReference(item);
                    }
                }
            }
        }
 public GenericProduct(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode multiLegNode = xmlNode.SelectSingleNode("multiLeg");
     
     if (multiLegNode != null)
     {
         if (multiLegNode.Attributes["href"] != null || multiLegNode.Attributes["id"] != null) 
         {
             if (multiLegNode.Attributes["id"] != null) 
             {
                 multiLegIDRef_ = multiLegNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(multiLegNode);
                 IDManager.SetID(multiLegIDRef_, ob);
             }
             else if (multiLegNode.Attributes["href"] != null)
             {
                 multiLegIDRef_ = multiLegNode.Attributes["href"].Value;
             }
             else
             {
                 multiLeg_ = new XsdTypeBoolean(multiLegNode);
             }
         }
         else
         {
             multiLeg_ = new XsdTypeBoolean(multiLegNode);
         }
     }
     
 
     XmlNode buyerPartyReferenceNode = xmlNode.SelectSingleNode("buyerPartyReference");
     
     if (buyerPartyReferenceNode != null)
     {
         if (buyerPartyReferenceNode.Attributes["href"] != null || buyerPartyReferenceNode.Attributes["id"] != null) 
         {
             if (buyerPartyReferenceNode.Attributes["id"] != null) 
             {
                 buyerPartyReferenceIDRef_ = buyerPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(buyerPartyReferenceNode);
                 IDManager.SetID(buyerPartyReferenceIDRef_, ob);
             }
             else if (buyerPartyReferenceNode.Attributes["href"] != null)
             {
                 buyerPartyReferenceIDRef_ = buyerPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 buyerPartyReference_ = new PartyReference(buyerPartyReferenceNode);
             }
         }
         else
         {
             buyerPartyReference_ = new PartyReference(buyerPartyReferenceNode);
         }
     }
     
 
     XmlNode buyerAccountReferenceNode = xmlNode.SelectSingleNode("buyerAccountReference");
     
     if (buyerAccountReferenceNode != null)
     {
         if (buyerAccountReferenceNode.Attributes["href"] != null || buyerAccountReferenceNode.Attributes["id"] != null) 
         {
             if (buyerAccountReferenceNode.Attributes["id"] != null) 
             {
                 buyerAccountReferenceIDRef_ = buyerAccountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(buyerAccountReferenceNode);
                 IDManager.SetID(buyerAccountReferenceIDRef_, ob);
             }
             else if (buyerAccountReferenceNode.Attributes["href"] != null)
             {
                 buyerAccountReferenceIDRef_ = buyerAccountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 buyerAccountReference_ = new AccountReference(buyerAccountReferenceNode);
             }
         }
         else
         {
             buyerAccountReference_ = new AccountReference(buyerAccountReferenceNode);
         }
     }
     
 
     XmlNode sellerPartyReferenceNode = xmlNode.SelectSingleNode("sellerPartyReference");
     
     if (sellerPartyReferenceNode != null)
     {
         if (sellerPartyReferenceNode.Attributes["href"] != null || sellerPartyReferenceNode.Attributes["id"] != null) 
         {
             if (sellerPartyReferenceNode.Attributes["id"] != null) 
             {
                 sellerPartyReferenceIDRef_ = sellerPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(sellerPartyReferenceNode);
                 IDManager.SetID(sellerPartyReferenceIDRef_, ob);
             }
             else if (sellerPartyReferenceNode.Attributes["href"] != null)
             {
                 sellerPartyReferenceIDRef_ = sellerPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 sellerPartyReference_ = new PartyReference(sellerPartyReferenceNode);
             }
         }
         else
         {
             sellerPartyReference_ = new PartyReference(sellerPartyReferenceNode);
         }
     }
     
 
     XmlNode sellerAccountReferenceNode = xmlNode.SelectSingleNode("sellerAccountReference");
     
     if (sellerAccountReferenceNode != null)
     {
         if (sellerAccountReferenceNode.Attributes["href"] != null || sellerAccountReferenceNode.Attributes["id"] != null) 
         {
             if (sellerAccountReferenceNode.Attributes["id"] != null) 
             {
                 sellerAccountReferenceIDRef_ = sellerAccountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(sellerAccountReferenceNode);
                 IDManager.SetID(sellerAccountReferenceIDRef_, ob);
             }
             else if (sellerAccountReferenceNode.Attributes["href"] != null)
             {
                 sellerAccountReferenceIDRef_ = sellerAccountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 sellerAccountReference_ = new AccountReference(sellerAccountReferenceNode);
             }
         }
         else
         {
             sellerAccountReference_ = new AccountReference(sellerAccountReferenceNode);
         }
     }
     
 
     XmlNodeList counterpartyReferenceNodeList = xmlNode.SelectNodes("counterpartyReference");
     
     if (counterpartyReferenceNodeList != null)
     {
         this.counterpartyReference_ = new List<PartyReference>();
         foreach (XmlNode item in counterpartyReferenceNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     counterpartyReferenceIDRef_ = item.Attributes["id"].Value;
                     counterpartyReference_.Add(new PartyReference(item));
                     IDManager.SetID(counterpartyReferenceIDRef_, counterpartyReference_[counterpartyReference_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     counterpartyReferenceIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 counterpartyReference_.Add(new PartyReference(item));
                 }
             }
             else
             {
                 counterpartyReference_.Add(new PartyReference(item));
             }
         }
     }
     
 
     XmlNode premiumNode = xmlNode.SelectSingleNode("premium");
     
     if (premiumNode != null)
     {
         if (premiumNode.Attributes["href"] != null || premiumNode.Attributes["id"] != null) 
         {
             if (premiumNode.Attributes["id"] != null) 
             {
                 premiumIDRef_ = premiumNode.Attributes["id"].Value;
                 SimplePayment ob = new SimplePayment(premiumNode);
                 IDManager.SetID(premiumIDRef_, ob);
             }
             else if (premiumNode.Attributes["href"] != null)
             {
                 premiumIDRef_ = premiumNode.Attributes["href"].Value;
             }
             else
             {
                 premium_ = new SimplePayment(premiumNode);
             }
         }
         else
         {
             premium_ = new SimplePayment(premiumNode);
         }
     }
     
 
     XmlNode effectiveDateNode = xmlNode.SelectSingleNode("effectiveDate");
     
     if (effectiveDateNode != null)
     {
         if (effectiveDateNode.Attributes["href"] != null || effectiveDateNode.Attributes["id"] != null) 
         {
             if (effectiveDateNode.Attributes["id"] != null) 
             {
                 effectiveDateIDRef_ = effectiveDateNode.Attributes["id"].Value;
                 AdjustableDate2 ob = new AdjustableDate2(effectiveDateNode);
                 IDManager.SetID(effectiveDateIDRef_, ob);
             }
             else if (effectiveDateNode.Attributes["href"] != null)
             {
                 effectiveDateIDRef_ = effectiveDateNode.Attributes["href"].Value;
             }
             else
             {
                 effectiveDate_ = new AdjustableDate2(effectiveDateNode);
             }
         }
         else
         {
             effectiveDate_ = new AdjustableDate2(effectiveDateNode);
         }
     }
     
 
     XmlNode expirationDateNode = xmlNode.SelectSingleNode("expirationDate");
     
     if (expirationDateNode != null)
     {
         if (expirationDateNode.Attributes["href"] != null || expirationDateNode.Attributes["id"] != null) 
         {
             if (expirationDateNode.Attributes["id"] != null) 
             {
                 expirationDateIDRef_ = expirationDateNode.Attributes["id"].Value;
                 AdjustableDate2 ob = new AdjustableDate2(expirationDateNode);
                 IDManager.SetID(expirationDateIDRef_, ob);
             }
             else if (expirationDateNode.Attributes["href"] != null)
             {
                 expirationDateIDRef_ = expirationDateNode.Attributes["href"].Value;
             }
             else
             {
                 expirationDate_ = new AdjustableDate2(expirationDateNode);
             }
         }
         else
         {
             expirationDate_ = new AdjustableDate2(expirationDateNode);
         }
     }
     
 
     XmlNode terminationDateNode = xmlNode.SelectSingleNode("terminationDate");
     
     if (terminationDateNode != null)
     {
         if (terminationDateNode.Attributes["href"] != null || terminationDateNode.Attributes["id"] != null) 
         {
             if (terminationDateNode.Attributes["id"] != null) 
             {
                 terminationDateIDRef_ = terminationDateNode.Attributes["id"].Value;
                 AdjustableDate2 ob = new AdjustableDate2(terminationDateNode);
                 IDManager.SetID(terminationDateIDRef_, ob);
             }
             else if (terminationDateNode.Attributes["href"] != null)
             {
                 terminationDateIDRef_ = terminationDateNode.Attributes["href"].Value;
             }
             else
             {
                 terminationDate_ = new AdjustableDate2(terminationDateNode);
             }
         }
         else
         {
             terminationDate_ = new AdjustableDate2(terminationDateNode);
         }
     }
     
 
     XmlNodeList underlyerNodeList = xmlNode.SelectNodes("underlyer");
     
     if (underlyerNodeList != null)
     {
         this.underlyer_ = new List<TradeUnderlyer2>();
         foreach (XmlNode item in underlyerNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     underlyerIDRef_ = item.Attributes["id"].Value;
                     underlyer_.Add(new TradeUnderlyer2(item));
                     IDManager.SetID(underlyerIDRef_, underlyer_[underlyer_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     underlyerIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 underlyer_.Add(new TradeUnderlyer2(item));
                 }
             }
             else
             {
                 underlyer_.Add(new TradeUnderlyer2(item));
             }
         }
     }
     
 
     XmlNodeList notionalNodeList = xmlNode.SelectNodes("notional");
     
     if (notionalNodeList != null)
     {
         this.notional_ = new List<CashflowNotional>();
         foreach (XmlNode item in notionalNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     notionalIDRef_ = item.Attributes["id"].Value;
                     notional_.Add(new CashflowNotional(item));
                     IDManager.SetID(notionalIDRef_, notional_[notional_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     notionalIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 notional_.Add(new CashflowNotional(item));
                 }
             }
             else
             {
                 notional_.Add(new CashflowNotional(item));
             }
         }
     }
     
 
     XmlNode optionTypeNode = xmlNode.SelectSingleNode("optionType");
     
     if (optionTypeNode != null)
     {
         if (optionTypeNode.Attributes["href"] != null || optionTypeNode.Attributes["id"] != null) 
         {
             if (optionTypeNode.Attributes["id"] != null) 
             {
                 optionTypeIDRef_ = optionTypeNode.Attributes["id"].Value;
                 OptionType ob = new OptionType(optionTypeNode);
                 IDManager.SetID(optionTypeIDRef_, ob);
             }
             else if (optionTypeNode.Attributes["href"] != null)
             {
                 optionTypeIDRef_ = optionTypeNode.Attributes["href"].Value;
             }
             else
             {
                 optionType_ = new OptionType(optionTypeNode);
             }
         }
         else
         {
             optionType_ = new OptionType(optionTypeNode);
         }
     }
     
 
     XmlNodeList settlementCurrencyNodeList = xmlNode.SelectNodes("settlementCurrency");
     
     if (settlementCurrencyNodeList != null)
     {
         this.settlementCurrency_ = new List<IdentifiedCurrency>();
         foreach (XmlNode item in settlementCurrencyNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     settlementCurrencyIDRef_ = item.Attributes["id"].Value;
                     settlementCurrency_.Add(new IdentifiedCurrency(item));
                     IDManager.SetID(settlementCurrencyIDRef_, settlementCurrency_[settlementCurrency_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     settlementCurrencyIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 settlementCurrency_.Add(new IdentifiedCurrency(item));
                 }
             }
             else
             {
                 settlementCurrency_.Add(new IdentifiedCurrency(item));
             }
         }
     }
     
 
     XmlNodeList dayCountFractionNodeList = xmlNode.SelectNodes("dayCountFraction");
     
     if (dayCountFractionNodeList != null)
     {
         this.dayCountFraction_ = new List<DayCountFraction>();
         foreach (XmlNode item in dayCountFractionNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     dayCountFractionIDRef_ = item.Attributes["id"].Value;
                     dayCountFraction_.Add(new DayCountFraction(item));
                     IDManager.SetID(dayCountFractionIDRef_, dayCountFraction_[dayCountFraction_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     dayCountFractionIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 dayCountFraction_.Add(new DayCountFraction(item));
                 }
             }
             else
             {
                 dayCountFraction_.Add(new DayCountFraction(item));
             }
         }
     }
     
 
 }
 public TradeIdentifier(XmlNode xmlNode)
 {
     XmlNode issuerNode = xmlNode.SelectSingleNode("issuer");
     
     if (issuerNode != null)
     {
         if (issuerNode.Attributes["href"] != null || issuerNode.Attributes["id"] != null) 
         {
             if (issuerNode.Attributes["id"] != null) 
             {
                 issuerIDRef_ = issuerNode.Attributes["id"].Value;
                 IssuerId ob = new IssuerId(issuerNode);
                 IDManager.SetID(issuerIDRef_, ob);
             }
             else if (issuerNode.Attributes["href"] != null)
             {
                 issuerIDRef_ = issuerNode.Attributes["href"].Value;
             }
             else
             {
                 issuer_ = new IssuerId(issuerNode);
             }
         }
         else
         {
             issuer_ = new IssuerId(issuerNode);
         }
     }
     
 
     XmlNode tradeIdNode = xmlNode.SelectSingleNode("tradeId");
     
     if (tradeIdNode != null)
     {
         if (tradeIdNode.Attributes["href"] != null || tradeIdNode.Attributes["id"] != null) 
         {
             if (tradeIdNode.Attributes["id"] != null) 
             {
                 tradeIdIDRef_ = tradeIdNode.Attributes["id"].Value;
                 TradeId ob = new TradeId(tradeIdNode);
                 IDManager.SetID(tradeIdIDRef_, ob);
             }
             else if (tradeIdNode.Attributes["href"] != null)
             {
                 tradeIdIDRef_ = tradeIdNode.Attributes["href"].Value;
             }
             else
             {
                 tradeId_ = new TradeId(tradeIdNode);
             }
         }
         else
         {
             tradeId_ = new TradeId(tradeIdNode);
         }
     }
     
 
     XmlNode partyReferenceNode = xmlNode.SelectSingleNode("partyReference");
     
     if (partyReferenceNode != null)
     {
         if (partyReferenceNode.Attributes["href"] != null || partyReferenceNode.Attributes["id"] != null) 
         {
             if (partyReferenceNode.Attributes["id"] != null) 
             {
                 partyReferenceIDRef_ = partyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(partyReferenceNode);
                 IDManager.SetID(partyReferenceIDRef_, ob);
             }
             else if (partyReferenceNode.Attributes["href"] != null)
             {
                 partyReferenceIDRef_ = partyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 partyReference_ = new PartyReference(partyReferenceNode);
             }
         }
         else
         {
             partyReference_ = new PartyReference(partyReferenceNode);
         }
     }
     
 
     XmlNode accountReferenceNode = xmlNode.SelectSingleNode("accountReference");
     
     if (accountReferenceNode != null)
     {
         if (accountReferenceNode.Attributes["href"] != null || accountReferenceNode.Attributes["id"] != null) 
         {
             if (accountReferenceNode.Attributes["id"] != null) 
             {
                 accountReferenceIDRef_ = accountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(accountReferenceNode);
                 IDManager.SetID(accountReferenceIDRef_, ob);
             }
             else if (accountReferenceNode.Attributes["href"] != null)
             {
                 accountReferenceIDRef_ = accountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 accountReference_ = new AccountReference(accountReferenceNode);
             }
         }
         else
         {
             accountReference_ = new AccountReference(accountReferenceNode);
         }
     }
     
 
     XmlNode versionedTradeIdNode = xmlNode.SelectSingleNode("versionedTradeId");
     
     if (versionedTradeIdNode != null)
     {
         if (versionedTradeIdNode.Attributes["href"] != null || versionedTradeIdNode.Attributes["id"] != null) 
         {
             if (versionedTradeIdNode.Attributes["id"] != null) 
             {
                 versionedTradeIdIDRef_ = versionedTradeIdNode.Attributes["id"].Value;
                 VersionedTradeId ob = new VersionedTradeId(versionedTradeIdNode);
                 IDManager.SetID(versionedTradeIdIDRef_, ob);
             }
             else if (versionedTradeIdNode.Attributes["href"] != null)
             {
                 versionedTradeIdIDRef_ = versionedTradeIdNode.Attributes["href"].Value;
             }
             else
             {
                 versionedTradeId_ = new VersionedTradeId(versionedTradeIdNode);
             }
         }
         else
         {
             versionedTradeId_ = new VersionedTradeId(versionedTradeIdNode);
         }
     }
     
 
 }
        public IntermediaryInformation(XmlNode xmlNode)
        {
            XmlNode routingIdsNode = xmlNode.SelectSingleNode("routingIds");

            if (routingIdsNode != null)
            {
                if (routingIdsNode.Attributes["href"] != null || routingIdsNode.Attributes["id"] != null)
                {
                    if (routingIdsNode.Attributes["id"] != null)
                    {
                        routingIdsIDRef_ = routingIdsNode.Attributes["id"].Value;
                        RoutingIds ob = new RoutingIds(routingIdsNode);
                        IDManager.SetID(routingIdsIDRef_, ob);
                    }
                    else if (routingIdsNode.Attributes["href"] != null)
                    {
                        routingIdsIDRef_ = routingIdsNode.Attributes["href"].Value;
                    }
                    else
                    {
                        routingIds_ = new RoutingIds(routingIdsNode);
                    }
                }
                else
                {
                    routingIds_ = new RoutingIds(routingIdsNode);
                }
            }


            XmlNode routingExplicitDetailsNode = xmlNode.SelectSingleNode("routingExplicitDetails");

            if (routingExplicitDetailsNode != null)
            {
                if (routingExplicitDetailsNode.Attributes["href"] != null || routingExplicitDetailsNode.Attributes["id"] != null)
                {
                    if (routingExplicitDetailsNode.Attributes["id"] != null)
                    {
                        routingExplicitDetailsIDRef_ = routingExplicitDetailsNode.Attributes["id"].Value;
                        RoutingExplicitDetails ob = new RoutingExplicitDetails(routingExplicitDetailsNode);
                        IDManager.SetID(routingExplicitDetailsIDRef_, ob);
                    }
                    else if (routingExplicitDetailsNode.Attributes["href"] != null)
                    {
                        routingExplicitDetailsIDRef_ = routingExplicitDetailsNode.Attributes["href"].Value;
                    }
                    else
                    {
                        routingExplicitDetails_ = new RoutingExplicitDetails(routingExplicitDetailsNode);
                    }
                }
                else
                {
                    routingExplicitDetails_ = new RoutingExplicitDetails(routingExplicitDetailsNode);
                }
            }


            XmlNode routingIdsAndExplicitDetailsNode = xmlNode.SelectSingleNode("routingIdsAndExplicitDetails");

            if (routingIdsAndExplicitDetailsNode != null)
            {
                if (routingIdsAndExplicitDetailsNode.Attributes["href"] != null || routingIdsAndExplicitDetailsNode.Attributes["id"] != null)
                {
                    if (routingIdsAndExplicitDetailsNode.Attributes["id"] != null)
                    {
                        routingIdsAndExplicitDetailsIDRef_ = routingIdsAndExplicitDetailsNode.Attributes["id"].Value;
                        RoutingIdsAndExplicitDetails ob = new RoutingIdsAndExplicitDetails(routingIdsAndExplicitDetailsNode);
                        IDManager.SetID(routingIdsAndExplicitDetailsIDRef_, ob);
                    }
                    else if (routingIdsAndExplicitDetailsNode.Attributes["href"] != null)
                    {
                        routingIdsAndExplicitDetailsIDRef_ = routingIdsAndExplicitDetailsNode.Attributes["href"].Value;
                    }
                    else
                    {
                        routingIdsAndExplicitDetails_ = new RoutingIdsAndExplicitDetails(routingIdsAndExplicitDetailsNode);
                    }
                }
                else
                {
                    routingIdsAndExplicitDetails_ = new RoutingIdsAndExplicitDetails(routingIdsAndExplicitDetailsNode);
                }
            }


            XmlNode intermediarySequenceNumberNode = xmlNode.SelectSingleNode("intermediarySequenceNumber");

            if (intermediarySequenceNumberNode != null)
            {
                if (intermediarySequenceNumberNode.Attributes["href"] != null || intermediarySequenceNumberNode.Attributes["id"] != null)
                {
                    if (intermediarySequenceNumberNode.Attributes["id"] != null)
                    {
                        intermediarySequenceNumberIDRef_ = intermediarySequenceNumberNode.Attributes["id"].Value;
                        XsdTypePositiveInteger ob = new XsdTypePositiveInteger(intermediarySequenceNumberNode);
                        IDManager.SetID(intermediarySequenceNumberIDRef_, ob);
                    }
                    else if (intermediarySequenceNumberNode.Attributes["href"] != null)
                    {
                        intermediarySequenceNumberIDRef_ = intermediarySequenceNumberNode.Attributes["href"].Value;
                    }
                    else
                    {
                        intermediarySequenceNumber_ = new XsdTypePositiveInteger(intermediarySequenceNumberNode);
                    }
                }
                else
                {
                    intermediarySequenceNumber_ = new XsdTypePositiveInteger(intermediarySequenceNumberNode);
                }
            }


            XmlNode intermediaryPartyReferenceNode = xmlNode.SelectSingleNode("intermediaryPartyReference");

            if (intermediaryPartyReferenceNode != null)
            {
                if (intermediaryPartyReferenceNode.Attributes["href"] != null || intermediaryPartyReferenceNode.Attributes["id"] != null)
                {
                    if (intermediaryPartyReferenceNode.Attributes["id"] != null)
                    {
                        intermediaryPartyReferenceIDRef_ = intermediaryPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(intermediaryPartyReferenceNode);
                        IDManager.SetID(intermediaryPartyReferenceIDRef_, ob);
                    }
                    else if (intermediaryPartyReferenceNode.Attributes["href"] != null)
                    {
                        intermediaryPartyReferenceIDRef_ = intermediaryPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        intermediaryPartyReference_ = new PartyReference(intermediaryPartyReferenceNode);
                    }
                }
                else
                {
                    intermediaryPartyReference_ = new PartyReference(intermediaryPartyReferenceNode);
                }
            }
        }
Example #32
0
        public CancelableProvision(XmlNode xmlNode)
        {
            XmlNodeList buyerPartyReferenceNodeList = xmlNode.SelectNodes("buyerPartyReference");

            if (buyerPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in buyerPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        buyerPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(buyerPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        buyerPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        buyerPartyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList buyerAccountReferenceNodeList = xmlNode.SelectNodes("buyerAccountReference");

            if (buyerAccountReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in buyerAccountReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        buyerAccountReferenceIDRef = item.Attributes["id"].Name;
                        AccountReference ob = AccountReference();
                        IDManager.SetID(buyerAccountReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        buyerAccountReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        buyerAccountReference = new AccountReference(item);
                    }
                }
            }


            XmlNodeList sellerPartyReferenceNodeList = xmlNode.SelectNodes("sellerPartyReference");

            if (sellerPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in sellerPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        sellerPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(sellerPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        sellerPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        sellerPartyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList sellerAccountReferenceNodeList = xmlNode.SelectNodes("sellerAccountReference");

            if (sellerAccountReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in sellerAccountReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        sellerAccountReferenceIDRef = item.Attributes["id"].Name;
                        AccountReference ob = AccountReference();
                        IDManager.SetID(sellerAccountReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        sellerAccountReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        sellerAccountReference = new AccountReference(item);
                    }
                }
            }


            XmlNodeList exerciseNodeList = xmlNode.SelectNodes("exercise");

            if (exerciseNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in exerciseNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        exerciseIDRef = item.Attributes["id"].Name;
                        Exercise ob = Exercise();
                        IDManager.SetID(exerciseIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        exerciseIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        exercise = new Exercise(item);
                    }
                }
            }


            XmlNodeList americanExerciseNodeList = xmlNode.SelectNodes("americanExercise");

            if (americanExerciseNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in americanExerciseNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        americanExerciseIDRef = item.Attributes["id"].Name;
                        AmericanExercise ob = AmericanExercise();
                        IDManager.SetID(americanExerciseIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        americanExerciseIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        americanExercise = new AmericanExercise(item);
                    }
                }
            }


            XmlNodeList bermudaExerciseNodeList = xmlNode.SelectNodes("bermudaExercise");

            if (bermudaExerciseNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in bermudaExerciseNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        bermudaExerciseIDRef = item.Attributes["id"].Name;
                        BermudaExercise ob = BermudaExercise();
                        IDManager.SetID(bermudaExerciseIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        bermudaExerciseIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        bermudaExercise = new BermudaExercise(item);
                    }
                }
            }


            XmlNodeList europeanExerciseNodeList = xmlNode.SelectNodes("europeanExercise");

            if (europeanExerciseNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in europeanExerciseNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        europeanExerciseIDRef = item.Attributes["id"].Name;
                        EuropeanExercise ob = EuropeanExercise();
                        IDManager.SetID(europeanExerciseIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        europeanExerciseIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        europeanExercise = new EuropeanExercise(item);
                    }
                }
            }


            XmlNodeList exerciseNoticeNodeList = xmlNode.SelectNodes("exerciseNotice");

            if (exerciseNoticeNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in exerciseNoticeNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        exerciseNoticeIDRef = item.Attributes["id"].Name;
                        ExerciseNotice ob = ExerciseNotice();
                        IDManager.SetID(exerciseNoticeIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        exerciseNoticeIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        exerciseNotice = new ExerciseNotice(item);
                    }
                }
            }


            XmlNodeList followUpConfirmationNodeList = xmlNode.SelectNodes("followUpConfirmation");

            if (followUpConfirmationNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in followUpConfirmationNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        followUpConfirmationIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(followUpConfirmationIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        followUpConfirmationIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        followUpConfirmation = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList cancelableProvisionAdjustedDatesNodeList = xmlNode.SelectNodes("cancelableProvisionAdjustedDates");

            if (cancelableProvisionAdjustedDatesNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in cancelableProvisionAdjustedDatesNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        cancelableProvisionAdjustedDatesIDRef = item.Attributes["id"].Name;
                        CancelableProvisionAdjustedDates ob = CancelableProvisionAdjustedDates();
                        IDManager.SetID(cancelableProvisionAdjustedDatesIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        cancelableProvisionAdjustedDatesIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        cancelableProvisionAdjustedDates = new CancelableProvisionAdjustedDates(item);
                    }
                }
            }


            XmlNodeList finalCalculationPeriodDateAdjustmentNodeList = xmlNode.SelectNodes("finalCalculationPeriodDateAdjustment");

            foreach (XmlNode item in finalCalculationPeriodDateAdjustmentNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        finalCalculationPeriodDateAdjustmentIDRef = item.Attributes["id"].Name;
                        List <FinalCalculationPeriodDateAdjustment> ob = new List <FinalCalculationPeriodDateAdjustment>();
                        ob.Add(new FinalCalculationPeriodDateAdjustment(item));
                        IDManager.SetID(finalCalculationPeriodDateAdjustmentIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        finalCalculationPeriodDateAdjustmentIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        finalCalculationPeriodDateAdjustment.Add(new FinalCalculationPeriodDateAdjustment(item));
                    }
                }
            }


            XmlNodeList initialFeeNodeList = xmlNode.SelectNodes("initialFee");

            if (initialFeeNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in initialFeeNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        initialFeeIDRef = item.Attributes["id"].Name;
                        SimplePayment ob = SimplePayment();
                        IDManager.SetID(initialFeeIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        initialFeeIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        initialFee = new SimplePayment(item);
                    }
                }
            }
        }
 public SimplePayment(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNodeList payerPartyReferenceNodeList = xmlNode.SelectNodes("payerPartyReference");
     if (payerPartyReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in payerPartyReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 payerPartyReferenceIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(payerPartyReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 payerPartyReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 payerPartyReference = new PartyReference(item);
             }
         }
     }
     
 
     XmlNodeList payerAccountReferenceNodeList = xmlNode.SelectNodes("payerAccountReference");
     if (payerAccountReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in payerAccountReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 payerAccountReferenceIDRef = item.Attributes["id"].Name;
                 AccountReference ob = AccountReference();
                 IDManager.SetID(payerAccountReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 payerAccountReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 payerAccountReference = new AccountReference(item);
             }
         }
     }
     
 
     XmlNodeList receiverPartyReferenceNodeList = xmlNode.SelectNodes("receiverPartyReference");
     if (receiverPartyReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in receiverPartyReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 receiverPartyReferenceIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(receiverPartyReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 receiverPartyReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 receiverPartyReference = new PartyReference(item);
             }
         }
     }
     
 
     XmlNodeList receiverAccountReferenceNodeList = xmlNode.SelectNodes("receiverAccountReference");
     if (receiverAccountReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in receiverAccountReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 receiverAccountReferenceIDRef = item.Attributes["id"].Name;
                 AccountReference ob = AccountReference();
                 IDManager.SetID(receiverAccountReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 receiverAccountReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 receiverAccountReference = new AccountReference(item);
             }
         }
     }
     
 
     XmlNodeList paymentAmountNodeList = xmlNode.SelectNodes("paymentAmount");
     if (paymentAmountNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in paymentAmountNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 paymentAmountIDRef = item.Attributes["id"].Name;
                 NonNegativeMoney ob = NonNegativeMoney();
                 IDManager.SetID(paymentAmountIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 paymentAmountIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 paymentAmount = new NonNegativeMoney(item);
             }
         }
     }
     
 
     XmlNodeList paymentDateNodeList = xmlNode.SelectNodes("paymentDate");
     if (paymentDateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in paymentDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 paymentDateIDRef = item.Attributes["id"].Name;
                 AdjustableOrRelativeDate ob = AdjustableOrRelativeDate();
                 IDManager.SetID(paymentDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 paymentDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 paymentDate = new AdjustableOrRelativeDate(item);
             }
         }
     }
     
 
 }
        public AveragePriceLeg(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode payerPartyReferenceNode = xmlNode.SelectSingleNode("payerPartyReference");

            if (payerPartyReferenceNode != null)
            {
                if (payerPartyReferenceNode.Attributes["href"] != null || payerPartyReferenceNode.Attributes["id"] != null)
                {
                    if (payerPartyReferenceNode.Attributes["id"] != null)
                    {
                        payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(payerPartyReferenceNode);
                        IDManager.SetID(payerPartyReferenceIDRef_, ob);
                    }
                    else if (payerPartyReferenceNode.Attributes["href"] != null)
                    {
                        payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
                    }
                }
                else
                {
                    payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
                }
            }


            XmlNode payerAccountReferenceNode = xmlNode.SelectSingleNode("payerAccountReference");

            if (payerAccountReferenceNode != null)
            {
                if (payerAccountReferenceNode.Attributes["href"] != null || payerAccountReferenceNode.Attributes["id"] != null)
                {
                    if (payerAccountReferenceNode.Attributes["id"] != null)
                    {
                        payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["id"].Value;
                        AccountReference ob = new AccountReference(payerAccountReferenceNode);
                        IDManager.SetID(payerAccountReferenceIDRef_, ob);
                    }
                    else if (payerAccountReferenceNode.Attributes["href"] != null)
                    {
                        payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
                    }
                }
                else
                {
                    payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
                }
            }


            XmlNode receiverPartyReferenceNode = xmlNode.SelectSingleNode("receiverPartyReference");

            if (receiverPartyReferenceNode != null)
            {
                if (receiverPartyReferenceNode.Attributes["href"] != null || receiverPartyReferenceNode.Attributes["id"] != null)
                {
                    if (receiverPartyReferenceNode.Attributes["id"] != null)
                    {
                        receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(receiverPartyReferenceNode);
                        IDManager.SetID(receiverPartyReferenceIDRef_, ob);
                    }
                    else if (receiverPartyReferenceNode.Attributes["href"] != null)
                    {
                        receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
                    }
                }
                else
                {
                    receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
                }
            }


            XmlNode receiverAccountReferenceNode = xmlNode.SelectSingleNode("receiverAccountReference");

            if (receiverAccountReferenceNode != null)
            {
                if (receiverAccountReferenceNode.Attributes["href"] != null || receiverAccountReferenceNode.Attributes["id"] != null)
                {
                    if (receiverAccountReferenceNode.Attributes["id"] != null)
                    {
                        receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["id"].Value;
                        AccountReference ob = new AccountReference(receiverAccountReferenceNode);
                        IDManager.SetID(receiverAccountReferenceIDRef_, ob);
                    }
                    else if (receiverAccountReferenceNode.Attributes["href"] != null)
                    {
                        receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
                    }
                }
                else
                {
                    receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
                }
            }


            XmlNode calculationDatesNode = xmlNode.SelectSingleNode("calculationDates");

            if (calculationDatesNode != null)
            {
                if (calculationDatesNode.Attributes["href"] != null || calculationDatesNode.Attributes["id"] != null)
                {
                    if (calculationDatesNode.Attributes["id"] != null)
                    {
                        calculationDatesIDRef_ = calculationDatesNode.Attributes["id"].Value;
                        AdjustableDates ob = new AdjustableDates(calculationDatesNode);
                        IDManager.SetID(calculationDatesIDRef_, ob);
                    }
                    else if (calculationDatesNode.Attributes["href"] != null)
                    {
                        calculationDatesIDRef_ = calculationDatesNode.Attributes["href"].Value;
                    }
                    else
                    {
                        calculationDates_ = new AdjustableDates(calculationDatesNode);
                    }
                }
                else
                {
                    calculationDates_ = new AdjustableDates(calculationDatesNode);
                }
            }


            XmlNode calculationPeriodsNode = xmlNode.SelectSingleNode("calculationPeriods");

            if (calculationPeriodsNode != null)
            {
                if (calculationPeriodsNode.Attributes["href"] != null || calculationPeriodsNode.Attributes["id"] != null)
                {
                    if (calculationPeriodsNode.Attributes["id"] != null)
                    {
                        calculationPeriodsIDRef_ = calculationPeriodsNode.Attributes["id"].Value;
                        AdjustableDates ob = new AdjustableDates(calculationPeriodsNode);
                        IDManager.SetID(calculationPeriodsIDRef_, ob);
                    }
                    else if (calculationPeriodsNode.Attributes["href"] != null)
                    {
                        calculationPeriodsIDRef_ = calculationPeriodsNode.Attributes["href"].Value;
                    }
                    else
                    {
                        calculationPeriods_ = new AdjustableDates(calculationPeriodsNode);
                    }
                }
                else
                {
                    calculationPeriods_ = new AdjustableDates(calculationPeriodsNode);
                }
            }


            XmlNode calculationPeriodsScheduleNode = xmlNode.SelectSingleNode("calculationPeriodsSchedule");

            if (calculationPeriodsScheduleNode != null)
            {
                if (calculationPeriodsScheduleNode.Attributes["href"] != null || calculationPeriodsScheduleNode.Attributes["id"] != null)
                {
                    if (calculationPeriodsScheduleNode.Attributes["id"] != null)
                    {
                        calculationPeriodsScheduleIDRef_ = calculationPeriodsScheduleNode.Attributes["id"].Value;
                        CommodityCalculationPeriodsSchedule ob = new CommodityCalculationPeriodsSchedule(calculationPeriodsScheduleNode);
                        IDManager.SetID(calculationPeriodsScheduleIDRef_, ob);
                    }
                    else if (calculationPeriodsScheduleNode.Attributes["href"] != null)
                    {
                        calculationPeriodsScheduleIDRef_ = calculationPeriodsScheduleNode.Attributes["href"].Value;
                    }
                    else
                    {
                        calculationPeriodsSchedule_ = new CommodityCalculationPeriodsSchedule(calculationPeriodsScheduleNode);
                    }
                }
                else
                {
                    calculationPeriodsSchedule_ = new CommodityCalculationPeriodsSchedule(calculationPeriodsScheduleNode);
                }
            }


            XmlNode calculationPeriodsReferenceNode = xmlNode.SelectSingleNode("calculationPeriodsReference");

            if (calculationPeriodsReferenceNode != null)
            {
                if (calculationPeriodsReferenceNode.Attributes["href"] != null || calculationPeriodsReferenceNode.Attributes["id"] != null)
                {
                    if (calculationPeriodsReferenceNode.Attributes["id"] != null)
                    {
                        calculationPeriodsReferenceIDRef_ = calculationPeriodsReferenceNode.Attributes["id"].Value;
                        CalculationPeriodsReference ob = new CalculationPeriodsReference(calculationPeriodsReferenceNode);
                        IDManager.SetID(calculationPeriodsReferenceIDRef_, ob);
                    }
                    else if (calculationPeriodsReferenceNode.Attributes["href"] != null)
                    {
                        calculationPeriodsReferenceIDRef_ = calculationPeriodsReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        calculationPeriodsReference_ = new CalculationPeriodsReference(calculationPeriodsReferenceNode);
                    }
                }
                else
                {
                    calculationPeriodsReference_ = new CalculationPeriodsReference(calculationPeriodsReferenceNode);
                }
            }


            XmlNode calculationPeriodsScheduleReferenceNode = xmlNode.SelectSingleNode("calculationPeriodsScheduleReference");

            if (calculationPeriodsScheduleReferenceNode != null)
            {
                if (calculationPeriodsScheduleReferenceNode.Attributes["href"] != null || calculationPeriodsScheduleReferenceNode.Attributes["id"] != null)
                {
                    if (calculationPeriodsScheduleReferenceNode.Attributes["id"] != null)
                    {
                        calculationPeriodsScheduleReferenceIDRef_ = calculationPeriodsScheduleReferenceNode.Attributes["id"].Value;
                        CalculationPeriodsScheduleReference ob = new CalculationPeriodsScheduleReference(calculationPeriodsScheduleReferenceNode);
                        IDManager.SetID(calculationPeriodsScheduleReferenceIDRef_, ob);
                    }
                    else if (calculationPeriodsScheduleReferenceNode.Attributes["href"] != null)
                    {
                        calculationPeriodsScheduleReferenceIDRef_ = calculationPeriodsScheduleReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        calculationPeriodsScheduleReference_ = new CalculationPeriodsScheduleReference(calculationPeriodsScheduleReferenceNode);
                    }
                }
                else
                {
                    calculationPeriodsScheduleReference_ = new CalculationPeriodsScheduleReference(calculationPeriodsScheduleReferenceNode);
                }
            }


            XmlNode calculationPeriodsDatesReferenceNode = xmlNode.SelectSingleNode("calculationPeriodsDatesReference");

            if (calculationPeriodsDatesReferenceNode != null)
            {
                if (calculationPeriodsDatesReferenceNode.Attributes["href"] != null || calculationPeriodsDatesReferenceNode.Attributes["id"] != null)
                {
                    if (calculationPeriodsDatesReferenceNode.Attributes["id"] != null)
                    {
                        calculationPeriodsDatesReferenceIDRef_ = calculationPeriodsDatesReferenceNode.Attributes["id"].Value;
                        CalculationPeriodsDatesReference ob = new CalculationPeriodsDatesReference(calculationPeriodsDatesReferenceNode);
                        IDManager.SetID(calculationPeriodsDatesReferenceIDRef_, ob);
                    }
                    else if (calculationPeriodsDatesReferenceNode.Attributes["href"] != null)
                    {
                        calculationPeriodsDatesReferenceIDRef_ = calculationPeriodsDatesReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        calculationPeriodsDatesReference_ = new CalculationPeriodsDatesReference(calculationPeriodsDatesReferenceNode);
                    }
                }
                else
                {
                    calculationPeriodsDatesReference_ = new CalculationPeriodsDatesReference(calculationPeriodsDatesReferenceNode);
                }
            }


            XmlNode commodityNode = xmlNode.SelectSingleNode("commodity");

            if (commodityNode != null)
            {
                if (commodityNode.Attributes["href"] != null || commodityNode.Attributes["id"] != null)
                {
                    if (commodityNode.Attributes["id"] != null)
                    {
                        commodityIDRef_ = commodityNode.Attributes["id"].Value;
                        Commodity ob = new Commodity(commodityNode);
                        IDManager.SetID(commodityIDRef_, ob);
                    }
                    else if (commodityNode.Attributes["href"] != null)
                    {
                        commodityIDRef_ = commodityNode.Attributes["href"].Value;
                    }
                    else
                    {
                        commodity_ = new Commodity(commodityNode);
                    }
                }
                else
                {
                    commodity_ = new Commodity(commodityNode);
                }
            }


            XmlNode quantityReferenceNode = xmlNode.SelectSingleNode("quantityReference");

            if (quantityReferenceNode != null)
            {
                if (quantityReferenceNode.Attributes["href"] != null || quantityReferenceNode.Attributes["id"] != null)
                {
                    if (quantityReferenceNode.Attributes["id"] != null)
                    {
                        quantityReferenceIDRef_ = quantityReferenceNode.Attributes["id"].Value;
                        QuantityReference ob = new QuantityReference(quantityReferenceNode);
                        IDManager.SetID(quantityReferenceIDRef_, ob);
                    }
                    else if (quantityReferenceNode.Attributes["href"] != null)
                    {
                        quantityReferenceIDRef_ = quantityReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        quantityReference_ = new QuantityReference(quantityReferenceNode);
                    }
                }
                else
                {
                    quantityReference_ = new QuantityReference(quantityReferenceNode);
                }
            }


            XmlNode pricingStartDateNode = xmlNode.SelectSingleNode("pricingStartDate");

            if (pricingStartDateNode != null)
            {
                if (pricingStartDateNode.Attributes["href"] != null || pricingStartDateNode.Attributes["id"] != null)
                {
                    if (pricingStartDateNode.Attributes["id"] != null)
                    {
                        pricingStartDateIDRef_ = pricingStartDateNode.Attributes["id"].Value;
                        AdjustableDate ob = new AdjustableDate(pricingStartDateNode);
                        IDManager.SetID(pricingStartDateIDRef_, ob);
                    }
                    else if (pricingStartDateNode.Attributes["href"] != null)
                    {
                        pricingStartDateIDRef_ = pricingStartDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        pricingStartDate_ = new AdjustableDate(pricingStartDateNode);
                    }
                }
                else
                {
                    pricingStartDate_ = new AdjustableDate(pricingStartDateNode);
                }
            }


            XmlNode calculationNode = xmlNode.SelectSingleNode("calculation");

            if (calculationNode != null)
            {
                if (calculationNode.Attributes["href"] != null || calculationNode.Attributes["id"] != null)
                {
                    if (calculationNode.Attributes["id"] != null)
                    {
                        calculationIDRef_ = calculationNode.Attributes["id"].Value;
                        FloatingLegCalculation ob = new FloatingLegCalculation(calculationNode);
                        IDManager.SetID(calculationIDRef_, ob);
                    }
                    else if (calculationNode.Attributes["href"] != null)
                    {
                        calculationIDRef_ = calculationNode.Attributes["href"].Value;
                    }
                    else
                    {
                        calculation_ = new FloatingLegCalculation(calculationNode);
                    }
                }
                else
                {
                    calculation_ = new FloatingLegCalculation(calculationNode);
                }
            }


            XmlNode relativePaymentDatesNode = xmlNode.SelectSingleNode("relativePaymentDates");

            if (relativePaymentDatesNode != null)
            {
                if (relativePaymentDatesNode.Attributes["href"] != null || relativePaymentDatesNode.Attributes["id"] != null)
                {
                    if (relativePaymentDatesNode.Attributes["id"] != null)
                    {
                        relativePaymentDatesIDRef_ = relativePaymentDatesNode.Attributes["id"].Value;
                        CommodityRelativePaymentDates ob = new CommodityRelativePaymentDates(relativePaymentDatesNode);
                        IDManager.SetID(relativePaymentDatesIDRef_, ob);
                    }
                    else if (relativePaymentDatesNode.Attributes["href"] != null)
                    {
                        relativePaymentDatesIDRef_ = relativePaymentDatesNode.Attributes["href"].Value;
                    }
                    else
                    {
                        relativePaymentDates_ = new CommodityRelativePaymentDates(relativePaymentDatesNode);
                    }
                }
                else
                {
                    relativePaymentDates_ = new CommodityRelativePaymentDates(relativePaymentDatesNode);
                }
            }


            XmlNode paymentDatesNode = xmlNode.SelectSingleNode("paymentDates");

            if (paymentDatesNode != null)
            {
                if (paymentDatesNode.Attributes["href"] != null || paymentDatesNode.Attributes["id"] != null)
                {
                    if (paymentDatesNode.Attributes["id"] != null)
                    {
                        paymentDatesIDRef_ = paymentDatesNode.Attributes["id"].Value;
                        AdjustableDatesOrRelativeDateOffset ob = new AdjustableDatesOrRelativeDateOffset(paymentDatesNode);
                        IDManager.SetID(paymentDatesIDRef_, ob);
                    }
                    else if (paymentDatesNode.Attributes["href"] != null)
                    {
                        paymentDatesIDRef_ = paymentDatesNode.Attributes["href"].Value;
                    }
                    else
                    {
                        paymentDates_ = new AdjustableDatesOrRelativeDateOffset(paymentDatesNode);
                    }
                }
                else
                {
                    paymentDates_ = new AdjustableDatesOrRelativeDateOffset(paymentDatesNode);
                }
            }


            XmlNode masterAgreementPaymentDatesNode = xmlNode.SelectSingleNode("masterAgreementPaymentDates");

            if (masterAgreementPaymentDatesNode != null)
            {
                if (masterAgreementPaymentDatesNode.Attributes["href"] != null || masterAgreementPaymentDatesNode.Attributes["id"] != null)
                {
                    if (masterAgreementPaymentDatesNode.Attributes["id"] != null)
                    {
                        masterAgreementPaymentDatesIDRef_ = masterAgreementPaymentDatesNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(masterAgreementPaymentDatesNode);
                        IDManager.SetID(masterAgreementPaymentDatesIDRef_, ob);
                    }
                    else if (masterAgreementPaymentDatesNode.Attributes["href"] != null)
                    {
                        masterAgreementPaymentDatesIDRef_ = masterAgreementPaymentDatesNode.Attributes["href"].Value;
                    }
                    else
                    {
                        masterAgreementPaymentDates_ = new XsdTypeBoolean(masterAgreementPaymentDatesNode);
                    }
                }
                else
                {
                    masterAgreementPaymentDates_ = new XsdTypeBoolean(masterAgreementPaymentDatesNode);
                }
            }
        }
 public AbsoluteTolerance(XmlNode xmlNode)
 {
     XmlNode positiveNode = xmlNode.SelectSingleNode("positive");
     
     if (positiveNode != null)
     {
         if (positiveNode.Attributes["href"] != null || positiveNode.Attributes["id"] != null) 
         {
             if (positiveNode.Attributes["id"] != null) 
             {
                 positiveIDRef_ = positiveNode.Attributes["id"].Value;
                 XsdTypeDecimal ob = new XsdTypeDecimal(positiveNode);
                 IDManager.SetID(positiveIDRef_, ob);
             }
             else if (positiveNode.Attributes["href"] != null)
             {
                 positiveIDRef_ = positiveNode.Attributes["href"].Value;
             }
             else
             {
                 positive_ = new XsdTypeDecimal(positiveNode);
             }
         }
         else
         {
             positive_ = new XsdTypeDecimal(positiveNode);
         }
     }
     
 
     XmlNode negativeNode = xmlNode.SelectSingleNode("negative");
     
     if (negativeNode != null)
     {
         if (negativeNode.Attributes["href"] != null || negativeNode.Attributes["id"] != null) 
         {
             if (negativeNode.Attributes["id"] != null) 
             {
                 negativeIDRef_ = negativeNode.Attributes["id"].Value;
                 XsdTypeDecimal ob = new XsdTypeDecimal(negativeNode);
                 IDManager.SetID(negativeIDRef_, ob);
             }
             else if (negativeNode.Attributes["href"] != null)
             {
                 negativeIDRef_ = negativeNode.Attributes["href"].Value;
             }
             else
             {
                 negative_ = new XsdTypeDecimal(negativeNode);
             }
         }
         else
         {
             negative_ = new XsdTypeDecimal(negativeNode);
         }
     }
     
 
     XmlNode unitNode = xmlNode.SelectSingleNode("unit");
     
     if (unitNode != null)
     {
         if (unitNode.Attributes["href"] != null || unitNode.Attributes["id"] != null) 
         {
             if (unitNode.Attributes["id"] != null) 
             {
                 unitIDRef_ = unitNode.Attributes["id"].Value;
                 QuantityUnit ob = new QuantityUnit(unitNode);
                 IDManager.SetID(unitIDRef_, ob);
             }
             else if (unitNode.Attributes["href"] != null)
             {
                 unitIDRef_ = unitNode.Attributes["href"].Value;
             }
             else
             {
                 unit_ = new QuantityUnit(unitNode);
             }
         }
         else
         {
             unit_ = new QuantityUnit(unitNode);
         }
     }
     
 
     XmlNode optionOwnerPartyReferenceNode = xmlNode.SelectSingleNode("optionOwnerPartyReference");
     
     if (optionOwnerPartyReferenceNode != null)
     {
         if (optionOwnerPartyReferenceNode.Attributes["href"] != null || optionOwnerPartyReferenceNode.Attributes["id"] != null) 
         {
             if (optionOwnerPartyReferenceNode.Attributes["id"] != null) 
             {
                 optionOwnerPartyReferenceIDRef_ = optionOwnerPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(optionOwnerPartyReferenceNode);
                 IDManager.SetID(optionOwnerPartyReferenceIDRef_, ob);
             }
             else if (optionOwnerPartyReferenceNode.Attributes["href"] != null)
             {
                 optionOwnerPartyReferenceIDRef_ = optionOwnerPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 optionOwnerPartyReference_ = new PartyReference(optionOwnerPartyReferenceNode);
             }
         }
         else
         {
             optionOwnerPartyReference_ = new PartyReference(optionOwnerPartyReferenceNode);
         }
     }
     
 
 }
Example #36
0
        public UpfrontPremium(XmlNode xmlNode)
        {
            XmlNode payerPartyReferenceNode = xmlNode.SelectSingleNode("payerPartyReference");

            if (payerPartyReferenceNode != null)
            {
                if (payerPartyReferenceNode.Attributes["href"] != null || payerPartyReferenceNode.Attributes["id"] != null)
                {
                    if (payerPartyReferenceNode.Attributes["id"] != null)
                    {
                        payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(payerPartyReferenceNode);
                        IDManager.SetID(payerPartyReferenceIDRef_, ob);
                    }
                    else if (payerPartyReferenceNode.Attributes["href"] != null)
                    {
                        payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
                    }
                }
                else
                {
                    payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
                }
            }


            XmlNode receiverPartyReferenceNode = xmlNode.SelectSingleNode("receiverPartyReference");

            if (receiverPartyReferenceNode != null)
            {
                if (receiverPartyReferenceNode.Attributes["href"] != null || receiverPartyReferenceNode.Attributes["id"] != null)
                {
                    if (receiverPartyReferenceNode.Attributes["id"] != null)
                    {
                        receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(receiverPartyReferenceNode);
                        IDManager.SetID(receiverPartyReferenceIDRef_, ob);
                    }
                    else if (receiverPartyReferenceNode.Attributes["href"] != null)
                    {
                        receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
                    }
                }
                else
                {
                    receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
                }
            }


            XmlNode amountNode = xmlNode.SelectSingleNode("amount");

            if (amountNode != null)
            {
                if (amountNode.Attributes["href"] != null || amountNode.Attributes["id"] != null)
                {
                    if (amountNode.Attributes["id"] != null)
                    {
                        amountIDRef_ = amountNode.Attributes["id"].Value;
                        XsdTypeDecimal ob = new XsdTypeDecimal(amountNode);
                        IDManager.SetID(amountIDRef_, ob);
                    }
                    else if (amountNode.Attributes["href"] != null)
                    {
                        amountIDRef_ = amountNode.Attributes["href"].Value;
                    }
                    else
                    {
                        amount_ = new XsdTypeDecimal(amountNode);
                    }
                }
                else
                {
                    amount_ = new XsdTypeDecimal(amountNode);
                }
            }


            XmlNode exchangeDateNode = xmlNode.SelectSingleNode("exchangeDate");

            if (exchangeDateNode != null)
            {
                if (exchangeDateNode.Attributes["href"] != null || exchangeDateNode.Attributes["id"] != null)
                {
                    if (exchangeDateNode.Attributes["id"] != null)
                    {
                        exchangeDateIDRef_ = exchangeDateNode.Attributes["id"].Value;
                        XsdTypeDate ob = new XsdTypeDate(exchangeDateNode);
                        IDManager.SetID(exchangeDateIDRef_, ob);
                    }
                    else if (exchangeDateNode.Attributes["href"] != null)
                    {
                        exchangeDateIDRef_ = exchangeDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        exchangeDate_ = new XsdTypeDate(exchangeDateNode);
                    }
                }
                else
                {
                    exchangeDate_ = new XsdTypeDate(exchangeDateNode);
                }
            }
        }
 public CreditEventNoticeDocument(XmlNode xmlNode)
 {
     XmlNode affectedTransactionsNode = xmlNode.SelectSingleNode("affectedTransactions");
     
     if (affectedTransactionsNode != null)
     {
         if (affectedTransactionsNode.Attributes["href"] != null || affectedTransactionsNode.Attributes["id"] != null) 
         {
             if (affectedTransactionsNode.Attributes["id"] != null) 
             {
                 affectedTransactionsIDRef_ = affectedTransactionsNode.Attributes["id"].Value;
                 AffectedTransactions ob = new AffectedTransactions(affectedTransactionsNode);
                 IDManager.SetID(affectedTransactionsIDRef_, ob);
             }
             else if (affectedTransactionsNode.Attributes["href"] != null)
             {
                 affectedTransactionsIDRef_ = affectedTransactionsNode.Attributes["href"].Value;
             }
             else
             {
                 affectedTransactions_ = new AffectedTransactions(affectedTransactionsNode);
             }
         }
         else
         {
             affectedTransactions_ = new AffectedTransactions(affectedTransactionsNode);
         }
     }
     
 
     XmlNode referenceEntityNode = xmlNode.SelectSingleNode("referenceEntity");
     
     if (referenceEntityNode != null)
     {
         if (referenceEntityNode.Attributes["href"] != null || referenceEntityNode.Attributes["id"] != null) 
         {
             if (referenceEntityNode.Attributes["id"] != null) 
             {
                 referenceEntityIDRef_ = referenceEntityNode.Attributes["id"].Value;
                 LegalEntity ob = new LegalEntity(referenceEntityNode);
                 IDManager.SetID(referenceEntityIDRef_, ob);
             }
             else if (referenceEntityNode.Attributes["href"] != null)
             {
                 referenceEntityIDRef_ = referenceEntityNode.Attributes["href"].Value;
             }
             else
             {
                 referenceEntity_ = new LegalEntity(referenceEntityNode);
             }
         }
         else
         {
             referenceEntity_ = new LegalEntity(referenceEntityNode);
         }
     }
     
 
     XmlNode creditEventNode = xmlNode.SelectSingleNode("creditEvent");
     
     if (creditEventNode != null)
     {
         if (creditEventNode.Attributes["href"] != null || creditEventNode.Attributes["id"] != null) 
         {
             if (creditEventNode.Attributes["id"] != null) 
             {
                 creditEventIDRef_ = creditEventNode.Attributes["id"].Value;
                 CreditEvent ob = new CreditEvent(creditEventNode);
                 IDManager.SetID(creditEventIDRef_, ob);
             }
             else if (creditEventNode.Attributes["href"] != null)
             {
                 creditEventIDRef_ = creditEventNode.Attributes["href"].Value;
             }
             else
             {
                 creditEvent_ = new CreditEvent(creditEventNode);
             }
         }
         else
         {
             creditEvent_ = new CreditEvent(creditEventNode);
         }
     }
     
 
     XmlNode bankruptcyNode = xmlNode.SelectSingleNode("bankruptcy");
     
     if (bankruptcyNode != null)
     {
         if (bankruptcyNode.Attributes["href"] != null || bankruptcyNode.Attributes["id"] != null) 
         {
             if (bankruptcyNode.Attributes["id"] != null) 
             {
                 bankruptcyIDRef_ = bankruptcyNode.Attributes["id"].Value;
                 BankruptcyEvent ob = new BankruptcyEvent(bankruptcyNode);
                 IDManager.SetID(bankruptcyIDRef_, ob);
             }
             else if (bankruptcyNode.Attributes["href"] != null)
             {
                 bankruptcyIDRef_ = bankruptcyNode.Attributes["href"].Value;
             }
             else
             {
                 bankruptcy_ = new BankruptcyEvent(bankruptcyNode);
             }
         }
         else
         {
             bankruptcy_ = new BankruptcyEvent(bankruptcyNode);
         }
     }
     
 
     XmlNode failureToPayNode = xmlNode.SelectSingleNode("failureToPay");
     
     if (failureToPayNode != null)
     {
         if (failureToPayNode.Attributes["href"] != null || failureToPayNode.Attributes["id"] != null) 
         {
             if (failureToPayNode.Attributes["id"] != null) 
             {
                 failureToPayIDRef_ = failureToPayNode.Attributes["id"].Value;
                 FailureToPayEvent ob = new FailureToPayEvent(failureToPayNode);
                 IDManager.SetID(failureToPayIDRef_, ob);
             }
             else if (failureToPayNode.Attributes["href"] != null)
             {
                 failureToPayIDRef_ = failureToPayNode.Attributes["href"].Value;
             }
             else
             {
                 failureToPay_ = new FailureToPayEvent(failureToPayNode);
             }
         }
         else
         {
             failureToPay_ = new FailureToPayEvent(failureToPayNode);
         }
     }
     
 
     XmlNode obligationAccelerationNode = xmlNode.SelectSingleNode("obligationAcceleration");
     
     if (obligationAccelerationNode != null)
     {
         if (obligationAccelerationNode.Attributes["href"] != null || obligationAccelerationNode.Attributes["id"] != null) 
         {
             if (obligationAccelerationNode.Attributes["id"] != null) 
             {
                 obligationAccelerationIDRef_ = obligationAccelerationNode.Attributes["id"].Value;
                 ObligationAccelerationEvent ob = new ObligationAccelerationEvent(obligationAccelerationNode);
                 IDManager.SetID(obligationAccelerationIDRef_, ob);
             }
             else if (obligationAccelerationNode.Attributes["href"] != null)
             {
                 obligationAccelerationIDRef_ = obligationAccelerationNode.Attributes["href"].Value;
             }
             else
             {
                 obligationAcceleration_ = new ObligationAccelerationEvent(obligationAccelerationNode);
             }
         }
         else
         {
             obligationAcceleration_ = new ObligationAccelerationEvent(obligationAccelerationNode);
         }
     }
     
 
     XmlNode obligationDefaultNode = xmlNode.SelectSingleNode("obligationDefault");
     
     if (obligationDefaultNode != null)
     {
         if (obligationDefaultNode.Attributes["href"] != null || obligationDefaultNode.Attributes["id"] != null) 
         {
             if (obligationDefaultNode.Attributes["id"] != null) 
             {
                 obligationDefaultIDRef_ = obligationDefaultNode.Attributes["id"].Value;
                 ObligationDefaultEvent ob = new ObligationDefaultEvent(obligationDefaultNode);
                 IDManager.SetID(obligationDefaultIDRef_, ob);
             }
             else if (obligationDefaultNode.Attributes["href"] != null)
             {
                 obligationDefaultIDRef_ = obligationDefaultNode.Attributes["href"].Value;
             }
             else
             {
                 obligationDefault_ = new ObligationDefaultEvent(obligationDefaultNode);
             }
         }
         else
         {
             obligationDefault_ = new ObligationDefaultEvent(obligationDefaultNode);
         }
     }
     
 
     XmlNode repudiationMoratoriumNode = xmlNode.SelectSingleNode("repudiationMoratorium");
     
     if (repudiationMoratoriumNode != null)
     {
         if (repudiationMoratoriumNode.Attributes["href"] != null || repudiationMoratoriumNode.Attributes["id"] != null) 
         {
             if (repudiationMoratoriumNode.Attributes["id"] != null) 
             {
                 repudiationMoratoriumIDRef_ = repudiationMoratoriumNode.Attributes["id"].Value;
                 RepudiationMoratoriumEvent ob = new RepudiationMoratoriumEvent(repudiationMoratoriumNode);
                 IDManager.SetID(repudiationMoratoriumIDRef_, ob);
             }
             else if (repudiationMoratoriumNode.Attributes["href"] != null)
             {
                 repudiationMoratoriumIDRef_ = repudiationMoratoriumNode.Attributes["href"].Value;
             }
             else
             {
                 repudiationMoratorium_ = new RepudiationMoratoriumEvent(repudiationMoratoriumNode);
             }
         }
         else
         {
             repudiationMoratorium_ = new RepudiationMoratoriumEvent(repudiationMoratoriumNode);
         }
     }
     
 
     XmlNode restructuringNode = xmlNode.SelectSingleNode("restructuring");
     
     if (restructuringNode != null)
     {
         if (restructuringNode.Attributes["href"] != null || restructuringNode.Attributes["id"] != null) 
         {
             if (restructuringNode.Attributes["id"] != null) 
             {
                 restructuringIDRef_ = restructuringNode.Attributes["id"].Value;
                 RestructuringEvent ob = new RestructuringEvent(restructuringNode);
                 IDManager.SetID(restructuringIDRef_, ob);
             }
             else if (restructuringNode.Attributes["href"] != null)
             {
                 restructuringIDRef_ = restructuringNode.Attributes["href"].Value;
             }
             else
             {
                 restructuring_ = new RestructuringEvent(restructuringNode);
             }
         }
         else
         {
             restructuring_ = new RestructuringEvent(restructuringNode);
         }
     }
     
 
     XmlNodeList publiclyAvailableInformationNodeList = xmlNode.SelectNodes("publiclyAvailableInformation");
     
     if (publiclyAvailableInformationNodeList != null)
     {
         this.publiclyAvailableInformation_ = new List<Resource>();
         foreach (XmlNode item in publiclyAvailableInformationNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     publiclyAvailableInformationIDRef_ = item.Attributes["id"].Value;
                     publiclyAvailableInformation_.Add(new Resource(item));
                     IDManager.SetID(publiclyAvailableInformationIDRef_, publiclyAvailableInformation_[publiclyAvailableInformation_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     publiclyAvailableInformationIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 publiclyAvailableInformation_.Add(new Resource(item));
                 }
             }
             else
             {
                 publiclyAvailableInformation_.Add(new Resource(item));
             }
         }
     }
     
 
     XmlNode notifyingPartyReferenceNode = xmlNode.SelectSingleNode("notifyingPartyReference");
     
     if (notifyingPartyReferenceNode != null)
     {
         if (notifyingPartyReferenceNode.Attributes["href"] != null || notifyingPartyReferenceNode.Attributes["id"] != null) 
         {
             if (notifyingPartyReferenceNode.Attributes["id"] != null) 
             {
                 notifyingPartyReferenceIDRef_ = notifyingPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(notifyingPartyReferenceNode);
                 IDManager.SetID(notifyingPartyReferenceIDRef_, ob);
             }
             else if (notifyingPartyReferenceNode.Attributes["href"] != null)
             {
                 notifyingPartyReferenceIDRef_ = notifyingPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 notifyingPartyReference_ = new PartyReference(notifyingPartyReferenceNode);
             }
         }
         else
         {
             notifyingPartyReference_ = new PartyReference(notifyingPartyReferenceNode);
         }
     }
     
 
     XmlNode notifiedPartyReferenceNode = xmlNode.SelectSingleNode("notifiedPartyReference");
     
     if (notifiedPartyReferenceNode != null)
     {
         if (notifiedPartyReferenceNode.Attributes["href"] != null || notifiedPartyReferenceNode.Attributes["id"] != null) 
         {
             if (notifiedPartyReferenceNode.Attributes["id"] != null) 
             {
                 notifiedPartyReferenceIDRef_ = notifiedPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(notifiedPartyReferenceNode);
                 IDManager.SetID(notifiedPartyReferenceIDRef_, ob);
             }
             else if (notifiedPartyReferenceNode.Attributes["href"] != null)
             {
                 notifiedPartyReferenceIDRef_ = notifiedPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 notifiedPartyReference_ = new PartyReference(notifiedPartyReferenceNode);
             }
         }
         else
         {
             notifiedPartyReference_ = new PartyReference(notifiedPartyReferenceNode);
         }
     }
     
 
     XmlNode creditEventNoticeDateNode = xmlNode.SelectSingleNode("creditEventNoticeDate");
     
     if (creditEventNoticeDateNode != null)
     {
         if (creditEventNoticeDateNode.Attributes["href"] != null || creditEventNoticeDateNode.Attributes["id"] != null) 
         {
             if (creditEventNoticeDateNode.Attributes["id"] != null) 
             {
                 creditEventNoticeDateIDRef_ = creditEventNoticeDateNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(creditEventNoticeDateNode);
                 IDManager.SetID(creditEventNoticeDateIDRef_, ob);
             }
             else if (creditEventNoticeDateNode.Attributes["href"] != null)
             {
                 creditEventNoticeDateIDRef_ = creditEventNoticeDateNode.Attributes["href"].Value;
             }
             else
             {
                 creditEventNoticeDate_ = new XsdTypeDate(creditEventNoticeDateNode);
             }
         }
         else
         {
             creditEventNoticeDate_ = new XsdTypeDate(creditEventNoticeDateNode);
         }
     }
     
 
     XmlNode creditEventDateNode = xmlNode.SelectSingleNode("creditEventDate");
     
     if (creditEventDateNode != null)
     {
         if (creditEventDateNode.Attributes["href"] != null || creditEventDateNode.Attributes["id"] != null) 
         {
             if (creditEventDateNode.Attributes["id"] != null) 
             {
                 creditEventDateIDRef_ = creditEventDateNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(creditEventDateNode);
                 IDManager.SetID(creditEventDateIDRef_, ob);
             }
             else if (creditEventDateNode.Attributes["href"] != null)
             {
                 creditEventDateIDRef_ = creditEventDateNode.Attributes["href"].Value;
             }
             else
             {
                 creditEventDate_ = new XsdTypeDate(creditEventDateNode);
             }
         }
         else
         {
             creditEventDate_ = new XsdTypeDate(creditEventDateNode);
         }
     }
     
 
 }
 public IntermediaryInformation(XmlNode xmlNode)
 {
     XmlNode routingIdsNode = xmlNode.SelectSingleNode("routingIds");
     
     if (routingIdsNode != null)
     {
         if (routingIdsNode.Attributes["href"] != null || routingIdsNode.Attributes["id"] != null) 
         {
             if (routingIdsNode.Attributes["id"] != null) 
             {
                 routingIdsIDRef_ = routingIdsNode.Attributes["id"].Value;
                 RoutingIds ob = new RoutingIds(routingIdsNode);
                 IDManager.SetID(routingIdsIDRef_, ob);
             }
             else if (routingIdsNode.Attributes["href"] != null)
             {
                 routingIdsIDRef_ = routingIdsNode.Attributes["href"].Value;
             }
             else
             {
                 routingIds_ = new RoutingIds(routingIdsNode);
             }
         }
         else
         {
             routingIds_ = new RoutingIds(routingIdsNode);
         }
     }
     
 
     XmlNode routingExplicitDetailsNode = xmlNode.SelectSingleNode("routingExplicitDetails");
     
     if (routingExplicitDetailsNode != null)
     {
         if (routingExplicitDetailsNode.Attributes["href"] != null || routingExplicitDetailsNode.Attributes["id"] != null) 
         {
             if (routingExplicitDetailsNode.Attributes["id"] != null) 
             {
                 routingExplicitDetailsIDRef_ = routingExplicitDetailsNode.Attributes["id"].Value;
                 RoutingExplicitDetails ob = new RoutingExplicitDetails(routingExplicitDetailsNode);
                 IDManager.SetID(routingExplicitDetailsIDRef_, ob);
             }
             else if (routingExplicitDetailsNode.Attributes["href"] != null)
             {
                 routingExplicitDetailsIDRef_ = routingExplicitDetailsNode.Attributes["href"].Value;
             }
             else
             {
                 routingExplicitDetails_ = new RoutingExplicitDetails(routingExplicitDetailsNode);
             }
         }
         else
         {
             routingExplicitDetails_ = new RoutingExplicitDetails(routingExplicitDetailsNode);
         }
     }
     
 
     XmlNode routingIdsAndExplicitDetailsNode = xmlNode.SelectSingleNode("routingIdsAndExplicitDetails");
     
     if (routingIdsAndExplicitDetailsNode != null)
     {
         if (routingIdsAndExplicitDetailsNode.Attributes["href"] != null || routingIdsAndExplicitDetailsNode.Attributes["id"] != null) 
         {
             if (routingIdsAndExplicitDetailsNode.Attributes["id"] != null) 
             {
                 routingIdsAndExplicitDetailsIDRef_ = routingIdsAndExplicitDetailsNode.Attributes["id"].Value;
                 RoutingIdsAndExplicitDetails ob = new RoutingIdsAndExplicitDetails(routingIdsAndExplicitDetailsNode);
                 IDManager.SetID(routingIdsAndExplicitDetailsIDRef_, ob);
             }
             else if (routingIdsAndExplicitDetailsNode.Attributes["href"] != null)
             {
                 routingIdsAndExplicitDetailsIDRef_ = routingIdsAndExplicitDetailsNode.Attributes["href"].Value;
             }
             else
             {
                 routingIdsAndExplicitDetails_ = new RoutingIdsAndExplicitDetails(routingIdsAndExplicitDetailsNode);
             }
         }
         else
         {
             routingIdsAndExplicitDetails_ = new RoutingIdsAndExplicitDetails(routingIdsAndExplicitDetailsNode);
         }
     }
     
 
     XmlNode intermediarySequenceNumberNode = xmlNode.SelectSingleNode("intermediarySequenceNumber");
     
     if (intermediarySequenceNumberNode != null)
     {
         if (intermediarySequenceNumberNode.Attributes["href"] != null || intermediarySequenceNumberNode.Attributes["id"] != null) 
         {
             if (intermediarySequenceNumberNode.Attributes["id"] != null) 
             {
                 intermediarySequenceNumberIDRef_ = intermediarySequenceNumberNode.Attributes["id"].Value;
                 XsdTypePositiveInteger ob = new XsdTypePositiveInteger(intermediarySequenceNumberNode);
                 IDManager.SetID(intermediarySequenceNumberIDRef_, ob);
             }
             else if (intermediarySequenceNumberNode.Attributes["href"] != null)
             {
                 intermediarySequenceNumberIDRef_ = intermediarySequenceNumberNode.Attributes["href"].Value;
             }
             else
             {
                 intermediarySequenceNumber_ = new XsdTypePositiveInteger(intermediarySequenceNumberNode);
             }
         }
         else
         {
             intermediarySequenceNumber_ = new XsdTypePositiveInteger(intermediarySequenceNumberNode);
         }
     }
     
 
     XmlNode intermediaryPartyReferenceNode = xmlNode.SelectSingleNode("intermediaryPartyReference");
     
     if (intermediaryPartyReferenceNode != null)
     {
         if (intermediaryPartyReferenceNode.Attributes["href"] != null || intermediaryPartyReferenceNode.Attributes["id"] != null) 
         {
             if (intermediaryPartyReferenceNode.Attributes["id"] != null) 
             {
                 intermediaryPartyReferenceIDRef_ = intermediaryPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(intermediaryPartyReferenceNode);
                 IDManager.SetID(intermediaryPartyReferenceIDRef_, ob);
             }
             else if (intermediaryPartyReferenceNode.Attributes["href"] != null)
             {
                 intermediaryPartyReferenceIDRef_ = intermediaryPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 intermediaryPartyReference_ = new PartyReference(intermediaryPartyReferenceNode);
             }
         }
         else
         {
             intermediaryPartyReference_ = new PartyReference(intermediaryPartyReferenceNode);
         }
     }
     
 
 }
 public OnBehalfOf(XmlNode xmlNode)
 {
     XmlNode partyReferenceNode = xmlNode.SelectSingleNode("partyReference");
     
     if (partyReferenceNode != null)
     {
         if (partyReferenceNode.Attributes["href"] != null || partyReferenceNode.Attributes["id"] != null) 
         {
             if (partyReferenceNode.Attributes["id"] != null) 
             {
                 partyReferenceIDRef_ = partyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(partyReferenceNode);
                 IDManager.SetID(partyReferenceIDRef_, ob);
             }
             else if (partyReferenceNode.Attributes["href"] != null)
             {
                 partyReferenceIDRef_ = partyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 partyReference_ = new PartyReference(partyReferenceNode);
             }
         }
         else
         {
             partyReference_ = new PartyReference(partyReferenceNode);
         }
     }
     
 
     XmlNodeList accountReferenceNodeList = xmlNode.SelectNodes("accountReference");
     
     if (accountReferenceNodeList != null)
     {
         this.accountReference_ = new List<AccountReference>();
         foreach (XmlNode item in accountReferenceNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     accountReferenceIDRef_ = item.Attributes["id"].Value;
                     accountReference_.Add(new AccountReference(item));
                     IDManager.SetID(accountReferenceIDRef_, accountReference_[accountReference_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     accountReferenceIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 accountReference_.Add(new AccountReference(item));
                 }
             }
             else
             {
                 accountReference_.Add(new AccountReference(item));
             }
         }
     }
     
 
 }
Example #40
0
        public Bond(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode issuerNameNode = xmlNode.SelectSingleNode("issuerName");

            if (issuerNameNode != null)
            {
                if (issuerNameNode.Attributes["href"] != null || issuerNameNode.Attributes["id"] != null)
                {
                    if (issuerNameNode.Attributes["id"] != null)
                    {
                        issuerNameIDRef_ = issuerNameNode.Attributes["id"].Value;
                        XsdTypeString ob = new XsdTypeString(issuerNameNode);
                        IDManager.SetID(issuerNameIDRef_, ob);
                    }
                    else if (issuerNameNode.Attributes["href"] != null)
                    {
                        issuerNameIDRef_ = issuerNameNode.Attributes["href"].Value;
                    }
                    else
                    {
                        issuerName_ = new XsdTypeString(issuerNameNode);
                    }
                }
                else
                {
                    issuerName_ = new XsdTypeString(issuerNameNode);
                }
            }


            XmlNode issuerPartyReferenceNode = xmlNode.SelectSingleNode("issuerPartyReference");

            if (issuerPartyReferenceNode != null)
            {
                if (issuerPartyReferenceNode.Attributes["href"] != null || issuerPartyReferenceNode.Attributes["id"] != null)
                {
                    if (issuerPartyReferenceNode.Attributes["id"] != null)
                    {
                        issuerPartyReferenceIDRef_ = issuerPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(issuerPartyReferenceNode);
                        IDManager.SetID(issuerPartyReferenceIDRef_, ob);
                    }
                    else if (issuerPartyReferenceNode.Attributes["href"] != null)
                    {
                        issuerPartyReferenceIDRef_ = issuerPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        issuerPartyReference_ = new PartyReference(issuerPartyReferenceNode);
                    }
                }
                else
                {
                    issuerPartyReference_ = new PartyReference(issuerPartyReferenceNode);
                }
            }


            XmlNode seniorityNode = xmlNode.SelectSingleNode("seniority");

            if (seniorityNode != null)
            {
                if (seniorityNode.Attributes["href"] != null || seniorityNode.Attributes["id"] != null)
                {
                    if (seniorityNode.Attributes["id"] != null)
                    {
                        seniorityIDRef_ = seniorityNode.Attributes["id"].Value;
                        CreditSeniority ob = new CreditSeniority(seniorityNode);
                        IDManager.SetID(seniorityIDRef_, ob);
                    }
                    else if (seniorityNode.Attributes["href"] != null)
                    {
                        seniorityIDRef_ = seniorityNode.Attributes["href"].Value;
                    }
                    else
                    {
                        seniority_ = new CreditSeniority(seniorityNode);
                    }
                }
                else
                {
                    seniority_ = new CreditSeniority(seniorityNode);
                }
            }


            XmlNode couponTypeNode = xmlNode.SelectSingleNode("couponType");

            if (couponTypeNode != null)
            {
                if (couponTypeNode.Attributes["href"] != null || couponTypeNode.Attributes["id"] != null)
                {
                    if (couponTypeNode.Attributes["id"] != null)
                    {
                        couponTypeIDRef_ = couponTypeNode.Attributes["id"].Value;
                        CouponType ob = new CouponType(couponTypeNode);
                        IDManager.SetID(couponTypeIDRef_, ob);
                    }
                    else if (couponTypeNode.Attributes["href"] != null)
                    {
                        couponTypeIDRef_ = couponTypeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        couponType_ = new CouponType(couponTypeNode);
                    }
                }
                else
                {
                    couponType_ = new CouponType(couponTypeNode);
                }
            }


            XmlNode couponRateNode = xmlNode.SelectSingleNode("couponRate");

            if (couponRateNode != null)
            {
                if (couponRateNode.Attributes["href"] != null || couponRateNode.Attributes["id"] != null)
                {
                    if (couponRateNode.Attributes["id"] != null)
                    {
                        couponRateIDRef_ = couponRateNode.Attributes["id"].Value;
                        XsdTypeDecimal ob = new XsdTypeDecimal(couponRateNode);
                        IDManager.SetID(couponRateIDRef_, ob);
                    }
                    else if (couponRateNode.Attributes["href"] != null)
                    {
                        couponRateIDRef_ = couponRateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        couponRate_ = new XsdTypeDecimal(couponRateNode);
                    }
                }
                else
                {
                    couponRate_ = new XsdTypeDecimal(couponRateNode);
                }
            }


            XmlNode maturityNode = xmlNode.SelectSingleNode("maturity");

            if (maturityNode != null)
            {
                if (maturityNode.Attributes["href"] != null || maturityNode.Attributes["id"] != null)
                {
                    if (maturityNode.Attributes["id"] != null)
                    {
                        maturityIDRef_ = maturityNode.Attributes["id"].Value;
                        XsdTypeDate ob = new XsdTypeDate(maturityNode);
                        IDManager.SetID(maturityIDRef_, ob);
                    }
                    else if (maturityNode.Attributes["href"] != null)
                    {
                        maturityIDRef_ = maturityNode.Attributes["href"].Value;
                    }
                    else
                    {
                        maturity_ = new XsdTypeDate(maturityNode);
                    }
                }
                else
                {
                    maturity_ = new XsdTypeDate(maturityNode);
                }
            }


            XmlNode parValueNode = xmlNode.SelectSingleNode("parValue");

            if (parValueNode != null)
            {
                if (parValueNode.Attributes["href"] != null || parValueNode.Attributes["id"] != null)
                {
                    if (parValueNode.Attributes["id"] != null)
                    {
                        parValueIDRef_ = parValueNode.Attributes["id"].Value;
                        XsdTypeDecimal ob = new XsdTypeDecimal(parValueNode);
                        IDManager.SetID(parValueIDRef_, ob);
                    }
                    else if (parValueNode.Attributes["href"] != null)
                    {
                        parValueIDRef_ = parValueNode.Attributes["href"].Value;
                    }
                    else
                    {
                        parValue_ = new XsdTypeDecimal(parValueNode);
                    }
                }
                else
                {
                    parValue_ = new XsdTypeDecimal(parValueNode);
                }
            }


            XmlNode faceAmountNode = xmlNode.SelectSingleNode("faceAmount");

            if (faceAmountNode != null)
            {
                if (faceAmountNode.Attributes["href"] != null || faceAmountNode.Attributes["id"] != null)
                {
                    if (faceAmountNode.Attributes["id"] != null)
                    {
                        faceAmountIDRef_ = faceAmountNode.Attributes["id"].Value;
                        XsdTypeDecimal ob = new XsdTypeDecimal(faceAmountNode);
                        IDManager.SetID(faceAmountIDRef_, ob);
                    }
                    else if (faceAmountNode.Attributes["href"] != null)
                    {
                        faceAmountIDRef_ = faceAmountNode.Attributes["href"].Value;
                    }
                    else
                    {
                        faceAmount_ = new XsdTypeDecimal(faceAmountNode);
                    }
                }
                else
                {
                    faceAmount_ = new XsdTypeDecimal(faceAmountNode);
                }
            }


            XmlNode paymentFrequencyNode = xmlNode.SelectSingleNode("paymentFrequency");

            if (paymentFrequencyNode != null)
            {
                if (paymentFrequencyNode.Attributes["href"] != null || paymentFrequencyNode.Attributes["id"] != null)
                {
                    if (paymentFrequencyNode.Attributes["id"] != null)
                    {
                        paymentFrequencyIDRef_ = paymentFrequencyNode.Attributes["id"].Value;
                        Period ob = new Period(paymentFrequencyNode);
                        IDManager.SetID(paymentFrequencyIDRef_, ob);
                    }
                    else if (paymentFrequencyNode.Attributes["href"] != null)
                    {
                        paymentFrequencyIDRef_ = paymentFrequencyNode.Attributes["href"].Value;
                    }
                    else
                    {
                        paymentFrequency_ = new Period(paymentFrequencyNode);
                    }
                }
                else
                {
                    paymentFrequency_ = new Period(paymentFrequencyNode);
                }
            }


            XmlNode dayCountFractionNode = xmlNode.SelectSingleNode("dayCountFraction");

            if (dayCountFractionNode != null)
            {
                if (dayCountFractionNode.Attributes["href"] != null || dayCountFractionNode.Attributes["id"] != null)
                {
                    if (dayCountFractionNode.Attributes["id"] != null)
                    {
                        dayCountFractionIDRef_ = dayCountFractionNode.Attributes["id"].Value;
                        DayCountFraction ob = new DayCountFraction(dayCountFractionNode);
                        IDManager.SetID(dayCountFractionIDRef_, ob);
                    }
                    else if (dayCountFractionNode.Attributes["href"] != null)
                    {
                        dayCountFractionIDRef_ = dayCountFractionNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dayCountFraction_ = new DayCountFraction(dayCountFractionNode);
                    }
                }
                else
                {
                    dayCountFraction_ = new DayCountFraction(dayCountFractionNode);
                }
            }
        }
        public PassThroughItem(XmlNode xmlNode)
        {
            XmlNodeList payerPartyReferenceNodeList = xmlNode.SelectNodes("payerPartyReference");

            if (payerPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in payerPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        payerPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(payerPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        payerPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        payerPartyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList payerAccountReferenceNodeList = xmlNode.SelectNodes("payerAccountReference");

            if (payerAccountReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in payerAccountReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        payerAccountReferenceIDRef = item.Attributes["id"].Name;
                        AccountReference ob = AccountReference();
                        IDManager.SetID(payerAccountReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        payerAccountReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        payerAccountReference = new AccountReference(item);
                    }
                }
            }


            XmlNodeList receiverPartyReferenceNodeList = xmlNode.SelectNodes("receiverPartyReference");

            if (receiverPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in receiverPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        receiverPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(receiverPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        receiverPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        receiverPartyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList receiverAccountReferenceNodeList = xmlNode.SelectNodes("receiverAccountReference");

            if (receiverAccountReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in receiverAccountReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        receiverAccountReferenceIDRef = item.Attributes["id"].Name;
                        AccountReference ob = AccountReference();
                        IDManager.SetID(receiverAccountReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        receiverAccountReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        receiverAccountReference = new AccountReference(item);
                    }
                }
            }


            XmlNodeList underlyerReferenceNodeList = xmlNode.SelectNodes("underlyerReference");

            if (underlyerReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in underlyerReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        underlyerReferenceIDRef = item.Attributes["id"].Name;
                        AssetReference ob = AssetReference();
                        IDManager.SetID(underlyerReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        underlyerReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        underlyerReference = new AssetReference(item);
                    }
                }
            }


            XmlNodeList passThroughPercentageNodeList = xmlNode.SelectNodes("passThroughPercentage");

            if (passThroughPercentageNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in passThroughPercentageNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        passThroughPercentageIDRef = item.Attributes["id"].Name;
                        XsdTypeDecimal ob = XsdTypeDecimal();
                        IDManager.SetID(passThroughPercentageIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        passThroughPercentageIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        passThroughPercentage = new XsdTypeDecimal(item);
                    }
                }
            }
        }
 public ValuationSet(XmlNode xmlNode)
 {
     XmlNode nameNode = xmlNode.SelectSingleNode("name");
     
     if (nameNode != null)
     {
         if (nameNode.Attributes["href"] != null || nameNode.Attributes["id"] != null) 
         {
             if (nameNode.Attributes["id"] != null) 
             {
                 nameIDRef_ = nameNode.Attributes["id"].Value;
                 XsdTypeString ob = new XsdTypeString(nameNode);
                 IDManager.SetID(nameIDRef_, ob);
             }
             else if (nameNode.Attributes["href"] != null)
             {
                 nameIDRef_ = nameNode.Attributes["href"].Value;
             }
             else
             {
                 name_ = new XsdTypeString(nameNode);
             }
         }
         else
         {
             name_ = new XsdTypeString(nameNode);
         }
     }
     
 
     XmlNodeList valuationScenarioNodeList = xmlNode.SelectNodes("valuationScenario");
     
     if (valuationScenarioNodeList != null)
     {
         this.valuationScenario_ = new List<ValuationScenario>();
         foreach (XmlNode item in valuationScenarioNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     valuationScenarioIDRef_ = item.Attributes["id"].Value;
                     valuationScenario_.Add(new ValuationScenario(item));
                     IDManager.SetID(valuationScenarioIDRef_, valuationScenario_[valuationScenario_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     valuationScenarioIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 valuationScenario_.Add(new ValuationScenario(item));
                 }
             }
             else
             {
                 valuationScenario_.Add(new ValuationScenario(item));
             }
         }
     }
     
 
     XmlNodeList valuationScenarioReferenceNodeList = xmlNode.SelectNodes("valuationScenarioReference");
     
     if (valuationScenarioReferenceNodeList != null)
     {
         this.valuationScenarioReference_ = new List<ValuationScenarioReference>();
         foreach (XmlNode item in valuationScenarioReferenceNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     valuationScenarioReferenceIDRef_ = item.Attributes["id"].Value;
                     valuationScenarioReference_.Add(new ValuationScenarioReference(item));
                     IDManager.SetID(valuationScenarioReferenceIDRef_, valuationScenarioReference_[valuationScenarioReference_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     valuationScenarioReferenceIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 valuationScenarioReference_.Add(new ValuationScenarioReference(item));
                 }
             }
             else
             {
                 valuationScenarioReference_.Add(new ValuationScenarioReference(item));
             }
         }
     }
     
 
     XmlNode basePartyNode = xmlNode.SelectSingleNode("baseParty");
     
     if (basePartyNode != null)
     {
         if (basePartyNode.Attributes["href"] != null || basePartyNode.Attributes["id"] != null) 
         {
             if (basePartyNode.Attributes["id"] != null) 
             {
                 basePartyIDRef_ = basePartyNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(basePartyNode);
                 IDManager.SetID(basePartyIDRef_, ob);
             }
             else if (basePartyNode.Attributes["href"] != null)
             {
                 basePartyIDRef_ = basePartyNode.Attributes["href"].Value;
             }
             else
             {
                 baseParty_ = new PartyReference(basePartyNode);
             }
         }
         else
         {
             baseParty_ = new PartyReference(basePartyNode);
         }
     }
     
 
     XmlNodeList quotationCharacteristicsNodeList = xmlNode.SelectNodes("quotationCharacteristics");
     
     if (quotationCharacteristicsNodeList != null)
     {
         this.quotationCharacteristics_ = new List<QuotationCharacteristics>();
         foreach (XmlNode item in quotationCharacteristicsNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     quotationCharacteristicsIDRef_ = item.Attributes["id"].Value;
                     quotationCharacteristics_.Add(new QuotationCharacteristics(item));
                     IDManager.SetID(quotationCharacteristicsIDRef_, quotationCharacteristics_[quotationCharacteristics_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     quotationCharacteristicsIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 quotationCharacteristics_.Add(new QuotationCharacteristics(item));
                 }
             }
             else
             {
                 quotationCharacteristics_.Add(new QuotationCharacteristics(item));
             }
         }
     }
     
 
     XmlNodeList sensitivitySetDefinitionNodeList = xmlNode.SelectNodes("sensitivitySetDefinition");
     
     if (sensitivitySetDefinitionNodeList != null)
     {
         this.sensitivitySetDefinition_ = new List<SensitivitySetDefinition>();
         foreach (XmlNode item in sensitivitySetDefinitionNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     sensitivitySetDefinitionIDRef_ = item.Attributes["id"].Value;
                     sensitivitySetDefinition_.Add(new SensitivitySetDefinition(item));
                     IDManager.SetID(sensitivitySetDefinitionIDRef_, sensitivitySetDefinition_[sensitivitySetDefinition_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     sensitivitySetDefinitionIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 sensitivitySetDefinition_.Add(new SensitivitySetDefinition(item));
                 }
             }
             else
             {
                 sensitivitySetDefinition_.Add(new SensitivitySetDefinition(item));
             }
         }
     }
     
 
     XmlNode detailNode = xmlNode.SelectSingleNode("detail");
     
     if (detailNode != null)
     {
         if (detailNode.Attributes["href"] != null || detailNode.Attributes["id"] != null) 
         {
             if (detailNode.Attributes["id"] != null) 
             {
                 detailIDRef_ = detailNode.Attributes["id"].Value;
                 ValuationSetDetail ob = new ValuationSetDetail(detailNode);
                 IDManager.SetID(detailIDRef_, ob);
             }
             else if (detailNode.Attributes["href"] != null)
             {
                 detailIDRef_ = detailNode.Attributes["href"].Value;
             }
             else
             {
                 detail_ = new ValuationSetDetail(detailNode);
             }
         }
         else
         {
             detail_ = new ValuationSetDetail(detailNode);
         }
     }
     
 
     XmlNodeList assetValuationNodeList = xmlNode.SelectNodes("assetValuation");
     
     if (assetValuationNodeList != null)
     {
         this.assetValuation_ = new List<AssetValuation>();
         foreach (XmlNode item in assetValuationNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     assetValuationIDRef_ = item.Attributes["id"].Value;
                     assetValuation_.Add(new AssetValuation(item));
                     IDManager.SetID(assetValuationIDRef_, assetValuation_[assetValuation_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     assetValuationIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 assetValuation_.Add(new AssetValuation(item));
                 }
             }
             else
             {
                 assetValuation_.Add(new AssetValuation(item));
             }
         }
     }
     
 
 }
        public InstrumentTradeDetails(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNodeList buyerPartyReferenceNodeList = xmlNode.SelectNodes("buyerPartyReference");

            if (buyerPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in buyerPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        buyerPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(buyerPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        buyerPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        buyerPartyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList buyerAccountReferenceNodeList = xmlNode.SelectNodes("buyerAccountReference");

            if (buyerAccountReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in buyerAccountReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        buyerAccountReferenceIDRef = item.Attributes["id"].Name;
                        AccountReference ob = AccountReference();
                        IDManager.SetID(buyerAccountReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        buyerAccountReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        buyerAccountReference = new AccountReference(item);
                    }
                }
            }


            XmlNodeList sellerPartyReferenceNodeList = xmlNode.SelectNodes("sellerPartyReference");

            if (sellerPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in sellerPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        sellerPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(sellerPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        sellerPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        sellerPartyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList sellerAccountReferenceNodeList = xmlNode.SelectNodes("sellerAccountReference");

            if (sellerAccountReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in sellerAccountReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        sellerAccountReferenceIDRef = item.Attributes["id"].Name;
                        AccountReference ob = AccountReference();
                        IDManager.SetID(sellerAccountReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        sellerAccountReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        sellerAccountReference = new AccountReference(item);
                    }
                }
            }


            XmlNodeList underlyingAssetNodeList = xmlNode.SelectNodes("underlyingAsset");

            if (underlyingAssetNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in underlyingAssetNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        underlyingAssetIDRef = item.Attributes["id"].Name;
                        Asset ob = Asset();
                        IDManager.SetID(underlyingAssetIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        underlyingAssetIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        underlyingAsset = new Asset(item);
                    }
                }
            }


            XmlNodeList basketNodeList = xmlNode.SelectNodes("basket");

            if (basketNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in basketNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        basketIDRef = item.Attributes["id"].Name;
                        Basket ob = Basket();
                        IDManager.SetID(basketIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        basketIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        basket = new Basket(item);
                    }
                }
            }


            XmlNodeList bondNodeList = xmlNode.SelectNodes("bond");

            if (bondNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in bondNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        bondIDRef = item.Attributes["id"].Name;
                        Bond ob = Bond();
                        IDManager.SetID(bondIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        bondIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        bond = new Bond(item);
                    }
                }
            }


            XmlNodeList cashNodeList = xmlNode.SelectNodes("cash");

            if (cashNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in cashNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        cashIDRef = item.Attributes["id"].Name;
                        Cash ob = Cash();
                        IDManager.SetID(cashIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        cashIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        cash = new Cash(item);
                    }
                }
            }


            XmlNodeList commodityNodeList = xmlNode.SelectNodes("commodity");

            if (commodityNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in commodityNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        commodityIDRef = item.Attributes["id"].Name;
                        Commodity ob = Commodity();
                        IDManager.SetID(commodityIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        commodityIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        commodity = new Commodity(item);
                    }
                }
            }


            XmlNodeList convertibleBondNodeList = xmlNode.SelectNodes("convertibleBond");

            if (convertibleBondNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in convertibleBondNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        convertibleBondIDRef = item.Attributes["id"].Name;
                        ConvertibleBond ob = ConvertibleBond();
                        IDManager.SetID(convertibleBondIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        convertibleBondIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        convertibleBond = new ConvertibleBond(item);
                    }
                }
            }


            XmlNodeList equityNodeList = xmlNode.SelectNodes("equity");

            if (equityNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in equityNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        equityIDRef = item.Attributes["id"].Name;
                        EquityAsset ob = EquityAsset();
                        IDManager.SetID(equityIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        equityIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        equity = new EquityAsset(item);
                    }
                }
            }


            XmlNodeList exchangeTradedFundNodeList = xmlNode.SelectNodes("exchangeTradedFund");

            if (exchangeTradedFundNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in exchangeTradedFundNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        exchangeTradedFundIDRef = item.Attributes["id"].Name;
                        ExchangeTradedFund ob = ExchangeTradedFund();
                        IDManager.SetID(exchangeTradedFundIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        exchangeTradedFundIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        exchangeTradedFund = new ExchangeTradedFund(item);
                    }
                }
            }


            XmlNodeList futureNodeList = xmlNode.SelectNodes("future");

            if (futureNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in futureNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        futureIDRef = item.Attributes["id"].Name;
                        Future ob = Future();
                        IDManager.SetID(futureIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        futureIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        future = new Future(item);
                    }
                }
            }


            XmlNodeList indexNodeList = xmlNode.SelectNodes("index");

            if (indexNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in indexNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        indexIDRef = item.Attributes["id"].Name;
                        Index ob = Index();
                        IDManager.SetID(indexIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        indexIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        index = new Index(item);
                    }
                }
            }


            XmlNodeList loanNodeList = xmlNode.SelectNodes("loan");

            if (loanNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in loanNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        loanIDRef = item.Attributes["id"].Name;
                        Loan ob = Loan();
                        IDManager.SetID(loanIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        loanIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        loan = new Loan(item);
                    }
                }
            }


            XmlNodeList mortgageNodeList = xmlNode.SelectNodes("mortgage");

            if (mortgageNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in mortgageNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        mortgageIDRef = item.Attributes["id"].Name;
                        Mortgage ob = Mortgage();
                        IDManager.SetID(mortgageIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        mortgageIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        mortgage = new Mortgage(item);
                    }
                }
            }


            XmlNodeList mutualFundNodeList = xmlNode.SelectNodes("mutualFund");

            if (mutualFundNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in mutualFundNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        mutualFundIDRef = item.Attributes["id"].Name;
                        MutualFund ob = MutualFund();
                        IDManager.SetID(mutualFundIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        mutualFundIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        mutualFund = new MutualFund(item);
                    }
                }
            }


            XmlNodeList quantityNodeList = xmlNode.SelectNodes("quantity");

            if (quantityNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in quantityNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        quantityIDRef = item.Attributes["id"].Name;
                        InstrumentTradeQuantity ob = InstrumentTradeQuantity();
                        IDManager.SetID(quantityIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        quantityIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        quantity = new InstrumentTradeQuantity(item);
                    }
                }
            }


            XmlNodeList pricingNodeList = xmlNode.SelectNodes("pricing");

            if (pricingNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in pricingNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        pricingIDRef = item.Attributes["id"].Name;
                        InstrumentTradePricing ob = InstrumentTradePricing();
                        IDManager.SetID(pricingIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        pricingIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        pricing = new InstrumentTradePricing(item);
                    }
                }
            }


            XmlNodeList principalNodeList = xmlNode.SelectNodes("principal");

            if (principalNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in principalNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        principalIDRef = item.Attributes["id"].Name;
                        InstrumentTradePrincipal ob = InstrumentTradePrincipal();
                        IDManager.SetID(principalIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        principalIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        principal = new InstrumentTradePrincipal(item);
                    }
                }
            }
        }
        public NonPeriodicFixedPriceLeg(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode payerPartyReferenceNode = xmlNode.SelectSingleNode("payerPartyReference");

            if (payerPartyReferenceNode != null)
            {
                if (payerPartyReferenceNode.Attributes["href"] != null || payerPartyReferenceNode.Attributes["id"] != null)
                {
                    if (payerPartyReferenceNode.Attributes["id"] != null)
                    {
                        payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(payerPartyReferenceNode);
                        IDManager.SetID(payerPartyReferenceIDRef_, ob);
                    }
                    else if (payerPartyReferenceNode.Attributes["href"] != null)
                    {
                        payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
                    }
                }
                else
                {
                    payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
                }
            }


            XmlNode payerAccountReferenceNode = xmlNode.SelectSingleNode("payerAccountReference");

            if (payerAccountReferenceNode != null)
            {
                if (payerAccountReferenceNode.Attributes["href"] != null || payerAccountReferenceNode.Attributes["id"] != null)
                {
                    if (payerAccountReferenceNode.Attributes["id"] != null)
                    {
                        payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["id"].Value;
                        AccountReference ob = new AccountReference(payerAccountReferenceNode);
                        IDManager.SetID(payerAccountReferenceIDRef_, ob);
                    }
                    else if (payerAccountReferenceNode.Attributes["href"] != null)
                    {
                        payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
                    }
                }
                else
                {
                    payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
                }
            }


            XmlNode receiverPartyReferenceNode = xmlNode.SelectSingleNode("receiverPartyReference");

            if (receiverPartyReferenceNode != null)
            {
                if (receiverPartyReferenceNode.Attributes["href"] != null || receiverPartyReferenceNode.Attributes["id"] != null)
                {
                    if (receiverPartyReferenceNode.Attributes["id"] != null)
                    {
                        receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(receiverPartyReferenceNode);
                        IDManager.SetID(receiverPartyReferenceIDRef_, ob);
                    }
                    else if (receiverPartyReferenceNode.Attributes["href"] != null)
                    {
                        receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
                    }
                }
                else
                {
                    receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
                }
            }


            XmlNode receiverAccountReferenceNode = xmlNode.SelectSingleNode("receiverAccountReference");

            if (receiverAccountReferenceNode != null)
            {
                if (receiverAccountReferenceNode.Attributes["href"] != null || receiverAccountReferenceNode.Attributes["id"] != null)
                {
                    if (receiverAccountReferenceNode.Attributes["id"] != null)
                    {
                        receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["id"].Value;
                        AccountReference ob = new AccountReference(receiverAccountReferenceNode);
                        IDManager.SetID(receiverAccountReferenceIDRef_, ob);
                    }
                    else if (receiverAccountReferenceNode.Attributes["href"] != null)
                    {
                        receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
                    }
                }
                else
                {
                    receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
                }
            }


            XmlNode fixedPriceNode = xmlNode.SelectSingleNode("fixedPrice");

            if (fixedPriceNode != null)
            {
                if (fixedPriceNode.Attributes["href"] != null || fixedPriceNode.Attributes["id"] != null)
                {
                    if (fixedPriceNode.Attributes["id"] != null)
                    {
                        fixedPriceIDRef_ = fixedPriceNode.Attributes["id"].Value;
                        FixedPrice ob = new FixedPrice(fixedPriceNode);
                        IDManager.SetID(fixedPriceIDRef_, ob);
                    }
                    else if (fixedPriceNode.Attributes["href"] != null)
                    {
                        fixedPriceIDRef_ = fixedPriceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        fixedPrice_ = new FixedPrice(fixedPriceNode);
                    }
                }
                else
                {
                    fixedPrice_ = new FixedPrice(fixedPriceNode);
                }
            }


            XmlNode totalPriceNode = xmlNode.SelectSingleNode("totalPrice");

            if (totalPriceNode != null)
            {
                if (totalPriceNode.Attributes["href"] != null || totalPriceNode.Attributes["id"] != null)
                {
                    if (totalPriceNode.Attributes["id"] != null)
                    {
                        totalPriceIDRef_ = totalPriceNode.Attributes["id"].Value;
                        NonNegativeMoney ob = new NonNegativeMoney(totalPriceNode);
                        IDManager.SetID(totalPriceIDRef_, ob);
                    }
                    else if (totalPriceNode.Attributes["href"] != null)
                    {
                        totalPriceIDRef_ = totalPriceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        totalPrice_ = new NonNegativeMoney(totalPriceNode);
                    }
                }
                else
                {
                    totalPrice_ = new NonNegativeMoney(totalPriceNode);
                }
            }


            XmlNode quantityReferenceNode = xmlNode.SelectSingleNode("quantityReference");

            if (quantityReferenceNode != null)
            {
                if (quantityReferenceNode.Attributes["href"] != null || quantityReferenceNode.Attributes["id"] != null)
                {
                    if (quantityReferenceNode.Attributes["id"] != null)
                    {
                        quantityReferenceIDRef_ = quantityReferenceNode.Attributes["id"].Value;
                        QuantityReference ob = new QuantityReference(quantityReferenceNode);
                        IDManager.SetID(quantityReferenceIDRef_, ob);
                    }
                    else if (quantityReferenceNode.Attributes["href"] != null)
                    {
                        quantityReferenceIDRef_ = quantityReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        quantityReference_ = new QuantityReference(quantityReferenceNode);
                    }
                }
                else
                {
                    quantityReference_ = new QuantityReference(quantityReferenceNode);
                }
            }


            XmlNode relativePaymentDatesNode = xmlNode.SelectSingleNode("relativePaymentDates");

            if (relativePaymentDatesNode != null)
            {
                if (relativePaymentDatesNode.Attributes["href"] != null || relativePaymentDatesNode.Attributes["id"] != null)
                {
                    if (relativePaymentDatesNode.Attributes["id"] != null)
                    {
                        relativePaymentDatesIDRef_ = relativePaymentDatesNode.Attributes["id"].Value;
                        CommodityRelativePaymentDates ob = new CommodityRelativePaymentDates(relativePaymentDatesNode);
                        IDManager.SetID(relativePaymentDatesIDRef_, ob);
                    }
                    else if (relativePaymentDatesNode.Attributes["href"] != null)
                    {
                        relativePaymentDatesIDRef_ = relativePaymentDatesNode.Attributes["href"].Value;
                    }
                    else
                    {
                        relativePaymentDates_ = new CommodityRelativePaymentDates(relativePaymentDatesNode);
                    }
                }
                else
                {
                    relativePaymentDates_ = new CommodityRelativePaymentDates(relativePaymentDatesNode);
                }
            }


            XmlNode paymentDatesNode = xmlNode.SelectSingleNode("paymentDates");

            if (paymentDatesNode != null)
            {
                if (paymentDatesNode.Attributes["href"] != null || paymentDatesNode.Attributes["id"] != null)
                {
                    if (paymentDatesNode.Attributes["id"] != null)
                    {
                        paymentDatesIDRef_ = paymentDatesNode.Attributes["id"].Value;
                        AdjustableDatesOrRelativeDateOffset ob = new AdjustableDatesOrRelativeDateOffset(paymentDatesNode);
                        IDManager.SetID(paymentDatesIDRef_, ob);
                    }
                    else if (paymentDatesNode.Attributes["href"] != null)
                    {
                        paymentDatesIDRef_ = paymentDatesNode.Attributes["href"].Value;
                    }
                    else
                    {
                        paymentDates_ = new AdjustableDatesOrRelativeDateOffset(paymentDatesNode);
                    }
                }
                else
                {
                    paymentDates_ = new AdjustableDatesOrRelativeDateOffset(paymentDatesNode);
                }
            }


            XmlNode masterAgreementPaymentDatesNode = xmlNode.SelectSingleNode("masterAgreementPaymentDates");

            if (masterAgreementPaymentDatesNode != null)
            {
                if (masterAgreementPaymentDatesNode.Attributes["href"] != null || masterAgreementPaymentDatesNode.Attributes["id"] != null)
                {
                    if (masterAgreementPaymentDatesNode.Attributes["id"] != null)
                    {
                        masterAgreementPaymentDatesIDRef_ = masterAgreementPaymentDatesNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(masterAgreementPaymentDatesNode);
                        IDManager.SetID(masterAgreementPaymentDatesIDRef_, ob);
                    }
                    else if (masterAgreementPaymentDatesNode.Attributes["href"] != null)
                    {
                        masterAgreementPaymentDatesIDRef_ = masterAgreementPaymentDatesNode.Attributes["href"].Value;
                    }
                    else
                    {
                        masterAgreementPaymentDates_ = new XsdTypeBoolean(masterAgreementPaymentDatesNode);
                    }
                }
                else
                {
                    masterAgreementPaymentDates_ = new XsdTypeBoolean(masterAgreementPaymentDatesNode);
                }
            }
        }
Example #45
0
        public DividendConditions(XmlNode xmlNode)
        {
            XmlNodeList dividendReinvestmentNodeList = xmlNode.SelectNodes("dividendReinvestment");

            if (dividendReinvestmentNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in dividendReinvestmentNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        dividendReinvestmentIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(dividendReinvestmentIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        dividendReinvestmentIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        dividendReinvestment = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList dividendEntitlementNodeList = xmlNode.SelectNodes("dividendEntitlement");

            if (dividendEntitlementNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in dividendEntitlementNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        dividendEntitlementIDRef = item.Attributes["id"].Name;
                        DividendEntitlementEnum ob = DividendEntitlementEnum();
                        IDManager.SetID(dividendEntitlementIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        dividendEntitlementIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        dividendEntitlement = new DividendEntitlementEnum(item);
                    }
                }
            }


            XmlNodeList dividendAmountNodeList = xmlNode.SelectNodes("dividendAmount");

            if (dividendAmountNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in dividendAmountNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        dividendAmountIDRef = item.Attributes["id"].Name;
                        DividendAmountTypeEnum ob = DividendAmountTypeEnum();
                        IDManager.SetID(dividendAmountIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        dividendAmountIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        dividendAmount = new DividendAmountTypeEnum(item);
                    }
                }
            }


            XmlNodeList dividendPaymentDateNodeList = xmlNode.SelectNodes("dividendPaymentDate");

            if (dividendPaymentDateNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in dividendPaymentDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        dividendPaymentDateIDRef = item.Attributes["id"].Name;
                        DividendPaymentDate ob = DividendPaymentDate();
                        IDManager.SetID(dividendPaymentDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        dividendPaymentDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        dividendPaymentDate = new DividendPaymentDate(item);
                    }
                }
            }


            XmlNodeList dividendPeriodEffectiveDateNodeList = xmlNode.SelectNodes("dividendPeriodEffectiveDate");

            if (dividendPeriodEffectiveDateNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in dividendPeriodEffectiveDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        dividendPeriodEffectiveDateIDRef = item.Attributes["id"].Name;
                        DateReference ob = DateReference();
                        IDManager.SetID(dividendPeriodEffectiveDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        dividendPeriodEffectiveDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        dividendPeriodEffectiveDate = new DateReference(item);
                    }
                }
            }


            XmlNodeList dividendPeriodEndDateNodeList = xmlNode.SelectNodes("dividendPeriodEndDate");

            if (dividendPeriodEndDateNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in dividendPeriodEndDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        dividendPeriodEndDateIDRef = item.Attributes["id"].Name;
                        DateReference ob = DateReference();
                        IDManager.SetID(dividendPeriodEndDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        dividendPeriodEndDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        dividendPeriodEndDate = new DateReference(item);
                    }
                }
            }


            XmlNodeList dividendPeriodNodeList = xmlNode.SelectNodes("dividendPeriod");

            if (dividendPeriodNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in dividendPeriodNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        dividendPeriodIDRef = item.Attributes["id"].Name;
                        DividendPeriodEnum ob = DividendPeriodEnum();
                        IDManager.SetID(dividendPeriodIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        dividendPeriodIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        dividendPeriod = new DividendPeriodEnum(item);
                    }
                }
            }


            XmlNodeList extraOrdinaryDividendsNodeList = xmlNode.SelectNodes("extraOrdinaryDividends");

            if (extraOrdinaryDividendsNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in extraOrdinaryDividendsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        extraOrdinaryDividendsIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(extraOrdinaryDividendsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        extraOrdinaryDividendsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        extraOrdinaryDividends = new PartyReference(item);
                    }
                }
            }


            XmlNodeList excessDividendAmountNodeList = xmlNode.SelectNodes("excessDividendAmount");

            if (excessDividendAmountNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in excessDividendAmountNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        excessDividendAmountIDRef = item.Attributes["id"].Name;
                        DividendAmountTypeEnum ob = DividendAmountTypeEnum();
                        IDManager.SetID(excessDividendAmountIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        excessDividendAmountIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        excessDividendAmount = new DividendAmountTypeEnum(item);
                    }
                }
            }


            XmlNodeList currencyNodeList = xmlNode.SelectNodes("currency");

            if (currencyNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in currencyNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        currencyIDRef = item.Attributes["id"].Name;
                        IdentifiedCurrency ob = IdentifiedCurrency();
                        IDManager.SetID(currencyIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        currencyIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        currency = new IdentifiedCurrency(item);
                    }
                }
            }


            XmlNodeList determinationMethodNodeList = xmlNode.SelectNodes("determinationMethod");

            if (determinationMethodNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in determinationMethodNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        determinationMethodIDRef = item.Attributes["id"].Name;
                        DeterminationMethod ob = DeterminationMethod();
                        IDManager.SetID(determinationMethodIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        determinationMethodIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        determinationMethod = new DeterminationMethod(item);
                    }
                }
            }


            XmlNodeList currencyReferenceNodeList = xmlNode.SelectNodes("currencyReference");

            if (currencyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in currencyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        currencyReferenceIDRef = item.Attributes["id"].Name;
                        IdentifiedCurrencyReference ob = IdentifiedCurrencyReference();
                        IDManager.SetID(currencyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        currencyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        currencyReference = new IdentifiedCurrencyReference(item);
                    }
                }
            }


            XmlNodeList dividendFxTriggerDateNodeList = xmlNode.SelectNodes("dividendFxTriggerDate");

            if (dividendFxTriggerDateNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in dividendFxTriggerDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        dividendFxTriggerDateIDRef = item.Attributes["id"].Name;
                        DividendPaymentDate ob = DividendPaymentDate();
                        IDManager.SetID(dividendFxTriggerDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        dividendFxTriggerDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        dividendFxTriggerDate = new DividendPaymentDate(item);
                    }
                }
            }


            XmlNodeList interestAccrualsMethodNodeList = xmlNode.SelectNodes("interestAccrualsMethod");

            if (interestAccrualsMethodNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in interestAccrualsMethodNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        interestAccrualsMethodIDRef = item.Attributes["id"].Name;
                        InterestAccrualsCompoundingMethod ob = InterestAccrualsCompoundingMethod();
                        IDManager.SetID(interestAccrualsMethodIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        interestAccrualsMethodIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        interestAccrualsMethod = new InterestAccrualsCompoundingMethod(item);
                    }
                }
            }


            XmlNodeList numberOfIndexUnitsNodeList = xmlNode.SelectNodes("numberOfIndexUnits");

            if (numberOfIndexUnitsNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in numberOfIndexUnitsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        numberOfIndexUnitsIDRef = item.Attributes["id"].Name;
                        NonNegativeDecimal ob = NonNegativeDecimal();
                        IDManager.SetID(numberOfIndexUnitsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        numberOfIndexUnitsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        numberOfIndexUnits = new NonNegativeDecimal(item);
                    }
                }
            }


            XmlNodeList declaredCashDividendPercentageNodeList = xmlNode.SelectNodes("declaredCashDividendPercentage");

            if (declaredCashDividendPercentageNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in declaredCashDividendPercentageNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        declaredCashDividendPercentageIDRef = item.Attributes["id"].Name;
                        NonNegativeDecimal ob = NonNegativeDecimal();
                        IDManager.SetID(declaredCashDividendPercentageIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        declaredCashDividendPercentageIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        declaredCashDividendPercentage = new NonNegativeDecimal(item);
                    }
                }
            }


            XmlNodeList declaredCashEquivalentDividendPercentageNodeList = xmlNode.SelectNodes("declaredCashEquivalentDividendPercentage");

            if (declaredCashEquivalentDividendPercentageNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in declaredCashEquivalentDividendPercentageNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        declaredCashEquivalentDividendPercentageIDRef = item.Attributes["id"].Name;
                        NonNegativeDecimal ob = NonNegativeDecimal();
                        IDManager.SetID(declaredCashEquivalentDividendPercentageIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        declaredCashEquivalentDividendPercentageIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        declaredCashEquivalentDividendPercentage = new NonNegativeDecimal(item);
                    }
                }
            }


            XmlNodeList nonCashDividendTreatmentNodeList = xmlNode.SelectNodes("nonCashDividendTreatment");

            if (nonCashDividendTreatmentNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in nonCashDividendTreatmentNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        nonCashDividendTreatmentIDRef = item.Attributes["id"].Name;
                        NonCashDividendTreatmentEnum ob = NonCashDividendTreatmentEnum();
                        IDManager.SetID(nonCashDividendTreatmentIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        nonCashDividendTreatmentIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        nonCashDividendTreatment = new NonCashDividendTreatmentEnum(item);
                    }
                }
            }


            XmlNodeList dividendCompositionNodeList = xmlNode.SelectNodes("dividendComposition");

            if (dividendCompositionNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in dividendCompositionNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        dividendCompositionIDRef = item.Attributes["id"].Name;
                        DividendCompositionEnum ob = DividendCompositionEnum();
                        IDManager.SetID(dividendCompositionIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        dividendCompositionIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        dividendComposition = new DividendCompositionEnum(item);
                    }
                }
            }


            XmlNodeList specialDividendsNodeList = xmlNode.SelectNodes("specialDividends");

            if (specialDividendsNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in specialDividendsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        specialDividendsIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(specialDividendsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        specialDividendsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        specialDividends = new XsdTypeBoolean(item);
                    }
                }
            }
        }
 public OilDelivery(XmlNode xmlNode)
 {
     XmlNode pipelineNode = xmlNode.SelectSingleNode("pipeline");
     
     if (pipelineNode != null)
     {
         if (pipelineNode.Attributes["href"] != null || pipelineNode.Attributes["id"] != null) 
         {
             if (pipelineNode.Attributes["id"] != null) 
             {
                 pipelineIDRef_ = pipelineNode.Attributes["id"].Value;
                 OilPipelineDelivery ob = new OilPipelineDelivery(pipelineNode);
                 IDManager.SetID(pipelineIDRef_, ob);
             }
             else if (pipelineNode.Attributes["href"] != null)
             {
                 pipelineIDRef_ = pipelineNode.Attributes["href"].Value;
             }
             else
             {
                 pipeline_ = new OilPipelineDelivery(pipelineNode);
             }
         }
         else
         {
             pipeline_ = new OilPipelineDelivery(pipelineNode);
         }
     }
     
 
     XmlNode transferNode = xmlNode.SelectSingleNode("transfer");
     
     if (transferNode != null)
     {
         if (transferNode.Attributes["href"] != null || transferNode.Attributes["id"] != null) 
         {
             if (transferNode.Attributes["id"] != null) 
             {
                 transferIDRef_ = transferNode.Attributes["id"].Value;
                 OilTransferDelivery ob = new OilTransferDelivery(transferNode);
                 IDManager.SetID(transferIDRef_, ob);
             }
             else if (transferNode.Attributes["href"] != null)
             {
                 transferIDRef_ = transferNode.Attributes["href"].Value;
             }
             else
             {
                 transfer_ = new OilTransferDelivery(transferNode);
             }
         }
         else
         {
             transfer_ = new OilTransferDelivery(transferNode);
         }
     }
     
 
     XmlNode importerOfRecordNode = xmlNode.SelectSingleNode("importerOfRecord");
     
     if (importerOfRecordNode != null)
     {
         if (importerOfRecordNode.Attributes["href"] != null || importerOfRecordNode.Attributes["id"] != null) 
         {
             if (importerOfRecordNode.Attributes["id"] != null) 
             {
                 importerOfRecordIDRef_ = importerOfRecordNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(importerOfRecordNode);
                 IDManager.SetID(importerOfRecordIDRef_, ob);
             }
             else if (importerOfRecordNode.Attributes["href"] != null)
             {
                 importerOfRecordIDRef_ = importerOfRecordNode.Attributes["href"].Value;
             }
             else
             {
                 importerOfRecord_ = new PartyReference(importerOfRecordNode);
             }
         }
         else
         {
             importerOfRecord_ = new PartyReference(importerOfRecordNode);
         }
     }
     
 
     XmlNode absoluteToleranceNode = xmlNode.SelectSingleNode("absoluteTolerance");
     
     if (absoluteToleranceNode != null)
     {
         if (absoluteToleranceNode.Attributes["href"] != null || absoluteToleranceNode.Attributes["id"] != null) 
         {
             if (absoluteToleranceNode.Attributes["id"] != null) 
             {
                 absoluteToleranceIDRef_ = absoluteToleranceNode.Attributes["id"].Value;
                 AbsoluteTolerance ob = new AbsoluteTolerance(absoluteToleranceNode);
                 IDManager.SetID(absoluteToleranceIDRef_, ob);
             }
             else if (absoluteToleranceNode.Attributes["href"] != null)
             {
                 absoluteToleranceIDRef_ = absoluteToleranceNode.Attributes["href"].Value;
             }
             else
             {
                 absoluteTolerance_ = new AbsoluteTolerance(absoluteToleranceNode);
             }
         }
         else
         {
             absoluteTolerance_ = new AbsoluteTolerance(absoluteToleranceNode);
         }
     }
     
 
     XmlNode percentageToleranceNode = xmlNode.SelectSingleNode("percentageTolerance");
     
     if (percentageToleranceNode != null)
     {
         if (percentageToleranceNode.Attributes["href"] != null || percentageToleranceNode.Attributes["id"] != null) 
         {
             if (percentageToleranceNode.Attributes["id"] != null) 
             {
                 percentageToleranceIDRef_ = percentageToleranceNode.Attributes["id"].Value;
                 PercentageTolerance ob = new PercentageTolerance(percentageToleranceNode);
                 IDManager.SetID(percentageToleranceIDRef_, ob);
             }
             else if (percentageToleranceNode.Attributes["href"] != null)
             {
                 percentageToleranceIDRef_ = percentageToleranceNode.Attributes["href"].Value;
             }
             else
             {
                 percentageTolerance_ = new PercentageTolerance(percentageToleranceNode);
             }
         }
         else
         {
             percentageTolerance_ = new PercentageTolerance(percentageToleranceNode);
         }
     }
     
 
 }
 public InitialPayment(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode payerPartyReferenceNode = xmlNode.SelectSingleNode("payerPartyReference");
     
     if (payerPartyReferenceNode != null)
     {
         if (payerPartyReferenceNode.Attributes["href"] != null || payerPartyReferenceNode.Attributes["id"] != null) 
         {
             if (payerPartyReferenceNode.Attributes["id"] != null) 
             {
                 payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(payerPartyReferenceNode);
                 IDManager.SetID(payerPartyReferenceIDRef_, ob);
             }
             else if (payerPartyReferenceNode.Attributes["href"] != null)
             {
                 payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
             }
         }
         else
         {
             payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
         }
     }
     
 
     XmlNode payerAccountReferenceNode = xmlNode.SelectSingleNode("payerAccountReference");
     
     if (payerAccountReferenceNode != null)
     {
         if (payerAccountReferenceNode.Attributes["href"] != null || payerAccountReferenceNode.Attributes["id"] != null) 
         {
             if (payerAccountReferenceNode.Attributes["id"] != null) 
             {
                 payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(payerAccountReferenceNode);
                 IDManager.SetID(payerAccountReferenceIDRef_, ob);
             }
             else if (payerAccountReferenceNode.Attributes["href"] != null)
             {
                 payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
             }
         }
         else
         {
             payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
         }
     }
     
 
     XmlNode receiverPartyReferenceNode = xmlNode.SelectSingleNode("receiverPartyReference");
     
     if (receiverPartyReferenceNode != null)
     {
         if (receiverPartyReferenceNode.Attributes["href"] != null || receiverPartyReferenceNode.Attributes["id"] != null) 
         {
             if (receiverPartyReferenceNode.Attributes["id"] != null) 
             {
                 receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(receiverPartyReferenceNode);
                 IDManager.SetID(receiverPartyReferenceIDRef_, ob);
             }
             else if (receiverPartyReferenceNode.Attributes["href"] != null)
             {
                 receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
             }
         }
         else
         {
             receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
         }
     }
     
 
     XmlNode receiverAccountReferenceNode = xmlNode.SelectSingleNode("receiverAccountReference");
     
     if (receiverAccountReferenceNode != null)
     {
         if (receiverAccountReferenceNode.Attributes["href"] != null || receiverAccountReferenceNode.Attributes["id"] != null) 
         {
             if (receiverAccountReferenceNode.Attributes["id"] != null) 
             {
                 receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(receiverAccountReferenceNode);
                 IDManager.SetID(receiverAccountReferenceIDRef_, ob);
             }
             else if (receiverAccountReferenceNode.Attributes["href"] != null)
             {
                 receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
             }
         }
         else
         {
             receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
         }
     }
     
 
     XmlNode adjustablePaymentDateNode = xmlNode.SelectSingleNode("adjustablePaymentDate");
     
     if (adjustablePaymentDateNode != null)
     {
         if (adjustablePaymentDateNode.Attributes["href"] != null || adjustablePaymentDateNode.Attributes["id"] != null) 
         {
             if (adjustablePaymentDateNode.Attributes["id"] != null) 
             {
                 adjustablePaymentDateIDRef_ = adjustablePaymentDateNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(adjustablePaymentDateNode);
                 IDManager.SetID(adjustablePaymentDateIDRef_, ob);
             }
             else if (adjustablePaymentDateNode.Attributes["href"] != null)
             {
                 adjustablePaymentDateIDRef_ = adjustablePaymentDateNode.Attributes["href"].Value;
             }
             else
             {
                 adjustablePaymentDate_ = new XsdTypeDate(adjustablePaymentDateNode);
             }
         }
         else
         {
             adjustablePaymentDate_ = new XsdTypeDate(adjustablePaymentDateNode);
         }
     }
     
 
     XmlNode adjustedPaymentDateNode = xmlNode.SelectSingleNode("adjustedPaymentDate");
     
     if (adjustedPaymentDateNode != null)
     {
         if (adjustedPaymentDateNode.Attributes["href"] != null || adjustedPaymentDateNode.Attributes["id"] != null) 
         {
             if (adjustedPaymentDateNode.Attributes["id"] != null) 
             {
                 adjustedPaymentDateIDRef_ = adjustedPaymentDateNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(adjustedPaymentDateNode);
                 IDManager.SetID(adjustedPaymentDateIDRef_, ob);
             }
             else if (adjustedPaymentDateNode.Attributes["href"] != null)
             {
                 adjustedPaymentDateIDRef_ = adjustedPaymentDateNode.Attributes["href"].Value;
             }
             else
             {
                 adjustedPaymentDate_ = new XsdTypeDate(adjustedPaymentDateNode);
             }
         }
         else
         {
             adjustedPaymentDate_ = new XsdTypeDate(adjustedPaymentDateNode);
         }
     }
     
 
     XmlNode paymentAmountNode = xmlNode.SelectSingleNode("paymentAmount");
     
     if (paymentAmountNode != null)
     {
         if (paymentAmountNode.Attributes["href"] != null || paymentAmountNode.Attributes["id"] != null) 
         {
             if (paymentAmountNode.Attributes["id"] != null) 
             {
                 paymentAmountIDRef_ = paymentAmountNode.Attributes["id"].Value;
                 Money ob = new Money(paymentAmountNode);
                 IDManager.SetID(paymentAmountIDRef_, ob);
             }
             else if (paymentAmountNode.Attributes["href"] != null)
             {
                 paymentAmountIDRef_ = paymentAmountNode.Attributes["href"].Value;
             }
             else
             {
                 paymentAmount_ = new Money(paymentAmountNode);
             }
         }
         else
         {
             paymentAmount_ = new Money(paymentAmountNode);
         }
     }
     
 
 }
 public EquityExerciseValuationSettlement(XmlNode xmlNode)
 {
     XmlNode equityEuropeanExerciseNode = xmlNode.SelectSingleNode("equityEuropeanExercise");
     
     if (equityEuropeanExerciseNode != null)
     {
         if (equityEuropeanExerciseNode.Attributes["href"] != null || equityEuropeanExerciseNode.Attributes["id"] != null) 
         {
             if (equityEuropeanExerciseNode.Attributes["id"] != null) 
             {
                 equityEuropeanExerciseIDRef_ = equityEuropeanExerciseNode.Attributes["id"].Value;
                 EquityEuropeanExercise ob = new EquityEuropeanExercise(equityEuropeanExerciseNode);
                 IDManager.SetID(equityEuropeanExerciseIDRef_, ob);
             }
             else if (equityEuropeanExerciseNode.Attributes["href"] != null)
             {
                 equityEuropeanExerciseIDRef_ = equityEuropeanExerciseNode.Attributes["href"].Value;
             }
             else
             {
                 equityEuropeanExercise_ = new EquityEuropeanExercise(equityEuropeanExerciseNode);
             }
         }
         else
         {
             equityEuropeanExercise_ = new EquityEuropeanExercise(equityEuropeanExerciseNode);
         }
     }
     
 
     XmlNode equityAmericanExerciseNode = xmlNode.SelectSingleNode("equityAmericanExercise");
     
     if (equityAmericanExerciseNode != null)
     {
         if (equityAmericanExerciseNode.Attributes["href"] != null || equityAmericanExerciseNode.Attributes["id"] != null) 
         {
             if (equityAmericanExerciseNode.Attributes["id"] != null) 
             {
                 equityAmericanExerciseIDRef_ = equityAmericanExerciseNode.Attributes["id"].Value;
                 EquityAmericanExercise ob = new EquityAmericanExercise(equityAmericanExerciseNode);
                 IDManager.SetID(equityAmericanExerciseIDRef_, ob);
             }
             else if (equityAmericanExerciseNode.Attributes["href"] != null)
             {
                 equityAmericanExerciseIDRef_ = equityAmericanExerciseNode.Attributes["href"].Value;
             }
             else
             {
                 equityAmericanExercise_ = new EquityAmericanExercise(equityAmericanExerciseNode);
             }
         }
         else
         {
             equityAmericanExercise_ = new EquityAmericanExercise(equityAmericanExerciseNode);
         }
     }
     
 
     XmlNode equityBermudaExerciseNode = xmlNode.SelectSingleNode("equityBermudaExercise");
     
     if (equityBermudaExerciseNode != null)
     {
         if (equityBermudaExerciseNode.Attributes["href"] != null || equityBermudaExerciseNode.Attributes["id"] != null) 
         {
             if (equityBermudaExerciseNode.Attributes["id"] != null) 
             {
                 equityBermudaExerciseIDRef_ = equityBermudaExerciseNode.Attributes["id"].Value;
                 EquityBermudaExercise ob = new EquityBermudaExercise(equityBermudaExerciseNode);
                 IDManager.SetID(equityBermudaExerciseIDRef_, ob);
             }
             else if (equityBermudaExerciseNode.Attributes["href"] != null)
             {
                 equityBermudaExerciseIDRef_ = equityBermudaExerciseNode.Attributes["href"].Value;
             }
             else
             {
                 equityBermudaExercise_ = new EquityBermudaExercise(equityBermudaExerciseNode);
             }
         }
         else
         {
             equityBermudaExercise_ = new EquityBermudaExercise(equityBermudaExerciseNode);
         }
     }
     
 
     XmlNode automaticExerciseNode = xmlNode.SelectSingleNode("automaticExercise");
     
     if (automaticExerciseNode != null)
     {
         if (automaticExerciseNode.Attributes["href"] != null || automaticExerciseNode.Attributes["id"] != null) 
         {
             if (automaticExerciseNode.Attributes["id"] != null) 
             {
                 automaticExerciseIDRef_ = automaticExerciseNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(automaticExerciseNode);
                 IDManager.SetID(automaticExerciseIDRef_, ob);
             }
             else if (automaticExerciseNode.Attributes["href"] != null)
             {
                 automaticExerciseIDRef_ = automaticExerciseNode.Attributes["href"].Value;
             }
             else
             {
                 automaticExercise_ = new XsdTypeBoolean(automaticExerciseNode);
             }
         }
         else
         {
             automaticExercise_ = new XsdTypeBoolean(automaticExerciseNode);
         }
     }
     
 
     XmlNode makeWholeProvisionsNode = xmlNode.SelectSingleNode("makeWholeProvisions");
     
     if (makeWholeProvisionsNode != null)
     {
         if (makeWholeProvisionsNode.Attributes["href"] != null || makeWholeProvisionsNode.Attributes["id"] != null) 
         {
             if (makeWholeProvisionsNode.Attributes["id"] != null) 
             {
                 makeWholeProvisionsIDRef_ = makeWholeProvisionsNode.Attributes["id"].Value;
                 MakeWholeProvisions ob = new MakeWholeProvisions(makeWholeProvisionsNode);
                 IDManager.SetID(makeWholeProvisionsIDRef_, ob);
             }
             else if (makeWholeProvisionsNode.Attributes["href"] != null)
             {
                 makeWholeProvisionsIDRef_ = makeWholeProvisionsNode.Attributes["href"].Value;
             }
             else
             {
                 makeWholeProvisions_ = new MakeWholeProvisions(makeWholeProvisionsNode);
             }
         }
         else
         {
             makeWholeProvisions_ = new MakeWholeProvisions(makeWholeProvisionsNode);
         }
     }
     
 
     XmlNode prePaymentNode = xmlNode.SelectSingleNode("prePayment");
     
     if (prePaymentNode != null)
     {
         if (prePaymentNode.Attributes["href"] != null || prePaymentNode.Attributes["id"] != null) 
         {
             if (prePaymentNode.Attributes["id"] != null) 
             {
                 prePaymentIDRef_ = prePaymentNode.Attributes["id"].Value;
                 PrePayment ob = new PrePayment(prePaymentNode);
                 IDManager.SetID(prePaymentIDRef_, ob);
             }
             else if (prePaymentNode.Attributes["href"] != null)
             {
                 prePaymentIDRef_ = prePaymentNode.Attributes["href"].Value;
             }
             else
             {
                 prePayment_ = new PrePayment(prePaymentNode);
             }
         }
         else
         {
             prePayment_ = new PrePayment(prePaymentNode);
         }
     }
     
 
     XmlNode equityValuationNode = xmlNode.SelectSingleNode("equityValuation");
     
     if (equityValuationNode != null)
     {
         if (equityValuationNode.Attributes["href"] != null || equityValuationNode.Attributes["id"] != null) 
         {
             if (equityValuationNode.Attributes["id"] != null) 
             {
                 equityValuationIDRef_ = equityValuationNode.Attributes["id"].Value;
                 EquityValuation ob = new EquityValuation(equityValuationNode);
                 IDManager.SetID(equityValuationIDRef_, ob);
             }
             else if (equityValuationNode.Attributes["href"] != null)
             {
                 equityValuationIDRef_ = equityValuationNode.Attributes["href"].Value;
             }
             else
             {
                 equityValuation_ = new EquityValuation(equityValuationNode);
             }
         }
         else
         {
             equityValuation_ = new EquityValuation(equityValuationNode);
         }
     }
     
 
     XmlNode settlementDateNode = xmlNode.SelectSingleNode("settlementDate");
     
     if (settlementDateNode != null)
     {
         if (settlementDateNode.Attributes["href"] != null || settlementDateNode.Attributes["id"] != null) 
         {
             if (settlementDateNode.Attributes["id"] != null) 
             {
                 settlementDateIDRef_ = settlementDateNode.Attributes["id"].Value;
                 AdjustableOrRelativeDate ob = new AdjustableOrRelativeDate(settlementDateNode);
                 IDManager.SetID(settlementDateIDRef_, ob);
             }
             else if (settlementDateNode.Attributes["href"] != null)
             {
                 settlementDateIDRef_ = settlementDateNode.Attributes["href"].Value;
             }
             else
             {
                 settlementDate_ = new AdjustableOrRelativeDate(settlementDateNode);
             }
         }
         else
         {
             settlementDate_ = new AdjustableOrRelativeDate(settlementDateNode);
         }
     }
     
 
     XmlNode settlementCurrencyNode = xmlNode.SelectSingleNode("settlementCurrency");
     
     if (settlementCurrencyNode != null)
     {
         if (settlementCurrencyNode.Attributes["href"] != null || settlementCurrencyNode.Attributes["id"] != null) 
         {
             if (settlementCurrencyNode.Attributes["id"] != null) 
             {
                 settlementCurrencyIDRef_ = settlementCurrencyNode.Attributes["id"].Value;
                 Currency ob = new Currency(settlementCurrencyNode);
                 IDManager.SetID(settlementCurrencyIDRef_, ob);
             }
             else if (settlementCurrencyNode.Attributes["href"] != null)
             {
                 settlementCurrencyIDRef_ = settlementCurrencyNode.Attributes["href"].Value;
             }
             else
             {
                 settlementCurrency_ = new Currency(settlementCurrencyNode);
             }
         }
         else
         {
             settlementCurrency_ = new Currency(settlementCurrencyNode);
         }
     }
     
 
     XmlNode settlementPriceSourceNode = xmlNode.SelectSingleNode("settlementPriceSource");
     
     if (settlementPriceSourceNode != null)
     {
         if (settlementPriceSourceNode.Attributes["href"] != null || settlementPriceSourceNode.Attributes["id"] != null) 
         {
             if (settlementPriceSourceNode.Attributes["id"] != null) 
             {
                 settlementPriceSourceIDRef_ = settlementPriceSourceNode.Attributes["id"].Value;
                 SettlementPriceSource ob = new SettlementPriceSource(settlementPriceSourceNode);
                 IDManager.SetID(settlementPriceSourceIDRef_, ob);
             }
             else if (settlementPriceSourceNode.Attributes["href"] != null)
             {
                 settlementPriceSourceIDRef_ = settlementPriceSourceNode.Attributes["href"].Value;
             }
             else
             {
                 settlementPriceSource_ = new SettlementPriceSource(settlementPriceSourceNode);
             }
         }
         else
         {
             settlementPriceSource_ = new SettlementPriceSource(settlementPriceSourceNode);
         }
     }
     
 
     XmlNode settlementTypeNode = xmlNode.SelectSingleNode("settlementType");
     
     if (settlementTypeNode != null)
     {
         if (settlementTypeNode.Attributes["href"] != null || settlementTypeNode.Attributes["id"] != null) 
         {
             if (settlementTypeNode.Attributes["id"] != null) 
             {
                 settlementTypeIDRef_ = settlementTypeNode.Attributes["id"].Value;
                 SettlementTypeEnum ob = new SettlementTypeEnum(settlementTypeNode);
                 IDManager.SetID(settlementTypeIDRef_, ob);
             }
             else if (settlementTypeNode.Attributes["href"] != null)
             {
                 settlementTypeIDRef_ = settlementTypeNode.Attributes["href"].Value;
             }
             else
             {
                 settlementType_ = new SettlementTypeEnum(settlementTypeNode);
             }
         }
         else
         {
             settlementType_ = new SettlementTypeEnum(settlementTypeNode);
         }
     }
     
 
     XmlNode settlementMethodElectionDateNode = xmlNode.SelectSingleNode("settlementMethodElectionDate");
     
     if (settlementMethodElectionDateNode != null)
     {
         if (settlementMethodElectionDateNode.Attributes["href"] != null || settlementMethodElectionDateNode.Attributes["id"] != null) 
         {
             if (settlementMethodElectionDateNode.Attributes["id"] != null) 
             {
                 settlementMethodElectionDateIDRef_ = settlementMethodElectionDateNode.Attributes["id"].Value;
                 AdjustableOrRelativeDate ob = new AdjustableOrRelativeDate(settlementMethodElectionDateNode);
                 IDManager.SetID(settlementMethodElectionDateIDRef_, ob);
             }
             else if (settlementMethodElectionDateNode.Attributes["href"] != null)
             {
                 settlementMethodElectionDateIDRef_ = settlementMethodElectionDateNode.Attributes["href"].Value;
             }
             else
             {
                 settlementMethodElectionDate_ = new AdjustableOrRelativeDate(settlementMethodElectionDateNode);
             }
         }
         else
         {
             settlementMethodElectionDate_ = new AdjustableOrRelativeDate(settlementMethodElectionDateNode);
         }
     }
     
 
     XmlNode settlementMethodElectingPartyReferenceNode = xmlNode.SelectSingleNode("settlementMethodElectingPartyReference");
     
     if (settlementMethodElectingPartyReferenceNode != null)
     {
         if (settlementMethodElectingPartyReferenceNode.Attributes["href"] != null || settlementMethodElectingPartyReferenceNode.Attributes["id"] != null) 
         {
             if (settlementMethodElectingPartyReferenceNode.Attributes["id"] != null) 
             {
                 settlementMethodElectingPartyReferenceIDRef_ = settlementMethodElectingPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(settlementMethodElectingPartyReferenceNode);
                 IDManager.SetID(settlementMethodElectingPartyReferenceIDRef_, ob);
             }
             else if (settlementMethodElectingPartyReferenceNode.Attributes["href"] != null)
             {
                 settlementMethodElectingPartyReferenceIDRef_ = settlementMethodElectingPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 settlementMethodElectingPartyReference_ = new PartyReference(settlementMethodElectingPartyReferenceNode);
             }
         }
         else
         {
             settlementMethodElectingPartyReference_ = new PartyReference(settlementMethodElectingPartyReferenceNode);
         }
     }
     
 
     XmlNode settlementPriceDefaultElectionNode = xmlNode.SelectSingleNode("settlementPriceDefaultElection");
     
     if (settlementPriceDefaultElectionNode != null)
     {
         if (settlementPriceDefaultElectionNode.Attributes["href"] != null || settlementPriceDefaultElectionNode.Attributes["id"] != null) 
         {
             if (settlementPriceDefaultElectionNode.Attributes["id"] != null) 
             {
                 settlementPriceDefaultElectionIDRef_ = settlementPriceDefaultElectionNode.Attributes["id"].Value;
                 SettlementPriceDefaultElection ob = new SettlementPriceDefaultElection(settlementPriceDefaultElectionNode);
                 IDManager.SetID(settlementPriceDefaultElectionIDRef_, ob);
             }
             else if (settlementPriceDefaultElectionNode.Attributes["href"] != null)
             {
                 settlementPriceDefaultElectionIDRef_ = settlementPriceDefaultElectionNode.Attributes["href"].Value;
             }
             else
             {
                 settlementPriceDefaultElection_ = new SettlementPriceDefaultElection(settlementPriceDefaultElectionNode);
             }
         }
         else
         {
             settlementPriceDefaultElection_ = new SettlementPriceDefaultElection(settlementPriceDefaultElectionNode);
         }
     }
     
 
 }
 public CorrespondentInformation(XmlNode xmlNode)
 {
     XmlNodeList routingIdsNodeList = xmlNode.SelectNodes("routingIds");
     if (routingIdsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in routingIdsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 routingIdsIDRef = item.Attributes["id"].Name;
                 RoutingIds ob = RoutingIds();
                 IDManager.SetID(routingIdsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 routingIdsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 routingIds = new RoutingIds(item);
             }
         }
     }
     
 
     XmlNodeList routingExplicitDetailsNodeList = xmlNode.SelectNodes("routingExplicitDetails");
     if (routingExplicitDetailsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in routingExplicitDetailsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 routingExplicitDetailsIDRef = item.Attributes["id"].Name;
                 RoutingExplicitDetails ob = RoutingExplicitDetails();
                 IDManager.SetID(routingExplicitDetailsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 routingExplicitDetailsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 routingExplicitDetails = new RoutingExplicitDetails(item);
             }
         }
     }
     
 
     XmlNodeList routingIdsAndExplicitDetailsNodeList = xmlNode.SelectNodes("routingIdsAndExplicitDetails");
     if (routingIdsAndExplicitDetailsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in routingIdsAndExplicitDetailsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 routingIdsAndExplicitDetailsIDRef = item.Attributes["id"].Name;
                 RoutingIdsAndExplicitDetails ob = RoutingIdsAndExplicitDetails();
                 IDManager.SetID(routingIdsAndExplicitDetailsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 routingIdsAndExplicitDetailsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 routingIdsAndExplicitDetails = new RoutingIdsAndExplicitDetails(item);
             }
         }
     }
     
 
     XmlNodeList correspondentPartyReferenceNodeList = xmlNode.SelectNodes("correspondentPartyReference");
     if (correspondentPartyReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in correspondentPartyReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 correspondentPartyReferenceIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(correspondentPartyReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 correspondentPartyReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 correspondentPartyReference = new PartyReference(item);
             }
         }
     }
     
 
 }
 public CommodityOption(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode buyerPartyReferenceNode = xmlNode.SelectSingleNode("buyerPartyReference");
     
     if (buyerPartyReferenceNode != null)
     {
         if (buyerPartyReferenceNode.Attributes["href"] != null || buyerPartyReferenceNode.Attributes["id"] != null) 
         {
             if (buyerPartyReferenceNode.Attributes["id"] != null) 
             {
                 buyerPartyReferenceIDRef_ = buyerPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(buyerPartyReferenceNode);
                 IDManager.SetID(buyerPartyReferenceIDRef_, ob);
             }
             else if (buyerPartyReferenceNode.Attributes["href"] != null)
             {
                 buyerPartyReferenceIDRef_ = buyerPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 buyerPartyReference_ = new PartyReference(buyerPartyReferenceNode);
             }
         }
         else
         {
             buyerPartyReference_ = new PartyReference(buyerPartyReferenceNode);
         }
     }
     
 
     XmlNode buyerAccountReferenceNode = xmlNode.SelectSingleNode("buyerAccountReference");
     
     if (buyerAccountReferenceNode != null)
     {
         if (buyerAccountReferenceNode.Attributes["href"] != null || buyerAccountReferenceNode.Attributes["id"] != null) 
         {
             if (buyerAccountReferenceNode.Attributes["id"] != null) 
             {
                 buyerAccountReferenceIDRef_ = buyerAccountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(buyerAccountReferenceNode);
                 IDManager.SetID(buyerAccountReferenceIDRef_, ob);
             }
             else if (buyerAccountReferenceNode.Attributes["href"] != null)
             {
                 buyerAccountReferenceIDRef_ = buyerAccountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 buyerAccountReference_ = new AccountReference(buyerAccountReferenceNode);
             }
         }
         else
         {
             buyerAccountReference_ = new AccountReference(buyerAccountReferenceNode);
         }
     }
     
 
     XmlNode sellerPartyReferenceNode = xmlNode.SelectSingleNode("sellerPartyReference");
     
     if (sellerPartyReferenceNode != null)
     {
         if (sellerPartyReferenceNode.Attributes["href"] != null || sellerPartyReferenceNode.Attributes["id"] != null) 
         {
             if (sellerPartyReferenceNode.Attributes["id"] != null) 
             {
                 sellerPartyReferenceIDRef_ = sellerPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(sellerPartyReferenceNode);
                 IDManager.SetID(sellerPartyReferenceIDRef_, ob);
             }
             else if (sellerPartyReferenceNode.Attributes["href"] != null)
             {
                 sellerPartyReferenceIDRef_ = sellerPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 sellerPartyReference_ = new PartyReference(sellerPartyReferenceNode);
             }
         }
         else
         {
             sellerPartyReference_ = new PartyReference(sellerPartyReferenceNode);
         }
     }
     
 
     XmlNode sellerAccountReferenceNode = xmlNode.SelectSingleNode("sellerAccountReference");
     
     if (sellerAccountReferenceNode != null)
     {
         if (sellerAccountReferenceNode.Attributes["href"] != null || sellerAccountReferenceNode.Attributes["id"] != null) 
         {
             if (sellerAccountReferenceNode.Attributes["id"] != null) 
             {
                 sellerAccountReferenceIDRef_ = sellerAccountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(sellerAccountReferenceNode);
                 IDManager.SetID(sellerAccountReferenceIDRef_, ob);
             }
             else if (sellerAccountReferenceNode.Attributes["href"] != null)
             {
                 sellerAccountReferenceIDRef_ = sellerAccountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 sellerAccountReference_ = new AccountReference(sellerAccountReferenceNode);
             }
         }
         else
         {
             sellerAccountReference_ = new AccountReference(sellerAccountReferenceNode);
         }
     }
     
 
     XmlNode optionTypeNode = xmlNode.SelectSingleNode("optionType");
     
     if (optionTypeNode != null)
     {
         if (optionTypeNode.Attributes["href"] != null || optionTypeNode.Attributes["id"] != null) 
         {
             if (optionTypeNode.Attributes["id"] != null) 
             {
                 optionTypeIDRef_ = optionTypeNode.Attributes["id"].Value;
                 PutCallEnum ob = new PutCallEnum(optionTypeNode);
                 IDManager.SetID(optionTypeIDRef_, ob);
             }
             else if (optionTypeNode.Attributes["href"] != null)
             {
                 optionTypeIDRef_ = optionTypeNode.Attributes["href"].Value;
             }
             else
             {
                 optionType_ = new PutCallEnum(optionTypeNode);
             }
         }
         else
         {
             optionType_ = new PutCallEnum(optionTypeNode);
         }
     }
     
 
     XmlNode commodityNode = xmlNode.SelectSingleNode("commodity");
     
     if (commodityNode != null)
     {
         if (commodityNode.Attributes["href"] != null || commodityNode.Attributes["id"] != null) 
         {
             if (commodityNode.Attributes["id"] != null) 
             {
                 commodityIDRef_ = commodityNode.Attributes["id"].Value;
                 Commodity ob = new Commodity(commodityNode);
                 IDManager.SetID(commodityIDRef_, ob);
             }
             else if (commodityNode.Attributes["href"] != null)
             {
                 commodityIDRef_ = commodityNode.Attributes["href"].Value;
             }
             else
             {
                 commodity_ = new Commodity(commodityNode);
             }
         }
         else
         {
             commodity_ = new Commodity(commodityNode);
         }
     }
     
 
     XmlNode effectiveDateNode = xmlNode.SelectSingleNode("effectiveDate");
     
     if (effectiveDateNode != null)
     {
         if (effectiveDateNode.Attributes["href"] != null || effectiveDateNode.Attributes["id"] != null) 
         {
             if (effectiveDateNode.Attributes["id"] != null) 
             {
                 effectiveDateIDRef_ = effectiveDateNode.Attributes["id"].Value;
                 AdjustableOrRelativeDate ob = new AdjustableOrRelativeDate(effectiveDateNode);
                 IDManager.SetID(effectiveDateIDRef_, ob);
             }
             else if (effectiveDateNode.Attributes["href"] != null)
             {
                 effectiveDateIDRef_ = effectiveDateNode.Attributes["href"].Value;
             }
             else
             {
                 effectiveDate_ = new AdjustableOrRelativeDate(effectiveDateNode);
             }
         }
         else
         {
             effectiveDate_ = new AdjustableOrRelativeDate(effectiveDateNode);
         }
     }
     
 
     XmlNode terminationDateNode = xmlNode.SelectSingleNode("terminationDate");
     
     if (terminationDateNode != null)
     {
         if (terminationDateNode.Attributes["href"] != null || terminationDateNode.Attributes["id"] != null) 
         {
             if (terminationDateNode.Attributes["id"] != null) 
             {
                 terminationDateIDRef_ = terminationDateNode.Attributes["id"].Value;
                 AdjustableOrRelativeDate ob = new AdjustableOrRelativeDate(terminationDateNode);
                 IDManager.SetID(terminationDateIDRef_, ob);
             }
             else if (terminationDateNode.Attributes["href"] != null)
             {
                 terminationDateIDRef_ = terminationDateNode.Attributes["href"].Value;
             }
             else
             {
                 terminationDate_ = new AdjustableOrRelativeDate(terminationDateNode);
             }
         }
         else
         {
             terminationDate_ = new AdjustableOrRelativeDate(terminationDateNode);
         }
     }
     
 
     XmlNode calculationPeriodsScheduleNode = xmlNode.SelectSingleNode("calculationPeriodsSchedule");
     
     if (calculationPeriodsScheduleNode != null)
     {
         if (calculationPeriodsScheduleNode.Attributes["href"] != null || calculationPeriodsScheduleNode.Attributes["id"] != null) 
         {
             if (calculationPeriodsScheduleNode.Attributes["id"] != null) 
             {
                 calculationPeriodsScheduleIDRef_ = calculationPeriodsScheduleNode.Attributes["id"].Value;
                 CommodityCalculationPeriodsSchedule ob = new CommodityCalculationPeriodsSchedule(calculationPeriodsScheduleNode);
                 IDManager.SetID(calculationPeriodsScheduleIDRef_, ob);
             }
             else if (calculationPeriodsScheduleNode.Attributes["href"] != null)
             {
                 calculationPeriodsScheduleIDRef_ = calculationPeriodsScheduleNode.Attributes["href"].Value;
             }
             else
             {
                 calculationPeriodsSchedule_ = new CommodityCalculationPeriodsSchedule(calculationPeriodsScheduleNode);
             }
         }
         else
         {
             calculationPeriodsSchedule_ = new CommodityCalculationPeriodsSchedule(calculationPeriodsScheduleNode);
         }
     }
     
 
     XmlNode calculationPeriodsNode = xmlNode.SelectSingleNode("calculationPeriods");
     
     if (calculationPeriodsNode != null)
     {
         if (calculationPeriodsNode.Attributes["href"] != null || calculationPeriodsNode.Attributes["id"] != null) 
         {
             if (calculationPeriodsNode.Attributes["id"] != null) 
             {
                 calculationPeriodsIDRef_ = calculationPeriodsNode.Attributes["id"].Value;
                 AdjustableDates ob = new AdjustableDates(calculationPeriodsNode);
                 IDManager.SetID(calculationPeriodsIDRef_, ob);
             }
             else if (calculationPeriodsNode.Attributes["href"] != null)
             {
                 calculationPeriodsIDRef_ = calculationPeriodsNode.Attributes["href"].Value;
             }
             else
             {
                 calculationPeriods_ = new AdjustableDates(calculationPeriodsNode);
             }
         }
         else
         {
             calculationPeriods_ = new AdjustableDates(calculationPeriodsNode);
         }
     }
     
 
     XmlNode pricingDatesNode = xmlNode.SelectSingleNode("pricingDates");
     
     if (pricingDatesNode != null)
     {
         if (pricingDatesNode.Attributes["href"] != null || pricingDatesNode.Attributes["id"] != null) 
         {
             if (pricingDatesNode.Attributes["id"] != null) 
             {
                 pricingDatesIDRef_ = pricingDatesNode.Attributes["id"].Value;
                 CommodityPricingDates ob = new CommodityPricingDates(pricingDatesNode);
                 IDManager.SetID(pricingDatesIDRef_, ob);
             }
             else if (pricingDatesNode.Attributes["href"] != null)
             {
                 pricingDatesIDRef_ = pricingDatesNode.Attributes["href"].Value;
             }
             else
             {
                 pricingDates_ = new CommodityPricingDates(pricingDatesNode);
             }
         }
         else
         {
             pricingDates_ = new CommodityPricingDates(pricingDatesNode);
         }
     }
     
 
     XmlNode averagingMethodNode = xmlNode.SelectSingleNode("averagingMethod");
     
     if (averagingMethodNode != null)
     {
         if (averagingMethodNode.Attributes["href"] != null || averagingMethodNode.Attributes["id"] != null) 
         {
             if (averagingMethodNode.Attributes["id"] != null) 
             {
                 averagingMethodIDRef_ = averagingMethodNode.Attributes["id"].Value;
                 AveragingMethodEnum ob = new AveragingMethodEnum(averagingMethodNode);
                 IDManager.SetID(averagingMethodIDRef_, ob);
             }
             else if (averagingMethodNode.Attributes["href"] != null)
             {
                 averagingMethodIDRef_ = averagingMethodNode.Attributes["href"].Value;
             }
             else
             {
                 averagingMethod_ = new AveragingMethodEnum(averagingMethodNode);
             }
         }
         else
         {
             averagingMethod_ = new AveragingMethodEnum(averagingMethodNode);
         }
     }
     
 
     XmlNode notionalQuantityScheduleNode = xmlNode.SelectSingleNode("notionalQuantitySchedule");
     
     if (notionalQuantityScheduleNode != null)
     {
         if (notionalQuantityScheduleNode.Attributes["href"] != null || notionalQuantityScheduleNode.Attributes["id"] != null) 
         {
             if (notionalQuantityScheduleNode.Attributes["id"] != null) 
             {
                 notionalQuantityScheduleIDRef_ = notionalQuantityScheduleNode.Attributes["id"].Value;
                 CommodityNotionalQuantitySchedule ob = new CommodityNotionalQuantitySchedule(notionalQuantityScheduleNode);
                 IDManager.SetID(notionalQuantityScheduleIDRef_, ob);
             }
             else if (notionalQuantityScheduleNode.Attributes["href"] != null)
             {
                 notionalQuantityScheduleIDRef_ = notionalQuantityScheduleNode.Attributes["href"].Value;
             }
             else
             {
                 notionalQuantitySchedule_ = new CommodityNotionalQuantitySchedule(notionalQuantityScheduleNode);
             }
         }
         else
         {
             notionalQuantitySchedule_ = new CommodityNotionalQuantitySchedule(notionalQuantityScheduleNode);
         }
     }
     
 
     XmlNode notionalQuantityNode = xmlNode.SelectSingleNode("notionalQuantity");
     
     if (notionalQuantityNode != null)
     {
         if (notionalQuantityNode.Attributes["href"] != null || notionalQuantityNode.Attributes["id"] != null) 
         {
             if (notionalQuantityNode.Attributes["id"] != null) 
             {
                 notionalQuantityIDRef_ = notionalQuantityNode.Attributes["id"].Value;
                 CommodityNotionalQuantity ob = new CommodityNotionalQuantity(notionalQuantityNode);
                 IDManager.SetID(notionalQuantityIDRef_, ob);
             }
             else if (notionalQuantityNode.Attributes["href"] != null)
             {
                 notionalQuantityIDRef_ = notionalQuantityNode.Attributes["href"].Value;
             }
             else
             {
                 notionalQuantity_ = new CommodityNotionalQuantity(notionalQuantityNode);
             }
         }
         else
         {
             notionalQuantity_ = new CommodityNotionalQuantity(notionalQuantityNode);
         }
     }
     
 
     XmlNodeList settlementPeriodsNotionalQuantityNodeList = xmlNode.SelectNodes("settlementPeriodsNotionalQuantity");
     
     if (settlementPeriodsNotionalQuantityNodeList != null)
     {
         this.settlementPeriodsNotionalQuantity_ = new List<CommoditySettlementPeriodsNotionalQuantity>();
         foreach (XmlNode item in settlementPeriodsNotionalQuantityNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     settlementPeriodsNotionalQuantityIDRef_ = item.Attributes["id"].Value;
                     settlementPeriodsNotionalQuantity_.Add(new CommoditySettlementPeriodsNotionalQuantity(item));
                     IDManager.SetID(settlementPeriodsNotionalQuantityIDRef_, settlementPeriodsNotionalQuantity_[settlementPeriodsNotionalQuantity_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     settlementPeriodsNotionalQuantityIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 settlementPeriodsNotionalQuantity_.Add(new CommoditySettlementPeriodsNotionalQuantity(item));
                 }
             }
             else
             {
                 settlementPeriodsNotionalQuantity_.Add(new CommoditySettlementPeriodsNotionalQuantity(item));
             }
         }
     }
     
 
     XmlNode totalNotionalQuantityNode = xmlNode.SelectSingleNode("totalNotionalQuantity");
     
     if (totalNotionalQuantityNode != null)
     {
         if (totalNotionalQuantityNode.Attributes["href"] != null || totalNotionalQuantityNode.Attributes["id"] != null) 
         {
             if (totalNotionalQuantityNode.Attributes["id"] != null) 
             {
                 totalNotionalQuantityIDRef_ = totalNotionalQuantityNode.Attributes["id"].Value;
                 XsdTypeDecimal ob = new XsdTypeDecimal(totalNotionalQuantityNode);
                 IDManager.SetID(totalNotionalQuantityIDRef_, ob);
             }
             else if (totalNotionalQuantityNode.Attributes["href"] != null)
             {
                 totalNotionalQuantityIDRef_ = totalNotionalQuantityNode.Attributes["href"].Value;
             }
             else
             {
                 totalNotionalQuantity_ = new XsdTypeDecimal(totalNotionalQuantityNode);
             }
         }
         else
         {
             totalNotionalQuantity_ = new XsdTypeDecimal(totalNotionalQuantityNode);
         }
     }
     
 
     XmlNode quantityReferenceNode = xmlNode.SelectSingleNode("quantityReference");
     
     if (quantityReferenceNode != null)
     {
         if (quantityReferenceNode.Attributes["href"] != null || quantityReferenceNode.Attributes["id"] != null) 
         {
             if (quantityReferenceNode.Attributes["id"] != null) 
             {
                 quantityReferenceIDRef_ = quantityReferenceNode.Attributes["id"].Value;
                 QuantityReference ob = new QuantityReference(quantityReferenceNode);
                 IDManager.SetID(quantityReferenceIDRef_, ob);
             }
             else if (quantityReferenceNode.Attributes["href"] != null)
             {
                 quantityReferenceIDRef_ = quantityReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 quantityReference_ = new QuantityReference(quantityReferenceNode);
             }
         }
         else
         {
             quantityReference_ = new QuantityReference(quantityReferenceNode);
         }
     }
     
 
     XmlNode exerciseNode = xmlNode.SelectSingleNode("exercise");
     
     if (exerciseNode != null)
     {
         if (exerciseNode.Attributes["href"] != null || exerciseNode.Attributes["id"] != null) 
         {
             if (exerciseNode.Attributes["id"] != null) 
             {
                 exerciseIDRef_ = exerciseNode.Attributes["id"].Value;
                 CommodityExercise ob = new CommodityExercise(exerciseNode);
                 IDManager.SetID(exerciseIDRef_, ob);
             }
             else if (exerciseNode.Attributes["href"] != null)
             {
                 exerciseIDRef_ = exerciseNode.Attributes["href"].Value;
             }
             else
             {
                 exercise_ = new CommodityExercise(exerciseNode);
             }
         }
         else
         {
             exercise_ = new CommodityExercise(exerciseNode);
         }
     }
     
 
     XmlNode strikePricePerUnitNode = xmlNode.SelectSingleNode("strikePricePerUnit");
     
     if (strikePricePerUnitNode != null)
     {
         if (strikePricePerUnitNode.Attributes["href"] != null || strikePricePerUnitNode.Attributes["id"] != null) 
         {
             if (strikePricePerUnitNode.Attributes["id"] != null) 
             {
                 strikePricePerUnitIDRef_ = strikePricePerUnitNode.Attributes["id"].Value;
                 NonNegativeMoney ob = new NonNegativeMoney(strikePricePerUnitNode);
                 IDManager.SetID(strikePricePerUnitIDRef_, ob);
             }
             else if (strikePricePerUnitNode.Attributes["href"] != null)
             {
                 strikePricePerUnitIDRef_ = strikePricePerUnitNode.Attributes["href"].Value;
             }
             else
             {
                 strikePricePerUnit_ = new NonNegativeMoney(strikePricePerUnitNode);
             }
         }
         else
         {
             strikePricePerUnit_ = new NonNegativeMoney(strikePricePerUnitNode);
         }
     }
     
 
     XmlNode strikePricePerUnitScheduleNode = xmlNode.SelectSingleNode("strikePricePerUnitSchedule");
     
     if (strikePricePerUnitScheduleNode != null)
     {
         if (strikePricePerUnitScheduleNode.Attributes["href"] != null || strikePricePerUnitScheduleNode.Attributes["id"] != null) 
         {
             if (strikePricePerUnitScheduleNode.Attributes["id"] != null) 
             {
                 strikePricePerUnitScheduleIDRef_ = strikePricePerUnitScheduleNode.Attributes["id"].Value;
                 CommodityStrikeSchedule ob = new CommodityStrikeSchedule(strikePricePerUnitScheduleNode);
                 IDManager.SetID(strikePricePerUnitScheduleIDRef_, ob);
             }
             else if (strikePricePerUnitScheduleNode.Attributes["href"] != null)
             {
                 strikePricePerUnitScheduleIDRef_ = strikePricePerUnitScheduleNode.Attributes["href"].Value;
             }
             else
             {
                 strikePricePerUnitSchedule_ = new CommodityStrikeSchedule(strikePricePerUnitScheduleNode);
             }
         }
         else
         {
             strikePricePerUnitSchedule_ = new CommodityStrikeSchedule(strikePricePerUnitScheduleNode);
         }
     }
     
 
     XmlNode floatingStrikePricePerUnitNode = xmlNode.SelectSingleNode("floatingStrikePricePerUnit");
     
     if (floatingStrikePricePerUnitNode != null)
     {
         if (floatingStrikePricePerUnitNode.Attributes["href"] != null || floatingStrikePricePerUnitNode.Attributes["id"] != null) 
         {
             if (floatingStrikePricePerUnitNode.Attributes["id"] != null) 
             {
                 floatingStrikePricePerUnitIDRef_ = floatingStrikePricePerUnitNode.Attributes["id"].Value;
                 FloatingStrikePrice ob = new FloatingStrikePrice(floatingStrikePricePerUnitNode);
                 IDManager.SetID(floatingStrikePricePerUnitIDRef_, ob);
             }
             else if (floatingStrikePricePerUnitNode.Attributes["href"] != null)
             {
                 floatingStrikePricePerUnitIDRef_ = floatingStrikePricePerUnitNode.Attributes["href"].Value;
             }
             else
             {
                 floatingStrikePricePerUnit_ = new FloatingStrikePrice(floatingStrikePricePerUnitNode);
             }
         }
         else
         {
             floatingStrikePricePerUnit_ = new FloatingStrikePrice(floatingStrikePricePerUnitNode);
         }
     }
     
 
     XmlNode floatingStrikePricePerUnitScheduleNode = xmlNode.SelectSingleNode("floatingStrikePricePerUnitSchedule");
     
     if (floatingStrikePricePerUnitScheduleNode != null)
     {
         if (floatingStrikePricePerUnitScheduleNode.Attributes["href"] != null || floatingStrikePricePerUnitScheduleNode.Attributes["id"] != null) 
         {
             if (floatingStrikePricePerUnitScheduleNode.Attributes["id"] != null) 
             {
                 floatingStrikePricePerUnitScheduleIDRef_ = floatingStrikePricePerUnitScheduleNode.Attributes["id"].Value;
                 CommodityCalculationPeriodsSchedule ob = new CommodityCalculationPeriodsSchedule(floatingStrikePricePerUnitScheduleNode);
                 IDManager.SetID(floatingStrikePricePerUnitScheduleIDRef_, ob);
             }
             else if (floatingStrikePricePerUnitScheduleNode.Attributes["href"] != null)
             {
                 floatingStrikePricePerUnitScheduleIDRef_ = floatingStrikePricePerUnitScheduleNode.Attributes["href"].Value;
             }
             else
             {
                 floatingStrikePricePerUnitSchedule_ = new CommodityCalculationPeriodsSchedule(floatingStrikePricePerUnitScheduleNode);
             }
         }
         else
         {
             floatingStrikePricePerUnitSchedule_ = new CommodityCalculationPeriodsSchedule(floatingStrikePricePerUnitScheduleNode);
         }
     }
     
 
     XmlNode commoditySwapNode = xmlNode.SelectSingleNode("commoditySwap");
     
     if (commoditySwapNode != null)
     {
         if (commoditySwapNode.Attributes["href"] != null || commoditySwapNode.Attributes["id"] != null) 
         {
             if (commoditySwapNode.Attributes["id"] != null) 
             {
                 commoditySwapIDRef_ = commoditySwapNode.Attributes["id"].Value;
                 CommoditySwap ob = new CommoditySwap(commoditySwapNode);
                 IDManager.SetID(commoditySwapIDRef_, ob);
             }
             else if (commoditySwapNode.Attributes["href"] != null)
             {
                 commoditySwapIDRef_ = commoditySwapNode.Attributes["href"].Value;
             }
             else
             {
                 commoditySwap_ = new CommoditySwap(commoditySwapNode);
             }
         }
         else
         {
             commoditySwap_ = new CommoditySwap(commoditySwapNode);
         }
     }
     
 
     XmlNode commodityForwardNode = xmlNode.SelectSingleNode("commodityForward");
     
     if (commodityForwardNode != null)
     {
         if (commodityForwardNode.Attributes["href"] != null || commodityForwardNode.Attributes["id"] != null) 
         {
             if (commodityForwardNode.Attributes["id"] != null) 
             {
                 commodityForwardIDRef_ = commodityForwardNode.Attributes["id"].Value;
                 CommodityForward ob = new CommodityForward(commodityForwardNode);
                 IDManager.SetID(commodityForwardIDRef_, ob);
             }
             else if (commodityForwardNode.Attributes["href"] != null)
             {
                 commodityForwardIDRef_ = commodityForwardNode.Attributes["href"].Value;
             }
             else
             {
                 commodityForward_ = new CommodityForward(commodityForwardNode);
             }
         }
         else
         {
             commodityForward_ = new CommodityForward(commodityForwardNode);
         }
     }
     
 
     XmlNode physicalExerciseNode = xmlNode.SelectSingleNode("physicalExercise");
     
     if (physicalExerciseNode != null)
     {
         if (physicalExerciseNode.Attributes["href"] != null || physicalExerciseNode.Attributes["id"] != null) 
         {
             if (physicalExerciseNode.Attributes["id"] != null) 
             {
                 physicalExerciseIDRef_ = physicalExerciseNode.Attributes["id"].Value;
                 CommodityPhysicalExercise ob = new CommodityPhysicalExercise(physicalExerciseNode);
                 IDManager.SetID(physicalExerciseIDRef_, ob);
             }
             else if (physicalExerciseNode.Attributes["href"] != null)
             {
                 physicalExerciseIDRef_ = physicalExerciseNode.Attributes["href"].Value;
             }
             else
             {
                 physicalExercise_ = new CommodityPhysicalExercise(physicalExerciseNode);
             }
         }
         else
         {
             physicalExercise_ = new CommodityPhysicalExercise(physicalExerciseNode);
         }
     }
     
 
     XmlNode weatherCalculationPeriodsNode = xmlNode.SelectSingleNode("weatherCalculationPeriods");
     
     if (weatherCalculationPeriodsNode != null)
     {
         if (weatherCalculationPeriodsNode.Attributes["href"] != null || weatherCalculationPeriodsNode.Attributes["id"] != null) 
         {
             if (weatherCalculationPeriodsNode.Attributes["id"] != null) 
             {
                 weatherCalculationPeriodsIDRef_ = weatherCalculationPeriodsNode.Attributes["id"].Value;
                 WeatherCalculationPeriods ob = new WeatherCalculationPeriods(weatherCalculationPeriodsNode);
                 IDManager.SetID(weatherCalculationPeriodsIDRef_, ob);
             }
             else if (weatherCalculationPeriodsNode.Attributes["href"] != null)
             {
                 weatherCalculationPeriodsIDRef_ = weatherCalculationPeriodsNode.Attributes["href"].Value;
             }
             else
             {
                 weatherCalculationPeriods_ = new WeatherCalculationPeriods(weatherCalculationPeriodsNode);
             }
         }
         else
         {
             weatherCalculationPeriods_ = new WeatherCalculationPeriods(weatherCalculationPeriodsNode);
         }
     }
     
 
     XmlNode weatherCalculationPeriodsReferenceNode = xmlNode.SelectSingleNode("weatherCalculationPeriodsReference");
     
     if (weatherCalculationPeriodsReferenceNode != null)
     {
         if (weatherCalculationPeriodsReferenceNode.Attributes["href"] != null || weatherCalculationPeriodsReferenceNode.Attributes["id"] != null) 
         {
             if (weatherCalculationPeriodsReferenceNode.Attributes["id"] != null) 
             {
                 weatherCalculationPeriodsReferenceIDRef_ = weatherCalculationPeriodsReferenceNode.Attributes["id"].Value;
                 CalculationPeriodsReference ob = new CalculationPeriodsReference(weatherCalculationPeriodsReferenceNode);
                 IDManager.SetID(weatherCalculationPeriodsReferenceIDRef_, ob);
             }
             else if (weatherCalculationPeriodsReferenceNode.Attributes["href"] != null)
             {
                 weatherCalculationPeriodsReferenceIDRef_ = weatherCalculationPeriodsReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 weatherCalculationPeriodsReference_ = new CalculationPeriodsReference(weatherCalculationPeriodsReferenceNode);
             }
         }
         else
         {
             weatherCalculationPeriodsReference_ = new CalculationPeriodsReference(weatherCalculationPeriodsReferenceNode);
         }
     }
     
 
     XmlNode weatherNotionalAmountNode = xmlNode.SelectSingleNode("weatherNotionalAmount");
     
     if (weatherNotionalAmountNode != null)
     {
         if (weatherNotionalAmountNode.Attributes["href"] != null || weatherNotionalAmountNode.Attributes["id"] != null) 
         {
             if (weatherNotionalAmountNode.Attributes["id"] != null) 
             {
                 weatherNotionalAmountIDRef_ = weatherNotionalAmountNode.Attributes["id"].Value;
                 NonNegativeMoney ob = new NonNegativeMoney(weatherNotionalAmountNode);
                 IDManager.SetID(weatherNotionalAmountIDRef_, ob);
             }
             else if (weatherNotionalAmountNode.Attributes["href"] != null)
             {
                 weatherNotionalAmountIDRef_ = weatherNotionalAmountNode.Attributes["href"].Value;
             }
             else
             {
                 weatherNotionalAmount_ = new NonNegativeMoney(weatherNotionalAmountNode);
             }
         }
         else
         {
             weatherNotionalAmount_ = new NonNegativeMoney(weatherNotionalAmountNode);
         }
     }
     
 
     XmlNode weatherIndexStrikeLevelNode = xmlNode.SelectSingleNode("weatherIndexStrikeLevel");
     
     if (weatherIndexStrikeLevelNode != null)
     {
         if (weatherIndexStrikeLevelNode.Attributes["href"] != null || weatherIndexStrikeLevelNode.Attributes["id"] != null) 
         {
             if (weatherIndexStrikeLevelNode.Attributes["id"] != null) 
             {
                 weatherIndexStrikeLevelIDRef_ = weatherIndexStrikeLevelNode.Attributes["id"].Value;
                 WeatherIndex ob = new WeatherIndex(weatherIndexStrikeLevelNode);
                 IDManager.SetID(weatherIndexStrikeLevelIDRef_, ob);
             }
             else if (weatherIndexStrikeLevelNode.Attributes["href"] != null)
             {
                 weatherIndexStrikeLevelIDRef_ = weatherIndexStrikeLevelNode.Attributes["href"].Value;
             }
             else
             {
                 weatherIndexStrikeLevel_ = new WeatherIndex(weatherIndexStrikeLevelNode);
             }
         }
         else
         {
             weatherIndexStrikeLevel_ = new WeatherIndex(weatherIndexStrikeLevelNode);
         }
     }
     
 
     XmlNode calculationNode = xmlNode.SelectSingleNode("calculation");
     
     if (calculationNode != null)
     {
         if (calculationNode.Attributes["href"] != null || calculationNode.Attributes["id"] != null) 
         {
             if (calculationNode.Attributes["id"] != null) 
             {
                 calculationIDRef_ = calculationNode.Attributes["id"].Value;
                 WeatherLegCalculation ob = new WeatherLegCalculation(calculationNode);
                 IDManager.SetID(calculationIDRef_, ob);
             }
             else if (calculationNode.Attributes["href"] != null)
             {
                 calculationIDRef_ = calculationNode.Attributes["href"].Value;
             }
             else
             {
                 calculation_ = new WeatherLegCalculation(calculationNode);
             }
         }
         else
         {
             calculation_ = new WeatherLegCalculation(calculationNode);
         }
     }
     
 
     XmlNode weatherIndexDataNode = xmlNode.SelectSingleNode("weatherIndexData");
     
     if (weatherIndexDataNode != null)
     {
         if (weatherIndexDataNode.Attributes["href"] != null || weatherIndexDataNode.Attributes["id"] != null) 
         {
             if (weatherIndexDataNode.Attributes["id"] != null) 
             {
                 weatherIndexDataIDRef_ = weatherIndexDataNode.Attributes["id"].Value;
                 WeatherIndexData ob = new WeatherIndexData(weatherIndexDataNode);
                 IDManager.SetID(weatherIndexDataIDRef_, ob);
             }
             else if (weatherIndexDataNode.Attributes["href"] != null)
             {
                 weatherIndexDataIDRef_ = weatherIndexDataNode.Attributes["href"].Value;
             }
             else
             {
                 weatherIndexData_ = new WeatherIndexData(weatherIndexDataNode);
             }
         }
         else
         {
             weatherIndexData_ = new WeatherIndexData(weatherIndexDataNode);
         }
     }
     
 
     XmlNodeList premiumNodeList = xmlNode.SelectNodes("premium");
     
     if (premiumNodeList != null)
     {
         this.premium_ = new List<CommodityPremium>();
         foreach (XmlNode item in premiumNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     premiumIDRef_ = item.Attributes["id"].Value;
                     premium_.Add(new CommodityPremium(item));
                     IDManager.SetID(premiumIDRef_, premium_[premium_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     premiumIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 premium_.Add(new CommodityPremium(item));
                 }
             }
             else
             {
                 premium_.Add(new CommodityPremium(item));
             }
         }
     }
     
 
     XmlNode commonPricingNode = xmlNode.SelectSingleNode("commonPricing");
     
     if (commonPricingNode != null)
     {
         if (commonPricingNode.Attributes["href"] != null || commonPricingNode.Attributes["id"] != null) 
         {
             if (commonPricingNode.Attributes["id"] != null) 
             {
                 commonPricingIDRef_ = commonPricingNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(commonPricingNode);
                 IDManager.SetID(commonPricingIDRef_, ob);
             }
             else if (commonPricingNode.Attributes["href"] != null)
             {
                 commonPricingIDRef_ = commonPricingNode.Attributes["href"].Value;
             }
             else
             {
                 commonPricing_ = new XsdTypeBoolean(commonPricingNode);
             }
         }
         else
         {
             commonPricing_ = new XsdTypeBoolean(commonPricingNode);
         }
     }
     
 
     XmlNode marketDisruptionNode = xmlNode.SelectSingleNode("marketDisruption");
     
     if (marketDisruptionNode != null)
     {
         if (marketDisruptionNode.Attributes["href"] != null || marketDisruptionNode.Attributes["id"] != null) 
         {
             if (marketDisruptionNode.Attributes["id"] != null) 
             {
                 marketDisruptionIDRef_ = marketDisruptionNode.Attributes["id"].Value;
                 CommodityMarketDisruption ob = new CommodityMarketDisruption(marketDisruptionNode);
                 IDManager.SetID(marketDisruptionIDRef_, ob);
             }
             else if (marketDisruptionNode.Attributes["href"] != null)
             {
                 marketDisruptionIDRef_ = marketDisruptionNode.Attributes["href"].Value;
             }
             else
             {
                 marketDisruption_ = new CommodityMarketDisruption(marketDisruptionNode);
             }
         }
         else
         {
             marketDisruption_ = new CommodityMarketDisruption(marketDisruptionNode);
         }
     }
     
 
     XmlNode settlementDisruptionNode = xmlNode.SelectSingleNode("settlementDisruption");
     
     if (settlementDisruptionNode != null)
     {
         if (settlementDisruptionNode.Attributes["href"] != null || settlementDisruptionNode.Attributes["id"] != null) 
         {
             if (settlementDisruptionNode.Attributes["id"] != null) 
             {
                 settlementDisruptionIDRef_ = settlementDisruptionNode.Attributes["id"].Value;
                 CommodityBullionSettlementDisruptionEnum ob = new CommodityBullionSettlementDisruptionEnum(settlementDisruptionNode);
                 IDManager.SetID(settlementDisruptionIDRef_, ob);
             }
             else if (settlementDisruptionNode.Attributes["href"] != null)
             {
                 settlementDisruptionIDRef_ = settlementDisruptionNode.Attributes["href"].Value;
             }
             else
             {
                 settlementDisruption_ = new CommodityBullionSettlementDisruptionEnum(settlementDisruptionNode);
             }
         }
         else
         {
             settlementDisruption_ = new CommodityBullionSettlementDisruptionEnum(settlementDisruptionNode);
         }
     }
     
 
     XmlNode roundingNode = xmlNode.SelectSingleNode("rounding");
     
     if (roundingNode != null)
     {
         if (roundingNode.Attributes["href"] != null || roundingNode.Attributes["id"] != null) 
         {
             if (roundingNode.Attributes["id"] != null) 
             {
                 roundingIDRef_ = roundingNode.Attributes["id"].Value;
                 Rounding ob = new Rounding(roundingNode);
                 IDManager.SetID(roundingIDRef_, ob);
             }
             else if (roundingNode.Attributes["href"] != null)
             {
                 roundingIDRef_ = roundingNode.Attributes["href"].Value;
             }
             else
             {
                 rounding_ = new Rounding(roundingNode);
             }
         }
         else
         {
             rounding_ = new Rounding(roundingNode);
         }
     }
     
 
 }
        public RequestCollateralAllocation(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode serviceNameNode = xmlNode.SelectSingleNode("serviceName");

            if (serviceNameNode != null)
            {
                if (serviceNameNode.Attributes["href"] != null || serviceNameNode.Attributes["id"] != null)
                {
                    if (serviceNameNode.Attributes["id"] != null)
                    {
                        serviceNameIDRef_ = serviceNameNode.Attributes["id"].Value;
                        XsdTypeNormalizedString ob = new XsdTypeNormalizedString(serviceNameNode);
                        IDManager.SetID(serviceNameIDRef_, ob);
                    }
                    else if (serviceNameNode.Attributes["href"] != null)
                    {
                        serviceNameIDRef_ = serviceNameNode.Attributes["href"].Value;
                    }
                    else
                    {
                        serviceName_ = new XsdTypeNormalizedString(serviceNameNode);
                    }
                }
                else
                {
                    serviceName_ = new XsdTypeNormalizedString(serviceNameNode);
                }
            }


            XmlNode collateralGiverPartyReferenceNode = xmlNode.SelectSingleNode("collateralGiverPartyReference");

            if (collateralGiverPartyReferenceNode != null)
            {
                if (collateralGiverPartyReferenceNode.Attributes["href"] != null || collateralGiverPartyReferenceNode.Attributes["id"] != null)
                {
                    if (collateralGiverPartyReferenceNode.Attributes["id"] != null)
                    {
                        collateralGiverPartyReferenceIDRef_ = collateralGiverPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(collateralGiverPartyReferenceNode);
                        IDManager.SetID(collateralGiverPartyReferenceIDRef_, ob);
                    }
                    else if (collateralGiverPartyReferenceNode.Attributes["href"] != null)
                    {
                        collateralGiverPartyReferenceIDRef_ = collateralGiverPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        collateralGiverPartyReference_ = new PartyReference(collateralGiverPartyReferenceNode);
                    }
                }
                else
                {
                    collateralGiverPartyReference_ = new PartyReference(collateralGiverPartyReferenceNode);
                }
            }


            XmlNodeList collateralAllocationNodeList = xmlNode.SelectNodes("collateralAllocation");

            if (collateralAllocationNodeList != null)
            {
                this.collateralAllocation_ = new List <ProposedCollateralAllocation>();
                foreach (XmlNode item in collateralAllocationNodeList)
                {
                    if (item.Attributes["href"] != null || item.Attributes["id"] != null)
                    {
                        if (item.Attributes["id"] != null)
                        {
                            collateralAllocationIDRef_ = item.Attributes["id"].Value;
                            collateralAllocation_.Add(new ProposedCollateralAllocation(item));
                            IDManager.SetID(collateralAllocationIDRef_, collateralAllocation_[collateralAllocation_.Count - 1]);
                        }
                        else if (item.Attributes["href"] != null)
                        {
                            collateralAllocationIDRef_ = item.Attributes["href"].Value;
                        }
                        else
                        {
                            collateralAllocation_.Add(new ProposedCollateralAllocation(item));
                        }
                    }
                    else
                    {
                        collateralAllocation_.Add(new ProposedCollateralAllocation(item));
                    }
                }
            }


            XmlNodeList partyNodeList = xmlNode.SelectNodes("party");

            if (partyNodeList != null)
            {
                this.party_ = new List <Party>();
                foreach (XmlNode item in partyNodeList)
                {
                    if (item.Attributes["href"] != null || item.Attributes["id"] != null)
                    {
                        if (item.Attributes["id"] != null)
                        {
                            partyIDRef_ = item.Attributes["id"].Value;
                            party_.Add(new Party(item));
                            IDManager.SetID(partyIDRef_, party_[party_.Count - 1]);
                        }
                        else if (item.Attributes["href"] != null)
                        {
                            partyIDRef_ = item.Attributes["href"].Value;
                        }
                        else
                        {
                            party_.Add(new Party(item));
                        }
                    }
                    else
                    {
                        party_.Add(new Party(item));
                    }
                }
            }


            XmlNodeList accountNodeList = xmlNode.SelectNodes("account");

            if (accountNodeList != null)
            {
                this.account_ = new List <Account>();
                foreach (XmlNode item in accountNodeList)
                {
                    if (item.Attributes["href"] != null || item.Attributes["id"] != null)
                    {
                        if (item.Attributes["id"] != null)
                        {
                            accountIDRef_ = item.Attributes["id"].Value;
                            account_.Add(new Account(item));
                            IDManager.SetID(accountIDRef_, account_[account_.Count - 1]);
                        }
                        else if (item.Attributes["href"] != null)
                        {
                            accountIDRef_ = item.Attributes["href"].Value;
                        }
                        else
                        {
                            account_.Add(new Account(item));
                        }
                    }
                    else
                    {
                        account_.Add(new Account(item));
                    }
                }
            }
        }
 public PhysicalForwardLeg(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode payerPartyReferenceNode = xmlNode.SelectSingleNode("payerPartyReference");
     
     if (payerPartyReferenceNode != null)
     {
         if (payerPartyReferenceNode.Attributes["href"] != null || payerPartyReferenceNode.Attributes["id"] != null) 
         {
             if (payerPartyReferenceNode.Attributes["id"] != null) 
             {
                 payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(payerPartyReferenceNode);
                 IDManager.SetID(payerPartyReferenceIDRef_, ob);
             }
             else if (payerPartyReferenceNode.Attributes["href"] != null)
             {
                 payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
             }
         }
         else
         {
             payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
         }
     }
     
 
     XmlNode payerAccountReferenceNode = xmlNode.SelectSingleNode("payerAccountReference");
     
     if (payerAccountReferenceNode != null)
     {
         if (payerAccountReferenceNode.Attributes["href"] != null || payerAccountReferenceNode.Attributes["id"] != null) 
         {
             if (payerAccountReferenceNode.Attributes["id"] != null) 
             {
                 payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(payerAccountReferenceNode);
                 IDManager.SetID(payerAccountReferenceIDRef_, ob);
             }
             else if (payerAccountReferenceNode.Attributes["href"] != null)
             {
                 payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
             }
         }
         else
         {
             payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
         }
     }
     
 
     XmlNode receiverPartyReferenceNode = xmlNode.SelectSingleNode("receiverPartyReference");
     
     if (receiverPartyReferenceNode != null)
     {
         if (receiverPartyReferenceNode.Attributes["href"] != null || receiverPartyReferenceNode.Attributes["id"] != null) 
         {
             if (receiverPartyReferenceNode.Attributes["id"] != null) 
             {
                 receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(receiverPartyReferenceNode);
                 IDManager.SetID(receiverPartyReferenceIDRef_, ob);
             }
             else if (receiverPartyReferenceNode.Attributes["href"] != null)
             {
                 receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
             }
         }
         else
         {
             receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
         }
     }
     
 
     XmlNode receiverAccountReferenceNode = xmlNode.SelectSingleNode("receiverAccountReference");
     
     if (receiverAccountReferenceNode != null)
     {
         if (receiverAccountReferenceNode.Attributes["href"] != null || receiverAccountReferenceNode.Attributes["id"] != null) 
         {
             if (receiverAccountReferenceNode.Attributes["id"] != null) 
             {
                 receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(receiverAccountReferenceNode);
                 IDManager.SetID(receiverAccountReferenceIDRef_, ob);
             }
             else if (receiverAccountReferenceNode.Attributes["href"] != null)
             {
                 receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
             }
         }
         else
         {
             receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
         }
     }
     
 
 }
 public ProposedCollateralAllocation(XmlNode xmlNode)
 {
     XmlNode allocationPartyReferenceNode = xmlNode.SelectSingleNode("allocationPartyReference");
     
     if (allocationPartyReferenceNode != null)
     {
         if (allocationPartyReferenceNode.Attributes["href"] != null || allocationPartyReferenceNode.Attributes["id"] != null) 
         {
             if (allocationPartyReferenceNode.Attributes["id"] != null) 
             {
                 allocationPartyReferenceIDRef_ = allocationPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(allocationPartyReferenceNode);
                 IDManager.SetID(allocationPartyReferenceIDRef_, ob);
             }
             else if (allocationPartyReferenceNode.Attributes["href"] != null)
             {
                 allocationPartyReferenceIDRef_ = allocationPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 allocationPartyReference_ = new PartyReference(allocationPartyReferenceNode);
             }
         }
         else
         {
             allocationPartyReference_ = new PartyReference(allocationPartyReferenceNode);
         }
     }
     
 
     XmlNode allocationAccountReferenceNode = xmlNode.SelectSingleNode("allocationAccountReference");
     
     if (allocationAccountReferenceNode != null)
     {
         if (allocationAccountReferenceNode.Attributes["href"] != null || allocationAccountReferenceNode.Attributes["id"] != null) 
         {
             if (allocationAccountReferenceNode.Attributes["id"] != null) 
             {
                 allocationAccountReferenceIDRef_ = allocationAccountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(allocationAccountReferenceNode);
                 IDManager.SetID(allocationAccountReferenceIDRef_, ob);
             }
             else if (allocationAccountReferenceNode.Attributes["href"] != null)
             {
                 allocationAccountReferenceIDRef_ = allocationAccountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 allocationAccountReference_ = new AccountReference(allocationAccountReferenceNode);
             }
         }
         else
         {
             allocationAccountReference_ = new AccountReference(allocationAccountReferenceNode);
         }
     }
     
 
     XmlNode collateralValueAllocationNode = xmlNode.SelectSingleNode("collateralValueAllocation");
     
     if (collateralValueAllocationNode != null)
     {
         if (collateralValueAllocationNode.Attributes["href"] != null || collateralValueAllocationNode.Attributes["id"] != null) 
         {
             if (collateralValueAllocationNode.Attributes["id"] != null) 
             {
                 collateralValueAllocationIDRef_ = collateralValueAllocationNode.Attributes["id"].Value;
                 CollateralValueAllocation ob = new CollateralValueAllocation(collateralValueAllocationNode);
                 IDManager.SetID(collateralValueAllocationIDRef_, ob);
             }
             else if (collateralValueAllocationNode.Attributes["href"] != null)
             {
                 collateralValueAllocationIDRef_ = collateralValueAllocationNode.Attributes["href"].Value;
             }
             else
             {
                 collateralValueAllocation_ = new CollateralValueAllocation(collateralValueAllocationNode);
             }
         }
         else
         {
             collateralValueAllocation_ = new CollateralValueAllocation(collateralValueAllocationNode);
         }
     }
     
 
 }
 public PercentageTolerance(XmlNode xmlNode)
 {
     XmlNodeList postitiveNodeList = xmlNode.SelectNodes("postitive");
     if (postitiveNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in postitiveNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 postitiveIDRef = item.Attributes["id"].Name;
                 RestrictedPercentage ob = RestrictedPercentage();
                 IDManager.SetID(postitiveIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 postitiveIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 postitive = new RestrictedPercentage(item);
             }
         }
     }
     
 
     XmlNodeList negativeNodeList = xmlNode.SelectNodes("negative");
     if (negativeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in negativeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 negativeIDRef = item.Attributes["id"].Name;
                 RestrictedPercentage ob = RestrictedPercentage();
                 IDManager.SetID(negativeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 negativeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 negative = new RestrictedPercentage(item);
             }
         }
     }
     
 
     XmlNodeList optionNodeList = xmlNode.SelectNodes("option");
     if (optionNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in optionNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 optionIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(optionIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 optionIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 option = new PartyReference(item);
             }
         }
     }
     
 
 }
        public PrincipalExchangeDescriptions(XmlNode xmlNode)
        {
            XmlNode payerPartyReferenceNode = xmlNode.SelectSingleNode("payerPartyReference");

            if (payerPartyReferenceNode != null)
            {
                if (payerPartyReferenceNode.Attributes["href"] != null || payerPartyReferenceNode.Attributes["id"] != null)
                {
                    if (payerPartyReferenceNode.Attributes["id"] != null)
                    {
                        payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(payerPartyReferenceNode);
                        IDManager.SetID(payerPartyReferenceIDRef_, ob);
                    }
                    else if (payerPartyReferenceNode.Attributes["href"] != null)
                    {
                        payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
                    }
                }
                else
                {
                    payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
                }
            }


            XmlNode payerAccountReferenceNode = xmlNode.SelectSingleNode("payerAccountReference");

            if (payerAccountReferenceNode != null)
            {
                if (payerAccountReferenceNode.Attributes["href"] != null || payerAccountReferenceNode.Attributes["id"] != null)
                {
                    if (payerAccountReferenceNode.Attributes["id"] != null)
                    {
                        payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["id"].Value;
                        AccountReference ob = new AccountReference(payerAccountReferenceNode);
                        IDManager.SetID(payerAccountReferenceIDRef_, ob);
                    }
                    else if (payerAccountReferenceNode.Attributes["href"] != null)
                    {
                        payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
                    }
                }
                else
                {
                    payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
                }
            }


            XmlNode receiverPartyReferenceNode = xmlNode.SelectSingleNode("receiverPartyReference");

            if (receiverPartyReferenceNode != null)
            {
                if (receiverPartyReferenceNode.Attributes["href"] != null || receiverPartyReferenceNode.Attributes["id"] != null)
                {
                    if (receiverPartyReferenceNode.Attributes["id"] != null)
                    {
                        receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["id"].Value;
                        PartyReference ob = new PartyReference(receiverPartyReferenceNode);
                        IDManager.SetID(receiverPartyReferenceIDRef_, ob);
                    }
                    else if (receiverPartyReferenceNode.Attributes["href"] != null)
                    {
                        receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
                    }
                }
                else
                {
                    receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
                }
            }


            XmlNode receiverAccountReferenceNode = xmlNode.SelectSingleNode("receiverAccountReference");

            if (receiverAccountReferenceNode != null)
            {
                if (receiverAccountReferenceNode.Attributes["href"] != null || receiverAccountReferenceNode.Attributes["id"] != null)
                {
                    if (receiverAccountReferenceNode.Attributes["id"] != null)
                    {
                        receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["id"].Value;
                        AccountReference ob = new AccountReference(receiverAccountReferenceNode);
                        IDManager.SetID(receiverAccountReferenceIDRef_, ob);
                    }
                    else if (receiverAccountReferenceNode.Attributes["href"] != null)
                    {
                        receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
                    }
                }
                else
                {
                    receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
                }
            }


            XmlNode principalExchangeAmountNode = xmlNode.SelectSingleNode("principalExchangeAmount");

            if (principalExchangeAmountNode != null)
            {
                if (principalExchangeAmountNode.Attributes["href"] != null || principalExchangeAmountNode.Attributes["id"] != null)
                {
                    if (principalExchangeAmountNode.Attributes["id"] != null)
                    {
                        principalExchangeAmountIDRef_ = principalExchangeAmountNode.Attributes["id"].Value;
                        PrincipalExchangeAmount ob = new PrincipalExchangeAmount(principalExchangeAmountNode);
                        IDManager.SetID(principalExchangeAmountIDRef_, ob);
                    }
                    else if (principalExchangeAmountNode.Attributes["href"] != null)
                    {
                        principalExchangeAmountIDRef_ = principalExchangeAmountNode.Attributes["href"].Value;
                    }
                    else
                    {
                        principalExchangeAmount_ = new PrincipalExchangeAmount(principalExchangeAmountNode);
                    }
                }
                else
                {
                    principalExchangeAmount_ = new PrincipalExchangeAmount(principalExchangeAmountNode);
                }
            }


            XmlNode principalExchangeDateNode = xmlNode.SelectSingleNode("principalExchangeDate");

            if (principalExchangeDateNode != null)
            {
                if (principalExchangeDateNode.Attributes["href"] != null || principalExchangeDateNode.Attributes["id"] != null)
                {
                    if (principalExchangeDateNode.Attributes["id"] != null)
                    {
                        principalExchangeDateIDRef_ = principalExchangeDateNode.Attributes["id"].Value;
                        AdjustableOrRelativeDate ob = new AdjustableOrRelativeDate(principalExchangeDateNode);
                        IDManager.SetID(principalExchangeDateIDRef_, ob);
                    }
                    else if (principalExchangeDateNode.Attributes["href"] != null)
                    {
                        principalExchangeDateIDRef_ = principalExchangeDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        principalExchangeDate_ = new AdjustableOrRelativeDate(principalExchangeDateNode);
                    }
                }
                else
                {
                    principalExchangeDate_ = new AdjustableOrRelativeDate(principalExchangeDateNode);
                }
            }
        }
 public ForwardSale(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode buyerPartyReferenceNode = xmlNode.SelectSingleNode("buyerPartyReference");
     
     if (buyerPartyReferenceNode != null)
     {
         if (buyerPartyReferenceNode.Attributes["href"] != null || buyerPartyReferenceNode.Attributes["id"] != null) 
         {
             if (buyerPartyReferenceNode.Attributes["id"] != null) 
             {
                 buyerPartyReferenceIDRef_ = buyerPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(buyerPartyReferenceNode);
                 IDManager.SetID(buyerPartyReferenceIDRef_, ob);
             }
             else if (buyerPartyReferenceNode.Attributes["href"] != null)
             {
                 buyerPartyReferenceIDRef_ = buyerPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 buyerPartyReference_ = new PartyReference(buyerPartyReferenceNode);
             }
         }
         else
         {
             buyerPartyReference_ = new PartyReference(buyerPartyReferenceNode);
         }
     }
     
 
     XmlNode buyerAccountReferenceNode = xmlNode.SelectSingleNode("buyerAccountReference");
     
     if (buyerAccountReferenceNode != null)
     {
         if (buyerAccountReferenceNode.Attributes["href"] != null || buyerAccountReferenceNode.Attributes["id"] != null) 
         {
             if (buyerAccountReferenceNode.Attributes["id"] != null) 
             {
                 buyerAccountReferenceIDRef_ = buyerAccountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(buyerAccountReferenceNode);
                 IDManager.SetID(buyerAccountReferenceIDRef_, ob);
             }
             else if (buyerAccountReferenceNode.Attributes["href"] != null)
             {
                 buyerAccountReferenceIDRef_ = buyerAccountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 buyerAccountReference_ = new AccountReference(buyerAccountReferenceNode);
             }
         }
         else
         {
             buyerAccountReference_ = new AccountReference(buyerAccountReferenceNode);
         }
     }
     
 
     XmlNode sellerPartyReferenceNode = xmlNode.SelectSingleNode("sellerPartyReference");
     
     if (sellerPartyReferenceNode != null)
     {
         if (sellerPartyReferenceNode.Attributes["href"] != null || sellerPartyReferenceNode.Attributes["id"] != null) 
         {
             if (sellerPartyReferenceNode.Attributes["id"] != null) 
             {
                 sellerPartyReferenceIDRef_ = sellerPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(sellerPartyReferenceNode);
                 IDManager.SetID(sellerPartyReferenceIDRef_, ob);
             }
             else if (sellerPartyReferenceNode.Attributes["href"] != null)
             {
                 sellerPartyReferenceIDRef_ = sellerPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 sellerPartyReference_ = new PartyReference(sellerPartyReferenceNode);
             }
         }
         else
         {
             sellerPartyReference_ = new PartyReference(sellerPartyReferenceNode);
         }
     }
     
 
     XmlNode sellerAccountReferenceNode = xmlNode.SelectSingleNode("sellerAccountReference");
     
     if (sellerAccountReferenceNode != null)
     {
         if (sellerAccountReferenceNode.Attributes["href"] != null || sellerAccountReferenceNode.Attributes["id"] != null) 
         {
             if (sellerAccountReferenceNode.Attributes["id"] != null) 
             {
                 sellerAccountReferenceIDRef_ = sellerAccountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(sellerAccountReferenceNode);
                 IDManager.SetID(sellerAccountReferenceIDRef_, ob);
             }
             else if (sellerAccountReferenceNode.Attributes["href"] != null)
             {
                 sellerAccountReferenceIDRef_ = sellerAccountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 sellerAccountReference_ = new AccountReference(sellerAccountReferenceNode);
             }
         }
         else
         {
             sellerAccountReference_ = new AccountReference(sellerAccountReferenceNode);
         }
     }
     
 
     XmlNode underlyingAssetNode = xmlNode.SelectSingleNode("underlyingAsset");
     
     if (underlyingAssetNode != null)
     {
         if (underlyingAssetNode.Attributes["href"] != null || underlyingAssetNode.Attributes["id"] != null) 
         {
             if (underlyingAssetNode.Attributes["id"] != null) 
             {
                 underlyingAssetIDRef_ = underlyingAssetNode.Attributes["id"].Value;
                 Asset ob = new Asset(underlyingAssetNode);
                 IDManager.SetID(underlyingAssetIDRef_, ob);
             }
             else if (underlyingAssetNode.Attributes["href"] != null)
             {
                 underlyingAssetIDRef_ = underlyingAssetNode.Attributes["href"].Value;
             }
             else
             {
                 underlyingAsset_ = new Asset(underlyingAssetNode);
             }
         }
         else
         {
             underlyingAsset_ = new Asset(underlyingAssetNode);
         }
     }
     
 
     XmlNode basketNode = xmlNode.SelectSingleNode("basket");
     
     if (basketNode != null)
     {
         if (basketNode.Attributes["href"] != null || basketNode.Attributes["id"] != null) 
         {
             if (basketNode.Attributes["id"] != null) 
             {
                 basketIDRef_ = basketNode.Attributes["id"].Value;
                 Basket ob = new Basket(basketNode);
                 IDManager.SetID(basketIDRef_, ob);
             }
             else if (basketNode.Attributes["href"] != null)
             {
                 basketIDRef_ = basketNode.Attributes["href"].Value;
             }
             else
             {
                 basket_ = new Basket(basketNode);
             }
         }
         else
         {
             basket_ = new Basket(basketNode);
         }
     }
     
 
     XmlNode bondNode = xmlNode.SelectSingleNode("bond");
     
     if (bondNode != null)
     {
         if (bondNode.Attributes["href"] != null || bondNode.Attributes["id"] != null) 
         {
             if (bondNode.Attributes["id"] != null) 
             {
                 bondIDRef_ = bondNode.Attributes["id"].Value;
                 Bond ob = new Bond(bondNode);
                 IDManager.SetID(bondIDRef_, ob);
             }
             else if (bondNode.Attributes["href"] != null)
             {
                 bondIDRef_ = bondNode.Attributes["href"].Value;
             }
             else
             {
                 bond_ = new Bond(bondNode);
             }
         }
         else
         {
             bond_ = new Bond(bondNode);
         }
     }
     
 
     XmlNode cashNode = xmlNode.SelectSingleNode("cash");
     
     if (cashNode != null)
     {
         if (cashNode.Attributes["href"] != null || cashNode.Attributes["id"] != null) 
         {
             if (cashNode.Attributes["id"] != null) 
             {
                 cashIDRef_ = cashNode.Attributes["id"].Value;
                 Cash ob = new Cash(cashNode);
                 IDManager.SetID(cashIDRef_, ob);
             }
             else if (cashNode.Attributes["href"] != null)
             {
                 cashIDRef_ = cashNode.Attributes["href"].Value;
             }
             else
             {
                 cash_ = new Cash(cashNode);
             }
         }
         else
         {
             cash_ = new Cash(cashNode);
         }
     }
     
 
     XmlNode commodityNode = xmlNode.SelectSingleNode("commodity");
     
     if (commodityNode != null)
     {
         if (commodityNode.Attributes["href"] != null || commodityNode.Attributes["id"] != null) 
         {
             if (commodityNode.Attributes["id"] != null) 
             {
                 commodityIDRef_ = commodityNode.Attributes["id"].Value;
                 Commodity ob = new Commodity(commodityNode);
                 IDManager.SetID(commodityIDRef_, ob);
             }
             else if (commodityNode.Attributes["href"] != null)
             {
                 commodityIDRef_ = commodityNode.Attributes["href"].Value;
             }
             else
             {
                 commodity_ = new Commodity(commodityNode);
             }
         }
         else
         {
             commodity_ = new Commodity(commodityNode);
         }
     }
     
 
     XmlNode convertibleBondNode = xmlNode.SelectSingleNode("convertibleBond");
     
     if (convertibleBondNode != null)
     {
         if (convertibleBondNode.Attributes["href"] != null || convertibleBondNode.Attributes["id"] != null) 
         {
             if (convertibleBondNode.Attributes["id"] != null) 
             {
                 convertibleBondIDRef_ = convertibleBondNode.Attributes["id"].Value;
                 ConvertibleBond ob = new ConvertibleBond(convertibleBondNode);
                 IDManager.SetID(convertibleBondIDRef_, ob);
             }
             else if (convertibleBondNode.Attributes["href"] != null)
             {
                 convertibleBondIDRef_ = convertibleBondNode.Attributes["href"].Value;
             }
             else
             {
                 convertibleBond_ = new ConvertibleBond(convertibleBondNode);
             }
         }
         else
         {
             convertibleBond_ = new ConvertibleBond(convertibleBondNode);
         }
     }
     
 
     XmlNode equityNode = xmlNode.SelectSingleNode("equity");
     
     if (equityNode != null)
     {
         if (equityNode.Attributes["href"] != null || equityNode.Attributes["id"] != null) 
         {
             if (equityNode.Attributes["id"] != null) 
             {
                 equityIDRef_ = equityNode.Attributes["id"].Value;
                 EquityAsset ob = new EquityAsset(equityNode);
                 IDManager.SetID(equityIDRef_, ob);
             }
             else if (equityNode.Attributes["href"] != null)
             {
                 equityIDRef_ = equityNode.Attributes["href"].Value;
             }
             else
             {
                 equity_ = new EquityAsset(equityNode);
             }
         }
         else
         {
             equity_ = new EquityAsset(equityNode);
         }
     }
     
 
     XmlNode exchangeTradedFundNode = xmlNode.SelectSingleNode("exchangeTradedFund");
     
     if (exchangeTradedFundNode != null)
     {
         if (exchangeTradedFundNode.Attributes["href"] != null || exchangeTradedFundNode.Attributes["id"] != null) 
         {
             if (exchangeTradedFundNode.Attributes["id"] != null) 
             {
                 exchangeTradedFundIDRef_ = exchangeTradedFundNode.Attributes["id"].Value;
                 ExchangeTradedFund ob = new ExchangeTradedFund(exchangeTradedFundNode);
                 IDManager.SetID(exchangeTradedFundIDRef_, ob);
             }
             else if (exchangeTradedFundNode.Attributes["href"] != null)
             {
                 exchangeTradedFundIDRef_ = exchangeTradedFundNode.Attributes["href"].Value;
             }
             else
             {
                 exchangeTradedFund_ = new ExchangeTradedFund(exchangeTradedFundNode);
             }
         }
         else
         {
             exchangeTradedFund_ = new ExchangeTradedFund(exchangeTradedFundNode);
         }
     }
     
 
     XmlNode futureNode = xmlNode.SelectSingleNode("future");
     
     if (futureNode != null)
     {
         if (futureNode.Attributes["href"] != null || futureNode.Attributes["id"] != null) 
         {
             if (futureNode.Attributes["id"] != null) 
             {
                 futureIDRef_ = futureNode.Attributes["id"].Value;
                 Future ob = new Future(futureNode);
                 IDManager.SetID(futureIDRef_, ob);
             }
             else if (futureNode.Attributes["href"] != null)
             {
                 futureIDRef_ = futureNode.Attributes["href"].Value;
             }
             else
             {
                 future_ = new Future(futureNode);
             }
         }
         else
         {
             future_ = new Future(futureNode);
         }
     }
     
 
     XmlNode indexNode = xmlNode.SelectSingleNode("index");
     
     if (indexNode != null)
     {
         if (indexNode.Attributes["href"] != null || indexNode.Attributes["id"] != null) 
         {
             if (indexNode.Attributes["id"] != null) 
             {
                 indexIDRef_ = indexNode.Attributes["id"].Value;
                 Index ob = new Index(indexNode);
                 IDManager.SetID(indexIDRef_, ob);
             }
             else if (indexNode.Attributes["href"] != null)
             {
                 indexIDRef_ = indexNode.Attributes["href"].Value;
             }
             else
             {
                 index_ = new Index(indexNode);
             }
         }
         else
         {
             index_ = new Index(indexNode);
         }
     }
     
 
     XmlNode loanNode = xmlNode.SelectSingleNode("loan");
     
     if (loanNode != null)
     {
         if (loanNode.Attributes["href"] != null || loanNode.Attributes["id"] != null) 
         {
             if (loanNode.Attributes["id"] != null) 
             {
                 loanIDRef_ = loanNode.Attributes["id"].Value;
                 Loan ob = new Loan(loanNode);
                 IDManager.SetID(loanIDRef_, ob);
             }
             else if (loanNode.Attributes["href"] != null)
             {
                 loanIDRef_ = loanNode.Attributes["href"].Value;
             }
             else
             {
                 loan_ = new Loan(loanNode);
             }
         }
         else
         {
             loan_ = new Loan(loanNode);
         }
     }
     
 
     XmlNode mortgageNode = xmlNode.SelectSingleNode("mortgage");
     
     if (mortgageNode != null)
     {
         if (mortgageNode.Attributes["href"] != null || mortgageNode.Attributes["id"] != null) 
         {
             if (mortgageNode.Attributes["id"] != null) 
             {
                 mortgageIDRef_ = mortgageNode.Attributes["id"].Value;
                 Mortgage ob = new Mortgage(mortgageNode);
                 IDManager.SetID(mortgageIDRef_, ob);
             }
             else if (mortgageNode.Attributes["href"] != null)
             {
                 mortgageIDRef_ = mortgageNode.Attributes["href"].Value;
             }
             else
             {
                 mortgage_ = new Mortgage(mortgageNode);
             }
         }
         else
         {
             mortgage_ = new Mortgage(mortgageNode);
         }
     }
     
 
     XmlNode mutualFundNode = xmlNode.SelectSingleNode("mutualFund");
     
     if (mutualFundNode != null)
     {
         if (mutualFundNode.Attributes["href"] != null || mutualFundNode.Attributes["id"] != null) 
         {
             if (mutualFundNode.Attributes["id"] != null) 
             {
                 mutualFundIDRef_ = mutualFundNode.Attributes["id"].Value;
                 MutualFund ob = new MutualFund(mutualFundNode);
                 IDManager.SetID(mutualFundIDRef_, ob);
             }
             else if (mutualFundNode.Attributes["href"] != null)
             {
                 mutualFundIDRef_ = mutualFundNode.Attributes["href"].Value;
             }
             else
             {
                 mutualFund_ = new MutualFund(mutualFundNode);
             }
         }
         else
         {
             mutualFund_ = new MutualFund(mutualFundNode);
         }
     }
     
 
     XmlNode forwardSaleDateNode = xmlNode.SelectSingleNode("forwardSaleDate");
     
     if (forwardSaleDateNode != null)
     {
         if (forwardSaleDateNode.Attributes["href"] != null || forwardSaleDateNode.Attributes["id"] != null) 
         {
             if (forwardSaleDateNode.Attributes["id"] != null) 
             {
                 forwardSaleDateIDRef_ = forwardSaleDateNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(forwardSaleDateNode);
                 IDManager.SetID(forwardSaleDateIDRef_, ob);
             }
             else if (forwardSaleDateNode.Attributes["href"] != null)
             {
                 forwardSaleDateIDRef_ = forwardSaleDateNode.Attributes["href"].Value;
             }
             else
             {
                 forwardSaleDate_ = new XsdTypeDate(forwardSaleDateNode);
             }
         }
         else
         {
             forwardSaleDate_ = new XsdTypeDate(forwardSaleDateNode);
         }
     }
     
 
     XmlNode settlementNode = xmlNode.SelectSingleNode("settlement");
     
     if (settlementNode != null)
     {
         if (settlementNode.Attributes["href"] != null || settlementNode.Attributes["id"] != null) 
         {
             if (settlementNode.Attributes["id"] != null) 
             {
                 settlementIDRef_ = settlementNode.Attributes["id"].Value;
                 Payment ob = new Payment(settlementNode);
                 IDManager.SetID(settlementIDRef_, ob);
             }
             else if (settlementNode.Attributes["href"] != null)
             {
                 settlementIDRef_ = settlementNode.Attributes["href"].Value;
             }
             else
             {
                 settlement_ = new Payment(settlementNode);
             }
         }
         else
         {
             settlement_ = new Payment(settlementNode);
         }
     }
     
 
     XmlNode priceNode = xmlNode.SelectSingleNode("price");
     
     if (priceNode != null)
     {
         if (priceNode.Attributes["href"] != null || priceNode.Attributes["id"] != null) 
         {
             if (priceNode.Attributes["id"] != null) 
             {
                 priceIDRef_ = priceNode.Attributes["id"].Value;
                 Price ob = new Price(priceNode);
                 IDManager.SetID(priceIDRef_, ob);
             }
             else if (priceNode.Attributes["href"] != null)
             {
                 priceIDRef_ = priceNode.Attributes["href"].Value;
             }
             else
             {
                 price_ = new Price(priceNode);
             }
         }
         else
         {
             price_ = new Price(priceNode);
         }
     }
     
 
 }
        public DirectionalLeg(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNodeList legIdentifierNodeList = xmlNode.SelectNodes("legIdentifier");

            foreach (XmlNode item in legIdentifierNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        legIdentifierIDRef = item.Attributes["id"].Name;
                        List <LegIdentifier> ob = new List <LegIdentifier>();
                        ob.Add(new LegIdentifier(item));
                        IDManager.SetID(legIdentifierIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        legIdentifierIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        legIdentifier.Add(new LegIdentifier(item));
                    }
                }
            }


            XmlNodeList payerPartyReferenceNodeList = xmlNode.SelectNodes("payerPartyReference");

            if (payerPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in payerPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        payerPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(payerPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        payerPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        payerPartyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList payerAccountReferenceNodeList = xmlNode.SelectNodes("payerAccountReference");

            if (payerAccountReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in payerAccountReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        payerAccountReferenceIDRef = item.Attributes["id"].Name;
                        AccountReference ob = AccountReference();
                        IDManager.SetID(payerAccountReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        payerAccountReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        payerAccountReference = new AccountReference(item);
                    }
                }
            }


            XmlNodeList receiverPartyReferenceNodeList = xmlNode.SelectNodes("receiverPartyReference");

            if (receiverPartyReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in receiverPartyReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        receiverPartyReferenceIDRef = item.Attributes["id"].Name;
                        PartyReference ob = PartyReference();
                        IDManager.SetID(receiverPartyReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        receiverPartyReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        receiverPartyReference = new PartyReference(item);
                    }
                }
            }


            XmlNodeList receiverAccountReferenceNodeList = xmlNode.SelectNodes("receiverAccountReference");

            if (receiverAccountReferenceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in receiverAccountReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        receiverAccountReferenceIDRef = item.Attributes["id"].Name;
                        AccountReference ob = AccountReference();
                        IDManager.SetID(receiverAccountReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        receiverAccountReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        receiverAccountReference = new AccountReference(item);
                    }
                }
            }


            XmlNodeList effectiveDateNodeList = xmlNode.SelectNodes("effectiveDate");

            if (effectiveDateNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in effectiveDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        effectiveDateIDRef = item.Attributes["id"].Name;
                        AdjustableOrRelativeDate ob = AdjustableOrRelativeDate();
                        IDManager.SetID(effectiveDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        effectiveDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        effectiveDate = new AdjustableOrRelativeDate(item);
                    }
                }
            }


            XmlNodeList terminationDateNodeList = xmlNode.SelectNodes("terminationDate");

            if (terminationDateNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in terminationDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        terminationDateIDRef = item.Attributes["id"].Name;
                        AdjustableOrRelativeDate ob = AdjustableOrRelativeDate();
                        IDManager.SetID(terminationDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        terminationDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        terminationDate = new AdjustableOrRelativeDate(item);
                    }
                }
            }
        }
 public TermDeposit(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode payerPartyReferenceNode = xmlNode.SelectSingleNode("payerPartyReference");
     
     if (payerPartyReferenceNode != null)
     {
         if (payerPartyReferenceNode.Attributes["href"] != null || payerPartyReferenceNode.Attributes["id"] != null) 
         {
             if (payerPartyReferenceNode.Attributes["id"] != null) 
             {
                 payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(payerPartyReferenceNode);
                 IDManager.SetID(payerPartyReferenceIDRef_, ob);
             }
             else if (payerPartyReferenceNode.Attributes["href"] != null)
             {
                 payerPartyReferenceIDRef_ = payerPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
             }
         }
         else
         {
             payerPartyReference_ = new PartyReference(payerPartyReferenceNode);
         }
     }
     
 
     XmlNode payerAccountReferenceNode = xmlNode.SelectSingleNode("payerAccountReference");
     
     if (payerAccountReferenceNode != null)
     {
         if (payerAccountReferenceNode.Attributes["href"] != null || payerAccountReferenceNode.Attributes["id"] != null) 
         {
             if (payerAccountReferenceNode.Attributes["id"] != null) 
             {
                 payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(payerAccountReferenceNode);
                 IDManager.SetID(payerAccountReferenceIDRef_, ob);
             }
             else if (payerAccountReferenceNode.Attributes["href"] != null)
             {
                 payerAccountReferenceIDRef_ = payerAccountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
             }
         }
         else
         {
             payerAccountReference_ = new AccountReference(payerAccountReferenceNode);
         }
     }
     
 
     XmlNode receiverPartyReferenceNode = xmlNode.SelectSingleNode("receiverPartyReference");
     
     if (receiverPartyReferenceNode != null)
     {
         if (receiverPartyReferenceNode.Attributes["href"] != null || receiverPartyReferenceNode.Attributes["id"] != null) 
         {
             if (receiverPartyReferenceNode.Attributes["id"] != null) 
             {
                 receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(receiverPartyReferenceNode);
                 IDManager.SetID(receiverPartyReferenceIDRef_, ob);
             }
             else if (receiverPartyReferenceNode.Attributes["href"] != null)
             {
                 receiverPartyReferenceIDRef_ = receiverPartyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
             }
         }
         else
         {
             receiverPartyReference_ = new PartyReference(receiverPartyReferenceNode);
         }
     }
     
 
     XmlNode receiverAccountReferenceNode = xmlNode.SelectSingleNode("receiverAccountReference");
     
     if (receiverAccountReferenceNode != null)
     {
         if (receiverAccountReferenceNode.Attributes["href"] != null || receiverAccountReferenceNode.Attributes["id"] != null) 
         {
             if (receiverAccountReferenceNode.Attributes["id"] != null) 
             {
                 receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["id"].Value;
                 AccountReference ob = new AccountReference(receiverAccountReferenceNode);
                 IDManager.SetID(receiverAccountReferenceIDRef_, ob);
             }
             else if (receiverAccountReferenceNode.Attributes["href"] != null)
             {
                 receiverAccountReferenceIDRef_ = receiverAccountReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
             }
         }
         else
         {
             receiverAccountReference_ = new AccountReference(receiverAccountReferenceNode);
         }
     }
     
 
     XmlNode startDateNode = xmlNode.SelectSingleNode("startDate");
     
     if (startDateNode != null)
     {
         if (startDateNode.Attributes["href"] != null || startDateNode.Attributes["id"] != null) 
         {
             if (startDateNode.Attributes["id"] != null) 
             {
                 startDateIDRef_ = startDateNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(startDateNode);
                 IDManager.SetID(startDateIDRef_, ob);
             }
             else if (startDateNode.Attributes["href"] != null)
             {
                 startDateIDRef_ = startDateNode.Attributes["href"].Value;
             }
             else
             {
                 startDate_ = new XsdTypeDate(startDateNode);
             }
         }
         else
         {
             startDate_ = new XsdTypeDate(startDateNode);
         }
     }
     
 
     XmlNode maturityDateNode = xmlNode.SelectSingleNode("maturityDate");
     
     if (maturityDateNode != null)
     {
         if (maturityDateNode.Attributes["href"] != null || maturityDateNode.Attributes["id"] != null) 
         {
             if (maturityDateNode.Attributes["id"] != null) 
             {
                 maturityDateIDRef_ = maturityDateNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(maturityDateNode);
                 IDManager.SetID(maturityDateIDRef_, ob);
             }
             else if (maturityDateNode.Attributes["href"] != null)
             {
                 maturityDateIDRef_ = maturityDateNode.Attributes["href"].Value;
             }
             else
             {
                 maturityDate_ = new XsdTypeDate(maturityDateNode);
             }
         }
         else
         {
             maturityDate_ = new XsdTypeDate(maturityDateNode);
         }
     }
     
 
     XmlNode tenorNameNode = xmlNode.SelectSingleNode("tenorName");
     
     if (tenorNameNode != null)
     {
         if (tenorNameNode.Attributes["href"] != null || tenorNameNode.Attributes["id"] != null) 
         {
             if (tenorNameNode.Attributes["id"] != null) 
             {
                 tenorNameIDRef_ = tenorNameNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(tenorNameNode);
                 IDManager.SetID(tenorNameIDRef_, ob);
             }
             else if (tenorNameNode.Attributes["href"] != null)
             {
                 tenorNameIDRef_ = tenorNameNode.Attributes["href"].Value;
             }
             else
             {
                 tenorName_ = new XsdTypeBoolean(tenorNameNode);
             }
         }
         else
         {
             tenorName_ = new XsdTypeBoolean(tenorNameNode);
         }
     }
     
 
     XmlNode tenorPeriodNode = xmlNode.SelectSingleNode("tenorPeriod");
     
     if (tenorPeriodNode != null)
     {
         if (tenorPeriodNode.Attributes["href"] != null || tenorPeriodNode.Attributes["id"] != null) 
         {
             if (tenorPeriodNode.Attributes["id"] != null) 
             {
                 tenorPeriodIDRef_ = tenorPeriodNode.Attributes["id"].Value;
                 Period ob = new Period(tenorPeriodNode);
                 IDManager.SetID(tenorPeriodIDRef_, ob);
             }
             else if (tenorPeriodNode.Attributes["href"] != null)
             {
                 tenorPeriodIDRef_ = tenorPeriodNode.Attributes["href"].Value;
             }
             else
             {
                 tenorPeriod_ = new Period(tenorPeriodNode);
             }
         }
         else
         {
             tenorPeriod_ = new Period(tenorPeriodNode);
         }
     }
     
 
     XmlNode principalNode = xmlNode.SelectSingleNode("principal");
     
     if (principalNode != null)
     {
         if (principalNode.Attributes["href"] != null || principalNode.Attributes["id"] != null) 
         {
             if (principalNode.Attributes["id"] != null) 
             {
                 principalIDRef_ = principalNode.Attributes["id"].Value;
                 PositiveMoney ob = new PositiveMoney(principalNode);
                 IDManager.SetID(principalIDRef_, ob);
             }
             else if (principalNode.Attributes["href"] != null)
             {
                 principalIDRef_ = principalNode.Attributes["href"].Value;
             }
             else
             {
                 principal_ = new PositiveMoney(principalNode);
             }
         }
         else
         {
             principal_ = new PositiveMoney(principalNode);
         }
     }
     
 
     XmlNode fixedRateNode = xmlNode.SelectSingleNode("fixedRate");
     
     if (fixedRateNode != null)
     {
         if (fixedRateNode.Attributes["href"] != null || fixedRateNode.Attributes["id"] != null) 
         {
             if (fixedRateNode.Attributes["id"] != null) 
             {
                 fixedRateIDRef_ = fixedRateNode.Attributes["id"].Value;
                 PositiveDecimal ob = new PositiveDecimal(fixedRateNode);
                 IDManager.SetID(fixedRateIDRef_, ob);
             }
             else if (fixedRateNode.Attributes["href"] != null)
             {
                 fixedRateIDRef_ = fixedRateNode.Attributes["href"].Value;
             }
             else
             {
                 fixedRate_ = new PositiveDecimal(fixedRateNode);
             }
         }
         else
         {
             fixedRate_ = new PositiveDecimal(fixedRateNode);
         }
     }
     
 
     XmlNode dayCountFractionNode = xmlNode.SelectSingleNode("dayCountFraction");
     
     if (dayCountFractionNode != null)
     {
         if (dayCountFractionNode.Attributes["href"] != null || dayCountFractionNode.Attributes["id"] != null) 
         {
             if (dayCountFractionNode.Attributes["id"] != null) 
             {
                 dayCountFractionIDRef_ = dayCountFractionNode.Attributes["id"].Value;
                 DayCountFraction ob = new DayCountFraction(dayCountFractionNode);
                 IDManager.SetID(dayCountFractionIDRef_, ob);
             }
             else if (dayCountFractionNode.Attributes["href"] != null)
             {
                 dayCountFractionIDRef_ = dayCountFractionNode.Attributes["href"].Value;
             }
             else
             {
                 dayCountFraction_ = new DayCountFraction(dayCountFractionNode);
             }
         }
         else
         {
             dayCountFraction_ = new DayCountFraction(dayCountFractionNode);
         }
     }
     
 
     XmlNode featuresNode = xmlNode.SelectSingleNode("features");
     
     if (featuresNode != null)
     {
         if (featuresNode.Attributes["href"] != null || featuresNode.Attributes["id"] != null) 
         {
             if (featuresNode.Attributes["id"] != null) 
             {
                 featuresIDRef_ = featuresNode.Attributes["id"].Value;
                 TermDepositFeatures ob = new TermDepositFeatures(featuresNode);
                 IDManager.SetID(featuresIDRef_, ob);
             }
             else if (featuresNode.Attributes["href"] != null)
             {
                 featuresIDRef_ = featuresNode.Attributes["href"].Value;
             }
             else
             {
                 features_ = new TermDepositFeatures(featuresNode);
             }
         }
         else
         {
             features_ = new TermDepositFeatures(featuresNode);
         }
     }
     
 
     XmlNode interestNode = xmlNode.SelectSingleNode("interest");
     
     if (interestNode != null)
     {
         if (interestNode.Attributes["href"] != null || interestNode.Attributes["id"] != null) 
         {
             if (interestNode.Attributes["id"] != null) 
             {
                 interestIDRef_ = interestNode.Attributes["id"].Value;
                 Money ob = new Money(interestNode);
                 IDManager.SetID(interestIDRef_, ob);
             }
             else if (interestNode.Attributes["href"] != null)
             {
                 interestIDRef_ = interestNode.Attributes["href"].Value;
             }
             else
             {
                 interest_ = new Money(interestNode);
             }
         }
         else
         {
             interest_ = new Money(interestNode);
         }
     }
     
 
     XmlNodeList paymentNodeList = xmlNode.SelectNodes("payment");
     
     if (paymentNodeList != null)
     {
         this.payment_ = new List<Payment>();
         foreach (XmlNode item in paymentNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     paymentIDRef_ = item.Attributes["id"].Value;
                     payment_.Add(new Payment(item));
                     IDManager.SetID(paymentIDRef_, payment_[payment_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     paymentIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 payment_.Add(new Payment(item));
                 }
             }
             else
             {
                 payment_.Add(new Payment(item));
             }
         }
     }
     
 
 }
 public CreditEventNoticeDocument(XmlNode xmlNode)
 {
     XmlNodeList affectedTransactionsNodeList = xmlNode.SelectNodes("affectedTransactions");
     if (affectedTransactionsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in affectedTransactionsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 affectedTransactionsIDRef = item.Attributes["id"].Name;
                 AffectedTransactions ob = AffectedTransactions();
                 IDManager.SetID(affectedTransactionsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 affectedTransactionsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 affectedTransactions = new AffectedTransactions(item);
             }
         }
     }
     
 
     XmlNodeList referenceEntityNodeList = xmlNode.SelectNodes("referenceEntity");
     if (referenceEntityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in referenceEntityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 referenceEntityIDRef = item.Attributes["id"].Name;
                 LegalEntity ob = LegalEntity();
                 IDManager.SetID(referenceEntityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 referenceEntityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 referenceEntity = new LegalEntity(item);
             }
         }
     }
     
 
     XmlNodeList creditEventNodeList = xmlNode.SelectNodes("creditEvent");
     if (creditEventNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in creditEventNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 creditEventIDRef = item.Attributes["id"].Name;
                 CreditEvent ob = CreditEvent();
                 IDManager.SetID(creditEventIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 creditEventIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 creditEvent = new CreditEvent(item);
             }
         }
     }
     
 
     XmlNodeList bankruptcyNodeList = xmlNode.SelectNodes("bankruptcy");
     if (bankruptcyNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in bankruptcyNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 bankruptcyIDRef = item.Attributes["id"].Name;
                 BankruptcyEvent ob = BankruptcyEvent();
                 IDManager.SetID(bankruptcyIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 bankruptcyIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 bankruptcy = new BankruptcyEvent(item);
             }
         }
     }
     
 
     XmlNodeList failureToPayNodeList = xmlNode.SelectNodes("failureToPay");
     if (failureToPayNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in failureToPayNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 failureToPayIDRef = item.Attributes["id"].Name;
                 FailureToPayEvent ob = FailureToPayEvent();
                 IDManager.SetID(failureToPayIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 failureToPayIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 failureToPay = new FailureToPayEvent(item);
             }
         }
     }
     
 
     XmlNodeList obligationAccelerationNodeList = xmlNode.SelectNodes("obligationAcceleration");
     if (obligationAccelerationNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in obligationAccelerationNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 obligationAccelerationIDRef = item.Attributes["id"].Name;
                 ObligationAccelerationEvent ob = ObligationAccelerationEvent();
                 IDManager.SetID(obligationAccelerationIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 obligationAccelerationIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 obligationAcceleration = new ObligationAccelerationEvent(item);
             }
         }
     }
     
 
     XmlNodeList obligationDefaultNodeList = xmlNode.SelectNodes("obligationDefault");
     if (obligationDefaultNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in obligationDefaultNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 obligationDefaultIDRef = item.Attributes["id"].Name;
                 ObligationDefaultEvent ob = ObligationDefaultEvent();
                 IDManager.SetID(obligationDefaultIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 obligationDefaultIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 obligationDefault = new ObligationDefaultEvent(item);
             }
         }
     }
     
 
     XmlNodeList repudiationMoratoriumNodeList = xmlNode.SelectNodes("repudiationMoratorium");
     if (repudiationMoratoriumNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in repudiationMoratoriumNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 repudiationMoratoriumIDRef = item.Attributes["id"].Name;
                 RepudiationMoratoriumEvent ob = RepudiationMoratoriumEvent();
                 IDManager.SetID(repudiationMoratoriumIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 repudiationMoratoriumIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 repudiationMoratorium = new RepudiationMoratoriumEvent(item);
             }
         }
     }
     
 
     XmlNodeList restructuringNodeList = xmlNode.SelectNodes("restructuring");
     if (restructuringNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in restructuringNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 restructuringIDRef = item.Attributes["id"].Name;
                 RestructuringEvent ob = RestructuringEvent();
                 IDManager.SetID(restructuringIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 restructuringIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 restructuring = new RestructuringEvent(item);
             }
         }
     }
     
 
     XmlNodeList publiclyAvailableInformationNodeList = xmlNode.SelectNodes("publiclyAvailableInformation");
     
     foreach (XmlNode item in publiclyAvailableInformationNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 publiclyAvailableInformationIDRef = item.Attributes["id"].Name;
                 List<Resource> ob = new List<Resource>();
                 ob.Add(new Resource(item));
                 IDManager.SetID(publiclyAvailableInformationIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 publiclyAvailableInformationIDRef = item.Attributes["href"].Name;
             }
             else
             {
             publiclyAvailableInformation.Add(new Resource(item));
             }
         }
     }
     
 
     XmlNodeList notifyingPartyReferenceNodeList = xmlNode.SelectNodes("notifyingPartyReference");
     if (notifyingPartyReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notifyingPartyReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notifyingPartyReferenceIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(notifyingPartyReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notifyingPartyReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notifyingPartyReference = new PartyReference(item);
             }
         }
     }
     
 
     XmlNodeList notifiedPartyReferenceNodeList = xmlNode.SelectNodes("notifiedPartyReference");
     if (notifiedPartyReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notifiedPartyReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notifiedPartyReferenceIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(notifiedPartyReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notifiedPartyReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notifiedPartyReference = new PartyReference(item);
             }
         }
     }
     
 
     XmlNodeList creditEventNoticeDateNodeList = xmlNode.SelectNodes("creditEventNoticeDate");
     if (creditEventNoticeDateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in creditEventNoticeDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 creditEventNoticeDateIDRef = item.Attributes["id"].Name;
                 XsdTypeDate ob = XsdTypeDate();
                 IDManager.SetID(creditEventNoticeDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 creditEventNoticeDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 creditEventNoticeDate = new XsdTypeDate(item);
             }
         }
     }
     
 
     XmlNodeList creditEventDateNodeList = xmlNode.SelectNodes("creditEventDate");
     if (creditEventDateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in creditEventDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 creditEventDateIDRef = item.Attributes["id"].Name;
                 XsdTypeDate ob = XsdTypeDate();
                 IDManager.SetID(creditEventDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 creditEventDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 creditEventDate = new XsdTypeDate(item);
             }
         }
     }
     
 
 }
 public CommodityHub(XmlNode xmlNode)
 {
     XmlNodeList partyReferenceNodeList = xmlNode.SelectNodes("partyReference");
     if (partyReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in partyReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 partyReferenceIDRef = item.Attributes["id"].Name;
                 PartyReference ob = PartyReference();
                 IDManager.SetID(partyReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 partyReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 partyReference = new PartyReference(item);
             }
         }
     }
     
 
     XmlNodeList accountReferenceNodeList = xmlNode.SelectNodes("accountReference");
     if (accountReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in accountReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 accountReferenceIDRef = item.Attributes["id"].Name;
                 AccountReference ob = AccountReference();
                 IDManager.SetID(accountReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 accountReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 accountReference = new AccountReference(item);
             }
         }
     }
     
 
     XmlNodeList hubCodeNodeList = xmlNode.SelectNodes("hubCode");
     if (hubCodeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in hubCodeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 hubCodeIDRef = item.Attributes["id"].Name;
                 CommodityHubCode ob = CommodityHubCode();
                 IDManager.SetID(hubCodeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 hubCodeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 hubCode = new CommodityHubCode(item);
             }
         }
     }
     
 
 }