public Compounding(XmlNode xmlNode)
        {
            XmlNode compoundingMethodNode = xmlNode.SelectSingleNode("compoundingMethod");

            if (compoundingMethodNode != null)
            {
                if (compoundingMethodNode.Attributes["href"] != null || compoundingMethodNode.Attributes["id"] != null)
                {
                    if (compoundingMethodNode.Attributes["id"] != null)
                    {
                        compoundingMethodIDRef_ = compoundingMethodNode.Attributes["id"].Value;
                        CompoundingMethodEnum ob = new CompoundingMethodEnum(compoundingMethodNode);
                        IDManager.SetID(compoundingMethodIDRef_, ob);
                    }
                    else if (compoundingMethodNode.Attributes["href"] != null)
                    {
                        compoundingMethodIDRef_ = compoundingMethodNode.Attributes["href"].Value;
                    }
                    else
                    {
                        compoundingMethod_ = new CompoundingMethodEnum(compoundingMethodNode);
                    }
                }
                else
                {
                    compoundingMethod_ = new CompoundingMethodEnum(compoundingMethodNode);
                }
            }


            XmlNode compoundingRateNode = xmlNode.SelectSingleNode("compoundingRate");

            if (compoundingRateNode != null)
            {
                if (compoundingRateNode.Attributes["href"] != null || compoundingRateNode.Attributes["id"] != null)
                {
                    if (compoundingRateNode.Attributes["id"] != null)
                    {
                        compoundingRateIDRef_ = compoundingRateNode.Attributes["id"].Value;
                        CompoundingRate ob = new CompoundingRate(compoundingRateNode);
                        IDManager.SetID(compoundingRateIDRef_, ob);
                    }
                    else if (compoundingRateNode.Attributes["href"] != null)
                    {
                        compoundingRateIDRef_ = compoundingRateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        compoundingRate_ = new CompoundingRate(compoundingRateNode);
                    }
                }
                else
                {
                    compoundingRate_ = new CompoundingRate(compoundingRateNode);
                }
            }


            XmlNode compoundingSpreadNode = xmlNode.SelectSingleNode("compoundingSpread");

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


            XmlNode compoundingDatesNode = xmlNode.SelectSingleNode("compoundingDates");

            if (compoundingDatesNode != null)
            {
                if (compoundingDatesNode.Attributes["href"] != null || compoundingDatesNode.Attributes["id"] != null)
                {
                    if (compoundingDatesNode.Attributes["id"] != null)
                    {
                        compoundingDatesIDRef_ = compoundingDatesNode.Attributes["id"].Value;
                        AdjustableRelativeOrPeriodicDates2 ob = new AdjustableRelativeOrPeriodicDates2(compoundingDatesNode);
                        IDManager.SetID(compoundingDatesIDRef_, ob);
                    }
                    else if (compoundingDatesNode.Attributes["href"] != null)
                    {
                        compoundingDatesIDRef_ = compoundingDatesNode.Attributes["href"].Value;
                    }
                    else
                    {
                        compoundingDates_ = new AdjustableRelativeOrPeriodicDates2(compoundingDatesNode);
                    }
                }
                else
                {
                    compoundingDates_ = new AdjustableRelativeOrPeriodicDates2(compoundingDatesNode);
                }
            }
        }
 public Compounding(XmlNode xmlNode)
 {
     XmlNodeList compoundingMethodNodeList = xmlNode.SelectNodes("compoundingMethod");
     if (compoundingMethodNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in compoundingMethodNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 compoundingMethodIDRef = item.Attributes["id"].Name;
                 CompoundingMethodEnum ob = CompoundingMethodEnum();
                 IDManager.SetID(compoundingMethodIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 compoundingMethodIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 compoundingMethod = new CompoundingMethodEnum(item);
             }
         }
     }
     
 
     XmlNodeList compoundingRateNodeList = xmlNode.SelectNodes("compoundingRate");
     if (compoundingRateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in compoundingRateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 compoundingRateIDRef = item.Attributes["id"].Name;
                 CompoundingRate ob = CompoundingRate();
                 IDManager.SetID(compoundingRateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 compoundingRateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 compoundingRate = new CompoundingRate(item);
             }
         }
     }
     
 
     XmlNodeList compoundingSpreadNodeList = xmlNode.SelectNodes("compoundingSpread");
     if (compoundingSpreadNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in compoundingSpreadNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 compoundingSpreadIDRef = item.Attributes["id"].Name;
                 XsdTypeDecimal ob = XsdTypeDecimal();
                 IDManager.SetID(compoundingSpreadIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 compoundingSpreadIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 compoundingSpread = new XsdTypeDecimal(item);
             }
         }
     }
     
 
     XmlNodeList compoundingDatesNodeList = xmlNode.SelectNodes("compoundingDates");
     if (compoundingDatesNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in compoundingDatesNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 compoundingDatesIDRef = item.Attributes["id"].Name;
                 AdjustableRelativeOrPeriodicDates2 ob = AdjustableRelativeOrPeriodicDates2();
                 IDManager.SetID(compoundingDatesIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 compoundingDatesIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 compoundingDates = new AdjustableRelativeOrPeriodicDates2(item);
             }
         }
     }
     
 
 }
        public Compounding(XmlNode xmlNode)
        {
            XmlNodeList compoundingMethodNodeList = xmlNode.SelectNodes("compoundingMethod");

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

            foreach (XmlNode item in compoundingMethodNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        compoundingMethodIDRef = item.Attributes["id"].Name;
                        CompoundingMethodEnum ob = CompoundingMethodEnum();
                        IDManager.SetID(compoundingMethodIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        compoundingMethodIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        compoundingMethod = new CompoundingMethodEnum(item);
                    }
                }
            }


            XmlNodeList compoundingRateNodeList = xmlNode.SelectNodes("compoundingRate");

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

            foreach (XmlNode item in compoundingRateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        compoundingRateIDRef = item.Attributes["id"].Name;
                        CompoundingRate ob = CompoundingRate();
                        IDManager.SetID(compoundingRateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        compoundingRateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        compoundingRate = new CompoundingRate(item);
                    }
                }
            }


            XmlNodeList compoundingSpreadNodeList = xmlNode.SelectNodes("compoundingSpread");

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

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


            XmlNodeList compoundingDatesNodeList = xmlNode.SelectNodes("compoundingDates");

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

            foreach (XmlNode item in compoundingDatesNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        compoundingDatesIDRef = item.Attributes["id"].Name;
                        AdjustableRelativeOrPeriodicDates2 ob = AdjustableRelativeOrPeriodicDates2();
                        IDManager.SetID(compoundingDatesIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        compoundingDatesIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        compoundingDates = new AdjustableRelativeOrPeriodicDates2(item);
                    }
                }
            }
        }
 public Compounding(XmlNode xmlNode)
 {
     XmlNode compoundingMethodNode = xmlNode.SelectSingleNode("compoundingMethod");
     
     if (compoundingMethodNode != null)
     {
         if (compoundingMethodNode.Attributes["href"] != null || compoundingMethodNode.Attributes["id"] != null) 
         {
             if (compoundingMethodNode.Attributes["id"] != null) 
             {
                 compoundingMethodIDRef_ = compoundingMethodNode.Attributes["id"].Value;
                 CompoundingMethodEnum ob = new CompoundingMethodEnum(compoundingMethodNode);
                 IDManager.SetID(compoundingMethodIDRef_, ob);
             }
             else if (compoundingMethodNode.Attributes["href"] != null)
             {
                 compoundingMethodIDRef_ = compoundingMethodNode.Attributes["href"].Value;
             }
             else
             {
                 compoundingMethod_ = new CompoundingMethodEnum(compoundingMethodNode);
             }
         }
         else
         {
             compoundingMethod_ = new CompoundingMethodEnum(compoundingMethodNode);
         }
     }
     
 
     XmlNode compoundingRateNode = xmlNode.SelectSingleNode("compoundingRate");
     
     if (compoundingRateNode != null)
     {
         if (compoundingRateNode.Attributes["href"] != null || compoundingRateNode.Attributes["id"] != null) 
         {
             if (compoundingRateNode.Attributes["id"] != null) 
             {
                 compoundingRateIDRef_ = compoundingRateNode.Attributes["id"].Value;
                 CompoundingRate ob = new CompoundingRate(compoundingRateNode);
                 IDManager.SetID(compoundingRateIDRef_, ob);
             }
             else if (compoundingRateNode.Attributes["href"] != null)
             {
                 compoundingRateIDRef_ = compoundingRateNode.Attributes["href"].Value;
             }
             else
             {
                 compoundingRate_ = new CompoundingRate(compoundingRateNode);
             }
         }
         else
         {
             compoundingRate_ = new CompoundingRate(compoundingRateNode);
         }
     }
     
 
     XmlNode compoundingSpreadNode = xmlNode.SelectSingleNode("compoundingSpread");
     
     if (compoundingSpreadNode != null)
     {
         if (compoundingSpreadNode.Attributes["href"] != null || compoundingSpreadNode.Attributes["id"] != null) 
         {
             if (compoundingSpreadNode.Attributes["id"] != null) 
             {
                 compoundingSpreadIDRef_ = compoundingSpreadNode.Attributes["id"].Value;
                 XsdTypeDecimal ob = new XsdTypeDecimal(compoundingSpreadNode);
                 IDManager.SetID(compoundingSpreadIDRef_, ob);
             }
             else if (compoundingSpreadNode.Attributes["href"] != null)
             {
                 compoundingSpreadIDRef_ = compoundingSpreadNode.Attributes["href"].Value;
             }
             else
             {
                 compoundingSpread_ = new XsdTypeDecimal(compoundingSpreadNode);
             }
         }
         else
         {
             compoundingSpread_ = new XsdTypeDecimal(compoundingSpreadNode);
         }
     }
     
 
     XmlNode compoundingDatesNode = xmlNode.SelectSingleNode("compoundingDates");
     
     if (compoundingDatesNode != null)
     {
         if (compoundingDatesNode.Attributes["href"] != null || compoundingDatesNode.Attributes["id"] != null) 
         {
             if (compoundingDatesNode.Attributes["id"] != null) 
             {
                 compoundingDatesIDRef_ = compoundingDatesNode.Attributes["id"].Value;
                 AdjustableRelativeOrPeriodicDates2 ob = new AdjustableRelativeOrPeriodicDates2(compoundingDatesNode);
                 IDManager.SetID(compoundingDatesIDRef_, ob);
             }
             else if (compoundingDatesNode.Attributes["href"] != null)
             {
                 compoundingDatesIDRef_ = compoundingDatesNode.Attributes["href"].Value;
             }
             else
             {
                 compoundingDates_ = new AdjustableRelativeOrPeriodicDates2(compoundingDatesNode);
             }
         }
         else
         {
             compoundingDates_ = new AdjustableRelativeOrPeriodicDates2(compoundingDatesNode);
         }
     }
     
 
 }