public Period(XmlNode xmlNode)
 {
     XmlNodeList periodMultiplierNodeList = xmlNode.SelectNodes("periodMultiplier");
     if (periodMultiplierNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in periodMultiplierNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 periodMultiplierIDRef = item.Attributes["id"].Name;
                 XsdTypeInteger ob = XsdTypeInteger();
                 IDManager.SetID(periodMultiplierIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 periodMultiplierIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 periodMultiplier = new XsdTypeInteger(item);
             }
         }
     }
     
 
     XmlNodeList periodNodeList = xmlNode.SelectNodes("period");
     if (periodNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in periodNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 periodIDRef = item.Attributes["id"].Name;
                 PeriodEnum ob = PeriodEnum();
                 IDManager.SetID(periodIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 periodIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 period = new PeriodEnum(item);
             }
         }
     }
     
 
 }
 public CommodityPricingDates(XmlNode xmlNode)
 {
     XmlNodeList calculationPeriodsReferenceNodeList = xmlNode.SelectNodes("calculationPeriodsReference");
     if (calculationPeriodsReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in calculationPeriodsReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 calculationPeriodsReferenceIDRef = item.Attributes["id"].Name;
                 CalculationPeriodsReference ob = CalculationPeriodsReference();
                 IDManager.SetID(calculationPeriodsReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 calculationPeriodsReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 calculationPeriodsReference = new CalculationPeriodsReference(item);
             }
         }
     }
     
 
     XmlNodeList calculationPeriodsScheduleReferenceNodeList = xmlNode.SelectNodes("calculationPeriodsScheduleReference");
     if (calculationPeriodsScheduleReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in calculationPeriodsScheduleReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 calculationPeriodsScheduleReferenceIDRef = item.Attributes["id"].Name;
                 CalculationPeriodsScheduleReference ob = CalculationPeriodsScheduleReference();
                 IDManager.SetID(calculationPeriodsScheduleReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 calculationPeriodsScheduleReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 calculationPeriodsScheduleReference = new CalculationPeriodsScheduleReference(item);
             }
         }
     }
     
 
     XmlNodeList calculationPeriodsDatesReferenceNodeList = xmlNode.SelectNodes("calculationPeriodsDatesReference");
     if (calculationPeriodsDatesReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in calculationPeriodsDatesReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 calculationPeriodsDatesReferenceIDRef = item.Attributes["id"].Name;
                 CalculationPeriodsDatesReference ob = CalculationPeriodsDatesReference();
                 IDManager.SetID(calculationPeriodsDatesReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 calculationPeriodsDatesReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 calculationPeriodsDatesReference = new CalculationPeriodsDatesReference(item);
             }
         }
     }
     
 
     XmlNodeList lagNodeList = xmlNode.SelectNodes("lag");
     if (lagNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in lagNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 lagIDRef = item.Attributes["id"].Name;
                 Lag ob = Lag();
                 IDManager.SetID(lagIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 lagIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 lag = new Lag(item);
             }
         }
     }
     
 
     XmlNodeList dayTypeNodeList = xmlNode.SelectNodes("dayType");
     if (dayTypeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in dayTypeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 dayTypeIDRef = item.Attributes["id"].Name;
                 CommodityDayTypeEnum ob = CommodityDayTypeEnum();
                 IDManager.SetID(dayTypeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 dayTypeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 dayType = new CommodityDayTypeEnum(item);
             }
         }
     }
     
 
     XmlNodeList dayDistributionNodeList = xmlNode.SelectNodes("dayDistribution");
     if (dayDistributionNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in dayDistributionNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 dayDistributionIDRef = item.Attributes["id"].Name;
                 CommodityFrequencyType ob = CommodityFrequencyType();
                 IDManager.SetID(dayDistributionIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 dayDistributionIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 dayDistribution = new CommodityFrequencyType(item);
             }
         }
     }
     
 
     XmlNodeList dayCountNodeList = xmlNode.SelectNodes("dayCount");
     if (dayCountNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in dayCountNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 dayCountIDRef = item.Attributes["id"].Name;
                 XsdTypePositiveInteger ob = XsdTypePositiveInteger();
                 IDManager.SetID(dayCountIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 dayCountIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 dayCount = new XsdTypePositiveInteger(item);
             }
         }
     }
     
 
     XmlNodeList dayOfWeekNodeList = xmlNode.SelectNodes("dayOfWeek");
     
     foreach (XmlNode item in dayOfWeekNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 dayOfWeekIDRef = item.Attributes["id"].Name;
                 List<DayOfWeekEnum> ob = new List<DayOfWeekEnum>();
                 ob.Add(new DayOfWeekEnum(item));
                 IDManager.SetID(dayOfWeekIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 dayOfWeekIDRef = item.Attributes["href"].Name;
             }
             else
             {
             dayOfWeek.Add(new DayOfWeekEnum(item));
             }
         }
     }
     
 
     XmlNodeList dayNumberNodeList = xmlNode.SelectNodes("dayNumber");
     if (dayNumberNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in dayNumberNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 dayNumberIDRef = item.Attributes["id"].Name;
                 XsdTypeInteger ob = XsdTypeInteger();
                 IDManager.SetID(dayNumberIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 dayNumberIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 dayNumber = new XsdTypeInteger(item);
             }
         }
     }
     
 
     XmlNodeList businessCalendarNodeList = xmlNode.SelectNodes("businessCalendar");
     if (businessCalendarNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in businessCalendarNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 businessCalendarIDRef = item.Attributes["id"].Name;
                 CommodityBusinessCalendar ob = CommodityBusinessCalendar();
                 IDManager.SetID(businessCalendarIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 businessCalendarIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 businessCalendar = new CommodityBusinessCalendar(item);
             }
         }
     }
     
 
     XmlNodeList calendarSourceNodeList = xmlNode.SelectNodes("calendarSource");
     if (calendarSourceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in calendarSourceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 calendarSourceIDRef = item.Attributes["id"].Name;
                 CalendarSourceEnum ob = CalendarSourceEnum();
                 IDManager.SetID(calendarSourceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 calendarSourceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 calendarSource = new CalendarSourceEnum(item);
             }
         }
     }
     
 
     XmlNodeList settlementPeriodsNodeList = xmlNode.SelectNodes("settlementPeriods");
     
     foreach (XmlNode item in settlementPeriodsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 settlementPeriodsIDRef = item.Attributes["id"].Name;
                 List<SettlementPeriods> ob = new List<SettlementPeriods>();
                 ob.Add(new SettlementPeriods(item));
                 IDManager.SetID(settlementPeriodsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 settlementPeriodsIDRef = item.Attributes["href"].Name;
             }
             else
             {
             settlementPeriods.Add(new SettlementPeriods(item));
             }
         }
     }
     
 
     XmlNodeList settlementPeriodsReferenceNodeList = xmlNode.SelectNodes("settlementPeriodsReference");
     
     foreach (XmlNode item in settlementPeriodsReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 settlementPeriodsReferenceIDRef = item.Attributes["id"].Name;
                 List<SettlementPeriodsReference> ob = new List<SettlementPeriodsReference>();
                 ob.Add(new SettlementPeriodsReference(item));
                 IDManager.SetID(settlementPeriodsReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 settlementPeriodsReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
             settlementPeriodsReference.Add(new SettlementPeriodsReference(item));
             }
         }
     }
     
 
     XmlNodeList pricingDatesNodeList = xmlNode.SelectNodes("pricingDates");
     
     foreach (XmlNode item in pricingDatesNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 pricingDatesIDRef = item.Attributes["id"].Name;
                 List<AdjustableDates> ob = new List<AdjustableDates>();
                 ob.Add(new AdjustableDates(item));
                 IDManager.SetID(pricingDatesIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 pricingDatesIDRef = item.Attributes["href"].Name;
             }
             else
             {
             pricingDates.Add(new AdjustableDates(item));
             }
         }
     }
     
 
 }
 public FixingDays(XmlNode xmlNode)
 {
     XmlNodeList daysNodeList = xmlNode.SelectNodes("days");
     if (daysNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in daysNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 daysIDRef = item.Attributes["id"].Name;
                 XsdTypeInteger ob = XsdTypeInteger();
                 IDManager.SetID(daysIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 daysIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 days = new XsdTypeInteger(item);
             }
         }
     }
     
 
     XmlNodeList monthsNodeList = xmlNode.SelectNodes("months");
     if (monthsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in monthsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 monthsIDRef = item.Attributes["id"].Name;
                 XsdTypeInteger ob = XsdTypeInteger();
                 IDManager.SetID(monthsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 monthsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 months = new XsdTypeInteger(item);
             }
         }
     }
     
 
     XmlNodeList yearsNodeList = xmlNode.SelectNodes("years");
     if (yearsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in yearsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 yearsIDRef = item.Attributes["id"].Name;
                 XsdTypeInteger ob = XsdTypeInteger();
                 IDManager.SetID(yearsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 yearsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 years = new XsdTypeInteger(item);
             }
         }
     }
     
 
 }