public Composite(XmlNode xmlNode)
 {
     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 relativeDateNodeList = xmlNode.SelectNodes("relativeDate");
     if (relativeDateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in relativeDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 relativeDateIDRef = item.Attributes["id"].Name;
                 RelativeDateOffset ob = RelativeDateOffset();
                 IDManager.SetID(relativeDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 relativeDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 relativeDate = new RelativeDateOffset(item);
             }
         }
     }
     
 
     XmlNodeList fxSpotRateSourceNodeList = xmlNode.SelectNodes("fxSpotRateSource");
     if (fxSpotRateSourceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in fxSpotRateSourceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 fxSpotRateSourceIDRef = item.Attributes["id"].Name;
                 FxSpotRateSource ob = FxSpotRateSource();
                 IDManager.SetID(fxSpotRateSourceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 fxSpotRateSourceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 fxSpotRateSource = new FxSpotRateSource(item);
             }
         }
     }
     
 
 }
        public SharedAmericanExercise(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode commencementDateNode = xmlNode.SelectSingleNode("commencementDate");

            if (commencementDateNode != null)
            {
                if (commencementDateNode.Attributes["href"] != null || commencementDateNode.Attributes["id"] != null)
                {
                    if (commencementDateNode.Attributes["id"] != null)
                    {
                        commencementDateIDRef_ = commencementDateNode.Attributes["id"].Value;
                        AdjustableOrRelativeDate ob = new AdjustableOrRelativeDate(commencementDateNode);
                        IDManager.SetID(commencementDateIDRef_, ob);
                    }
                    else if (commencementDateNode.Attributes["href"] != null)
                    {
                        commencementDateIDRef_ = commencementDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        commencementDate_ = new AdjustableOrRelativeDate(commencementDateNode);
                    }
                }
                else
                {
                    commencementDate_ = new AdjustableOrRelativeDate(commencementDateNode);
                }
            }


            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;
                        AdjustableOrRelativeDate ob = new AdjustableOrRelativeDate(expirationDateNode);
                        IDManager.SetID(expirationDateIDRef_, ob);
                    }
                    else if (expirationDateNode.Attributes["href"] != null)
                    {
                        expirationDateIDRef_ = expirationDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        expirationDate_ = new AdjustableOrRelativeDate(expirationDateNode);
                    }
                }
                else
                {
                    expirationDate_ = new AdjustableOrRelativeDate(expirationDateNode);
                }
            }


            XmlNode latestExerciseTimeNode = xmlNode.SelectSingleNode("latestExerciseTime");

            if (latestExerciseTimeNode != null)
            {
                if (latestExerciseTimeNode.Attributes["href"] != null || latestExerciseTimeNode.Attributes["id"] != null)
                {
                    if (latestExerciseTimeNode.Attributes["id"] != null)
                    {
                        latestExerciseTimeIDRef_ = latestExerciseTimeNode.Attributes["id"].Value;
                        BusinessCenterTime ob = new BusinessCenterTime(latestExerciseTimeNode);
                        IDManager.SetID(latestExerciseTimeIDRef_, ob);
                    }
                    else if (latestExerciseTimeNode.Attributes["href"] != null)
                    {
                        latestExerciseTimeIDRef_ = latestExerciseTimeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        latestExerciseTime_ = new BusinessCenterTime(latestExerciseTimeNode);
                    }
                }
                else
                {
                    latestExerciseTime_ = new BusinessCenterTime(latestExerciseTimeNode);
                }
            }


            XmlNode latestExerciseTimeDeterminationNode = xmlNode.SelectSingleNode("latestExerciseTimeDetermination");

            if (latestExerciseTimeDeterminationNode != null)
            {
                if (latestExerciseTimeDeterminationNode.Attributes["href"] != null || latestExerciseTimeDeterminationNode.Attributes["id"] != null)
                {
                    if (latestExerciseTimeDeterminationNode.Attributes["id"] != null)
                    {
                        latestExerciseTimeDeterminationIDRef_ = latestExerciseTimeDeterminationNode.Attributes["id"].Value;
                        DeterminationMethod ob = new DeterminationMethod(latestExerciseTimeDeterminationNode);
                        IDManager.SetID(latestExerciseTimeDeterminationIDRef_, ob);
                    }
                    else if (latestExerciseTimeDeterminationNode.Attributes["href"] != null)
                    {
                        latestExerciseTimeDeterminationIDRef_ = latestExerciseTimeDeterminationNode.Attributes["href"].Value;
                    }
                    else
                    {
                        latestExerciseTimeDetermination_ = new DeterminationMethod(latestExerciseTimeDeterminationNode);
                    }
                }
                else
                {
                    latestExerciseTimeDetermination_ = new DeterminationMethod(latestExerciseTimeDeterminationNode);
                }
            }
        }
        public EquityEuropeanExercise(XmlNode xmlNode)
            : base(xmlNode)
        {
            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;
                        AdjustableOrRelativeDate ob = new AdjustableOrRelativeDate(expirationDateNode);
                        IDManager.SetID(expirationDateIDRef_, ob);
                    }
                    else if (expirationDateNode.Attributes["href"] != null)
                    {
                        expirationDateIDRef_ = expirationDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        expirationDate_ = new AdjustableOrRelativeDate(expirationDateNode);
                    }
                }
                else
                {
                    expirationDate_ = new AdjustableOrRelativeDate(expirationDateNode);
                }
            }


            XmlNode equityExpirationTimeTypeNode = xmlNode.SelectSingleNode("equityExpirationTimeType");

            if (equityExpirationTimeTypeNode != null)
            {
                if (equityExpirationTimeTypeNode.Attributes["href"] != null || equityExpirationTimeTypeNode.Attributes["id"] != null)
                {
                    if (equityExpirationTimeTypeNode.Attributes["id"] != null)
                    {
                        equityExpirationTimeTypeIDRef_ = equityExpirationTimeTypeNode.Attributes["id"].Value;
                        TimeTypeEnum ob = new TimeTypeEnum(equityExpirationTimeTypeNode);
                        IDManager.SetID(equityExpirationTimeTypeIDRef_, ob);
                    }
                    else if (equityExpirationTimeTypeNode.Attributes["href"] != null)
                    {
                        equityExpirationTimeTypeIDRef_ = equityExpirationTimeTypeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        equityExpirationTimeType_ = new TimeTypeEnum(equityExpirationTimeTypeNode);
                    }
                }
                else
                {
                    equityExpirationTimeType_ = new TimeTypeEnum(equityExpirationTimeTypeNode);
                }
            }


            XmlNode equityExpirationTimeNode = xmlNode.SelectSingleNode("equityExpirationTime");

            if (equityExpirationTimeNode != null)
            {
                if (equityExpirationTimeNode.Attributes["href"] != null || equityExpirationTimeNode.Attributes["id"] != null)
                {
                    if (equityExpirationTimeNode.Attributes["id"] != null)
                    {
                        equityExpirationTimeIDRef_ = equityExpirationTimeNode.Attributes["id"].Value;
                        BusinessCenterTime ob = new BusinessCenterTime(equityExpirationTimeNode);
                        IDManager.SetID(equityExpirationTimeIDRef_, ob);
                    }
                    else if (equityExpirationTimeNode.Attributes["href"] != null)
                    {
                        equityExpirationTimeIDRef_ = equityExpirationTimeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        equityExpirationTime_ = new BusinessCenterTime(equityExpirationTimeNode);
                    }
                }
                else
                {
                    equityExpirationTime_ = new BusinessCenterTime(equityExpirationTimeNode);
                }
            }


            XmlNode expirationTimeDeterminationNode = xmlNode.SelectSingleNode("expirationTimeDetermination");

            if (expirationTimeDeterminationNode != null)
            {
                if (expirationTimeDeterminationNode.Attributes["href"] != null || expirationTimeDeterminationNode.Attributes["id"] != null)
                {
                    if (expirationTimeDeterminationNode.Attributes["id"] != null)
                    {
                        expirationTimeDeterminationIDRef_ = expirationTimeDeterminationNode.Attributes["id"].Value;
                        DeterminationMethod ob = new DeterminationMethod(expirationTimeDeterminationNode);
                        IDManager.SetID(expirationTimeDeterminationIDRef_, ob);
                    }
                    else if (expirationTimeDeterminationNode.Attributes["href"] != null)
                    {
                        expirationTimeDeterminationIDRef_ = expirationTimeDeterminationNode.Attributes["href"].Value;
                    }
                    else
                    {
                        expirationTimeDetermination_ = new DeterminationMethod(expirationTimeDeterminationNode);
                    }
                }
                else
                {
                    expirationTimeDetermination_ = new DeterminationMethod(expirationTimeDeterminationNode);
                }
            }
        }
Example #4
0
        public EquityEuropeanExercise(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNodeList expirationDateNodeList = xmlNode.SelectNodes("expirationDate");

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

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


            XmlNodeList equityExpirationTimeTypeNodeList = xmlNode.SelectNodes("equityExpirationTimeType");

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

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


            XmlNodeList equityExpirationTimeNodeList = xmlNode.SelectNodes("equityExpirationTime");

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

            foreach (XmlNode item in equityExpirationTimeNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        equityExpirationTimeIDRef = item.Attributes["id"].Name;
                        BusinessCenterTime ob = BusinessCenterTime();
                        IDManager.SetID(equityExpirationTimeIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        equityExpirationTimeIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        equityExpirationTime = new BusinessCenterTime(item);
                    }
                }
            }


            XmlNodeList expirationTimeDeterminationNodeList = xmlNode.SelectNodes("expirationTimeDetermination");

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

            foreach (XmlNode item in expirationTimeDeterminationNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        expirationTimeDeterminationIDRef = item.Attributes["id"].Name;
                        DeterminationMethod ob = DeterminationMethod();
                        IDManager.SetID(expirationTimeDeterminationIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        expirationTimeDeterminationIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        expirationTimeDetermination = new DeterminationMethod(item);
                    }
                }
            }
        }
        public EquityAmericanExercise(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNodeList latestExerciseTimeTypeNodeList = xmlNode.SelectNodes("latestExerciseTimeType");

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

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


            XmlNodeList equityExpirationTimeTypeNodeList = xmlNode.SelectNodes("equityExpirationTimeType");

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

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


            XmlNodeList equityExpirationTimeNodeList = xmlNode.SelectNodes("equityExpirationTime");

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

            foreach (XmlNode item in equityExpirationTimeNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        equityExpirationTimeIDRef = item.Attributes["id"].Name;
                        BusinessCenterTime ob = BusinessCenterTime();
                        IDManager.SetID(equityExpirationTimeIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        equityExpirationTimeIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        equityExpirationTime = new BusinessCenterTime(item);
                    }
                }
            }


            XmlNodeList expirationTimeDeterminationNodeList = xmlNode.SelectNodes("expirationTimeDetermination");

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

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


            XmlNodeList equityMultipleExerciseNodeList = xmlNode.SelectNodes("equityMultipleExercise");

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

            foreach (XmlNode item in equityMultipleExerciseNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        equityMultipleExerciseIDRef = item.Attributes["id"].Name;
                        EquityMultipleExercise ob = EquityMultipleExercise();
                        IDManager.SetID(equityMultipleExerciseIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        equityMultipleExerciseIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        equityMultipleExercise = new EquityMultipleExercise(item);
                    }
                }
            }
        }
 public CommodityAmericanExercise(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode exercisePeriodNode = xmlNode.SelectSingleNode("exercisePeriod");
     
     if (exercisePeriodNode != null)
     {
         if (exercisePeriodNode.Attributes["href"] != null || exercisePeriodNode.Attributes["id"] != null) 
         {
             if (exercisePeriodNode.Attributes["id"] != null) 
             {
                 exercisePeriodIDRef_ = exercisePeriodNode.Attributes["id"].Value;
                 CommodityExercisePeriods ob = new CommodityExercisePeriods(exercisePeriodNode);
                 IDManager.SetID(exercisePeriodIDRef_, ob);
             }
             else if (exercisePeriodNode.Attributes["href"] != null)
             {
                 exercisePeriodIDRef_ = exercisePeriodNode.Attributes["href"].Value;
             }
             else
             {
                 exercisePeriod_ = new CommodityExercisePeriods(exercisePeriodNode);
             }
         }
         else
         {
             exercisePeriod_ = new CommodityExercisePeriods(exercisePeriodNode);
         }
     }
     
 
     XmlNode exerciseFrequencyNode = xmlNode.SelectSingleNode("exerciseFrequency");
     
     if (exerciseFrequencyNode != null)
     {
         if (exerciseFrequencyNode.Attributes["href"] != null || exerciseFrequencyNode.Attributes["id"] != null) 
         {
             if (exerciseFrequencyNode.Attributes["id"] != null) 
             {
                 exerciseFrequencyIDRef_ = exerciseFrequencyNode.Attributes["id"].Value;
                 Frequency ob = new Frequency(exerciseFrequencyNode);
                 IDManager.SetID(exerciseFrequencyIDRef_, ob);
             }
             else if (exerciseFrequencyNode.Attributes["href"] != null)
             {
                 exerciseFrequencyIDRef_ = exerciseFrequencyNode.Attributes["href"].Value;
             }
             else
             {
                 exerciseFrequency_ = new Frequency(exerciseFrequencyNode);
             }
         }
         else
         {
             exerciseFrequency_ = new Frequency(exerciseFrequencyNode);
         }
     }
     
 
     XmlNode latestExerciseTimeNode = xmlNode.SelectSingleNode("latestExerciseTime");
     
     if (latestExerciseTimeNode != null)
     {
         if (latestExerciseTimeNode.Attributes["href"] != null || latestExerciseTimeNode.Attributes["id"] != null) 
         {
             if (latestExerciseTimeNode.Attributes["id"] != null) 
             {
                 latestExerciseTimeIDRef_ = latestExerciseTimeNode.Attributes["id"].Value;
                 BusinessCenterTime ob = new BusinessCenterTime(latestExerciseTimeNode);
                 IDManager.SetID(latestExerciseTimeIDRef_, ob);
             }
             else if (latestExerciseTimeNode.Attributes["href"] != null)
             {
                 latestExerciseTimeIDRef_ = latestExerciseTimeNode.Attributes["href"].Value;
             }
             else
             {
                 latestExerciseTime_ = new BusinessCenterTime(latestExerciseTimeNode);
             }
         }
         else
         {
             latestExerciseTime_ = new BusinessCenterTime(latestExerciseTimeNode);
         }
     }
     
 
     XmlNode latestExerciseTimeDeterminationNode = xmlNode.SelectSingleNode("latestExerciseTimeDetermination");
     
     if (latestExerciseTimeDeterminationNode != null)
     {
         if (latestExerciseTimeDeterminationNode.Attributes["href"] != null || latestExerciseTimeDeterminationNode.Attributes["id"] != null) 
         {
             if (latestExerciseTimeDeterminationNode.Attributes["id"] != null) 
             {
                 latestExerciseTimeDeterminationIDRef_ = latestExerciseTimeDeterminationNode.Attributes["id"].Value;
                 DeterminationMethod ob = new DeterminationMethod(latestExerciseTimeDeterminationNode);
                 IDManager.SetID(latestExerciseTimeDeterminationIDRef_, ob);
             }
             else if (latestExerciseTimeDeterminationNode.Attributes["href"] != null)
             {
                 latestExerciseTimeDeterminationIDRef_ = latestExerciseTimeDeterminationNode.Attributes["href"].Value;
             }
             else
             {
                 latestExerciseTimeDetermination_ = new DeterminationMethod(latestExerciseTimeDeterminationNode);
             }
         }
         else
         {
             latestExerciseTimeDetermination_ = new DeterminationMethod(latestExerciseTimeDeterminationNode);
         }
     }
     
 
     XmlNode expirationTimeNode = xmlNode.SelectSingleNode("expirationTime");
     
     if (expirationTimeNode != null)
     {
         if (expirationTimeNode.Attributes["href"] != null || expirationTimeNode.Attributes["id"] != null) 
         {
             if (expirationTimeNode.Attributes["id"] != null) 
             {
                 expirationTimeIDRef_ = expirationTimeNode.Attributes["id"].Value;
                 BusinessCenterTime ob = new BusinessCenterTime(expirationTimeNode);
                 IDManager.SetID(expirationTimeIDRef_, ob);
             }
             else if (expirationTimeNode.Attributes["href"] != null)
             {
                 expirationTimeIDRef_ = expirationTimeNode.Attributes["href"].Value;
             }
             else
             {
                 expirationTime_ = new BusinessCenterTime(expirationTimeNode);
             }
         }
         else
         {
             expirationTime_ = new BusinessCenterTime(expirationTimeNode);
         }
     }
     
 
     XmlNode multipleExerciseNode = xmlNode.SelectSingleNode("multipleExercise");
     
     if (multipleExerciseNode != null)
     {
         if (multipleExerciseNode.Attributes["href"] != null || multipleExerciseNode.Attributes["id"] != null) 
         {
             if (multipleExerciseNode.Attributes["id"] != null) 
             {
                 multipleExerciseIDRef_ = multipleExerciseNode.Attributes["id"].Value;
                 CommodityMultipleExercise ob = new CommodityMultipleExercise(multipleExerciseNode);
                 IDManager.SetID(multipleExerciseIDRef_, ob);
             }
             else if (multipleExerciseNode.Attributes["href"] != null)
             {
                 multipleExerciseIDRef_ = multipleExerciseNode.Attributes["href"].Value;
             }
             else
             {
                 multipleExercise_ = new CommodityMultipleExercise(multipleExerciseNode);
             }
         }
         else
         {
             multipleExercise_ = new CommodityMultipleExercise(multipleExerciseNode);
         }
     }
     
 
 }
 public ReturnSwapNotional(XmlNode xmlNode)
 {
     XmlNodeList relativeNotionalAmountNodeList = xmlNode.SelectNodes("relativeNotionalAmount");
     if (relativeNotionalAmountNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in relativeNotionalAmountNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 relativeNotionalAmountIDRef = item.Attributes["id"].Name;
                 ReturnSwapNotionalAmountReference ob = ReturnSwapNotionalAmountReference();
                 IDManager.SetID(relativeNotionalAmountIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 relativeNotionalAmountIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 relativeNotionalAmount = new ReturnSwapNotionalAmountReference(item);
             }
         }
     }
     
 
     XmlNodeList relativeDeterminationMethodNodeList = xmlNode.SelectNodes("relativeDeterminationMethod");
     if (relativeDeterminationMethodNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in relativeDeterminationMethodNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 relativeDeterminationMethodIDRef = item.Attributes["id"].Name;
                 DeterminationMethodReference ob = DeterminationMethodReference();
                 IDManager.SetID(relativeDeterminationMethodIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 relativeDeterminationMethodIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 relativeDeterminationMethod = new DeterminationMethodReference(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 notionalAmountNodeList = xmlNode.SelectNodes("notionalAmount");
     if (notionalAmountNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notionalAmountNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notionalAmountIDRef = item.Attributes["id"].Name;
                 NotionalAmount ob = NotionalAmount();
                 IDManager.SetID(notionalAmountIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notionalAmountIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notionalAmount = new NotionalAmount(item);
             }
         }
     }
     
 
 }
Example #8
0
        public PrincipalExchangeAmount(XmlNode xmlNode)
        {
            XmlNodeList amountRelativeToNodeList = xmlNode.SelectNodes("amountRelativeTo");

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

            foreach (XmlNode item in amountRelativeToNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        amountRelativeToIDRef = item.Attributes["id"].Name;
                        AmountReference ob = AmountReference();
                        IDManager.SetID(amountRelativeToIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        amountRelativeToIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        amountRelativeTo = new AmountReference(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 principalAmountNodeList = xmlNode.SelectNodes("principalAmount");

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

            foreach (XmlNode item in principalAmountNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        principalAmountIDRef = item.Attributes["id"].Name;
                        NonNegativeMoney ob = NonNegativeMoney();
                        IDManager.SetID(principalAmountIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        principalAmountIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        principalAmount = new NonNegativeMoney(item);
                    }
                }
            }
        }
        public Composite(XmlNode xmlNode)
        {
            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 relativeDateNodeList = xmlNode.SelectNodes("relativeDate");

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

            foreach (XmlNode item in relativeDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        relativeDateIDRef = item.Attributes["id"].Name;
                        RelativeDateOffset ob = RelativeDateOffset();
                        IDManager.SetID(relativeDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        relativeDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        relativeDate = new RelativeDateOffset(item);
                    }
                }
            }


            XmlNodeList fxSpotRateSourceNodeList = xmlNode.SelectNodes("fxSpotRateSource");

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

            foreach (XmlNode item in fxSpotRateSourceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        fxSpotRateSourceIDRef = item.Attributes["id"].Name;
                        FxSpotRateSource ob = FxSpotRateSource();
                        IDManager.SetID(fxSpotRateSourceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        fxSpotRateSourceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        fxSpotRateSource = new FxSpotRateSource(item);
                    }
                }
            }
        }
 public SharedAmericanExercise(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode commencementDateNode = xmlNode.SelectSingleNode("commencementDate");
     
     if (commencementDateNode != null)
     {
         if (commencementDateNode.Attributes["href"] != null || commencementDateNode.Attributes["id"] != null) 
         {
             if (commencementDateNode.Attributes["id"] != null) 
             {
                 commencementDateIDRef_ = commencementDateNode.Attributes["id"].Value;
                 AdjustableOrRelativeDate ob = new AdjustableOrRelativeDate(commencementDateNode);
                 IDManager.SetID(commencementDateIDRef_, ob);
             }
             else if (commencementDateNode.Attributes["href"] != null)
             {
                 commencementDateIDRef_ = commencementDateNode.Attributes["href"].Value;
             }
             else
             {
                 commencementDate_ = new AdjustableOrRelativeDate(commencementDateNode);
             }
         }
         else
         {
             commencementDate_ = new AdjustableOrRelativeDate(commencementDateNode);
         }
     }
     
 
     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;
                 AdjustableOrRelativeDate ob = new AdjustableOrRelativeDate(expirationDateNode);
                 IDManager.SetID(expirationDateIDRef_, ob);
             }
             else if (expirationDateNode.Attributes["href"] != null)
             {
                 expirationDateIDRef_ = expirationDateNode.Attributes["href"].Value;
             }
             else
             {
                 expirationDate_ = new AdjustableOrRelativeDate(expirationDateNode);
             }
         }
         else
         {
             expirationDate_ = new AdjustableOrRelativeDate(expirationDateNode);
         }
     }
     
 
     XmlNode latestExerciseTimeNode = xmlNode.SelectSingleNode("latestExerciseTime");
     
     if (latestExerciseTimeNode != null)
     {
         if (latestExerciseTimeNode.Attributes["href"] != null || latestExerciseTimeNode.Attributes["id"] != null) 
         {
             if (latestExerciseTimeNode.Attributes["id"] != null) 
             {
                 latestExerciseTimeIDRef_ = latestExerciseTimeNode.Attributes["id"].Value;
                 BusinessCenterTime ob = new BusinessCenterTime(latestExerciseTimeNode);
                 IDManager.SetID(latestExerciseTimeIDRef_, ob);
             }
             else if (latestExerciseTimeNode.Attributes["href"] != null)
             {
                 latestExerciseTimeIDRef_ = latestExerciseTimeNode.Attributes["href"].Value;
             }
             else
             {
                 latestExerciseTime_ = new BusinessCenterTime(latestExerciseTimeNode);
             }
         }
         else
         {
             latestExerciseTime_ = new BusinessCenterTime(latestExerciseTimeNode);
         }
     }
     
 
     XmlNode latestExerciseTimeDeterminationNode = xmlNode.SelectSingleNode("latestExerciseTimeDetermination");
     
     if (latestExerciseTimeDeterminationNode != null)
     {
         if (latestExerciseTimeDeterminationNode.Attributes["href"] != null || latestExerciseTimeDeterminationNode.Attributes["id"] != null) 
         {
             if (latestExerciseTimeDeterminationNode.Attributes["id"] != null) 
             {
                 latestExerciseTimeDeterminationIDRef_ = latestExerciseTimeDeterminationNode.Attributes["id"].Value;
                 DeterminationMethod ob = new DeterminationMethod(latestExerciseTimeDeterminationNode);
                 IDManager.SetID(latestExerciseTimeDeterminationIDRef_, ob);
             }
             else if (latestExerciseTimeDeterminationNode.Attributes["href"] != null)
             {
                 latestExerciseTimeDeterminationIDRef_ = latestExerciseTimeDeterminationNode.Attributes["href"].Value;
             }
             else
             {
                 latestExerciseTimeDetermination_ = new DeterminationMethod(latestExerciseTimeDeterminationNode);
             }
         }
         else
         {
             latestExerciseTimeDetermination_ = new DeterminationMethod(latestExerciseTimeDeterminationNode);
         }
     }
     
 
 }
 public EquityEuropeanExercise(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNodeList expirationDateNodeList = xmlNode.SelectNodes("expirationDate");
     if (expirationDateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in expirationDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 expirationDateIDRef = item.Attributes["id"].Name;
                 AdjustableOrRelativeDate ob = AdjustableOrRelativeDate();
                 IDManager.SetID(expirationDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 expirationDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 expirationDate = new AdjustableOrRelativeDate(item);
             }
         }
     }
     
 
     XmlNodeList equityExpirationTimeTypeNodeList = xmlNode.SelectNodes("equityExpirationTimeType");
     if (equityExpirationTimeTypeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in equityExpirationTimeTypeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 equityExpirationTimeTypeIDRef = item.Attributes["id"].Name;
                 TimeTypeEnum ob = TimeTypeEnum();
                 IDManager.SetID(equityExpirationTimeTypeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 equityExpirationTimeTypeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 equityExpirationTimeType = new TimeTypeEnum(item);
             }
         }
     }
     
 
     XmlNodeList equityExpirationTimeNodeList = xmlNode.SelectNodes("equityExpirationTime");
     if (equityExpirationTimeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in equityExpirationTimeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 equityExpirationTimeIDRef = item.Attributes["id"].Name;
                 BusinessCenterTime ob = BusinessCenterTime();
                 IDManager.SetID(equityExpirationTimeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 equityExpirationTimeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 equityExpirationTime = new BusinessCenterTime(item);
             }
         }
     }
     
 
     XmlNodeList expirationTimeDeterminationNodeList = xmlNode.SelectNodes("expirationTimeDetermination");
     if (expirationTimeDeterminationNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in expirationTimeDeterminationNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 expirationTimeDeterminationIDRef = item.Attributes["id"].Name;
                 DeterminationMethod ob = DeterminationMethod();
                 IDManager.SetID(expirationTimeDeterminationIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 expirationTimeDeterminationIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 expirationTimeDetermination = new DeterminationMethod(item);
             }
         }
     }
     
 
 }
 public EquityEuropeanExercise(XmlNode xmlNode)
 : base(xmlNode)
 {
     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;
                 AdjustableOrRelativeDate ob = new AdjustableOrRelativeDate(expirationDateNode);
                 IDManager.SetID(expirationDateIDRef_, ob);
             }
             else if (expirationDateNode.Attributes["href"] != null)
             {
                 expirationDateIDRef_ = expirationDateNode.Attributes["href"].Value;
             }
             else
             {
                 expirationDate_ = new AdjustableOrRelativeDate(expirationDateNode);
             }
         }
         else
         {
             expirationDate_ = new AdjustableOrRelativeDate(expirationDateNode);
         }
     }
     
 
     XmlNode equityExpirationTimeTypeNode = xmlNode.SelectSingleNode("equityExpirationTimeType");
     
     if (equityExpirationTimeTypeNode != null)
     {
         if (equityExpirationTimeTypeNode.Attributes["href"] != null || equityExpirationTimeTypeNode.Attributes["id"] != null) 
         {
             if (equityExpirationTimeTypeNode.Attributes["id"] != null) 
             {
                 equityExpirationTimeTypeIDRef_ = equityExpirationTimeTypeNode.Attributes["id"].Value;
                 TimeTypeEnum ob = new TimeTypeEnum(equityExpirationTimeTypeNode);
                 IDManager.SetID(equityExpirationTimeTypeIDRef_, ob);
             }
             else if (equityExpirationTimeTypeNode.Attributes["href"] != null)
             {
                 equityExpirationTimeTypeIDRef_ = equityExpirationTimeTypeNode.Attributes["href"].Value;
             }
             else
             {
                 equityExpirationTimeType_ = new TimeTypeEnum(equityExpirationTimeTypeNode);
             }
         }
         else
         {
             equityExpirationTimeType_ = new TimeTypeEnum(equityExpirationTimeTypeNode);
         }
     }
     
 
     XmlNode equityExpirationTimeNode = xmlNode.SelectSingleNode("equityExpirationTime");
     
     if (equityExpirationTimeNode != null)
     {
         if (equityExpirationTimeNode.Attributes["href"] != null || equityExpirationTimeNode.Attributes["id"] != null) 
         {
             if (equityExpirationTimeNode.Attributes["id"] != null) 
             {
                 equityExpirationTimeIDRef_ = equityExpirationTimeNode.Attributes["id"].Value;
                 BusinessCenterTime ob = new BusinessCenterTime(equityExpirationTimeNode);
                 IDManager.SetID(equityExpirationTimeIDRef_, ob);
             }
             else if (equityExpirationTimeNode.Attributes["href"] != null)
             {
                 equityExpirationTimeIDRef_ = equityExpirationTimeNode.Attributes["href"].Value;
             }
             else
             {
                 equityExpirationTime_ = new BusinessCenterTime(equityExpirationTimeNode);
             }
         }
         else
         {
             equityExpirationTime_ = new BusinessCenterTime(equityExpirationTimeNode);
         }
     }
     
 
     XmlNode expirationTimeDeterminationNode = xmlNode.SelectSingleNode("expirationTimeDetermination");
     
     if (expirationTimeDeterminationNode != null)
     {
         if (expirationTimeDeterminationNode.Attributes["href"] != null || expirationTimeDeterminationNode.Attributes["id"] != null) 
         {
             if (expirationTimeDeterminationNode.Attributes["id"] != null) 
             {
                 expirationTimeDeterminationIDRef_ = expirationTimeDeterminationNode.Attributes["id"].Value;
                 DeterminationMethod ob = new DeterminationMethod(expirationTimeDeterminationNode);
                 IDManager.SetID(expirationTimeDeterminationIDRef_, ob);
             }
             else if (expirationTimeDeterminationNode.Attributes["href"] != null)
             {
                 expirationTimeDeterminationIDRef_ = expirationTimeDeterminationNode.Attributes["href"].Value;
             }
             else
             {
                 expirationTimeDetermination_ = new DeterminationMethod(expirationTimeDeterminationNode);
             }
         }
         else
         {
             expirationTimeDetermination_ = new DeterminationMethod(expirationTimeDeterminationNode);
         }
     }
     
 
 }
 public LegAmount(XmlNode xmlNode)
 {
     XmlNode currencyNode = xmlNode.SelectSingleNode("currency");
     
     if (currencyNode != null)
     {
         if (currencyNode.Attributes["href"] != null || currencyNode.Attributes["id"] != null) 
         {
             if (currencyNode.Attributes["id"] != null) 
             {
                 currencyIDRef_ = currencyNode.Attributes["id"].Value;
                 IdentifiedCurrency ob = new IdentifiedCurrency(currencyNode);
                 IDManager.SetID(currencyIDRef_, ob);
             }
             else if (currencyNode.Attributes["href"] != null)
             {
                 currencyIDRef_ = currencyNode.Attributes["href"].Value;
             }
             else
             {
                 currency_ = new IdentifiedCurrency(currencyNode);
             }
         }
         else
         {
             currency_ = new IdentifiedCurrency(currencyNode);
         }
     }
     
 
     XmlNode determinationMethodNode = xmlNode.SelectSingleNode("determinationMethod");
     
     if (determinationMethodNode != null)
     {
         if (determinationMethodNode.Attributes["href"] != null || determinationMethodNode.Attributes["id"] != null) 
         {
             if (determinationMethodNode.Attributes["id"] != null) 
             {
                 determinationMethodIDRef_ = determinationMethodNode.Attributes["id"].Value;
                 DeterminationMethod ob = new DeterminationMethod(determinationMethodNode);
                 IDManager.SetID(determinationMethodIDRef_, ob);
             }
             else if (determinationMethodNode.Attributes["href"] != null)
             {
                 determinationMethodIDRef_ = determinationMethodNode.Attributes["href"].Value;
             }
             else
             {
                 determinationMethod_ = new DeterminationMethod(determinationMethodNode);
             }
         }
         else
         {
             determinationMethod_ = new DeterminationMethod(determinationMethodNode);
         }
     }
     
 
     XmlNode currencyReferenceNode = xmlNode.SelectSingleNode("currencyReference");
     
     if (currencyReferenceNode != null)
     {
         if (currencyReferenceNode.Attributes["href"] != null || currencyReferenceNode.Attributes["id"] != null) 
         {
             if (currencyReferenceNode.Attributes["id"] != null) 
             {
                 currencyReferenceIDRef_ = currencyReferenceNode.Attributes["id"].Value;
                 IdentifiedCurrencyReference ob = new IdentifiedCurrencyReference(currencyReferenceNode);
                 IDManager.SetID(currencyReferenceIDRef_, ob);
             }
             else if (currencyReferenceNode.Attributes["href"] != null)
             {
                 currencyReferenceIDRef_ = currencyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 currencyReference_ = new IdentifiedCurrencyReference(currencyReferenceNode);
             }
         }
         else
         {
             currencyReference_ = new IdentifiedCurrencyReference(currencyReferenceNode);
         }
     }
     
 
     XmlNode referenceAmountNode = xmlNode.SelectSingleNode("referenceAmount");
     
     if (referenceAmountNode != null)
     {
         if (referenceAmountNode.Attributes["href"] != null || referenceAmountNode.Attributes["id"] != null) 
         {
             if (referenceAmountNode.Attributes["id"] != null) 
             {
                 referenceAmountIDRef_ = referenceAmountNode.Attributes["id"].Value;
                 ReferenceAmount ob = new ReferenceAmount(referenceAmountNode);
                 IDManager.SetID(referenceAmountIDRef_, ob);
             }
             else if (referenceAmountNode.Attributes["href"] != null)
             {
                 referenceAmountIDRef_ = referenceAmountNode.Attributes["href"].Value;
             }
             else
             {
                 referenceAmount_ = new ReferenceAmount(referenceAmountNode);
             }
         }
         else
         {
             referenceAmount_ = new ReferenceAmount(referenceAmountNode);
         }
     }
     
 
     XmlNode formulaNode = xmlNode.SelectSingleNode("formula");
     
     if (formulaNode != null)
     {
         if (formulaNode.Attributes["href"] != null || formulaNode.Attributes["id"] != null) 
         {
             if (formulaNode.Attributes["id"] != null) 
             {
                 formulaIDRef_ = formulaNode.Attributes["id"].Value;
                 Formula ob = new Formula(formulaNode);
                 IDManager.SetID(formulaIDRef_, ob);
             }
             else if (formulaNode.Attributes["href"] != null)
             {
                 formulaIDRef_ = formulaNode.Attributes["href"].Value;
             }
             else
             {
                 formula_ = new Formula(formulaNode);
             }
         }
         else
         {
             formula_ = new Formula(formulaNode);
         }
     }
     
 
     XmlNode encodedDescriptionNode = xmlNode.SelectSingleNode("encodedDescription");
     
     if (encodedDescriptionNode != null)
     {
         if (encodedDescriptionNode.Attributes["href"] != null || encodedDescriptionNode.Attributes["id"] != null) 
         {
             if (encodedDescriptionNode.Attributes["id"] != null) 
             {
                 encodedDescriptionIDRef_ = encodedDescriptionNode.Attributes["id"].Value;
                 XsdTypeBase64Binary ob = new XsdTypeBase64Binary(encodedDescriptionNode);
                 IDManager.SetID(encodedDescriptionIDRef_, ob);
             }
             else if (encodedDescriptionNode.Attributes["href"] != null)
             {
                 encodedDescriptionIDRef_ = encodedDescriptionNode.Attributes["href"].Value;
             }
             else
             {
                 encodedDescription_ = new XsdTypeBase64Binary(encodedDescriptionNode);
             }
         }
         else
         {
             encodedDescription_ = new XsdTypeBase64Binary(encodedDescriptionNode);
         }
     }
     
 
     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;
                 AdjustableRelativeOrPeriodicDates ob = new AdjustableRelativeOrPeriodicDates(calculationDatesNode);
                 IDManager.SetID(calculationDatesIDRef_, ob);
             }
             else if (calculationDatesNode.Attributes["href"] != null)
             {
                 calculationDatesIDRef_ = calculationDatesNode.Attributes["href"].Value;
             }
             else
             {
                 calculationDates_ = new AdjustableRelativeOrPeriodicDates(calculationDatesNode);
             }
         }
         else
         {
             calculationDates_ = new AdjustableRelativeOrPeriodicDates(calculationDatesNode);
         }
     }
     
 
 }
 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 CommodityAmericanExercise(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNodeList exercisePeriodNodeList = xmlNode.SelectNodes("exercisePeriod");
     if (exercisePeriodNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in exercisePeriodNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 exercisePeriodIDRef = item.Attributes["id"].Name;
                 CommodityExercisePeriods ob = CommodityExercisePeriods();
                 IDManager.SetID(exercisePeriodIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 exercisePeriodIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 exercisePeriod = new CommodityExercisePeriods(item);
             }
         }
     }
     
 
     XmlNodeList exerciseFrequencyNodeList = xmlNode.SelectNodes("exerciseFrequency");
     if (exerciseFrequencyNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in exerciseFrequencyNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 exerciseFrequencyIDRef = item.Attributes["id"].Name;
                 Frequency ob = Frequency();
                 IDManager.SetID(exerciseFrequencyIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 exerciseFrequencyIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 exerciseFrequency = new Frequency(item);
             }
         }
     }
     
 
     XmlNodeList latestExerciseTimeNodeList = xmlNode.SelectNodes("latestExerciseTime");
     if (latestExerciseTimeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in latestExerciseTimeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 latestExerciseTimeIDRef = item.Attributes["id"].Name;
                 BusinessCenterTime ob = BusinessCenterTime();
                 IDManager.SetID(latestExerciseTimeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 latestExerciseTimeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 latestExerciseTime = new BusinessCenterTime(item);
             }
         }
     }
     
 
     XmlNodeList latestExerciseTimeDeterminationNodeList = xmlNode.SelectNodes("latestExerciseTimeDetermination");
     if (latestExerciseTimeDeterminationNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in latestExerciseTimeDeterminationNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 latestExerciseTimeDeterminationIDRef = item.Attributes["id"].Name;
                 DeterminationMethod ob = DeterminationMethod();
                 IDManager.SetID(latestExerciseTimeDeterminationIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 latestExerciseTimeDeterminationIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 latestExerciseTimeDetermination = new DeterminationMethod(item);
             }
         }
     }
     
 
     XmlNodeList expirationTimeNodeList = xmlNode.SelectNodes("expirationTime");
     if (expirationTimeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in expirationTimeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 expirationTimeIDRef = item.Attributes["id"].Name;
                 BusinessCenterTime ob = BusinessCenterTime();
                 IDManager.SetID(expirationTimeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 expirationTimeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 expirationTime = new BusinessCenterTime(item);
             }
         }
     }
     
 
     XmlNodeList multipleExerciseNodeList = xmlNode.SelectNodes("multipleExercise");
     if (multipleExerciseNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in multipleExerciseNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 multipleExerciseIDRef = item.Attributes["id"].Name;
                 CommodityMultipleExercise ob = CommodityMultipleExercise();
                 IDManager.SetID(multipleExerciseIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 multipleExerciseIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 multipleExercise = new CommodityMultipleExercise(item);
             }
         }
     }
     
 
 }
Example #16
0
        public Price(XmlNode xmlNode)
        {
            XmlNodeList commissionNodeList = xmlNode.SelectNodes("commission");

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

            foreach (XmlNode item in commissionNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        commissionIDRef = item.Attributes["id"].Name;
                        Commission ob = Commission();
                        IDManager.SetID(commissionIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        commissionIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        commission = new Commission(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 grossPriceNodeList = xmlNode.SelectNodes("grossPrice");

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

            foreach (XmlNode item in grossPriceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        grossPriceIDRef = item.Attributes["id"].Name;
                        ActualPrice ob = ActualPrice();
                        IDManager.SetID(grossPriceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        grossPriceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        grossPrice = new ActualPrice(item);
                    }
                }
            }


            XmlNodeList netPriceNodeList = xmlNode.SelectNodes("netPrice");

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

            foreach (XmlNode item in netPriceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        netPriceIDRef = item.Attributes["id"].Name;
                        ActualPrice ob = ActualPrice();
                        IDManager.SetID(netPriceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        netPriceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        netPrice = new ActualPrice(item);
                    }
                }
            }


            XmlNodeList accruedInterestPriceNodeList = xmlNode.SelectNodes("accruedInterestPrice");

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

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


            XmlNodeList fxConversionNodeList = xmlNode.SelectNodes("fxConversion");

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

            foreach (XmlNode item in fxConversionNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        fxConversionIDRef = item.Attributes["id"].Name;
                        FxConversion ob = FxConversion();
                        IDManager.SetID(fxConversionIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        fxConversionIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        fxConversion = new FxConversion(item);
                    }
                }
            }


            XmlNodeList amountRelativeToNodeList = xmlNode.SelectNodes("amountRelativeTo");

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

            foreach (XmlNode item in amountRelativeToNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        amountRelativeToIDRef = item.Attributes["id"].Name;
                        AmountReference ob = AmountReference();
                        IDManager.SetID(amountRelativeToIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        amountRelativeToIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        amountRelativeTo = new AmountReference(item);
                    }
                }
            }


            XmlNodeList cleanNetPriceNodeList = xmlNode.SelectNodes("cleanNetPrice");

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

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


            XmlNodeList quotationCharacteristicsNodeList = xmlNode.SelectNodes("quotationCharacteristics");

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

            foreach (XmlNode item in quotationCharacteristicsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        quotationCharacteristicsIDRef = item.Attributes["id"].Name;
                        QuotationCharacteristics ob = QuotationCharacteristics();
                        IDManager.SetID(quotationCharacteristicsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        quotationCharacteristicsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        quotationCharacteristics = new QuotationCharacteristics(item);
                    }
                }
            }
        }
Example #17
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);
                    }
                }
            }
        }
Example #18
0
        public SharedAmericanExercise(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNodeList commencementDateNodeList = xmlNode.SelectNodes("commencementDate");

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

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


            XmlNodeList expirationDateNodeList = xmlNode.SelectNodes("expirationDate");

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

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


            XmlNodeList latestExerciseTimeNodeList = xmlNode.SelectNodes("latestExerciseTime");

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

            foreach (XmlNode item in latestExerciseTimeNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        latestExerciseTimeIDRef = item.Attributes["id"].Name;
                        BusinessCenterTime ob = BusinessCenterTime();
                        IDManager.SetID(latestExerciseTimeIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        latestExerciseTimeIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        latestExerciseTime = new BusinessCenterTime(item);
                    }
                }
            }


            XmlNodeList latestExerciseTimeDeterminationNodeList = xmlNode.SelectNodes("latestExerciseTimeDetermination");

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

            foreach (XmlNode item in latestExerciseTimeDeterminationNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        latestExerciseTimeDeterminationIDRef = item.Attributes["id"].Name;
                        DeterminationMethod ob = DeterminationMethod();
                        IDManager.SetID(latestExerciseTimeDeterminationIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        latestExerciseTimeDeterminationIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        latestExerciseTimeDetermination = new DeterminationMethod(item);
                    }
                }
            }
        }
 public PrincipalExchangeAmount(XmlNode xmlNode)
 {
     XmlNode amountRelativeToNode = xmlNode.SelectSingleNode("amountRelativeTo");
     
     if (amountRelativeToNode != null)
     {
         if (amountRelativeToNode.Attributes["href"] != null || amountRelativeToNode.Attributes["id"] != null) 
         {
             if (amountRelativeToNode.Attributes["id"] != null) 
             {
                 amountRelativeToIDRef_ = amountRelativeToNode.Attributes["id"].Value;
                 AmountReference ob = new AmountReference(amountRelativeToNode);
                 IDManager.SetID(amountRelativeToIDRef_, ob);
             }
             else if (amountRelativeToNode.Attributes["href"] != null)
             {
                 amountRelativeToIDRef_ = amountRelativeToNode.Attributes["href"].Value;
             }
             else
             {
                 amountRelativeTo_ = new AmountReference(amountRelativeToNode);
             }
         }
         else
         {
             amountRelativeTo_ = new AmountReference(amountRelativeToNode);
         }
     }
     
 
     XmlNode determinationMethodNode = xmlNode.SelectSingleNode("determinationMethod");
     
     if (determinationMethodNode != null)
     {
         if (determinationMethodNode.Attributes["href"] != null || determinationMethodNode.Attributes["id"] != null) 
         {
             if (determinationMethodNode.Attributes["id"] != null) 
             {
                 determinationMethodIDRef_ = determinationMethodNode.Attributes["id"].Value;
                 DeterminationMethod ob = new DeterminationMethod(determinationMethodNode);
                 IDManager.SetID(determinationMethodIDRef_, ob);
             }
             else if (determinationMethodNode.Attributes["href"] != null)
             {
                 determinationMethodIDRef_ = determinationMethodNode.Attributes["href"].Value;
             }
             else
             {
                 determinationMethod_ = new DeterminationMethod(determinationMethodNode);
             }
         }
         else
         {
             determinationMethod_ = new DeterminationMethod(determinationMethodNode);
         }
     }
     
 
     XmlNode principalAmountNode = xmlNode.SelectSingleNode("principalAmount");
     
     if (principalAmountNode != null)
     {
         if (principalAmountNode.Attributes["href"] != null || principalAmountNode.Attributes["id"] != null) 
         {
             if (principalAmountNode.Attributes["id"] != null) 
             {
                 principalAmountIDRef_ = principalAmountNode.Attributes["id"].Value;
                 NonNegativeMoney ob = new NonNegativeMoney(principalAmountNode);
                 IDManager.SetID(principalAmountIDRef_, ob);
             }
             else if (principalAmountNode.Attributes["href"] != null)
             {
                 principalAmountIDRef_ = principalAmountNode.Attributes["href"].Value;
             }
             else
             {
                 principalAmount_ = new NonNegativeMoney(principalAmountNode);
             }
         }
         else
         {
             principalAmount_ = new NonNegativeMoney(principalAmountNode);
         }
     }
     
 
 }
 public Price(XmlNode xmlNode)
 {
     XmlNode commissionNode = xmlNode.SelectSingleNode("commission");
     
     if (commissionNode != null)
     {
         if (commissionNode.Attributes["href"] != null || commissionNode.Attributes["id"] != null) 
         {
             if (commissionNode.Attributes["id"] != null) 
             {
                 commissionIDRef_ = commissionNode.Attributes["id"].Value;
                 Commission ob = new Commission(commissionNode);
                 IDManager.SetID(commissionIDRef_, ob);
             }
             else if (commissionNode.Attributes["href"] != null)
             {
                 commissionIDRef_ = commissionNode.Attributes["href"].Value;
             }
             else
             {
                 commission_ = new Commission(commissionNode);
             }
         }
         else
         {
             commission_ = new Commission(commissionNode);
         }
     }
     
 
     XmlNode determinationMethodNode = xmlNode.SelectSingleNode("determinationMethod");
     
     if (determinationMethodNode != null)
     {
         if (determinationMethodNode.Attributes["href"] != null || determinationMethodNode.Attributes["id"] != null) 
         {
             if (determinationMethodNode.Attributes["id"] != null) 
             {
                 determinationMethodIDRef_ = determinationMethodNode.Attributes["id"].Value;
                 DeterminationMethod ob = new DeterminationMethod(determinationMethodNode);
                 IDManager.SetID(determinationMethodIDRef_, ob);
             }
             else if (determinationMethodNode.Attributes["href"] != null)
             {
                 determinationMethodIDRef_ = determinationMethodNode.Attributes["href"].Value;
             }
             else
             {
                 determinationMethod_ = new DeterminationMethod(determinationMethodNode);
             }
         }
         else
         {
             determinationMethod_ = new DeterminationMethod(determinationMethodNode);
         }
     }
     
 
     XmlNode grossPriceNode = xmlNode.SelectSingleNode("grossPrice");
     
     if (grossPriceNode != null)
     {
         if (grossPriceNode.Attributes["href"] != null || grossPriceNode.Attributes["id"] != null) 
         {
             if (grossPriceNode.Attributes["id"] != null) 
             {
                 grossPriceIDRef_ = grossPriceNode.Attributes["id"].Value;
                 ActualPrice ob = new ActualPrice(grossPriceNode);
                 IDManager.SetID(grossPriceIDRef_, ob);
             }
             else if (grossPriceNode.Attributes["href"] != null)
             {
                 grossPriceIDRef_ = grossPriceNode.Attributes["href"].Value;
             }
             else
             {
                 grossPrice_ = new ActualPrice(grossPriceNode);
             }
         }
         else
         {
             grossPrice_ = new ActualPrice(grossPriceNode);
         }
     }
     
 
     XmlNode netPriceNode = xmlNode.SelectSingleNode("netPrice");
     
     if (netPriceNode != null)
     {
         if (netPriceNode.Attributes["href"] != null || netPriceNode.Attributes["id"] != null) 
         {
             if (netPriceNode.Attributes["id"] != null) 
             {
                 netPriceIDRef_ = netPriceNode.Attributes["id"].Value;
                 ActualPrice ob = new ActualPrice(netPriceNode);
                 IDManager.SetID(netPriceIDRef_, ob);
             }
             else if (netPriceNode.Attributes["href"] != null)
             {
                 netPriceIDRef_ = netPriceNode.Attributes["href"].Value;
             }
             else
             {
                 netPrice_ = new ActualPrice(netPriceNode);
             }
         }
         else
         {
             netPrice_ = new ActualPrice(netPriceNode);
         }
     }
     
 
     XmlNode accruedInterestPriceNode = xmlNode.SelectSingleNode("accruedInterestPrice");
     
     if (accruedInterestPriceNode != null)
     {
         if (accruedInterestPriceNode.Attributes["href"] != null || accruedInterestPriceNode.Attributes["id"] != null) 
         {
             if (accruedInterestPriceNode.Attributes["id"] != null) 
             {
                 accruedInterestPriceIDRef_ = accruedInterestPriceNode.Attributes["id"].Value;
                 XsdTypeDecimal ob = new XsdTypeDecimal(accruedInterestPriceNode);
                 IDManager.SetID(accruedInterestPriceIDRef_, ob);
             }
             else if (accruedInterestPriceNode.Attributes["href"] != null)
             {
                 accruedInterestPriceIDRef_ = accruedInterestPriceNode.Attributes["href"].Value;
             }
             else
             {
                 accruedInterestPrice_ = new XsdTypeDecimal(accruedInterestPriceNode);
             }
         }
         else
         {
             accruedInterestPrice_ = new XsdTypeDecimal(accruedInterestPriceNode);
         }
     }
     
 
     XmlNode fxConversionNode = xmlNode.SelectSingleNode("fxConversion");
     
     if (fxConversionNode != null)
     {
         if (fxConversionNode.Attributes["href"] != null || fxConversionNode.Attributes["id"] != null) 
         {
             if (fxConversionNode.Attributes["id"] != null) 
             {
                 fxConversionIDRef_ = fxConversionNode.Attributes["id"].Value;
                 FxConversion ob = new FxConversion(fxConversionNode);
                 IDManager.SetID(fxConversionIDRef_, ob);
             }
             else if (fxConversionNode.Attributes["href"] != null)
             {
                 fxConversionIDRef_ = fxConversionNode.Attributes["href"].Value;
             }
             else
             {
                 fxConversion_ = new FxConversion(fxConversionNode);
             }
         }
         else
         {
             fxConversion_ = new FxConversion(fxConversionNode);
         }
     }
     
 
     XmlNode amountRelativeToNode = xmlNode.SelectSingleNode("amountRelativeTo");
     
     if (amountRelativeToNode != null)
     {
         if (amountRelativeToNode.Attributes["href"] != null || amountRelativeToNode.Attributes["id"] != null) 
         {
             if (amountRelativeToNode.Attributes["id"] != null) 
             {
                 amountRelativeToIDRef_ = amountRelativeToNode.Attributes["id"].Value;
                 AmountReference ob = new AmountReference(amountRelativeToNode);
                 IDManager.SetID(amountRelativeToIDRef_, ob);
             }
             else if (amountRelativeToNode.Attributes["href"] != null)
             {
                 amountRelativeToIDRef_ = amountRelativeToNode.Attributes["href"].Value;
             }
             else
             {
                 amountRelativeTo_ = new AmountReference(amountRelativeToNode);
             }
         }
         else
         {
             amountRelativeTo_ = new AmountReference(amountRelativeToNode);
         }
     }
     
 
     XmlNode cleanNetPriceNode = xmlNode.SelectSingleNode("cleanNetPrice");
     
     if (cleanNetPriceNode != null)
     {
         if (cleanNetPriceNode.Attributes["href"] != null || cleanNetPriceNode.Attributes["id"] != null) 
         {
             if (cleanNetPriceNode.Attributes["id"] != null) 
             {
                 cleanNetPriceIDRef_ = cleanNetPriceNode.Attributes["id"].Value;
                 XsdTypeDecimal ob = new XsdTypeDecimal(cleanNetPriceNode);
                 IDManager.SetID(cleanNetPriceIDRef_, ob);
             }
             else if (cleanNetPriceNode.Attributes["href"] != null)
             {
                 cleanNetPriceIDRef_ = cleanNetPriceNode.Attributes["href"].Value;
             }
             else
             {
                 cleanNetPrice_ = new XsdTypeDecimal(cleanNetPriceNode);
             }
         }
         else
         {
             cleanNetPrice_ = new XsdTypeDecimal(cleanNetPriceNode);
         }
     }
     
 
     XmlNode quotationCharacteristicsNode = xmlNode.SelectSingleNode("quotationCharacteristics");
     
     if (quotationCharacteristicsNode != null)
     {
         if (quotationCharacteristicsNode.Attributes["href"] != null || quotationCharacteristicsNode.Attributes["id"] != null) 
         {
             if (quotationCharacteristicsNode.Attributes["id"] != null) 
             {
                 quotationCharacteristicsIDRef_ = quotationCharacteristicsNode.Attributes["id"].Value;
                 QuotationCharacteristics ob = new QuotationCharacteristics(quotationCharacteristicsNode);
                 IDManager.SetID(quotationCharacteristicsIDRef_, ob);
             }
             else if (quotationCharacteristicsNode.Attributes["href"] != null)
             {
                 quotationCharacteristicsIDRef_ = quotationCharacteristicsNode.Attributes["href"].Value;
             }
             else
             {
                 quotationCharacteristics_ = new QuotationCharacteristics(quotationCharacteristicsNode);
             }
         }
         else
         {
             quotationCharacteristics_ = new QuotationCharacteristics(quotationCharacteristicsNode);
         }
     }
     
 
 }
        public LegAmount(XmlNode xmlNode)
        {
            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 referenceAmountNodeList = xmlNode.SelectNodes("referenceAmount");

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

            foreach (XmlNode item in referenceAmountNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        referenceAmountIDRef = item.Attributes["id"].Name;
                        ReferenceAmount ob = ReferenceAmount();
                        IDManager.SetID(referenceAmountIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        referenceAmountIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        referenceAmount = new ReferenceAmount(item);
                    }
                }
            }


            XmlNodeList formulaNodeList = xmlNode.SelectNodes("formula");

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

            foreach (XmlNode item in formulaNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        formulaIDRef = item.Attributes["id"].Name;
                        Formula ob = Formula();
                        IDManager.SetID(formulaIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        formulaIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        formula = new Formula(item);
                    }
                }
            }


            XmlNodeList encodedDescriptionNodeList = xmlNode.SelectNodes("encodedDescription");

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

            foreach (XmlNode item in encodedDescriptionNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        encodedDescriptionIDRef = item.Attributes["id"].Name;
                        XsdTypeBase64Binary ob = XsdTypeBase64Binary();
                        IDManager.SetID(encodedDescriptionIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        encodedDescriptionIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        encodedDescription = new XsdTypeBase64Binary(item);
                    }
                }
            }


            XmlNodeList calculationDatesNodeList = xmlNode.SelectNodes("calculationDates");

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

            foreach (XmlNode item in calculationDatesNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        calculationDatesIDRef = item.Attributes["id"].Name;
                        AdjustableRelativeOrPeriodicDates ob = AdjustableRelativeOrPeriodicDates();
                        IDManager.SetID(calculationDatesIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        calculationDatesIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        calculationDates = new AdjustableRelativeOrPeriodicDates(item);
                    }
                }
            }
        }
 public LegAmount(XmlNode xmlNode)
 {
     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 referenceAmountNodeList = xmlNode.SelectNodes("referenceAmount");
     if (referenceAmountNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in referenceAmountNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 referenceAmountIDRef = item.Attributes["id"].Name;
                 ReferenceAmount ob = ReferenceAmount();
                 IDManager.SetID(referenceAmountIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 referenceAmountIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 referenceAmount = new ReferenceAmount(item);
             }
         }
     }
     
 
     XmlNodeList formulaNodeList = xmlNode.SelectNodes("formula");
     if (formulaNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in formulaNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 formulaIDRef = item.Attributes["id"].Name;
                 Formula ob = Formula();
                 IDManager.SetID(formulaIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 formulaIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 formula = new Formula(item);
             }
         }
     }
     
 
     XmlNodeList encodedDescriptionNodeList = xmlNode.SelectNodes("encodedDescription");
     if (encodedDescriptionNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in encodedDescriptionNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 encodedDescriptionIDRef = item.Attributes["id"].Name;
                 XsdTypeBase64Binary ob = XsdTypeBase64Binary();
                 IDManager.SetID(encodedDescriptionIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 encodedDescriptionIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 encodedDescription = new XsdTypeBase64Binary(item);
             }
         }
     }
     
 
     XmlNodeList calculationDatesNodeList = xmlNode.SelectNodes("calculationDates");
     if (calculationDatesNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in calculationDatesNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 calculationDatesIDRef = item.Attributes["id"].Name;
                 AdjustableRelativeOrPeriodicDates ob = AdjustableRelativeOrPeriodicDates();
                 IDManager.SetID(calculationDatesIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 calculationDatesIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 calculationDates = new AdjustableRelativeOrPeriodicDates(item);
             }
         }
     }
     
 
 }
Example #23
0
        public Composite(XmlNode xmlNode)
        {
            XmlNode determinationMethodNode = xmlNode.SelectSingleNode("determinationMethod");

            if (determinationMethodNode != null)
            {
                if (determinationMethodNode.Attributes["href"] != null || determinationMethodNode.Attributes["id"] != null)
                {
                    if (determinationMethodNode.Attributes["id"] != null)
                    {
                        determinationMethodIDRef_ = determinationMethodNode.Attributes["id"].Value;
                        DeterminationMethod ob = new DeterminationMethod(determinationMethodNode);
                        IDManager.SetID(determinationMethodIDRef_, ob);
                    }
                    else if (determinationMethodNode.Attributes["href"] != null)
                    {
                        determinationMethodIDRef_ = determinationMethodNode.Attributes["href"].Value;
                    }
                    else
                    {
                        determinationMethod_ = new DeterminationMethod(determinationMethodNode);
                    }
                }
                else
                {
                    determinationMethod_ = new DeterminationMethod(determinationMethodNode);
                }
            }


            XmlNode relativeDateNode = xmlNode.SelectSingleNode("relativeDate");

            if (relativeDateNode != null)
            {
                if (relativeDateNode.Attributes["href"] != null || relativeDateNode.Attributes["id"] != null)
                {
                    if (relativeDateNode.Attributes["id"] != null)
                    {
                        relativeDateIDRef_ = relativeDateNode.Attributes["id"].Value;
                        RelativeDateOffset ob = new RelativeDateOffset(relativeDateNode);
                        IDManager.SetID(relativeDateIDRef_, ob);
                    }
                    else if (relativeDateNode.Attributes["href"] != null)
                    {
                        relativeDateIDRef_ = relativeDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        relativeDate_ = new RelativeDateOffset(relativeDateNode);
                    }
                }
                else
                {
                    relativeDate_ = new RelativeDateOffset(relativeDateNode);
                }
            }


            XmlNode fxSpotRateSourceNode = xmlNode.SelectSingleNode("fxSpotRateSource");

            if (fxSpotRateSourceNode != null)
            {
                if (fxSpotRateSourceNode.Attributes["href"] != null || fxSpotRateSourceNode.Attributes["id"] != null)
                {
                    if (fxSpotRateSourceNode.Attributes["id"] != null)
                    {
                        fxSpotRateSourceIDRef_ = fxSpotRateSourceNode.Attributes["id"].Value;
                        FxSpotRateSource ob = new FxSpotRateSource(fxSpotRateSourceNode);
                        IDManager.SetID(fxSpotRateSourceIDRef_, ob);
                    }
                    else if (fxSpotRateSourceNode.Attributes["href"] != null)
                    {
                        fxSpotRateSourceIDRef_ = fxSpotRateSourceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        fxSpotRateSource_ = new FxSpotRateSource(fxSpotRateSourceNode);
                    }
                }
                else
                {
                    fxSpotRateSource_ = new FxSpotRateSource(fxSpotRateSourceNode);
                }
            }
        }
Example #24
0
        public CommodityAmericanExercise(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode exercisePeriodNode = xmlNode.SelectSingleNode("exercisePeriod");

            if (exercisePeriodNode != null)
            {
                if (exercisePeriodNode.Attributes["href"] != null || exercisePeriodNode.Attributes["id"] != null)
                {
                    if (exercisePeriodNode.Attributes["id"] != null)
                    {
                        exercisePeriodIDRef_ = exercisePeriodNode.Attributes["id"].Value;
                        CommodityExercisePeriods ob = new CommodityExercisePeriods(exercisePeriodNode);
                        IDManager.SetID(exercisePeriodIDRef_, ob);
                    }
                    else if (exercisePeriodNode.Attributes["href"] != null)
                    {
                        exercisePeriodIDRef_ = exercisePeriodNode.Attributes["href"].Value;
                    }
                    else
                    {
                        exercisePeriod_ = new CommodityExercisePeriods(exercisePeriodNode);
                    }
                }
                else
                {
                    exercisePeriod_ = new CommodityExercisePeriods(exercisePeriodNode);
                }
            }


            XmlNode exerciseFrequencyNode = xmlNode.SelectSingleNode("exerciseFrequency");

            if (exerciseFrequencyNode != null)
            {
                if (exerciseFrequencyNode.Attributes["href"] != null || exerciseFrequencyNode.Attributes["id"] != null)
                {
                    if (exerciseFrequencyNode.Attributes["id"] != null)
                    {
                        exerciseFrequencyIDRef_ = exerciseFrequencyNode.Attributes["id"].Value;
                        Frequency ob = new Frequency(exerciseFrequencyNode);
                        IDManager.SetID(exerciseFrequencyIDRef_, ob);
                    }
                    else if (exerciseFrequencyNode.Attributes["href"] != null)
                    {
                        exerciseFrequencyIDRef_ = exerciseFrequencyNode.Attributes["href"].Value;
                    }
                    else
                    {
                        exerciseFrequency_ = new Frequency(exerciseFrequencyNode);
                    }
                }
                else
                {
                    exerciseFrequency_ = new Frequency(exerciseFrequencyNode);
                }
            }


            XmlNode latestExerciseTimeNode = xmlNode.SelectSingleNode("latestExerciseTime");

            if (latestExerciseTimeNode != null)
            {
                if (latestExerciseTimeNode.Attributes["href"] != null || latestExerciseTimeNode.Attributes["id"] != null)
                {
                    if (latestExerciseTimeNode.Attributes["id"] != null)
                    {
                        latestExerciseTimeIDRef_ = latestExerciseTimeNode.Attributes["id"].Value;
                        BusinessCenterTime ob = new BusinessCenterTime(latestExerciseTimeNode);
                        IDManager.SetID(latestExerciseTimeIDRef_, ob);
                    }
                    else if (latestExerciseTimeNode.Attributes["href"] != null)
                    {
                        latestExerciseTimeIDRef_ = latestExerciseTimeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        latestExerciseTime_ = new BusinessCenterTime(latestExerciseTimeNode);
                    }
                }
                else
                {
                    latestExerciseTime_ = new BusinessCenterTime(latestExerciseTimeNode);
                }
            }


            XmlNode latestExerciseTimeDeterminationNode = xmlNode.SelectSingleNode("latestExerciseTimeDetermination");

            if (latestExerciseTimeDeterminationNode != null)
            {
                if (latestExerciseTimeDeterminationNode.Attributes["href"] != null || latestExerciseTimeDeterminationNode.Attributes["id"] != null)
                {
                    if (latestExerciseTimeDeterminationNode.Attributes["id"] != null)
                    {
                        latestExerciseTimeDeterminationIDRef_ = latestExerciseTimeDeterminationNode.Attributes["id"].Value;
                        DeterminationMethod ob = new DeterminationMethod(latestExerciseTimeDeterminationNode);
                        IDManager.SetID(latestExerciseTimeDeterminationIDRef_, ob);
                    }
                    else if (latestExerciseTimeDeterminationNode.Attributes["href"] != null)
                    {
                        latestExerciseTimeDeterminationIDRef_ = latestExerciseTimeDeterminationNode.Attributes["href"].Value;
                    }
                    else
                    {
                        latestExerciseTimeDetermination_ = new DeterminationMethod(latestExerciseTimeDeterminationNode);
                    }
                }
                else
                {
                    latestExerciseTimeDetermination_ = new DeterminationMethod(latestExerciseTimeDeterminationNode);
                }
            }


            XmlNode expirationTimeNode = xmlNode.SelectSingleNode("expirationTime");

            if (expirationTimeNode != null)
            {
                if (expirationTimeNode.Attributes["href"] != null || expirationTimeNode.Attributes["id"] != null)
                {
                    if (expirationTimeNode.Attributes["id"] != null)
                    {
                        expirationTimeIDRef_ = expirationTimeNode.Attributes["id"].Value;
                        BusinessCenterTime ob = new BusinessCenterTime(expirationTimeNode);
                        IDManager.SetID(expirationTimeIDRef_, ob);
                    }
                    else if (expirationTimeNode.Attributes["href"] != null)
                    {
                        expirationTimeIDRef_ = expirationTimeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        expirationTime_ = new BusinessCenterTime(expirationTimeNode);
                    }
                }
                else
                {
                    expirationTime_ = new BusinessCenterTime(expirationTimeNode);
                }
            }


            XmlNode multipleExerciseNode = xmlNode.SelectSingleNode("multipleExercise");

            if (multipleExerciseNode != null)
            {
                if (multipleExerciseNode.Attributes["href"] != null || multipleExerciseNode.Attributes["id"] != null)
                {
                    if (multipleExerciseNode.Attributes["id"] != null)
                    {
                        multipleExerciseIDRef_ = multipleExerciseNode.Attributes["id"].Value;
                        CommodityMultipleExercise ob = new CommodityMultipleExercise(multipleExerciseNode);
                        IDManager.SetID(multipleExerciseIDRef_, ob);
                    }
                    else if (multipleExerciseNode.Attributes["href"] != null)
                    {
                        multipleExerciseIDRef_ = multipleExerciseNode.Attributes["href"].Value;
                    }
                    else
                    {
                        multipleExercise_ = new CommodityMultipleExercise(multipleExerciseNode);
                    }
                }
                else
                {
                    multipleExercise_ = new CommodityMultipleExercise(multipleExerciseNode);
                }
            }
        }
 public Price(XmlNode xmlNode)
 {
     XmlNodeList commissionNodeList = xmlNode.SelectNodes("commission");
     if (commissionNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in commissionNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 commissionIDRef = item.Attributes["id"].Name;
                 Commission ob = Commission();
                 IDManager.SetID(commissionIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 commissionIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 commission = new Commission(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 grossPriceNodeList = xmlNode.SelectNodes("grossPrice");
     if (grossPriceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in grossPriceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 grossPriceIDRef = item.Attributes["id"].Name;
                 ActualPrice ob = ActualPrice();
                 IDManager.SetID(grossPriceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 grossPriceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 grossPrice = new ActualPrice(item);
             }
         }
     }
     
 
     XmlNodeList netPriceNodeList = xmlNode.SelectNodes("netPrice");
     if (netPriceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in netPriceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 netPriceIDRef = item.Attributes["id"].Name;
                 ActualPrice ob = ActualPrice();
                 IDManager.SetID(netPriceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 netPriceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 netPrice = new ActualPrice(item);
             }
         }
     }
     
 
     XmlNodeList accruedInterestPriceNodeList = xmlNode.SelectNodes("accruedInterestPrice");
     if (accruedInterestPriceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in accruedInterestPriceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 accruedInterestPriceIDRef = item.Attributes["id"].Name;
                 XsdTypeDecimal ob = XsdTypeDecimal();
                 IDManager.SetID(accruedInterestPriceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 accruedInterestPriceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 accruedInterestPrice = new XsdTypeDecimal(item);
             }
         }
     }
     
 
     XmlNodeList fxConversionNodeList = xmlNode.SelectNodes("fxConversion");
     if (fxConversionNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in fxConversionNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 fxConversionIDRef = item.Attributes["id"].Name;
                 FxConversion ob = FxConversion();
                 IDManager.SetID(fxConversionIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 fxConversionIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 fxConversion = new FxConversion(item);
             }
         }
     }
     
 
     XmlNodeList amountRelativeToNodeList = xmlNode.SelectNodes("amountRelativeTo");
     if (amountRelativeToNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in amountRelativeToNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 amountRelativeToIDRef = item.Attributes["id"].Name;
                 AmountReference ob = AmountReference();
                 IDManager.SetID(amountRelativeToIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 amountRelativeToIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 amountRelativeTo = new AmountReference(item);
             }
         }
     }
     
 
     XmlNodeList cleanNetPriceNodeList = xmlNode.SelectNodes("cleanNetPrice");
     if (cleanNetPriceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in cleanNetPriceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 cleanNetPriceIDRef = item.Attributes["id"].Name;
                 XsdTypeDecimal ob = XsdTypeDecimal();
                 IDManager.SetID(cleanNetPriceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 cleanNetPriceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 cleanNetPrice = new XsdTypeDecimal(item);
             }
         }
     }
     
 
     XmlNodeList quotationCharacteristicsNodeList = xmlNode.SelectNodes("quotationCharacteristics");
     if (quotationCharacteristicsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in quotationCharacteristicsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 quotationCharacteristicsIDRef = item.Attributes["id"].Name;
                 QuotationCharacteristics ob = QuotationCharacteristics();
                 IDManager.SetID(quotationCharacteristicsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 quotationCharacteristicsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 quotationCharacteristics = new QuotationCharacteristics(item);
             }
         }
     }
     
 
 }
 public DividendConditions(XmlNode xmlNode)
 {
     XmlNode dividendReinvestmentNode = xmlNode.SelectSingleNode("dividendReinvestment");
     
     if (dividendReinvestmentNode != null)
     {
         if (dividendReinvestmentNode.Attributes["href"] != null || dividendReinvestmentNode.Attributes["id"] != null) 
         {
             if (dividendReinvestmentNode.Attributes["id"] != null) 
             {
                 dividendReinvestmentIDRef_ = dividendReinvestmentNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(dividendReinvestmentNode);
                 IDManager.SetID(dividendReinvestmentIDRef_, ob);
             }
             else if (dividendReinvestmentNode.Attributes["href"] != null)
             {
                 dividendReinvestmentIDRef_ = dividendReinvestmentNode.Attributes["href"].Value;
             }
             else
             {
                 dividendReinvestment_ = new XsdTypeBoolean(dividendReinvestmentNode);
             }
         }
         else
         {
             dividendReinvestment_ = new XsdTypeBoolean(dividendReinvestmentNode);
         }
     }
     
 
     XmlNode dividendEntitlementNode = xmlNode.SelectSingleNode("dividendEntitlement");
     
     if (dividendEntitlementNode != null)
     {
         if (dividendEntitlementNode.Attributes["href"] != null || dividendEntitlementNode.Attributes["id"] != null) 
         {
             if (dividendEntitlementNode.Attributes["id"] != null) 
             {
                 dividendEntitlementIDRef_ = dividendEntitlementNode.Attributes["id"].Value;
                 DividendEntitlementEnum ob = new DividendEntitlementEnum(dividendEntitlementNode);
                 IDManager.SetID(dividendEntitlementIDRef_, ob);
             }
             else if (dividendEntitlementNode.Attributes["href"] != null)
             {
                 dividendEntitlementIDRef_ = dividendEntitlementNode.Attributes["href"].Value;
             }
             else
             {
                 dividendEntitlement_ = new DividendEntitlementEnum(dividendEntitlementNode);
             }
         }
         else
         {
             dividendEntitlement_ = new DividendEntitlementEnum(dividendEntitlementNode);
         }
     }
     
 
     XmlNode dividendAmountNode = xmlNode.SelectSingleNode("dividendAmount");
     
     if (dividendAmountNode != null)
     {
         if (dividendAmountNode.Attributes["href"] != null || dividendAmountNode.Attributes["id"] != null) 
         {
             if (dividendAmountNode.Attributes["id"] != null) 
             {
                 dividendAmountIDRef_ = dividendAmountNode.Attributes["id"].Value;
                 DividendAmountTypeEnum ob = new DividendAmountTypeEnum(dividendAmountNode);
                 IDManager.SetID(dividendAmountIDRef_, ob);
             }
             else if (dividendAmountNode.Attributes["href"] != null)
             {
                 dividendAmountIDRef_ = dividendAmountNode.Attributes["href"].Value;
             }
             else
             {
                 dividendAmount_ = new DividendAmountTypeEnum(dividendAmountNode);
             }
         }
         else
         {
             dividendAmount_ = new DividendAmountTypeEnum(dividendAmountNode);
         }
     }
     
 
     XmlNode dividendPaymentDateNode = xmlNode.SelectSingleNode("dividendPaymentDate");
     
     if (dividendPaymentDateNode != null)
     {
         if (dividendPaymentDateNode.Attributes["href"] != null || dividendPaymentDateNode.Attributes["id"] != null) 
         {
             if (dividendPaymentDateNode.Attributes["id"] != null) 
             {
                 dividendPaymentDateIDRef_ = dividendPaymentDateNode.Attributes["id"].Value;
                 DividendPaymentDate ob = new DividendPaymentDate(dividendPaymentDateNode);
                 IDManager.SetID(dividendPaymentDateIDRef_, ob);
             }
             else if (dividendPaymentDateNode.Attributes["href"] != null)
             {
                 dividendPaymentDateIDRef_ = dividendPaymentDateNode.Attributes["href"].Value;
             }
             else
             {
                 dividendPaymentDate_ = new DividendPaymentDate(dividendPaymentDateNode);
             }
         }
         else
         {
             dividendPaymentDate_ = new DividendPaymentDate(dividendPaymentDateNode);
         }
     }
     
 
     XmlNode dividendPeriodEffectiveDateNode = xmlNode.SelectSingleNode("dividendPeriodEffectiveDate");
     
     if (dividendPeriodEffectiveDateNode != null)
     {
         if (dividendPeriodEffectiveDateNode.Attributes["href"] != null || dividendPeriodEffectiveDateNode.Attributes["id"] != null) 
         {
             if (dividendPeriodEffectiveDateNode.Attributes["id"] != null) 
             {
                 dividendPeriodEffectiveDateIDRef_ = dividendPeriodEffectiveDateNode.Attributes["id"].Value;
                 DateReference ob = new DateReference(dividendPeriodEffectiveDateNode);
                 IDManager.SetID(dividendPeriodEffectiveDateIDRef_, ob);
             }
             else if (dividendPeriodEffectiveDateNode.Attributes["href"] != null)
             {
                 dividendPeriodEffectiveDateIDRef_ = dividendPeriodEffectiveDateNode.Attributes["href"].Value;
             }
             else
             {
                 dividendPeriodEffectiveDate_ = new DateReference(dividendPeriodEffectiveDateNode);
             }
         }
         else
         {
             dividendPeriodEffectiveDate_ = new DateReference(dividendPeriodEffectiveDateNode);
         }
     }
     
 
     XmlNode dividendPeriodEndDateNode = xmlNode.SelectSingleNode("dividendPeriodEndDate");
     
     if (dividendPeriodEndDateNode != null)
     {
         if (dividendPeriodEndDateNode.Attributes["href"] != null || dividendPeriodEndDateNode.Attributes["id"] != null) 
         {
             if (dividendPeriodEndDateNode.Attributes["id"] != null) 
             {
                 dividendPeriodEndDateIDRef_ = dividendPeriodEndDateNode.Attributes["id"].Value;
                 DateReference ob = new DateReference(dividendPeriodEndDateNode);
                 IDManager.SetID(dividendPeriodEndDateIDRef_, ob);
             }
             else if (dividendPeriodEndDateNode.Attributes["href"] != null)
             {
                 dividendPeriodEndDateIDRef_ = dividendPeriodEndDateNode.Attributes["href"].Value;
             }
             else
             {
                 dividendPeriodEndDate_ = new DateReference(dividendPeriodEndDateNode);
             }
         }
         else
         {
             dividendPeriodEndDate_ = new DateReference(dividendPeriodEndDateNode);
         }
     }
     
 
     XmlNode dividendPeriodNode = xmlNode.SelectSingleNode("dividendPeriod");
     
     if (dividendPeriodNode != null)
     {
         if (dividendPeriodNode.Attributes["href"] != null || dividendPeriodNode.Attributes["id"] != null) 
         {
             if (dividendPeriodNode.Attributes["id"] != null) 
             {
                 dividendPeriodIDRef_ = dividendPeriodNode.Attributes["id"].Value;
                 DividendPeriodEnum ob = new DividendPeriodEnum(dividendPeriodNode);
                 IDManager.SetID(dividendPeriodIDRef_, ob);
             }
             else if (dividendPeriodNode.Attributes["href"] != null)
             {
                 dividendPeriodIDRef_ = dividendPeriodNode.Attributes["href"].Value;
             }
             else
             {
                 dividendPeriod_ = new DividendPeriodEnum(dividendPeriodNode);
             }
         }
         else
         {
             dividendPeriod_ = new DividendPeriodEnum(dividendPeriodNode);
         }
     }
     
 
     XmlNode extraOrdinaryDividendsNode = xmlNode.SelectSingleNode("extraOrdinaryDividends");
     
     if (extraOrdinaryDividendsNode != null)
     {
         if (extraOrdinaryDividendsNode.Attributes["href"] != null || extraOrdinaryDividendsNode.Attributes["id"] != null) 
         {
             if (extraOrdinaryDividendsNode.Attributes["id"] != null) 
             {
                 extraOrdinaryDividendsIDRef_ = extraOrdinaryDividendsNode.Attributes["id"].Value;
                 PartyReference ob = new PartyReference(extraOrdinaryDividendsNode);
                 IDManager.SetID(extraOrdinaryDividendsIDRef_, ob);
             }
             else if (extraOrdinaryDividendsNode.Attributes["href"] != null)
             {
                 extraOrdinaryDividendsIDRef_ = extraOrdinaryDividendsNode.Attributes["href"].Value;
             }
             else
             {
                 extraOrdinaryDividends_ = new PartyReference(extraOrdinaryDividendsNode);
             }
         }
         else
         {
             extraOrdinaryDividends_ = new PartyReference(extraOrdinaryDividendsNode);
         }
     }
     
 
     XmlNode excessDividendAmountNode = xmlNode.SelectSingleNode("excessDividendAmount");
     
     if (excessDividendAmountNode != null)
     {
         if (excessDividendAmountNode.Attributes["href"] != null || excessDividendAmountNode.Attributes["id"] != null) 
         {
             if (excessDividendAmountNode.Attributes["id"] != null) 
             {
                 excessDividendAmountIDRef_ = excessDividendAmountNode.Attributes["id"].Value;
                 DividendAmountTypeEnum ob = new DividendAmountTypeEnum(excessDividendAmountNode);
                 IDManager.SetID(excessDividendAmountIDRef_, ob);
             }
             else if (excessDividendAmountNode.Attributes["href"] != null)
             {
                 excessDividendAmountIDRef_ = excessDividendAmountNode.Attributes["href"].Value;
             }
             else
             {
                 excessDividendAmount_ = new DividendAmountTypeEnum(excessDividendAmountNode);
             }
         }
         else
         {
             excessDividendAmount_ = new DividendAmountTypeEnum(excessDividendAmountNode);
         }
     }
     
 
     XmlNode currencyNode = xmlNode.SelectSingleNode("currency");
     
     if (currencyNode != null)
     {
         if (currencyNode.Attributes["href"] != null || currencyNode.Attributes["id"] != null) 
         {
             if (currencyNode.Attributes["id"] != null) 
             {
                 currencyIDRef_ = currencyNode.Attributes["id"].Value;
                 IdentifiedCurrency ob = new IdentifiedCurrency(currencyNode);
                 IDManager.SetID(currencyIDRef_, ob);
             }
             else if (currencyNode.Attributes["href"] != null)
             {
                 currencyIDRef_ = currencyNode.Attributes["href"].Value;
             }
             else
             {
                 currency_ = new IdentifiedCurrency(currencyNode);
             }
         }
         else
         {
             currency_ = new IdentifiedCurrency(currencyNode);
         }
     }
     
 
     XmlNode determinationMethodNode = xmlNode.SelectSingleNode("determinationMethod");
     
     if (determinationMethodNode != null)
     {
         if (determinationMethodNode.Attributes["href"] != null || determinationMethodNode.Attributes["id"] != null) 
         {
             if (determinationMethodNode.Attributes["id"] != null) 
             {
                 determinationMethodIDRef_ = determinationMethodNode.Attributes["id"].Value;
                 DeterminationMethod ob = new DeterminationMethod(determinationMethodNode);
                 IDManager.SetID(determinationMethodIDRef_, ob);
             }
             else if (determinationMethodNode.Attributes["href"] != null)
             {
                 determinationMethodIDRef_ = determinationMethodNode.Attributes["href"].Value;
             }
             else
             {
                 determinationMethod_ = new DeterminationMethod(determinationMethodNode);
             }
         }
         else
         {
             determinationMethod_ = new DeterminationMethod(determinationMethodNode);
         }
     }
     
 
     XmlNode currencyReferenceNode = xmlNode.SelectSingleNode("currencyReference");
     
     if (currencyReferenceNode != null)
     {
         if (currencyReferenceNode.Attributes["href"] != null || currencyReferenceNode.Attributes["id"] != null) 
         {
             if (currencyReferenceNode.Attributes["id"] != null) 
             {
                 currencyReferenceIDRef_ = currencyReferenceNode.Attributes["id"].Value;
                 IdentifiedCurrencyReference ob = new IdentifiedCurrencyReference(currencyReferenceNode);
                 IDManager.SetID(currencyReferenceIDRef_, ob);
             }
             else if (currencyReferenceNode.Attributes["href"] != null)
             {
                 currencyReferenceIDRef_ = currencyReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 currencyReference_ = new IdentifiedCurrencyReference(currencyReferenceNode);
             }
         }
         else
         {
             currencyReference_ = new IdentifiedCurrencyReference(currencyReferenceNode);
         }
     }
     
 
     XmlNode dividendFxTriggerDateNode = xmlNode.SelectSingleNode("dividendFxTriggerDate");
     
     if (dividendFxTriggerDateNode != null)
     {
         if (dividendFxTriggerDateNode.Attributes["href"] != null || dividendFxTriggerDateNode.Attributes["id"] != null) 
         {
             if (dividendFxTriggerDateNode.Attributes["id"] != null) 
             {
                 dividendFxTriggerDateIDRef_ = dividendFxTriggerDateNode.Attributes["id"].Value;
                 DividendPaymentDate ob = new DividendPaymentDate(dividendFxTriggerDateNode);
                 IDManager.SetID(dividendFxTriggerDateIDRef_, ob);
             }
             else if (dividendFxTriggerDateNode.Attributes["href"] != null)
             {
                 dividendFxTriggerDateIDRef_ = dividendFxTriggerDateNode.Attributes["href"].Value;
             }
             else
             {
                 dividendFxTriggerDate_ = new DividendPaymentDate(dividendFxTriggerDateNode);
             }
         }
         else
         {
             dividendFxTriggerDate_ = new DividendPaymentDate(dividendFxTriggerDateNode);
         }
     }
     
 
     XmlNode interestAccrualsMethodNode = xmlNode.SelectSingleNode("interestAccrualsMethod");
     
     if (interestAccrualsMethodNode != null)
     {
         if (interestAccrualsMethodNode.Attributes["href"] != null || interestAccrualsMethodNode.Attributes["id"] != null) 
         {
             if (interestAccrualsMethodNode.Attributes["id"] != null) 
             {
                 interestAccrualsMethodIDRef_ = interestAccrualsMethodNode.Attributes["id"].Value;
                 InterestAccrualsCompoundingMethod ob = new InterestAccrualsCompoundingMethod(interestAccrualsMethodNode);
                 IDManager.SetID(interestAccrualsMethodIDRef_, ob);
             }
             else if (interestAccrualsMethodNode.Attributes["href"] != null)
             {
                 interestAccrualsMethodIDRef_ = interestAccrualsMethodNode.Attributes["href"].Value;
             }
             else
             {
                 interestAccrualsMethod_ = new InterestAccrualsCompoundingMethod(interestAccrualsMethodNode);
             }
         }
         else
         {
             interestAccrualsMethod_ = new InterestAccrualsCompoundingMethod(interestAccrualsMethodNode);
         }
     }
     
 
     XmlNode numberOfIndexUnitsNode = xmlNode.SelectSingleNode("numberOfIndexUnits");
     
     if (numberOfIndexUnitsNode != null)
     {
         if (numberOfIndexUnitsNode.Attributes["href"] != null || numberOfIndexUnitsNode.Attributes["id"] != null) 
         {
             if (numberOfIndexUnitsNode.Attributes["id"] != null) 
             {
                 numberOfIndexUnitsIDRef_ = numberOfIndexUnitsNode.Attributes["id"].Value;
                 NonNegativeDecimal ob = new NonNegativeDecimal(numberOfIndexUnitsNode);
                 IDManager.SetID(numberOfIndexUnitsIDRef_, ob);
             }
             else if (numberOfIndexUnitsNode.Attributes["href"] != null)
             {
                 numberOfIndexUnitsIDRef_ = numberOfIndexUnitsNode.Attributes["href"].Value;
             }
             else
             {
                 numberOfIndexUnits_ = new NonNegativeDecimal(numberOfIndexUnitsNode);
             }
         }
         else
         {
             numberOfIndexUnits_ = new NonNegativeDecimal(numberOfIndexUnitsNode);
         }
     }
     
 
     XmlNode declaredCashDividendPercentageNode = xmlNode.SelectSingleNode("declaredCashDividendPercentage");
     
     if (declaredCashDividendPercentageNode != null)
     {
         if (declaredCashDividendPercentageNode.Attributes["href"] != null || declaredCashDividendPercentageNode.Attributes["id"] != null) 
         {
             if (declaredCashDividendPercentageNode.Attributes["id"] != null) 
             {
                 declaredCashDividendPercentageIDRef_ = declaredCashDividendPercentageNode.Attributes["id"].Value;
                 NonNegativeDecimal ob = new NonNegativeDecimal(declaredCashDividendPercentageNode);
                 IDManager.SetID(declaredCashDividendPercentageIDRef_, ob);
             }
             else if (declaredCashDividendPercentageNode.Attributes["href"] != null)
             {
                 declaredCashDividendPercentageIDRef_ = declaredCashDividendPercentageNode.Attributes["href"].Value;
             }
             else
             {
                 declaredCashDividendPercentage_ = new NonNegativeDecimal(declaredCashDividendPercentageNode);
             }
         }
         else
         {
             declaredCashDividendPercentage_ = new NonNegativeDecimal(declaredCashDividendPercentageNode);
         }
     }
     
 
     XmlNode declaredCashEquivalentDividendPercentageNode = xmlNode.SelectSingleNode("declaredCashEquivalentDividendPercentage");
     
     if (declaredCashEquivalentDividendPercentageNode != null)
     {
         if (declaredCashEquivalentDividendPercentageNode.Attributes["href"] != null || declaredCashEquivalentDividendPercentageNode.Attributes["id"] != null) 
         {
             if (declaredCashEquivalentDividendPercentageNode.Attributes["id"] != null) 
             {
                 declaredCashEquivalentDividendPercentageIDRef_ = declaredCashEquivalentDividendPercentageNode.Attributes["id"].Value;
                 NonNegativeDecimal ob = new NonNegativeDecimal(declaredCashEquivalentDividendPercentageNode);
                 IDManager.SetID(declaredCashEquivalentDividendPercentageIDRef_, ob);
             }
             else if (declaredCashEquivalentDividendPercentageNode.Attributes["href"] != null)
             {
                 declaredCashEquivalentDividendPercentageIDRef_ = declaredCashEquivalentDividendPercentageNode.Attributes["href"].Value;
             }
             else
             {
                 declaredCashEquivalentDividendPercentage_ = new NonNegativeDecimal(declaredCashEquivalentDividendPercentageNode);
             }
         }
         else
         {
             declaredCashEquivalentDividendPercentage_ = new NonNegativeDecimal(declaredCashEquivalentDividendPercentageNode);
         }
     }
     
 
     XmlNode nonCashDividendTreatmentNode = xmlNode.SelectSingleNode("nonCashDividendTreatment");
     
     if (nonCashDividendTreatmentNode != null)
     {
         if (nonCashDividendTreatmentNode.Attributes["href"] != null || nonCashDividendTreatmentNode.Attributes["id"] != null) 
         {
             if (nonCashDividendTreatmentNode.Attributes["id"] != null) 
             {
                 nonCashDividendTreatmentIDRef_ = nonCashDividendTreatmentNode.Attributes["id"].Value;
                 NonCashDividendTreatmentEnum ob = new NonCashDividendTreatmentEnum(nonCashDividendTreatmentNode);
                 IDManager.SetID(nonCashDividendTreatmentIDRef_, ob);
             }
             else if (nonCashDividendTreatmentNode.Attributes["href"] != null)
             {
                 nonCashDividendTreatmentIDRef_ = nonCashDividendTreatmentNode.Attributes["href"].Value;
             }
             else
             {
                 nonCashDividendTreatment_ = new NonCashDividendTreatmentEnum(nonCashDividendTreatmentNode);
             }
         }
         else
         {
             nonCashDividendTreatment_ = new NonCashDividendTreatmentEnum(nonCashDividendTreatmentNode);
         }
     }
     
 
     XmlNode dividendCompositionNode = xmlNode.SelectSingleNode("dividendComposition");
     
     if (dividendCompositionNode != null)
     {
         if (dividendCompositionNode.Attributes["href"] != null || dividendCompositionNode.Attributes["id"] != null) 
         {
             if (dividendCompositionNode.Attributes["id"] != null) 
             {
                 dividendCompositionIDRef_ = dividendCompositionNode.Attributes["id"].Value;
                 DividendCompositionEnum ob = new DividendCompositionEnum(dividendCompositionNode);
                 IDManager.SetID(dividendCompositionIDRef_, ob);
             }
             else if (dividendCompositionNode.Attributes["href"] != null)
             {
                 dividendCompositionIDRef_ = dividendCompositionNode.Attributes["href"].Value;
             }
             else
             {
                 dividendComposition_ = new DividendCompositionEnum(dividendCompositionNode);
             }
         }
         else
         {
             dividendComposition_ = new DividendCompositionEnum(dividendCompositionNode);
         }
     }
     
 
     XmlNode specialDividendsNode = xmlNode.SelectSingleNode("specialDividends");
     
     if (specialDividendsNode != null)
     {
         if (specialDividendsNode.Attributes["href"] != null || specialDividendsNode.Attributes["id"] != null) 
         {
             if (specialDividendsNode.Attributes["id"] != null) 
             {
                 specialDividendsIDRef_ = specialDividendsNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(specialDividendsNode);
                 IDManager.SetID(specialDividendsIDRef_, ob);
             }
             else if (specialDividendsNode.Attributes["href"] != null)
             {
                 specialDividendsIDRef_ = specialDividendsNode.Attributes["href"].Value;
             }
             else
             {
                 specialDividends_ = new XsdTypeBoolean(specialDividendsNode);
             }
         }
         else
         {
             specialDividends_ = new XsdTypeBoolean(specialDividendsNode);
         }
     }
     
 
 }
        public PrincipalExchangeAmount(XmlNode xmlNode)
        {
            XmlNode amountRelativeToNode = xmlNode.SelectSingleNode("amountRelativeTo");

            if (amountRelativeToNode != null)
            {
                if (amountRelativeToNode.Attributes["href"] != null || amountRelativeToNode.Attributes["id"] != null)
                {
                    if (amountRelativeToNode.Attributes["id"] != null)
                    {
                        amountRelativeToIDRef_ = amountRelativeToNode.Attributes["id"].Value;
                        AmountReference ob = new AmountReference(amountRelativeToNode);
                        IDManager.SetID(amountRelativeToIDRef_, ob);
                    }
                    else if (amountRelativeToNode.Attributes["href"] != null)
                    {
                        amountRelativeToIDRef_ = amountRelativeToNode.Attributes["href"].Value;
                    }
                    else
                    {
                        amountRelativeTo_ = new AmountReference(amountRelativeToNode);
                    }
                }
                else
                {
                    amountRelativeTo_ = new AmountReference(amountRelativeToNode);
                }
            }


            XmlNode determinationMethodNode = xmlNode.SelectSingleNode("determinationMethod");

            if (determinationMethodNode != null)
            {
                if (determinationMethodNode.Attributes["href"] != null || determinationMethodNode.Attributes["id"] != null)
                {
                    if (determinationMethodNode.Attributes["id"] != null)
                    {
                        determinationMethodIDRef_ = determinationMethodNode.Attributes["id"].Value;
                        DeterminationMethod ob = new DeterminationMethod(determinationMethodNode);
                        IDManager.SetID(determinationMethodIDRef_, ob);
                    }
                    else if (determinationMethodNode.Attributes["href"] != null)
                    {
                        determinationMethodIDRef_ = determinationMethodNode.Attributes["href"].Value;
                    }
                    else
                    {
                        determinationMethod_ = new DeterminationMethod(determinationMethodNode);
                    }
                }
                else
                {
                    determinationMethod_ = new DeterminationMethod(determinationMethodNode);
                }
            }


            XmlNode principalAmountNode = xmlNode.SelectSingleNode("principalAmount");

            if (principalAmountNode != null)
            {
                if (principalAmountNode.Attributes["href"] != null || principalAmountNode.Attributes["id"] != null)
                {
                    if (principalAmountNode.Attributes["id"] != null)
                    {
                        principalAmountIDRef_ = principalAmountNode.Attributes["id"].Value;
                        NonNegativeMoney ob = new NonNegativeMoney(principalAmountNode);
                        IDManager.SetID(principalAmountIDRef_, ob);
                    }
                    else if (principalAmountNode.Attributes["href"] != null)
                    {
                        principalAmountIDRef_ = principalAmountNode.Attributes["href"].Value;
                    }
                    else
                    {
                        principalAmount_ = new NonNegativeMoney(principalAmountNode);
                    }
                }
                else
                {
                    principalAmount_ = new NonNegativeMoney(principalAmountNode);
                }
            }
        }
Example #28
0
        public ReturnSwapNotional(XmlNode xmlNode)
        {
            XmlNodeList relativeNotionalAmountNodeList = xmlNode.SelectNodes("relativeNotionalAmount");

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

            foreach (XmlNode item in relativeNotionalAmountNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        relativeNotionalAmountIDRef = item.Attributes["id"].Name;
                        ReturnSwapNotionalAmountReference ob = ReturnSwapNotionalAmountReference();
                        IDManager.SetID(relativeNotionalAmountIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        relativeNotionalAmountIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        relativeNotionalAmount = new ReturnSwapNotionalAmountReference(item);
                    }
                }
            }


            XmlNodeList relativeDeterminationMethodNodeList = xmlNode.SelectNodes("relativeDeterminationMethod");

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

            foreach (XmlNode item in relativeDeterminationMethodNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        relativeDeterminationMethodIDRef = item.Attributes["id"].Name;
                        DeterminationMethodReference ob = DeterminationMethodReference();
                        IDManager.SetID(relativeDeterminationMethodIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        relativeDeterminationMethodIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        relativeDeterminationMethod = new DeterminationMethodReference(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 notionalAmountNodeList = xmlNode.SelectNodes("notionalAmount");

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

            foreach (XmlNode item in notionalAmountNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        notionalAmountIDRef = item.Attributes["id"].Name;
                        NotionalAmount ob = NotionalAmount();
                        IDManager.SetID(notionalAmountIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        notionalAmountIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        notionalAmount = new NotionalAmount(item);
                    }
                }
            }
        }
Example #29
0
        public ReturnSwapNotional(XmlNode xmlNode)
        {
            XmlNode relativeNotionalAmountNode = xmlNode.SelectSingleNode("relativeNotionalAmount");

            if (relativeNotionalAmountNode != null)
            {
                if (relativeNotionalAmountNode.Attributes["href"] != null || relativeNotionalAmountNode.Attributes["id"] != null)
                {
                    if (relativeNotionalAmountNode.Attributes["id"] != null)
                    {
                        relativeNotionalAmountIDRef_ = relativeNotionalAmountNode.Attributes["id"].Value;
                        ReturnSwapNotionalAmountReference ob = new ReturnSwapNotionalAmountReference(relativeNotionalAmountNode);
                        IDManager.SetID(relativeNotionalAmountIDRef_, ob);
                    }
                    else if (relativeNotionalAmountNode.Attributes["href"] != null)
                    {
                        relativeNotionalAmountIDRef_ = relativeNotionalAmountNode.Attributes["href"].Value;
                    }
                    else
                    {
                        relativeNotionalAmount_ = new ReturnSwapNotionalAmountReference(relativeNotionalAmountNode);
                    }
                }
                else
                {
                    relativeNotionalAmount_ = new ReturnSwapNotionalAmountReference(relativeNotionalAmountNode);
                }
            }


            XmlNode relativeDeterminationMethodNode = xmlNode.SelectSingleNode("relativeDeterminationMethod");

            if (relativeDeterminationMethodNode != null)
            {
                if (relativeDeterminationMethodNode.Attributes["href"] != null || relativeDeterminationMethodNode.Attributes["id"] != null)
                {
                    if (relativeDeterminationMethodNode.Attributes["id"] != null)
                    {
                        relativeDeterminationMethodIDRef_ = relativeDeterminationMethodNode.Attributes["id"].Value;
                        DeterminationMethodReference ob = new DeterminationMethodReference(relativeDeterminationMethodNode);
                        IDManager.SetID(relativeDeterminationMethodIDRef_, ob);
                    }
                    else if (relativeDeterminationMethodNode.Attributes["href"] != null)
                    {
                        relativeDeterminationMethodIDRef_ = relativeDeterminationMethodNode.Attributes["href"].Value;
                    }
                    else
                    {
                        relativeDeterminationMethod_ = new DeterminationMethodReference(relativeDeterminationMethodNode);
                    }
                }
                else
                {
                    relativeDeterminationMethod_ = new DeterminationMethodReference(relativeDeterminationMethodNode);
                }
            }


            XmlNode determinationMethodNode = xmlNode.SelectSingleNode("determinationMethod");

            if (determinationMethodNode != null)
            {
                if (determinationMethodNode.Attributes["href"] != null || determinationMethodNode.Attributes["id"] != null)
                {
                    if (determinationMethodNode.Attributes["id"] != null)
                    {
                        determinationMethodIDRef_ = determinationMethodNode.Attributes["id"].Value;
                        DeterminationMethod ob = new DeterminationMethod(determinationMethodNode);
                        IDManager.SetID(determinationMethodIDRef_, ob);
                    }
                    else if (determinationMethodNode.Attributes["href"] != null)
                    {
                        determinationMethodIDRef_ = determinationMethodNode.Attributes["href"].Value;
                    }
                    else
                    {
                        determinationMethod_ = new DeterminationMethod(determinationMethodNode);
                    }
                }
                else
                {
                    determinationMethod_ = new DeterminationMethod(determinationMethodNode);
                }
            }


            XmlNode notionalAmountNode = xmlNode.SelectSingleNode("notionalAmount");

            if (notionalAmountNode != null)
            {
                if (notionalAmountNode.Attributes["href"] != null || notionalAmountNode.Attributes["id"] != null)
                {
                    if (notionalAmountNode.Attributes["id"] != null)
                    {
                        notionalAmountIDRef_ = notionalAmountNode.Attributes["id"].Value;
                        NotionalAmount ob = new NotionalAmount(notionalAmountNode);
                        IDManager.SetID(notionalAmountIDRef_, ob);
                    }
                    else if (notionalAmountNode.Attributes["href"] != null)
                    {
                        notionalAmountIDRef_ = notionalAmountNode.Attributes["href"].Value;
                    }
                    else
                    {
                        notionalAmount_ = new NotionalAmount(notionalAmountNode);
                    }
                }
                else
                {
                    notionalAmount_ = new NotionalAmount(notionalAmountNode);
                }
            }
        }
 public ReturnSwapNotional(XmlNode xmlNode)
 {
     XmlNode relativeNotionalAmountNode = xmlNode.SelectSingleNode("relativeNotionalAmount");
     
     if (relativeNotionalAmountNode != null)
     {
         if (relativeNotionalAmountNode.Attributes["href"] != null || relativeNotionalAmountNode.Attributes["id"] != null) 
         {
             if (relativeNotionalAmountNode.Attributes["id"] != null) 
             {
                 relativeNotionalAmountIDRef_ = relativeNotionalAmountNode.Attributes["id"].Value;
                 ReturnSwapNotionalAmountReference ob = new ReturnSwapNotionalAmountReference(relativeNotionalAmountNode);
                 IDManager.SetID(relativeNotionalAmountIDRef_, ob);
             }
             else if (relativeNotionalAmountNode.Attributes["href"] != null)
             {
                 relativeNotionalAmountIDRef_ = relativeNotionalAmountNode.Attributes["href"].Value;
             }
             else
             {
                 relativeNotionalAmount_ = new ReturnSwapNotionalAmountReference(relativeNotionalAmountNode);
             }
         }
         else
         {
             relativeNotionalAmount_ = new ReturnSwapNotionalAmountReference(relativeNotionalAmountNode);
         }
     }
     
 
     XmlNode relativeDeterminationMethodNode = xmlNode.SelectSingleNode("relativeDeterminationMethod");
     
     if (relativeDeterminationMethodNode != null)
     {
         if (relativeDeterminationMethodNode.Attributes["href"] != null || relativeDeterminationMethodNode.Attributes["id"] != null) 
         {
             if (relativeDeterminationMethodNode.Attributes["id"] != null) 
             {
                 relativeDeterminationMethodIDRef_ = relativeDeterminationMethodNode.Attributes["id"].Value;
                 DeterminationMethodReference ob = new DeterminationMethodReference(relativeDeterminationMethodNode);
                 IDManager.SetID(relativeDeterminationMethodIDRef_, ob);
             }
             else if (relativeDeterminationMethodNode.Attributes["href"] != null)
             {
                 relativeDeterminationMethodIDRef_ = relativeDeterminationMethodNode.Attributes["href"].Value;
             }
             else
             {
                 relativeDeterminationMethod_ = new DeterminationMethodReference(relativeDeterminationMethodNode);
             }
         }
         else
         {
             relativeDeterminationMethod_ = new DeterminationMethodReference(relativeDeterminationMethodNode);
         }
     }
     
 
     XmlNode determinationMethodNode = xmlNode.SelectSingleNode("determinationMethod");
     
     if (determinationMethodNode != null)
     {
         if (determinationMethodNode.Attributes["href"] != null || determinationMethodNode.Attributes["id"] != null) 
         {
             if (determinationMethodNode.Attributes["id"] != null) 
             {
                 determinationMethodIDRef_ = determinationMethodNode.Attributes["id"].Value;
                 DeterminationMethod ob = new DeterminationMethod(determinationMethodNode);
                 IDManager.SetID(determinationMethodIDRef_, ob);
             }
             else if (determinationMethodNode.Attributes["href"] != null)
             {
                 determinationMethodIDRef_ = determinationMethodNode.Attributes["href"].Value;
             }
             else
             {
                 determinationMethod_ = new DeterminationMethod(determinationMethodNode);
             }
         }
         else
         {
             determinationMethod_ = new DeterminationMethod(determinationMethodNode);
         }
     }
     
 
     XmlNode notionalAmountNode = xmlNode.SelectSingleNode("notionalAmount");
     
     if (notionalAmountNode != null)
     {
         if (notionalAmountNode.Attributes["href"] != null || notionalAmountNode.Attributes["id"] != null) 
         {
             if (notionalAmountNode.Attributes["id"] != null) 
             {
                 notionalAmountIDRef_ = notionalAmountNode.Attributes["id"].Value;
                 NotionalAmount ob = new NotionalAmount(notionalAmountNode);
                 IDManager.SetID(notionalAmountIDRef_, ob);
             }
             else if (notionalAmountNode.Attributes["href"] != null)
             {
                 notionalAmountIDRef_ = notionalAmountNode.Attributes["href"].Value;
             }
             else
             {
                 notionalAmount_ = new NotionalAmount(notionalAmountNode);
             }
         }
         else
         {
             notionalAmount_ = new NotionalAmount(notionalAmountNode);
         }
     }
     
 
 }
 public SharedAmericanExercise(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNodeList commencementDateNodeList = xmlNode.SelectNodes("commencementDate");
     if (commencementDateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in commencementDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 commencementDateIDRef = item.Attributes["id"].Name;
                 AdjustableOrRelativeDate ob = AdjustableOrRelativeDate();
                 IDManager.SetID(commencementDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 commencementDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 commencementDate = new AdjustableOrRelativeDate(item);
             }
         }
     }
     
 
     XmlNodeList expirationDateNodeList = xmlNode.SelectNodes("expirationDate");
     if (expirationDateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in expirationDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 expirationDateIDRef = item.Attributes["id"].Name;
                 AdjustableOrRelativeDate ob = AdjustableOrRelativeDate();
                 IDManager.SetID(expirationDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 expirationDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 expirationDate = new AdjustableOrRelativeDate(item);
             }
         }
     }
     
 
     XmlNodeList latestExerciseTimeNodeList = xmlNode.SelectNodes("latestExerciseTime");
     if (latestExerciseTimeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in latestExerciseTimeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 latestExerciseTimeIDRef = item.Attributes["id"].Name;
                 BusinessCenterTime ob = BusinessCenterTime();
                 IDManager.SetID(latestExerciseTimeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 latestExerciseTimeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 latestExerciseTime = new BusinessCenterTime(item);
             }
         }
     }
     
 
     XmlNodeList latestExerciseTimeDeterminationNodeList = xmlNode.SelectNodes("latestExerciseTimeDetermination");
     if (latestExerciseTimeDeterminationNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in latestExerciseTimeDeterminationNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 latestExerciseTimeDeterminationIDRef = item.Attributes["id"].Name;
                 DeterminationMethod ob = DeterminationMethod();
                 IDManager.SetID(latestExerciseTimeDeterminationIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 latestExerciseTimeDeterminationIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 latestExerciseTimeDetermination = new DeterminationMethod(item);
             }
         }
     }
     
 
 }
Example #32
0
        public CommodityAmericanExercise(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNodeList exercisePeriodNodeList = xmlNode.SelectNodes("exercisePeriod");

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

            foreach (XmlNode item in exercisePeriodNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        exercisePeriodIDRef = item.Attributes["id"].Name;
                        CommodityExercisePeriods ob = CommodityExercisePeriods();
                        IDManager.SetID(exercisePeriodIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        exercisePeriodIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        exercisePeriod = new CommodityExercisePeriods(item);
                    }
                }
            }


            XmlNodeList exerciseFrequencyNodeList = xmlNode.SelectNodes("exerciseFrequency");

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

            foreach (XmlNode item in exerciseFrequencyNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        exerciseFrequencyIDRef = item.Attributes["id"].Name;
                        Frequency ob = Frequency();
                        IDManager.SetID(exerciseFrequencyIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        exerciseFrequencyIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        exerciseFrequency = new Frequency(item);
                    }
                }
            }


            XmlNodeList latestExerciseTimeNodeList = xmlNode.SelectNodes("latestExerciseTime");

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

            foreach (XmlNode item in latestExerciseTimeNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        latestExerciseTimeIDRef = item.Attributes["id"].Name;
                        BusinessCenterTime ob = BusinessCenterTime();
                        IDManager.SetID(latestExerciseTimeIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        latestExerciseTimeIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        latestExerciseTime = new BusinessCenterTime(item);
                    }
                }
            }


            XmlNodeList latestExerciseTimeDeterminationNodeList = xmlNode.SelectNodes("latestExerciseTimeDetermination");

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

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


            XmlNodeList expirationTimeNodeList = xmlNode.SelectNodes("expirationTime");

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

            foreach (XmlNode item in expirationTimeNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        expirationTimeIDRef = item.Attributes["id"].Name;
                        BusinessCenterTime ob = BusinessCenterTime();
                        IDManager.SetID(expirationTimeIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        expirationTimeIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        expirationTime = new BusinessCenterTime(item);
                    }
                }
            }


            XmlNodeList multipleExerciseNodeList = xmlNode.SelectNodes("multipleExercise");

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

            foreach (XmlNode item in multipleExerciseNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        multipleExerciseIDRef = item.Attributes["id"].Name;
                        CommodityMultipleExercise ob = CommodityMultipleExercise();
                        IDManager.SetID(multipleExerciseIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        multipleExerciseIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        multipleExercise = new CommodityMultipleExercise(item);
                    }
                }
            }
        }
 public Composite(XmlNode xmlNode)
 {
     XmlNode determinationMethodNode = xmlNode.SelectSingleNode("determinationMethod");
     
     if (determinationMethodNode != null)
     {
         if (determinationMethodNode.Attributes["href"] != null || determinationMethodNode.Attributes["id"] != null) 
         {
             if (determinationMethodNode.Attributes["id"] != null) 
             {
                 determinationMethodIDRef_ = determinationMethodNode.Attributes["id"].Value;
                 DeterminationMethod ob = new DeterminationMethod(determinationMethodNode);
                 IDManager.SetID(determinationMethodIDRef_, ob);
             }
             else if (determinationMethodNode.Attributes["href"] != null)
             {
                 determinationMethodIDRef_ = determinationMethodNode.Attributes["href"].Value;
             }
             else
             {
                 determinationMethod_ = new DeterminationMethod(determinationMethodNode);
             }
         }
         else
         {
             determinationMethod_ = new DeterminationMethod(determinationMethodNode);
         }
     }
     
 
     XmlNode relativeDateNode = xmlNode.SelectSingleNode("relativeDate");
     
     if (relativeDateNode != null)
     {
         if (relativeDateNode.Attributes["href"] != null || relativeDateNode.Attributes["id"] != null) 
         {
             if (relativeDateNode.Attributes["id"] != null) 
             {
                 relativeDateIDRef_ = relativeDateNode.Attributes["id"].Value;
                 RelativeDateOffset ob = new RelativeDateOffset(relativeDateNode);
                 IDManager.SetID(relativeDateIDRef_, ob);
             }
             else if (relativeDateNode.Attributes["href"] != null)
             {
                 relativeDateIDRef_ = relativeDateNode.Attributes["href"].Value;
             }
             else
             {
                 relativeDate_ = new RelativeDateOffset(relativeDateNode);
             }
         }
         else
         {
             relativeDate_ = new RelativeDateOffset(relativeDateNode);
         }
     }
     
 
     XmlNode fxSpotRateSourceNode = xmlNode.SelectSingleNode("fxSpotRateSource");
     
     if (fxSpotRateSourceNode != null)
     {
         if (fxSpotRateSourceNode.Attributes["href"] != null || fxSpotRateSourceNode.Attributes["id"] != null) 
         {
             if (fxSpotRateSourceNode.Attributes["id"] != null) 
             {
                 fxSpotRateSourceIDRef_ = fxSpotRateSourceNode.Attributes["id"].Value;
                 FxSpotRateSource ob = new FxSpotRateSource(fxSpotRateSourceNode);
                 IDManager.SetID(fxSpotRateSourceIDRef_, ob);
             }
             else if (fxSpotRateSourceNode.Attributes["href"] != null)
             {
                 fxSpotRateSourceIDRef_ = fxSpotRateSourceNode.Attributes["href"].Value;
             }
             else
             {
                 fxSpotRateSource_ = new FxSpotRateSource(fxSpotRateSourceNode);
             }
         }
         else
         {
             fxSpotRateSource_ = new FxSpotRateSource(fxSpotRateSourceNode);
         }
     }
     
 
 }
Example #34
0
        public DividendConditions(XmlNode xmlNode)
        {
            XmlNode dividendReinvestmentNode = xmlNode.SelectSingleNode("dividendReinvestment");

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


            XmlNode dividendEntitlementNode = xmlNode.SelectSingleNode("dividendEntitlement");

            if (dividendEntitlementNode != null)
            {
                if (dividendEntitlementNode.Attributes["href"] != null || dividendEntitlementNode.Attributes["id"] != null)
                {
                    if (dividendEntitlementNode.Attributes["id"] != null)
                    {
                        dividendEntitlementIDRef_ = dividendEntitlementNode.Attributes["id"].Value;
                        DividendEntitlementEnum ob = new DividendEntitlementEnum(dividendEntitlementNode);
                        IDManager.SetID(dividendEntitlementIDRef_, ob);
                    }
                    else if (dividendEntitlementNode.Attributes["href"] != null)
                    {
                        dividendEntitlementIDRef_ = dividendEntitlementNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dividendEntitlement_ = new DividendEntitlementEnum(dividendEntitlementNode);
                    }
                }
                else
                {
                    dividendEntitlement_ = new DividendEntitlementEnum(dividendEntitlementNode);
                }
            }


            XmlNode dividendAmountNode = xmlNode.SelectSingleNode("dividendAmount");

            if (dividendAmountNode != null)
            {
                if (dividendAmountNode.Attributes["href"] != null || dividendAmountNode.Attributes["id"] != null)
                {
                    if (dividendAmountNode.Attributes["id"] != null)
                    {
                        dividendAmountIDRef_ = dividendAmountNode.Attributes["id"].Value;
                        DividendAmountTypeEnum ob = new DividendAmountTypeEnum(dividendAmountNode);
                        IDManager.SetID(dividendAmountIDRef_, ob);
                    }
                    else if (dividendAmountNode.Attributes["href"] != null)
                    {
                        dividendAmountIDRef_ = dividendAmountNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dividendAmount_ = new DividendAmountTypeEnum(dividendAmountNode);
                    }
                }
                else
                {
                    dividendAmount_ = new DividendAmountTypeEnum(dividendAmountNode);
                }
            }


            XmlNode dividendPaymentDateNode = xmlNode.SelectSingleNode("dividendPaymentDate");

            if (dividendPaymentDateNode != null)
            {
                if (dividendPaymentDateNode.Attributes["href"] != null || dividendPaymentDateNode.Attributes["id"] != null)
                {
                    if (dividendPaymentDateNode.Attributes["id"] != null)
                    {
                        dividendPaymentDateIDRef_ = dividendPaymentDateNode.Attributes["id"].Value;
                        DividendPaymentDate ob = new DividendPaymentDate(dividendPaymentDateNode);
                        IDManager.SetID(dividendPaymentDateIDRef_, ob);
                    }
                    else if (dividendPaymentDateNode.Attributes["href"] != null)
                    {
                        dividendPaymentDateIDRef_ = dividendPaymentDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dividendPaymentDate_ = new DividendPaymentDate(dividendPaymentDateNode);
                    }
                }
                else
                {
                    dividendPaymentDate_ = new DividendPaymentDate(dividendPaymentDateNode);
                }
            }


            XmlNode dividendPeriodEffectiveDateNode = xmlNode.SelectSingleNode("dividendPeriodEffectiveDate");

            if (dividendPeriodEffectiveDateNode != null)
            {
                if (dividendPeriodEffectiveDateNode.Attributes["href"] != null || dividendPeriodEffectiveDateNode.Attributes["id"] != null)
                {
                    if (dividendPeriodEffectiveDateNode.Attributes["id"] != null)
                    {
                        dividendPeriodEffectiveDateIDRef_ = dividendPeriodEffectiveDateNode.Attributes["id"].Value;
                        DateReference ob = new DateReference(dividendPeriodEffectiveDateNode);
                        IDManager.SetID(dividendPeriodEffectiveDateIDRef_, ob);
                    }
                    else if (dividendPeriodEffectiveDateNode.Attributes["href"] != null)
                    {
                        dividendPeriodEffectiveDateIDRef_ = dividendPeriodEffectiveDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dividendPeriodEffectiveDate_ = new DateReference(dividendPeriodEffectiveDateNode);
                    }
                }
                else
                {
                    dividendPeriodEffectiveDate_ = new DateReference(dividendPeriodEffectiveDateNode);
                }
            }


            XmlNode dividendPeriodEndDateNode = xmlNode.SelectSingleNode("dividendPeriodEndDate");

            if (dividendPeriodEndDateNode != null)
            {
                if (dividendPeriodEndDateNode.Attributes["href"] != null || dividendPeriodEndDateNode.Attributes["id"] != null)
                {
                    if (dividendPeriodEndDateNode.Attributes["id"] != null)
                    {
                        dividendPeriodEndDateIDRef_ = dividendPeriodEndDateNode.Attributes["id"].Value;
                        DateReference ob = new DateReference(dividendPeriodEndDateNode);
                        IDManager.SetID(dividendPeriodEndDateIDRef_, ob);
                    }
                    else if (dividendPeriodEndDateNode.Attributes["href"] != null)
                    {
                        dividendPeriodEndDateIDRef_ = dividendPeriodEndDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dividendPeriodEndDate_ = new DateReference(dividendPeriodEndDateNode);
                    }
                }
                else
                {
                    dividendPeriodEndDate_ = new DateReference(dividendPeriodEndDateNode);
                }
            }


            XmlNode dividendPeriodNode = xmlNode.SelectSingleNode("dividendPeriod");

            if (dividendPeriodNode != null)
            {
                if (dividendPeriodNode.Attributes["href"] != null || dividendPeriodNode.Attributes["id"] != null)
                {
                    if (dividendPeriodNode.Attributes["id"] != null)
                    {
                        dividendPeriodIDRef_ = dividendPeriodNode.Attributes["id"].Value;
                        DividendPeriodEnum ob = new DividendPeriodEnum(dividendPeriodNode);
                        IDManager.SetID(dividendPeriodIDRef_, ob);
                    }
                    else if (dividendPeriodNode.Attributes["href"] != null)
                    {
                        dividendPeriodIDRef_ = dividendPeriodNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dividendPeriod_ = new DividendPeriodEnum(dividendPeriodNode);
                    }
                }
                else
                {
                    dividendPeriod_ = new DividendPeriodEnum(dividendPeriodNode);
                }
            }


            XmlNode extraOrdinaryDividendsNode = xmlNode.SelectSingleNode("extraOrdinaryDividends");

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


            XmlNode excessDividendAmountNode = xmlNode.SelectSingleNode("excessDividendAmount");

            if (excessDividendAmountNode != null)
            {
                if (excessDividendAmountNode.Attributes["href"] != null || excessDividendAmountNode.Attributes["id"] != null)
                {
                    if (excessDividendAmountNode.Attributes["id"] != null)
                    {
                        excessDividendAmountIDRef_ = excessDividendAmountNode.Attributes["id"].Value;
                        DividendAmountTypeEnum ob = new DividendAmountTypeEnum(excessDividendAmountNode);
                        IDManager.SetID(excessDividendAmountIDRef_, ob);
                    }
                    else if (excessDividendAmountNode.Attributes["href"] != null)
                    {
                        excessDividendAmountIDRef_ = excessDividendAmountNode.Attributes["href"].Value;
                    }
                    else
                    {
                        excessDividendAmount_ = new DividendAmountTypeEnum(excessDividendAmountNode);
                    }
                }
                else
                {
                    excessDividendAmount_ = new DividendAmountTypeEnum(excessDividendAmountNode);
                }
            }


            XmlNode currencyNode = xmlNode.SelectSingleNode("currency");

            if (currencyNode != null)
            {
                if (currencyNode.Attributes["href"] != null || currencyNode.Attributes["id"] != null)
                {
                    if (currencyNode.Attributes["id"] != null)
                    {
                        currencyIDRef_ = currencyNode.Attributes["id"].Value;
                        IdentifiedCurrency ob = new IdentifiedCurrency(currencyNode);
                        IDManager.SetID(currencyIDRef_, ob);
                    }
                    else if (currencyNode.Attributes["href"] != null)
                    {
                        currencyIDRef_ = currencyNode.Attributes["href"].Value;
                    }
                    else
                    {
                        currency_ = new IdentifiedCurrency(currencyNode);
                    }
                }
                else
                {
                    currency_ = new IdentifiedCurrency(currencyNode);
                }
            }


            XmlNode determinationMethodNode = xmlNode.SelectSingleNode("determinationMethod");

            if (determinationMethodNode != null)
            {
                if (determinationMethodNode.Attributes["href"] != null || determinationMethodNode.Attributes["id"] != null)
                {
                    if (determinationMethodNode.Attributes["id"] != null)
                    {
                        determinationMethodIDRef_ = determinationMethodNode.Attributes["id"].Value;
                        DeterminationMethod ob = new DeterminationMethod(determinationMethodNode);
                        IDManager.SetID(determinationMethodIDRef_, ob);
                    }
                    else if (determinationMethodNode.Attributes["href"] != null)
                    {
                        determinationMethodIDRef_ = determinationMethodNode.Attributes["href"].Value;
                    }
                    else
                    {
                        determinationMethod_ = new DeterminationMethod(determinationMethodNode);
                    }
                }
                else
                {
                    determinationMethod_ = new DeterminationMethod(determinationMethodNode);
                }
            }


            XmlNode currencyReferenceNode = xmlNode.SelectSingleNode("currencyReference");

            if (currencyReferenceNode != null)
            {
                if (currencyReferenceNode.Attributes["href"] != null || currencyReferenceNode.Attributes["id"] != null)
                {
                    if (currencyReferenceNode.Attributes["id"] != null)
                    {
                        currencyReferenceIDRef_ = currencyReferenceNode.Attributes["id"].Value;
                        IdentifiedCurrencyReference ob = new IdentifiedCurrencyReference(currencyReferenceNode);
                        IDManager.SetID(currencyReferenceIDRef_, ob);
                    }
                    else if (currencyReferenceNode.Attributes["href"] != null)
                    {
                        currencyReferenceIDRef_ = currencyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        currencyReference_ = new IdentifiedCurrencyReference(currencyReferenceNode);
                    }
                }
                else
                {
                    currencyReference_ = new IdentifiedCurrencyReference(currencyReferenceNode);
                }
            }


            XmlNode dividendFxTriggerDateNode = xmlNode.SelectSingleNode("dividendFxTriggerDate");

            if (dividendFxTriggerDateNode != null)
            {
                if (dividendFxTriggerDateNode.Attributes["href"] != null || dividendFxTriggerDateNode.Attributes["id"] != null)
                {
                    if (dividendFxTriggerDateNode.Attributes["id"] != null)
                    {
                        dividendFxTriggerDateIDRef_ = dividendFxTriggerDateNode.Attributes["id"].Value;
                        DividendPaymentDate ob = new DividendPaymentDate(dividendFxTriggerDateNode);
                        IDManager.SetID(dividendFxTriggerDateIDRef_, ob);
                    }
                    else if (dividendFxTriggerDateNode.Attributes["href"] != null)
                    {
                        dividendFxTriggerDateIDRef_ = dividendFxTriggerDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dividendFxTriggerDate_ = new DividendPaymentDate(dividendFxTriggerDateNode);
                    }
                }
                else
                {
                    dividendFxTriggerDate_ = new DividendPaymentDate(dividendFxTriggerDateNode);
                }
            }


            XmlNode interestAccrualsMethodNode = xmlNode.SelectSingleNode("interestAccrualsMethod");

            if (interestAccrualsMethodNode != null)
            {
                if (interestAccrualsMethodNode.Attributes["href"] != null || interestAccrualsMethodNode.Attributes["id"] != null)
                {
                    if (interestAccrualsMethodNode.Attributes["id"] != null)
                    {
                        interestAccrualsMethodIDRef_ = interestAccrualsMethodNode.Attributes["id"].Value;
                        InterestAccrualsCompoundingMethod ob = new InterestAccrualsCompoundingMethod(interestAccrualsMethodNode);
                        IDManager.SetID(interestAccrualsMethodIDRef_, ob);
                    }
                    else if (interestAccrualsMethodNode.Attributes["href"] != null)
                    {
                        interestAccrualsMethodIDRef_ = interestAccrualsMethodNode.Attributes["href"].Value;
                    }
                    else
                    {
                        interestAccrualsMethod_ = new InterestAccrualsCompoundingMethod(interestAccrualsMethodNode);
                    }
                }
                else
                {
                    interestAccrualsMethod_ = new InterestAccrualsCompoundingMethod(interestAccrualsMethodNode);
                }
            }


            XmlNode numberOfIndexUnitsNode = xmlNode.SelectSingleNode("numberOfIndexUnits");

            if (numberOfIndexUnitsNode != null)
            {
                if (numberOfIndexUnitsNode.Attributes["href"] != null || numberOfIndexUnitsNode.Attributes["id"] != null)
                {
                    if (numberOfIndexUnitsNode.Attributes["id"] != null)
                    {
                        numberOfIndexUnitsIDRef_ = numberOfIndexUnitsNode.Attributes["id"].Value;
                        NonNegativeDecimal ob = new NonNegativeDecimal(numberOfIndexUnitsNode);
                        IDManager.SetID(numberOfIndexUnitsIDRef_, ob);
                    }
                    else if (numberOfIndexUnitsNode.Attributes["href"] != null)
                    {
                        numberOfIndexUnitsIDRef_ = numberOfIndexUnitsNode.Attributes["href"].Value;
                    }
                    else
                    {
                        numberOfIndexUnits_ = new NonNegativeDecimal(numberOfIndexUnitsNode);
                    }
                }
                else
                {
                    numberOfIndexUnits_ = new NonNegativeDecimal(numberOfIndexUnitsNode);
                }
            }


            XmlNode declaredCashDividendPercentageNode = xmlNode.SelectSingleNode("declaredCashDividendPercentage");

            if (declaredCashDividendPercentageNode != null)
            {
                if (declaredCashDividendPercentageNode.Attributes["href"] != null || declaredCashDividendPercentageNode.Attributes["id"] != null)
                {
                    if (declaredCashDividendPercentageNode.Attributes["id"] != null)
                    {
                        declaredCashDividendPercentageIDRef_ = declaredCashDividendPercentageNode.Attributes["id"].Value;
                        NonNegativeDecimal ob = new NonNegativeDecimal(declaredCashDividendPercentageNode);
                        IDManager.SetID(declaredCashDividendPercentageIDRef_, ob);
                    }
                    else if (declaredCashDividendPercentageNode.Attributes["href"] != null)
                    {
                        declaredCashDividendPercentageIDRef_ = declaredCashDividendPercentageNode.Attributes["href"].Value;
                    }
                    else
                    {
                        declaredCashDividendPercentage_ = new NonNegativeDecimal(declaredCashDividendPercentageNode);
                    }
                }
                else
                {
                    declaredCashDividendPercentage_ = new NonNegativeDecimal(declaredCashDividendPercentageNode);
                }
            }


            XmlNode declaredCashEquivalentDividendPercentageNode = xmlNode.SelectSingleNode("declaredCashEquivalentDividendPercentage");

            if (declaredCashEquivalentDividendPercentageNode != null)
            {
                if (declaredCashEquivalentDividendPercentageNode.Attributes["href"] != null || declaredCashEquivalentDividendPercentageNode.Attributes["id"] != null)
                {
                    if (declaredCashEquivalentDividendPercentageNode.Attributes["id"] != null)
                    {
                        declaredCashEquivalentDividendPercentageIDRef_ = declaredCashEquivalentDividendPercentageNode.Attributes["id"].Value;
                        NonNegativeDecimal ob = new NonNegativeDecimal(declaredCashEquivalentDividendPercentageNode);
                        IDManager.SetID(declaredCashEquivalentDividendPercentageIDRef_, ob);
                    }
                    else if (declaredCashEquivalentDividendPercentageNode.Attributes["href"] != null)
                    {
                        declaredCashEquivalentDividendPercentageIDRef_ = declaredCashEquivalentDividendPercentageNode.Attributes["href"].Value;
                    }
                    else
                    {
                        declaredCashEquivalentDividendPercentage_ = new NonNegativeDecimal(declaredCashEquivalentDividendPercentageNode);
                    }
                }
                else
                {
                    declaredCashEquivalentDividendPercentage_ = new NonNegativeDecimal(declaredCashEquivalentDividendPercentageNode);
                }
            }


            XmlNode nonCashDividendTreatmentNode = xmlNode.SelectSingleNode("nonCashDividendTreatment");

            if (nonCashDividendTreatmentNode != null)
            {
                if (nonCashDividendTreatmentNode.Attributes["href"] != null || nonCashDividendTreatmentNode.Attributes["id"] != null)
                {
                    if (nonCashDividendTreatmentNode.Attributes["id"] != null)
                    {
                        nonCashDividendTreatmentIDRef_ = nonCashDividendTreatmentNode.Attributes["id"].Value;
                        NonCashDividendTreatmentEnum ob = new NonCashDividendTreatmentEnum(nonCashDividendTreatmentNode);
                        IDManager.SetID(nonCashDividendTreatmentIDRef_, ob);
                    }
                    else if (nonCashDividendTreatmentNode.Attributes["href"] != null)
                    {
                        nonCashDividendTreatmentIDRef_ = nonCashDividendTreatmentNode.Attributes["href"].Value;
                    }
                    else
                    {
                        nonCashDividendTreatment_ = new NonCashDividendTreatmentEnum(nonCashDividendTreatmentNode);
                    }
                }
                else
                {
                    nonCashDividendTreatment_ = new NonCashDividendTreatmentEnum(nonCashDividendTreatmentNode);
                }
            }


            XmlNode dividendCompositionNode = xmlNode.SelectSingleNode("dividendComposition");

            if (dividendCompositionNode != null)
            {
                if (dividendCompositionNode.Attributes["href"] != null || dividendCompositionNode.Attributes["id"] != null)
                {
                    if (dividendCompositionNode.Attributes["id"] != null)
                    {
                        dividendCompositionIDRef_ = dividendCompositionNode.Attributes["id"].Value;
                        DividendCompositionEnum ob = new DividendCompositionEnum(dividendCompositionNode);
                        IDManager.SetID(dividendCompositionIDRef_, ob);
                    }
                    else if (dividendCompositionNode.Attributes["href"] != null)
                    {
                        dividendCompositionIDRef_ = dividendCompositionNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dividendComposition_ = new DividendCompositionEnum(dividendCompositionNode);
                    }
                }
                else
                {
                    dividendComposition_ = new DividendCompositionEnum(dividendCompositionNode);
                }
            }


            XmlNode specialDividendsNode = xmlNode.SelectSingleNode("specialDividends");

            if (specialDividendsNode != null)
            {
                if (specialDividendsNode.Attributes["href"] != null || specialDividendsNode.Attributes["id"] != null)
                {
                    if (specialDividendsNode.Attributes["id"] != null)
                    {
                        specialDividendsIDRef_ = specialDividendsNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(specialDividendsNode);
                        IDManager.SetID(specialDividendsIDRef_, ob);
                    }
                    else if (specialDividendsNode.Attributes["href"] != null)
                    {
                        specialDividendsIDRef_ = specialDividendsNode.Attributes["href"].Value;
                    }
                    else
                    {
                        specialDividends_ = new XsdTypeBoolean(specialDividendsNode);
                    }
                }
                else
                {
                    specialDividends_ = new XsdTypeBoolean(specialDividendsNode);
                }
            }
        }
 public EquityAmericanExercise(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode latestExerciseTimeTypeNode = xmlNode.SelectSingleNode("latestExerciseTimeType");
     
     if (latestExerciseTimeTypeNode != null)
     {
         if (latestExerciseTimeTypeNode.Attributes["href"] != null || latestExerciseTimeTypeNode.Attributes["id"] != null) 
         {
             if (latestExerciseTimeTypeNode.Attributes["id"] != null) 
             {
                 latestExerciseTimeTypeIDRef_ = latestExerciseTimeTypeNode.Attributes["id"].Value;
                 TimeTypeEnum ob = new TimeTypeEnum(latestExerciseTimeTypeNode);
                 IDManager.SetID(latestExerciseTimeTypeIDRef_, ob);
             }
             else if (latestExerciseTimeTypeNode.Attributes["href"] != null)
             {
                 latestExerciseTimeTypeIDRef_ = latestExerciseTimeTypeNode.Attributes["href"].Value;
             }
             else
             {
                 latestExerciseTimeType_ = new TimeTypeEnum(latestExerciseTimeTypeNode);
             }
         }
         else
         {
             latestExerciseTimeType_ = new TimeTypeEnum(latestExerciseTimeTypeNode);
         }
     }
     
 
     XmlNode equityExpirationTimeTypeNode = xmlNode.SelectSingleNode("equityExpirationTimeType");
     
     if (equityExpirationTimeTypeNode != null)
     {
         if (equityExpirationTimeTypeNode.Attributes["href"] != null || equityExpirationTimeTypeNode.Attributes["id"] != null) 
         {
             if (equityExpirationTimeTypeNode.Attributes["id"] != null) 
             {
                 equityExpirationTimeTypeIDRef_ = equityExpirationTimeTypeNode.Attributes["id"].Value;
                 TimeTypeEnum ob = new TimeTypeEnum(equityExpirationTimeTypeNode);
                 IDManager.SetID(equityExpirationTimeTypeIDRef_, ob);
             }
             else if (equityExpirationTimeTypeNode.Attributes["href"] != null)
             {
                 equityExpirationTimeTypeIDRef_ = equityExpirationTimeTypeNode.Attributes["href"].Value;
             }
             else
             {
                 equityExpirationTimeType_ = new TimeTypeEnum(equityExpirationTimeTypeNode);
             }
         }
         else
         {
             equityExpirationTimeType_ = new TimeTypeEnum(equityExpirationTimeTypeNode);
         }
     }
     
 
     XmlNode equityExpirationTimeNode = xmlNode.SelectSingleNode("equityExpirationTime");
     
     if (equityExpirationTimeNode != null)
     {
         if (equityExpirationTimeNode.Attributes["href"] != null || equityExpirationTimeNode.Attributes["id"] != null) 
         {
             if (equityExpirationTimeNode.Attributes["id"] != null) 
             {
                 equityExpirationTimeIDRef_ = equityExpirationTimeNode.Attributes["id"].Value;
                 BusinessCenterTime ob = new BusinessCenterTime(equityExpirationTimeNode);
                 IDManager.SetID(equityExpirationTimeIDRef_, ob);
             }
             else if (equityExpirationTimeNode.Attributes["href"] != null)
             {
                 equityExpirationTimeIDRef_ = equityExpirationTimeNode.Attributes["href"].Value;
             }
             else
             {
                 equityExpirationTime_ = new BusinessCenterTime(equityExpirationTimeNode);
             }
         }
         else
         {
             equityExpirationTime_ = new BusinessCenterTime(equityExpirationTimeNode);
         }
     }
     
 
     XmlNode expirationTimeDeterminationNode = xmlNode.SelectSingleNode("expirationTimeDetermination");
     
     if (expirationTimeDeterminationNode != null)
     {
         if (expirationTimeDeterminationNode.Attributes["href"] != null || expirationTimeDeterminationNode.Attributes["id"] != null) 
         {
             if (expirationTimeDeterminationNode.Attributes["id"] != null) 
             {
                 expirationTimeDeterminationIDRef_ = expirationTimeDeterminationNode.Attributes["id"].Value;
                 DeterminationMethod ob = new DeterminationMethod(expirationTimeDeterminationNode);
                 IDManager.SetID(expirationTimeDeterminationIDRef_, ob);
             }
             else if (expirationTimeDeterminationNode.Attributes["href"] != null)
             {
                 expirationTimeDeterminationIDRef_ = expirationTimeDeterminationNode.Attributes["href"].Value;
             }
             else
             {
                 expirationTimeDetermination_ = new DeterminationMethod(expirationTimeDeterminationNode);
             }
         }
         else
         {
             expirationTimeDetermination_ = new DeterminationMethod(expirationTimeDeterminationNode);
         }
     }
     
 
     XmlNode equityMultipleExerciseNode = xmlNode.SelectSingleNode("equityMultipleExercise");
     
     if (equityMultipleExerciseNode != null)
     {
         if (equityMultipleExerciseNode.Attributes["href"] != null || equityMultipleExerciseNode.Attributes["id"] != null) 
         {
             if (equityMultipleExerciseNode.Attributes["id"] != null) 
             {
                 equityMultipleExerciseIDRef_ = equityMultipleExerciseNode.Attributes["id"].Value;
                 EquityMultipleExercise ob = new EquityMultipleExercise(equityMultipleExerciseNode);
                 IDManager.SetID(equityMultipleExerciseIDRef_, ob);
             }
             else if (equityMultipleExerciseNode.Attributes["href"] != null)
             {
                 equityMultipleExerciseIDRef_ = equityMultipleExerciseNode.Attributes["href"].Value;
             }
             else
             {
                 equityMultipleExercise_ = new EquityMultipleExercise(equityMultipleExerciseNode);
             }
         }
         else
         {
             equityMultipleExercise_ = new EquityMultipleExercise(equityMultipleExerciseNode);
         }
     }
     
 
 }
 public EquityBermudaExercise(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNodeList bermudaExerciseDatesNodeList = xmlNode.SelectNodes("bermudaExerciseDates");
     if (bermudaExerciseDatesNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in bermudaExerciseDatesNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 bermudaExerciseDatesIDRef = item.Attributes["id"].Name;
                 DateList ob = DateList();
                 IDManager.SetID(bermudaExerciseDatesIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 bermudaExerciseDatesIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 bermudaExerciseDates = new DateList(item);
             }
         }
     }
     
 
     XmlNodeList latestExerciseTimeTypeNodeList = xmlNode.SelectNodes("latestExerciseTimeType");
     if (latestExerciseTimeTypeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in latestExerciseTimeTypeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 latestExerciseTimeTypeIDRef = item.Attributes["id"].Name;
                 TimeTypeEnum ob = TimeTypeEnum();
                 IDManager.SetID(latestExerciseTimeTypeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 latestExerciseTimeTypeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 latestExerciseTimeType = new TimeTypeEnum(item);
             }
         }
     }
     
 
     XmlNodeList equityExpirationTimeTypeNodeList = xmlNode.SelectNodes("equityExpirationTimeType");
     if (equityExpirationTimeTypeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in equityExpirationTimeTypeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 equityExpirationTimeTypeIDRef = item.Attributes["id"].Name;
                 TimeTypeEnum ob = TimeTypeEnum();
                 IDManager.SetID(equityExpirationTimeTypeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 equityExpirationTimeTypeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 equityExpirationTimeType = new TimeTypeEnum(item);
             }
         }
     }
     
 
     XmlNodeList equityExpirationTimeNodeList = xmlNode.SelectNodes("equityExpirationTime");
     if (equityExpirationTimeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in equityExpirationTimeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 equityExpirationTimeIDRef = item.Attributes["id"].Name;
                 BusinessCenterTime ob = BusinessCenterTime();
                 IDManager.SetID(equityExpirationTimeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 equityExpirationTimeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 equityExpirationTime = new BusinessCenterTime(item);
             }
         }
     }
     
 
     XmlNodeList expirationTimeDeterminationNodeList = xmlNode.SelectNodes("expirationTimeDetermination");
     if (expirationTimeDeterminationNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in expirationTimeDeterminationNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 expirationTimeDeterminationIDRef = item.Attributes["id"].Name;
                 DeterminationMethod ob = DeterminationMethod();
                 IDManager.SetID(expirationTimeDeterminationIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 expirationTimeDeterminationIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 expirationTimeDetermination = new DeterminationMethod(item);
             }
         }
     }
     
 
     XmlNodeList equityMultipleExerciseNodeList = xmlNode.SelectNodes("equityMultipleExercise");
     if (equityMultipleExerciseNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in equityMultipleExerciseNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 equityMultipleExerciseIDRef = item.Attributes["id"].Name;
                 EquityMultipleExercise ob = EquityMultipleExercise();
                 IDManager.SetID(equityMultipleExerciseIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 equityMultipleExerciseIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 equityMultipleExercise = new EquityMultipleExercise(item);
             }
         }
     }
     
 
 }
        public Price(XmlNode xmlNode)
        {
            XmlNode commissionNode = xmlNode.SelectSingleNode("commission");

            if (commissionNode != null)
            {
                if (commissionNode.Attributes["href"] != null || commissionNode.Attributes["id"] != null)
                {
                    if (commissionNode.Attributes["id"] != null)
                    {
                        commissionIDRef_ = commissionNode.Attributes["id"].Value;
                        Commission ob = new Commission(commissionNode);
                        IDManager.SetID(commissionIDRef_, ob);
                    }
                    else if (commissionNode.Attributes["href"] != null)
                    {
                        commissionIDRef_ = commissionNode.Attributes["href"].Value;
                    }
                    else
                    {
                        commission_ = new Commission(commissionNode);
                    }
                }
                else
                {
                    commission_ = new Commission(commissionNode);
                }
            }


            XmlNode determinationMethodNode = xmlNode.SelectSingleNode("determinationMethod");

            if (determinationMethodNode != null)
            {
                if (determinationMethodNode.Attributes["href"] != null || determinationMethodNode.Attributes["id"] != null)
                {
                    if (determinationMethodNode.Attributes["id"] != null)
                    {
                        determinationMethodIDRef_ = determinationMethodNode.Attributes["id"].Value;
                        DeterminationMethod ob = new DeterminationMethod(determinationMethodNode);
                        IDManager.SetID(determinationMethodIDRef_, ob);
                    }
                    else if (determinationMethodNode.Attributes["href"] != null)
                    {
                        determinationMethodIDRef_ = determinationMethodNode.Attributes["href"].Value;
                    }
                    else
                    {
                        determinationMethod_ = new DeterminationMethod(determinationMethodNode);
                    }
                }
                else
                {
                    determinationMethod_ = new DeterminationMethod(determinationMethodNode);
                }
            }


            XmlNode grossPriceNode = xmlNode.SelectSingleNode("grossPrice");

            if (grossPriceNode != null)
            {
                if (grossPriceNode.Attributes["href"] != null || grossPriceNode.Attributes["id"] != null)
                {
                    if (grossPriceNode.Attributes["id"] != null)
                    {
                        grossPriceIDRef_ = grossPriceNode.Attributes["id"].Value;
                        ActualPrice ob = new ActualPrice(grossPriceNode);
                        IDManager.SetID(grossPriceIDRef_, ob);
                    }
                    else if (grossPriceNode.Attributes["href"] != null)
                    {
                        grossPriceIDRef_ = grossPriceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        grossPrice_ = new ActualPrice(grossPriceNode);
                    }
                }
                else
                {
                    grossPrice_ = new ActualPrice(grossPriceNode);
                }
            }


            XmlNode netPriceNode = xmlNode.SelectSingleNode("netPrice");

            if (netPriceNode != null)
            {
                if (netPriceNode.Attributes["href"] != null || netPriceNode.Attributes["id"] != null)
                {
                    if (netPriceNode.Attributes["id"] != null)
                    {
                        netPriceIDRef_ = netPriceNode.Attributes["id"].Value;
                        ActualPrice ob = new ActualPrice(netPriceNode);
                        IDManager.SetID(netPriceIDRef_, ob);
                    }
                    else if (netPriceNode.Attributes["href"] != null)
                    {
                        netPriceIDRef_ = netPriceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        netPrice_ = new ActualPrice(netPriceNode);
                    }
                }
                else
                {
                    netPrice_ = new ActualPrice(netPriceNode);
                }
            }


            XmlNode accruedInterestPriceNode = xmlNode.SelectSingleNode("accruedInterestPrice");

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


            XmlNode fxConversionNode = xmlNode.SelectSingleNode("fxConversion");

            if (fxConversionNode != null)
            {
                if (fxConversionNode.Attributes["href"] != null || fxConversionNode.Attributes["id"] != null)
                {
                    if (fxConversionNode.Attributes["id"] != null)
                    {
                        fxConversionIDRef_ = fxConversionNode.Attributes["id"].Value;
                        FxConversion ob = new FxConversion(fxConversionNode);
                        IDManager.SetID(fxConversionIDRef_, ob);
                    }
                    else if (fxConversionNode.Attributes["href"] != null)
                    {
                        fxConversionIDRef_ = fxConversionNode.Attributes["href"].Value;
                    }
                    else
                    {
                        fxConversion_ = new FxConversion(fxConversionNode);
                    }
                }
                else
                {
                    fxConversion_ = new FxConversion(fxConversionNode);
                }
            }


            XmlNode amountRelativeToNode = xmlNode.SelectSingleNode("amountRelativeTo");

            if (amountRelativeToNode != null)
            {
                if (amountRelativeToNode.Attributes["href"] != null || amountRelativeToNode.Attributes["id"] != null)
                {
                    if (amountRelativeToNode.Attributes["id"] != null)
                    {
                        amountRelativeToIDRef_ = amountRelativeToNode.Attributes["id"].Value;
                        AmountReference ob = new AmountReference(amountRelativeToNode);
                        IDManager.SetID(amountRelativeToIDRef_, ob);
                    }
                    else if (amountRelativeToNode.Attributes["href"] != null)
                    {
                        amountRelativeToIDRef_ = amountRelativeToNode.Attributes["href"].Value;
                    }
                    else
                    {
                        amountRelativeTo_ = new AmountReference(amountRelativeToNode);
                    }
                }
                else
                {
                    amountRelativeTo_ = new AmountReference(amountRelativeToNode);
                }
            }


            XmlNode cleanNetPriceNode = xmlNode.SelectSingleNode("cleanNetPrice");

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


            XmlNode quotationCharacteristicsNode = xmlNode.SelectSingleNode("quotationCharacteristics");

            if (quotationCharacteristicsNode != null)
            {
                if (quotationCharacteristicsNode.Attributes["href"] != null || quotationCharacteristicsNode.Attributes["id"] != null)
                {
                    if (quotationCharacteristicsNode.Attributes["id"] != null)
                    {
                        quotationCharacteristicsIDRef_ = quotationCharacteristicsNode.Attributes["id"].Value;
                        QuotationCharacteristics ob = new QuotationCharacteristics(quotationCharacteristicsNode);
                        IDManager.SetID(quotationCharacteristicsIDRef_, ob);
                    }
                    else if (quotationCharacteristicsNode.Attributes["href"] != null)
                    {
                        quotationCharacteristicsIDRef_ = quotationCharacteristicsNode.Attributes["href"].Value;
                    }
                    else
                    {
                        quotationCharacteristics_ = new QuotationCharacteristics(quotationCharacteristicsNode);
                    }
                }
                else
                {
                    quotationCharacteristics_ = new QuotationCharacteristics(quotationCharacteristicsNode);
                }
            }
        }
 public PrincipalExchangeAmount(XmlNode xmlNode)
 {
     XmlNodeList amountRelativeToNodeList = xmlNode.SelectNodes("amountRelativeTo");
     if (amountRelativeToNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in amountRelativeToNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 amountRelativeToIDRef = item.Attributes["id"].Name;
                 AmountReference ob = AmountReference();
                 IDManager.SetID(amountRelativeToIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 amountRelativeToIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 amountRelativeTo = new AmountReference(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 principalAmountNodeList = xmlNode.SelectNodes("principalAmount");
     if (principalAmountNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in principalAmountNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 principalAmountIDRef = item.Attributes["id"].Name;
                 NonNegativeMoney ob = NonNegativeMoney();
                 IDManager.SetID(principalAmountIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 principalAmountIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 principalAmount = new NonNegativeMoney(item);
             }
         }
     }
     
 
 }
        public EquityBermudaExercise(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode bermudaExerciseDatesNode = xmlNode.SelectSingleNode("bermudaExerciseDates");

            if (bermudaExerciseDatesNode != null)
            {
                if (bermudaExerciseDatesNode.Attributes["href"] != null || bermudaExerciseDatesNode.Attributes["id"] != null)
                {
                    if (bermudaExerciseDatesNode.Attributes["id"] != null)
                    {
                        bermudaExerciseDatesIDRef_ = bermudaExerciseDatesNode.Attributes["id"].Value;
                        DateList ob = new DateList(bermudaExerciseDatesNode);
                        IDManager.SetID(bermudaExerciseDatesIDRef_, ob);
                    }
                    else if (bermudaExerciseDatesNode.Attributes["href"] != null)
                    {
                        bermudaExerciseDatesIDRef_ = bermudaExerciseDatesNode.Attributes["href"].Value;
                    }
                    else
                    {
                        bermudaExerciseDates_ = new DateList(bermudaExerciseDatesNode);
                    }
                }
                else
                {
                    bermudaExerciseDates_ = new DateList(bermudaExerciseDatesNode);
                }
            }


            XmlNode latestExerciseTimeTypeNode = xmlNode.SelectSingleNode("latestExerciseTimeType");

            if (latestExerciseTimeTypeNode != null)
            {
                if (latestExerciseTimeTypeNode.Attributes["href"] != null || latestExerciseTimeTypeNode.Attributes["id"] != null)
                {
                    if (latestExerciseTimeTypeNode.Attributes["id"] != null)
                    {
                        latestExerciseTimeTypeIDRef_ = latestExerciseTimeTypeNode.Attributes["id"].Value;
                        TimeTypeEnum ob = new TimeTypeEnum(latestExerciseTimeTypeNode);
                        IDManager.SetID(latestExerciseTimeTypeIDRef_, ob);
                    }
                    else if (latestExerciseTimeTypeNode.Attributes["href"] != null)
                    {
                        latestExerciseTimeTypeIDRef_ = latestExerciseTimeTypeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        latestExerciseTimeType_ = new TimeTypeEnum(latestExerciseTimeTypeNode);
                    }
                }
                else
                {
                    latestExerciseTimeType_ = new TimeTypeEnum(latestExerciseTimeTypeNode);
                }
            }


            XmlNode equityExpirationTimeTypeNode = xmlNode.SelectSingleNode("equityExpirationTimeType");

            if (equityExpirationTimeTypeNode != null)
            {
                if (equityExpirationTimeTypeNode.Attributes["href"] != null || equityExpirationTimeTypeNode.Attributes["id"] != null)
                {
                    if (equityExpirationTimeTypeNode.Attributes["id"] != null)
                    {
                        equityExpirationTimeTypeIDRef_ = equityExpirationTimeTypeNode.Attributes["id"].Value;
                        TimeTypeEnum ob = new TimeTypeEnum(equityExpirationTimeTypeNode);
                        IDManager.SetID(equityExpirationTimeTypeIDRef_, ob);
                    }
                    else if (equityExpirationTimeTypeNode.Attributes["href"] != null)
                    {
                        equityExpirationTimeTypeIDRef_ = equityExpirationTimeTypeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        equityExpirationTimeType_ = new TimeTypeEnum(equityExpirationTimeTypeNode);
                    }
                }
                else
                {
                    equityExpirationTimeType_ = new TimeTypeEnum(equityExpirationTimeTypeNode);
                }
            }


            XmlNode equityExpirationTimeNode = xmlNode.SelectSingleNode("equityExpirationTime");

            if (equityExpirationTimeNode != null)
            {
                if (equityExpirationTimeNode.Attributes["href"] != null || equityExpirationTimeNode.Attributes["id"] != null)
                {
                    if (equityExpirationTimeNode.Attributes["id"] != null)
                    {
                        equityExpirationTimeIDRef_ = equityExpirationTimeNode.Attributes["id"].Value;
                        BusinessCenterTime ob = new BusinessCenterTime(equityExpirationTimeNode);
                        IDManager.SetID(equityExpirationTimeIDRef_, ob);
                    }
                    else if (equityExpirationTimeNode.Attributes["href"] != null)
                    {
                        equityExpirationTimeIDRef_ = equityExpirationTimeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        equityExpirationTime_ = new BusinessCenterTime(equityExpirationTimeNode);
                    }
                }
                else
                {
                    equityExpirationTime_ = new BusinessCenterTime(equityExpirationTimeNode);
                }
            }


            XmlNode expirationTimeDeterminationNode = xmlNode.SelectSingleNode("expirationTimeDetermination");

            if (expirationTimeDeterminationNode != null)
            {
                if (expirationTimeDeterminationNode.Attributes["href"] != null || expirationTimeDeterminationNode.Attributes["id"] != null)
                {
                    if (expirationTimeDeterminationNode.Attributes["id"] != null)
                    {
                        expirationTimeDeterminationIDRef_ = expirationTimeDeterminationNode.Attributes["id"].Value;
                        DeterminationMethod ob = new DeterminationMethod(expirationTimeDeterminationNode);
                        IDManager.SetID(expirationTimeDeterminationIDRef_, ob);
                    }
                    else if (expirationTimeDeterminationNode.Attributes["href"] != null)
                    {
                        expirationTimeDeterminationIDRef_ = expirationTimeDeterminationNode.Attributes["href"].Value;
                    }
                    else
                    {
                        expirationTimeDetermination_ = new DeterminationMethod(expirationTimeDeterminationNode);
                    }
                }
                else
                {
                    expirationTimeDetermination_ = new DeterminationMethod(expirationTimeDeterminationNode);
                }
            }


            XmlNode equityMultipleExerciseNode = xmlNode.SelectSingleNode("equityMultipleExercise");

            if (equityMultipleExerciseNode != null)
            {
                if (equityMultipleExerciseNode.Attributes["href"] != null || equityMultipleExerciseNode.Attributes["id"] != null)
                {
                    if (equityMultipleExerciseNode.Attributes["id"] != null)
                    {
                        equityMultipleExerciseIDRef_ = equityMultipleExerciseNode.Attributes["id"].Value;
                        EquityMultipleExercise ob = new EquityMultipleExercise(equityMultipleExerciseNode);
                        IDManager.SetID(equityMultipleExerciseIDRef_, ob);
                    }
                    else if (equityMultipleExerciseNode.Attributes["href"] != null)
                    {
                        equityMultipleExerciseIDRef_ = equityMultipleExerciseNode.Attributes["href"].Value;
                    }
                    else
                    {
                        equityMultipleExercise_ = new EquityMultipleExercise(equityMultipleExerciseNode);
                    }
                }
                else
                {
                    equityMultipleExercise_ = new EquityMultipleExercise(equityMultipleExerciseNode);
                }
            }
        }
Example #40
0
        public LegAmount(XmlNode xmlNode)
        {
            XmlNode currencyNode = xmlNode.SelectSingleNode("currency");

            if (currencyNode != null)
            {
                if (currencyNode.Attributes["href"] != null || currencyNode.Attributes["id"] != null)
                {
                    if (currencyNode.Attributes["id"] != null)
                    {
                        currencyIDRef_ = currencyNode.Attributes["id"].Value;
                        IdentifiedCurrency ob = new IdentifiedCurrency(currencyNode);
                        IDManager.SetID(currencyIDRef_, ob);
                    }
                    else if (currencyNode.Attributes["href"] != null)
                    {
                        currencyIDRef_ = currencyNode.Attributes["href"].Value;
                    }
                    else
                    {
                        currency_ = new IdentifiedCurrency(currencyNode);
                    }
                }
                else
                {
                    currency_ = new IdentifiedCurrency(currencyNode);
                }
            }


            XmlNode determinationMethodNode = xmlNode.SelectSingleNode("determinationMethod");

            if (determinationMethodNode != null)
            {
                if (determinationMethodNode.Attributes["href"] != null || determinationMethodNode.Attributes["id"] != null)
                {
                    if (determinationMethodNode.Attributes["id"] != null)
                    {
                        determinationMethodIDRef_ = determinationMethodNode.Attributes["id"].Value;
                        DeterminationMethod ob = new DeterminationMethod(determinationMethodNode);
                        IDManager.SetID(determinationMethodIDRef_, ob);
                    }
                    else if (determinationMethodNode.Attributes["href"] != null)
                    {
                        determinationMethodIDRef_ = determinationMethodNode.Attributes["href"].Value;
                    }
                    else
                    {
                        determinationMethod_ = new DeterminationMethod(determinationMethodNode);
                    }
                }
                else
                {
                    determinationMethod_ = new DeterminationMethod(determinationMethodNode);
                }
            }


            XmlNode currencyReferenceNode = xmlNode.SelectSingleNode("currencyReference");

            if (currencyReferenceNode != null)
            {
                if (currencyReferenceNode.Attributes["href"] != null || currencyReferenceNode.Attributes["id"] != null)
                {
                    if (currencyReferenceNode.Attributes["id"] != null)
                    {
                        currencyReferenceIDRef_ = currencyReferenceNode.Attributes["id"].Value;
                        IdentifiedCurrencyReference ob = new IdentifiedCurrencyReference(currencyReferenceNode);
                        IDManager.SetID(currencyReferenceIDRef_, ob);
                    }
                    else if (currencyReferenceNode.Attributes["href"] != null)
                    {
                        currencyReferenceIDRef_ = currencyReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        currencyReference_ = new IdentifiedCurrencyReference(currencyReferenceNode);
                    }
                }
                else
                {
                    currencyReference_ = new IdentifiedCurrencyReference(currencyReferenceNode);
                }
            }


            XmlNode referenceAmountNode = xmlNode.SelectSingleNode("referenceAmount");

            if (referenceAmountNode != null)
            {
                if (referenceAmountNode.Attributes["href"] != null || referenceAmountNode.Attributes["id"] != null)
                {
                    if (referenceAmountNode.Attributes["id"] != null)
                    {
                        referenceAmountIDRef_ = referenceAmountNode.Attributes["id"].Value;
                        ReferenceAmount ob = new ReferenceAmount(referenceAmountNode);
                        IDManager.SetID(referenceAmountIDRef_, ob);
                    }
                    else if (referenceAmountNode.Attributes["href"] != null)
                    {
                        referenceAmountIDRef_ = referenceAmountNode.Attributes["href"].Value;
                    }
                    else
                    {
                        referenceAmount_ = new ReferenceAmount(referenceAmountNode);
                    }
                }
                else
                {
                    referenceAmount_ = new ReferenceAmount(referenceAmountNode);
                }
            }


            XmlNode formulaNode = xmlNode.SelectSingleNode("formula");

            if (formulaNode != null)
            {
                if (formulaNode.Attributes["href"] != null || formulaNode.Attributes["id"] != null)
                {
                    if (formulaNode.Attributes["id"] != null)
                    {
                        formulaIDRef_ = formulaNode.Attributes["id"].Value;
                        Formula ob = new Formula(formulaNode);
                        IDManager.SetID(formulaIDRef_, ob);
                    }
                    else if (formulaNode.Attributes["href"] != null)
                    {
                        formulaIDRef_ = formulaNode.Attributes["href"].Value;
                    }
                    else
                    {
                        formula_ = new Formula(formulaNode);
                    }
                }
                else
                {
                    formula_ = new Formula(formulaNode);
                }
            }


            XmlNode encodedDescriptionNode = xmlNode.SelectSingleNode("encodedDescription");

            if (encodedDescriptionNode != null)
            {
                if (encodedDescriptionNode.Attributes["href"] != null || encodedDescriptionNode.Attributes["id"] != null)
                {
                    if (encodedDescriptionNode.Attributes["id"] != null)
                    {
                        encodedDescriptionIDRef_ = encodedDescriptionNode.Attributes["id"].Value;
                        XsdTypeBase64Binary ob = new XsdTypeBase64Binary(encodedDescriptionNode);
                        IDManager.SetID(encodedDescriptionIDRef_, ob);
                    }
                    else if (encodedDescriptionNode.Attributes["href"] != null)
                    {
                        encodedDescriptionIDRef_ = encodedDescriptionNode.Attributes["href"].Value;
                    }
                    else
                    {
                        encodedDescription_ = new XsdTypeBase64Binary(encodedDescriptionNode);
                    }
                }
                else
                {
                    encodedDescription_ = new XsdTypeBase64Binary(encodedDescriptionNode);
                }
            }


            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;
                        AdjustableRelativeOrPeriodicDates ob = new AdjustableRelativeOrPeriodicDates(calculationDatesNode);
                        IDManager.SetID(calculationDatesIDRef_, ob);
                    }
                    else if (calculationDatesNode.Attributes["href"] != null)
                    {
                        calculationDatesIDRef_ = calculationDatesNode.Attributes["href"].Value;
                    }
                    else
                    {
                        calculationDates_ = new AdjustableRelativeOrPeriodicDates(calculationDatesNode);
                    }
                }
                else
                {
                    calculationDates_ = new AdjustableRelativeOrPeriodicDates(calculationDatesNode);
                }
            }
        }