public InterestCalculation(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode dayCountFractionNode = xmlNode.SelectSingleNode("dayCountFraction");
     
     if (dayCountFractionNode != null)
     {
         if (dayCountFractionNode.Attributes["href"] != null || dayCountFractionNode.Attributes["id"] != null) 
         {
             if (dayCountFractionNode.Attributes["id"] != null) 
             {
                 dayCountFractionIDRef_ = dayCountFractionNode.Attributes["id"].Value;
                 DayCountFraction ob = new DayCountFraction(dayCountFractionNode);
                 IDManager.SetID(dayCountFractionIDRef_, ob);
             }
             else if (dayCountFractionNode.Attributes["href"] != null)
             {
                 dayCountFractionIDRef_ = dayCountFractionNode.Attributes["href"].Value;
             }
             else
             {
                 dayCountFraction_ = new DayCountFraction(dayCountFractionNode);
             }
         }
         else
         {
             dayCountFraction_ = new DayCountFraction(dayCountFractionNode);
         }
     }
     
 
     XmlNode compoundingNode = xmlNode.SelectSingleNode("compounding");
     
     if (compoundingNode != null)
     {
         if (compoundingNode.Attributes["href"] != null || compoundingNode.Attributes["id"] != null) 
         {
             if (compoundingNode.Attributes["id"] != null) 
             {
                 compoundingIDRef_ = compoundingNode.Attributes["id"].Value;
                 Compounding ob = new Compounding(compoundingNode);
                 IDManager.SetID(compoundingIDRef_, ob);
             }
             else if (compoundingNode.Attributes["href"] != null)
             {
                 compoundingIDRef_ = compoundingNode.Attributes["href"].Value;
             }
             else
             {
                 compounding_ = new Compounding(compoundingNode);
             }
         }
         else
         {
             compounding_ = new Compounding(compoundingNode);
         }
     }
     
 
     XmlNode interpolationMethodNode = xmlNode.SelectSingleNode("interpolationMethod");
     
     if (interpolationMethodNode != null)
     {
         if (interpolationMethodNode.Attributes["href"] != null || interpolationMethodNode.Attributes["id"] != null) 
         {
             if (interpolationMethodNode.Attributes["id"] != null) 
             {
                 interpolationMethodIDRef_ = interpolationMethodNode.Attributes["id"].Value;
                 InterpolationMethod ob = new InterpolationMethod(interpolationMethodNode);
                 IDManager.SetID(interpolationMethodIDRef_, ob);
             }
             else if (interpolationMethodNode.Attributes["href"] != null)
             {
                 interpolationMethodIDRef_ = interpolationMethodNode.Attributes["href"].Value;
             }
             else
             {
                 interpolationMethod_ = new InterpolationMethod(interpolationMethodNode);
             }
         }
         else
         {
             interpolationMethod_ = new InterpolationMethod(interpolationMethodNode);
         }
     }
     
 
     XmlNode interpolationPeriodNode = xmlNode.SelectSingleNode("interpolationPeriod");
     
     if (interpolationPeriodNode != null)
     {
         if (interpolationPeriodNode.Attributes["href"] != null || interpolationPeriodNode.Attributes["id"] != null) 
         {
             if (interpolationPeriodNode.Attributes["id"] != null) 
             {
                 interpolationPeriodIDRef_ = interpolationPeriodNode.Attributes["id"].Value;
                 InterpolationPeriodEnum ob = new InterpolationPeriodEnum(interpolationPeriodNode);
                 IDManager.SetID(interpolationPeriodIDRef_, ob);
             }
             else if (interpolationPeriodNode.Attributes["href"] != null)
             {
                 interpolationPeriodIDRef_ = interpolationPeriodNode.Attributes["href"].Value;
             }
             else
             {
                 interpolationPeriod_ = new InterpolationPeriodEnum(interpolationPeriodNode);
             }
         }
         else
         {
             interpolationPeriod_ = new InterpolationPeriodEnum(interpolationPeriodNode);
         }
     }
     
 
 }
 public InterestCalculation(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNodeList dayCountFractionNodeList = xmlNode.SelectNodes("dayCountFraction");
     if (dayCountFractionNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in dayCountFractionNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 dayCountFractionIDRef = item.Attributes["id"].Name;
                 DayCountFraction ob = DayCountFraction();
                 IDManager.SetID(dayCountFractionIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 dayCountFractionIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 dayCountFraction = new DayCountFraction(item);
             }
         }
     }
     
 
     XmlNodeList compoundingNodeList = xmlNode.SelectNodes("compounding");
     if (compoundingNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in compoundingNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 compoundingIDRef = item.Attributes["id"].Name;
                 Compounding ob = Compounding();
                 IDManager.SetID(compoundingIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 compoundingIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 compounding = new Compounding(item);
             }
         }
     }
     
 
     XmlNodeList interpolationMethodNodeList = xmlNode.SelectNodes("interpolationMethod");
     if (interpolationMethodNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in interpolationMethodNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 interpolationMethodIDRef = item.Attributes["id"].Name;
                 InterpolationMethod ob = InterpolationMethod();
                 IDManager.SetID(interpolationMethodIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 interpolationMethodIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 interpolationMethod = new InterpolationMethod(item);
             }
         }
     }
     
 
     XmlNodeList interpolationPeriodNodeList = xmlNode.SelectNodes("interpolationPeriod");
     if (interpolationPeriodNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in interpolationPeriodNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 interpolationPeriodIDRef = item.Attributes["id"].Name;
                 InterpolationPeriodEnum ob = InterpolationPeriodEnum();
                 IDManager.SetID(interpolationPeriodIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 interpolationPeriodIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 interpolationPeriod = new InterpolationPeriodEnum(item);
             }
         }
     }
     
 
 }