public StartingDate(XmlNode xmlNode)
 {
     XmlNodeList dateRelativeToNodeList = xmlNode.SelectNodes("dateRelativeTo");
     if (dateRelativeToNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in dateRelativeToNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 dateRelativeToIDRef = item.Attributes["id"].Name;
                 DateReference ob = DateReference();
                 IDManager.SetID(dateRelativeToIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 dateRelativeToIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 dateRelativeTo = new DateReference(item);
             }
         }
     }
     
 
     XmlNodeList adjustableDateNodeList = xmlNode.SelectNodes("adjustableDate");
     if (adjustableDateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in adjustableDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 adjustableDateIDRef = item.Attributes["id"].Name;
                 AdjustableDate ob = AdjustableDate();
                 IDManager.SetID(adjustableDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 adjustableDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 adjustableDate = new AdjustableDate(item);
             }
         }
     }
     
 
 }
 public StartingDate(XmlNode xmlNode)
 {
     XmlNode dateRelativeToNode = xmlNode.SelectSingleNode("dateRelativeTo");
     
     if (dateRelativeToNode != null)
     {
         if (dateRelativeToNode.Attributes["href"] != null || dateRelativeToNode.Attributes["id"] != null) 
         {
             if (dateRelativeToNode.Attributes["id"] != null) 
             {
                 dateRelativeToIDRef_ = dateRelativeToNode.Attributes["id"].Value;
                 DateReference ob = new DateReference(dateRelativeToNode);
                 IDManager.SetID(dateRelativeToIDRef_, ob);
             }
             else if (dateRelativeToNode.Attributes["href"] != null)
             {
                 dateRelativeToIDRef_ = dateRelativeToNode.Attributes["href"].Value;
             }
             else
             {
                 dateRelativeTo_ = new DateReference(dateRelativeToNode);
             }
         }
         else
         {
             dateRelativeTo_ = new DateReference(dateRelativeToNode);
         }
     }
     
 
     XmlNode adjustableDateNode = xmlNode.SelectSingleNode("adjustableDate");
     
     if (adjustableDateNode != null)
     {
         if (adjustableDateNode.Attributes["href"] != null || adjustableDateNode.Attributes["id"] != null) 
         {
             if (adjustableDateNode.Attributes["id"] != null) 
             {
                 adjustableDateIDRef_ = adjustableDateNode.Attributes["id"].Value;
                 AdjustableDate ob = new AdjustableDate(adjustableDateNode);
                 IDManager.SetID(adjustableDateIDRef_, ob);
             }
             else if (adjustableDateNode.Attributes["href"] != null)
             {
                 adjustableDateIDRef_ = adjustableDateNode.Attributes["href"].Value;
             }
             else
             {
                 adjustableDate_ = new AdjustableDate(adjustableDateNode);
             }
         }
         else
         {
             adjustableDate_ = new AdjustableDate(adjustableDateNode);
         }
     }
     
 
 }
        public StartingDate(XmlNode xmlNode)
        {
            XmlNodeList dateRelativeToNodeList = xmlNode.SelectNodes("dateRelativeTo");

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

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


            XmlNodeList adjustableDateNodeList = xmlNode.SelectNodes("adjustableDate");

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

            foreach (XmlNode item in adjustableDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        adjustableDateIDRef = item.Attributes["id"].Name;
                        AdjustableDate ob = AdjustableDate();
                        IDManager.SetID(adjustableDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        adjustableDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        adjustableDate = new AdjustableDate(item);
                    }
                }
            }
        }
        public StartingDate(XmlNode xmlNode)
        {
            XmlNode dateRelativeToNode = xmlNode.SelectSingleNode("dateRelativeTo");

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


            XmlNode adjustableDateNode = xmlNode.SelectSingleNode("adjustableDate");

            if (adjustableDateNode != null)
            {
                if (adjustableDateNode.Attributes["href"] != null || adjustableDateNode.Attributes["id"] != null)
                {
                    if (adjustableDateNode.Attributes["id"] != null)
                    {
                        adjustableDateIDRef_ = adjustableDateNode.Attributes["id"].Value;
                        AdjustableDate ob = new AdjustableDate(adjustableDateNode);
                        IDManager.SetID(adjustableDateIDRef_, ob);
                    }
                    else if (adjustableDateNode.Attributes["href"] != null)
                    {
                        adjustableDateIDRef_ = adjustableDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        adjustableDate_ = new AdjustableDate(adjustableDateNode);
                    }
                }
                else
                {
                    adjustableDate_ = new AdjustableDate(adjustableDateNode);
                }
            }
        }
        public RelativeDateOffset(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode businessDayConventionNode = xmlNode.SelectSingleNode("businessDayConvention");

            if (businessDayConventionNode != null)
            {
                if (businessDayConventionNode.Attributes["href"] != null || businessDayConventionNode.Attributes["id"] != null)
                {
                    if (businessDayConventionNode.Attributes["id"] != null)
                    {
                        businessDayConventionIDRef_ = businessDayConventionNode.Attributes["id"].Value;
                        BusinessDayConventionEnum ob = new BusinessDayConventionEnum(businessDayConventionNode);
                        IDManager.SetID(businessDayConventionIDRef_, ob);
                    }
                    else if (businessDayConventionNode.Attributes["href"] != null)
                    {
                        businessDayConventionIDRef_ = businessDayConventionNode.Attributes["href"].Value;
                    }
                    else
                    {
                        businessDayConvention_ = new BusinessDayConventionEnum(businessDayConventionNode);
                    }
                }
                else
                {
                    businessDayConvention_ = new BusinessDayConventionEnum(businessDayConventionNode);
                }
            }


            XmlNode businessCentersReferenceNode = xmlNode.SelectSingleNode("businessCentersReference");

            if (businessCentersReferenceNode != null)
            {
                if (businessCentersReferenceNode.Attributes["href"] != null || businessCentersReferenceNode.Attributes["id"] != null)
                {
                    if (businessCentersReferenceNode.Attributes["id"] != null)
                    {
                        businessCentersReferenceIDRef_ = businessCentersReferenceNode.Attributes["id"].Value;
                        BusinessCentersReference ob = new BusinessCentersReference(businessCentersReferenceNode);
                        IDManager.SetID(businessCentersReferenceIDRef_, ob);
                    }
                    else if (businessCentersReferenceNode.Attributes["href"] != null)
                    {
                        businessCentersReferenceIDRef_ = businessCentersReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        businessCentersReference_ = new BusinessCentersReference(businessCentersReferenceNode);
                    }
                }
                else
                {
                    businessCentersReference_ = new BusinessCentersReference(businessCentersReferenceNode);
                }
            }


            XmlNode businessCentersNode = xmlNode.SelectSingleNode("businessCenters");

            if (businessCentersNode != null)
            {
                if (businessCentersNode.Attributes["href"] != null || businessCentersNode.Attributes["id"] != null)
                {
                    if (businessCentersNode.Attributes["id"] != null)
                    {
                        businessCentersIDRef_ = businessCentersNode.Attributes["id"].Value;
                        BusinessCenters ob = new BusinessCenters(businessCentersNode);
                        IDManager.SetID(businessCentersIDRef_, ob);
                    }
                    else if (businessCentersNode.Attributes["href"] != null)
                    {
                        businessCentersIDRef_ = businessCentersNode.Attributes["href"].Value;
                    }
                    else
                    {
                        businessCenters_ = new BusinessCenters(businessCentersNode);
                    }
                }
                else
                {
                    businessCenters_ = new BusinessCenters(businessCentersNode);
                }
            }


            XmlNode dateRelativeToNode = xmlNode.SelectSingleNode("dateRelativeTo");

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


            XmlNode adjustedDateNode = xmlNode.SelectSingleNode("adjustedDate");

            if (adjustedDateNode != null)
            {
                if (adjustedDateNode.Attributes["href"] != null || adjustedDateNode.Attributes["id"] != null)
                {
                    if (adjustedDateNode.Attributes["id"] != null)
                    {
                        adjustedDateIDRef_ = adjustedDateNode.Attributes["id"].Value;
                        IdentifiedDate ob = new IdentifiedDate(adjustedDateNode);
                        IDManager.SetID(adjustedDateIDRef_, ob);
                    }
                    else if (adjustedDateNode.Attributes["href"] != null)
                    {
                        adjustedDateIDRef_ = adjustedDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        adjustedDate_ = new IdentifiedDate(adjustedDateNode);
                    }
                }
                else
                {
                    adjustedDate_ = new IdentifiedDate(adjustedDateNode);
                }
            }
        }
Ejemplo n.º 6
0
        public DividendConditions(XmlNode xmlNode)
        {
            XmlNodeList dividendReinvestmentNodeList = xmlNode.SelectNodes("dividendReinvestment");

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

            foreach (XmlNode item in specialDividendsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        specialDividendsIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(specialDividendsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        specialDividendsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        specialDividends = new XsdTypeBoolean(item);
                    }
                }
            }
        }
        public RelativeDateSequence(XmlNode xmlNode)
        {
            XmlNode dateRelativeToNode = xmlNode.SelectSingleNode("dateRelativeTo");

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


            XmlNodeList dateOffsetNodeList = xmlNode.SelectNodes("dateOffset");

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


            XmlNode businessCentersReferenceNode = xmlNode.SelectSingleNode("businessCentersReference");

            if (businessCentersReferenceNode != null)
            {
                if (businessCentersReferenceNode.Attributes["href"] != null || businessCentersReferenceNode.Attributes["id"] != null)
                {
                    if (businessCentersReferenceNode.Attributes["id"] != null)
                    {
                        businessCentersReferenceIDRef_ = businessCentersReferenceNode.Attributes["id"].Value;
                        BusinessCentersReference ob = new BusinessCentersReference(businessCentersReferenceNode);
                        IDManager.SetID(businessCentersReferenceIDRef_, ob);
                    }
                    else if (businessCentersReferenceNode.Attributes["href"] != null)
                    {
                        businessCentersReferenceIDRef_ = businessCentersReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        businessCentersReference_ = new BusinessCentersReference(businessCentersReferenceNode);
                    }
                }
                else
                {
                    businessCentersReference_ = new BusinessCentersReference(businessCentersReferenceNode);
                }
            }


            XmlNode businessCentersNode = xmlNode.SelectSingleNode("businessCenters");

            if (businessCentersNode != null)
            {
                if (businessCentersNode.Attributes["href"] != null || businessCentersNode.Attributes["id"] != null)
                {
                    if (businessCentersNode.Attributes["id"] != null)
                    {
                        businessCentersIDRef_ = businessCentersNode.Attributes["id"].Value;
                        BusinessCenters ob = new BusinessCenters(businessCentersNode);
                        IDManager.SetID(businessCentersIDRef_, ob);
                    }
                    else if (businessCentersNode.Attributes["href"] != null)
                    {
                        businessCentersIDRef_ = businessCentersNode.Attributes["href"].Value;
                    }
                    else
                    {
                        businessCenters_ = new BusinessCenters(businessCentersNode);
                    }
                }
                else
                {
                    businessCenters_ = new BusinessCenters(businessCentersNode);
                }
            }
        }
 public RelativeDateSequence(XmlNode xmlNode)
 {
     XmlNodeList dateRelativeToNodeList = xmlNode.SelectNodes("dateRelativeTo");
     if (dateRelativeToNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in dateRelativeToNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 dateRelativeToIDRef = item.Attributes["id"].Name;
                 DateReference ob = DateReference();
                 IDManager.SetID(dateRelativeToIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 dateRelativeToIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 dateRelativeTo = new DateReference(item);
             }
         }
     }
     
 
     XmlNodeList dateOffsetNodeList = xmlNode.SelectNodes("dateOffset");
     
     foreach (XmlNode item in dateOffsetNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 dateOffsetIDRef = item.Attributes["id"].Name;
                 List<DateOffset> ob = new List<DateOffset>();
                 ob.Add(new DateOffset(item));
                 IDManager.SetID(dateOffsetIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 dateOffsetIDRef = item.Attributes["href"].Name;
             }
             else
             {
             dateOffset.Add(new DateOffset(item));
             }
         }
     }
     
 
     XmlNodeList businessCentersReferenceNodeList = xmlNode.SelectNodes("businessCentersReference");
     if (businessCentersReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in businessCentersReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 businessCentersReferenceIDRef = item.Attributes["id"].Name;
                 BusinessCentersReference ob = BusinessCentersReference();
                 IDManager.SetID(businessCentersReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 businessCentersReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 businessCentersReference = new BusinessCentersReference(item);
             }
         }
     }
     
 
     XmlNodeList businessCentersNodeList = xmlNode.SelectNodes("businessCenters");
     if (businessCentersNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in businessCentersNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 businessCentersIDRef = item.Attributes["id"].Name;
                 BusinessCenters ob = BusinessCenters();
                 IDManager.SetID(businessCentersIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 businessCentersIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 businessCenters = new BusinessCenters(item);
             }
         }
     }
     
 
 }
 public RelativeDateOffset(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNodeList businessDayConventionNodeList = xmlNode.SelectNodes("businessDayConvention");
     if (businessDayConventionNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in businessDayConventionNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 businessDayConventionIDRef = item.Attributes["id"].Name;
                 BusinessDayConventionEnum ob = BusinessDayConventionEnum();
                 IDManager.SetID(businessDayConventionIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 businessDayConventionIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 businessDayConvention = new BusinessDayConventionEnum(item);
             }
         }
     }
     
 
     XmlNodeList businessCentersReferenceNodeList = xmlNode.SelectNodes("businessCentersReference");
     if (businessCentersReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in businessCentersReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 businessCentersReferenceIDRef = item.Attributes["id"].Name;
                 BusinessCentersReference ob = BusinessCentersReference();
                 IDManager.SetID(businessCentersReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 businessCentersReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 businessCentersReference = new BusinessCentersReference(item);
             }
         }
     }
     
 
     XmlNodeList businessCentersNodeList = xmlNode.SelectNodes("businessCenters");
     if (businessCentersNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in businessCentersNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 businessCentersIDRef = item.Attributes["id"].Name;
                 BusinessCenters ob = BusinessCenters();
                 IDManager.SetID(businessCentersIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 businessCentersIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 businessCenters = new BusinessCenters(item);
             }
         }
     }
     
 
     XmlNodeList dateRelativeToNodeList = xmlNode.SelectNodes("dateRelativeTo");
     if (dateRelativeToNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in dateRelativeToNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 dateRelativeToIDRef = item.Attributes["id"].Name;
                 DateReference ob = DateReference();
                 IDManager.SetID(dateRelativeToIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 dateRelativeToIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 dateRelativeTo = new DateReference(item);
             }
         }
     }
     
 
     XmlNodeList adjustedDateNodeList = xmlNode.SelectNodes("adjustedDate");
     if (adjustedDateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in adjustedDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 adjustedDateIDRef = item.Attributes["id"].Name;
                 IdentifiedDate ob = IdentifiedDate();
                 IDManager.SetID(adjustedDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 adjustedDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 adjustedDate = new IdentifiedDate(item);
             }
         }
     }
     
 
 }
Ejemplo n.º 10
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 RelativeDateSequence(XmlNode xmlNode)
 {
     XmlNode dateRelativeToNode = xmlNode.SelectSingleNode("dateRelativeTo");
     
     if (dateRelativeToNode != null)
     {
         if (dateRelativeToNode.Attributes["href"] != null || dateRelativeToNode.Attributes["id"] != null) 
         {
             if (dateRelativeToNode.Attributes["id"] != null) 
             {
                 dateRelativeToIDRef_ = dateRelativeToNode.Attributes["id"].Value;
                 DateReference ob = new DateReference(dateRelativeToNode);
                 IDManager.SetID(dateRelativeToIDRef_, ob);
             }
             else if (dateRelativeToNode.Attributes["href"] != null)
             {
                 dateRelativeToIDRef_ = dateRelativeToNode.Attributes["href"].Value;
             }
             else
             {
                 dateRelativeTo_ = new DateReference(dateRelativeToNode);
             }
         }
         else
         {
             dateRelativeTo_ = new DateReference(dateRelativeToNode);
         }
     }
     
 
     XmlNodeList dateOffsetNodeList = xmlNode.SelectNodes("dateOffset");
     
     if (dateOffsetNodeList != null)
     {
         this.dateOffset_ = new List<DateOffset>();
         foreach (XmlNode item in dateOffsetNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     dateOffsetIDRef_ = item.Attributes["id"].Value;
                     dateOffset_.Add(new DateOffset(item));
                     IDManager.SetID(dateOffsetIDRef_, dateOffset_[dateOffset_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     dateOffsetIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 dateOffset_.Add(new DateOffset(item));
                 }
             }
             else
             {
                 dateOffset_.Add(new DateOffset(item));
             }
         }
     }
     
 
     XmlNode businessCentersReferenceNode = xmlNode.SelectSingleNode("businessCentersReference");
     
     if (businessCentersReferenceNode != null)
     {
         if (businessCentersReferenceNode.Attributes["href"] != null || businessCentersReferenceNode.Attributes["id"] != null) 
         {
             if (businessCentersReferenceNode.Attributes["id"] != null) 
             {
                 businessCentersReferenceIDRef_ = businessCentersReferenceNode.Attributes["id"].Value;
                 BusinessCentersReference ob = new BusinessCentersReference(businessCentersReferenceNode);
                 IDManager.SetID(businessCentersReferenceIDRef_, ob);
             }
             else if (businessCentersReferenceNode.Attributes["href"] != null)
             {
                 businessCentersReferenceIDRef_ = businessCentersReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 businessCentersReference_ = new BusinessCentersReference(businessCentersReferenceNode);
             }
         }
         else
         {
             businessCentersReference_ = new BusinessCentersReference(businessCentersReferenceNode);
         }
     }
     
 
     XmlNode businessCentersNode = xmlNode.SelectSingleNode("businessCenters");
     
     if (businessCentersNode != null)
     {
         if (businessCentersNode.Attributes["href"] != null || businessCentersNode.Attributes["id"] != null) 
         {
             if (businessCentersNode.Attributes["id"] != null) 
             {
                 businessCentersIDRef_ = businessCentersNode.Attributes["id"].Value;
                 BusinessCenters ob = new BusinessCenters(businessCentersNode);
                 IDManager.SetID(businessCentersIDRef_, ob);
             }
             else if (businessCentersNode.Attributes["href"] != null)
             {
                 businessCentersIDRef_ = businessCentersNode.Attributes["href"].Value;
             }
             else
             {
                 businessCenters_ = new BusinessCenters(businessCentersNode);
             }
         }
         else
         {
             businessCenters_ = new BusinessCenters(businessCentersNode);
         }
     }
     
 
 }
 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);
         }
     }
     
 
 }
Ejemplo n.º 13
0
        public RelativeDateSequence(XmlNode xmlNode)
        {
            XmlNodeList dateRelativeToNodeList = xmlNode.SelectNodes("dateRelativeTo");

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

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


            XmlNodeList dateOffsetNodeList = xmlNode.SelectNodes("dateOffset");

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


            XmlNodeList businessCentersReferenceNodeList = xmlNode.SelectNodes("businessCentersReference");

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

            foreach (XmlNode item in businessCentersReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        businessCentersReferenceIDRef = item.Attributes["id"].Name;
                        BusinessCentersReference ob = BusinessCentersReference();
                        IDManager.SetID(businessCentersReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        businessCentersReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        businessCentersReference = new BusinessCentersReference(item);
                    }
                }
            }


            XmlNodeList businessCentersNodeList = xmlNode.SelectNodes("businessCenters");

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

            foreach (XmlNode item in businessCentersNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        businessCentersIDRef = item.Attributes["id"].Name;
                        BusinessCenters ob = BusinessCenters();
                        IDManager.SetID(businessCentersIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        businessCentersIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        businessCenters = new BusinessCenters(item);
                    }
                }
            }
        }
Ejemplo n.º 14
0
        public RelativeDateOffset(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNodeList businessDayConventionNodeList = xmlNode.SelectNodes("businessDayConvention");

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

            foreach (XmlNode item in businessDayConventionNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        businessDayConventionIDRef = item.Attributes["id"].Name;
                        BusinessDayConventionEnum ob = BusinessDayConventionEnum();
                        IDManager.SetID(businessDayConventionIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        businessDayConventionIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        businessDayConvention = new BusinessDayConventionEnum(item);
                    }
                }
            }


            XmlNodeList businessCentersReferenceNodeList = xmlNode.SelectNodes("businessCentersReference");

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

            foreach (XmlNode item in businessCentersReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        businessCentersReferenceIDRef = item.Attributes["id"].Name;
                        BusinessCentersReference ob = BusinessCentersReference();
                        IDManager.SetID(businessCentersReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        businessCentersReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        businessCentersReference = new BusinessCentersReference(item);
                    }
                }
            }


            XmlNodeList businessCentersNodeList = xmlNode.SelectNodes("businessCenters");

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

            foreach (XmlNode item in businessCentersNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        businessCentersIDRef = item.Attributes["id"].Name;
                        BusinessCenters ob = BusinessCenters();
                        IDManager.SetID(businessCentersIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        businessCentersIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        businessCenters = new BusinessCenters(item);
                    }
                }
            }


            XmlNodeList dateRelativeToNodeList = xmlNode.SelectNodes("dateRelativeTo");

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

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


            XmlNodeList adjustedDateNodeList = xmlNode.SelectNodes("adjustedDate");

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

            foreach (XmlNode item in adjustedDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        adjustedDateIDRef = item.Attributes["id"].Name;
                        IdentifiedDate ob = IdentifiedDate();
                        IDManager.SetID(adjustedDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        adjustedDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        adjustedDate = new IdentifiedDate(item);
                    }
                }
            }
        }
 public RelativeDateOffset(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode businessDayConventionNode = xmlNode.SelectSingleNode("businessDayConvention");
     
     if (businessDayConventionNode != null)
     {
         if (businessDayConventionNode.Attributes["href"] != null || businessDayConventionNode.Attributes["id"] != null) 
         {
             if (businessDayConventionNode.Attributes["id"] != null) 
             {
                 businessDayConventionIDRef_ = businessDayConventionNode.Attributes["id"].Value;
                 BusinessDayConventionEnum ob = new BusinessDayConventionEnum(businessDayConventionNode);
                 IDManager.SetID(businessDayConventionIDRef_, ob);
             }
             else if (businessDayConventionNode.Attributes["href"] != null)
             {
                 businessDayConventionIDRef_ = businessDayConventionNode.Attributes["href"].Value;
             }
             else
             {
                 businessDayConvention_ = new BusinessDayConventionEnum(businessDayConventionNode);
             }
         }
         else
         {
             businessDayConvention_ = new BusinessDayConventionEnum(businessDayConventionNode);
         }
     }
     
 
     XmlNode businessCentersReferenceNode = xmlNode.SelectSingleNode("businessCentersReference");
     
     if (businessCentersReferenceNode != null)
     {
         if (businessCentersReferenceNode.Attributes["href"] != null || businessCentersReferenceNode.Attributes["id"] != null) 
         {
             if (businessCentersReferenceNode.Attributes["id"] != null) 
             {
                 businessCentersReferenceIDRef_ = businessCentersReferenceNode.Attributes["id"].Value;
                 BusinessCentersReference ob = new BusinessCentersReference(businessCentersReferenceNode);
                 IDManager.SetID(businessCentersReferenceIDRef_, ob);
             }
             else if (businessCentersReferenceNode.Attributes["href"] != null)
             {
                 businessCentersReferenceIDRef_ = businessCentersReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 businessCentersReference_ = new BusinessCentersReference(businessCentersReferenceNode);
             }
         }
         else
         {
             businessCentersReference_ = new BusinessCentersReference(businessCentersReferenceNode);
         }
     }
     
 
     XmlNode businessCentersNode = xmlNode.SelectSingleNode("businessCenters");
     
     if (businessCentersNode != null)
     {
         if (businessCentersNode.Attributes["href"] != null || businessCentersNode.Attributes["id"] != null) 
         {
             if (businessCentersNode.Attributes["id"] != null) 
             {
                 businessCentersIDRef_ = businessCentersNode.Attributes["id"].Value;
                 BusinessCenters ob = new BusinessCenters(businessCentersNode);
                 IDManager.SetID(businessCentersIDRef_, ob);
             }
             else if (businessCentersNode.Attributes["href"] != null)
             {
                 businessCentersIDRef_ = businessCentersNode.Attributes["href"].Value;
             }
             else
             {
                 businessCenters_ = new BusinessCenters(businessCentersNode);
             }
         }
         else
         {
             businessCenters_ = new BusinessCenters(businessCentersNode);
         }
     }
     
 
     XmlNode dateRelativeToNode = xmlNode.SelectSingleNode("dateRelativeTo");
     
     if (dateRelativeToNode != null)
     {
         if (dateRelativeToNode.Attributes["href"] != null || dateRelativeToNode.Attributes["id"] != null) 
         {
             if (dateRelativeToNode.Attributes["id"] != null) 
             {
                 dateRelativeToIDRef_ = dateRelativeToNode.Attributes["id"].Value;
                 DateReference ob = new DateReference(dateRelativeToNode);
                 IDManager.SetID(dateRelativeToIDRef_, ob);
             }
             else if (dateRelativeToNode.Attributes["href"] != null)
             {
                 dateRelativeToIDRef_ = dateRelativeToNode.Attributes["href"].Value;
             }
             else
             {
                 dateRelativeTo_ = new DateReference(dateRelativeToNode);
             }
         }
         else
         {
             dateRelativeTo_ = new DateReference(dateRelativeToNode);
         }
     }
     
 
     XmlNode adjustedDateNode = xmlNode.SelectSingleNode("adjustedDate");
     
     if (adjustedDateNode != null)
     {
         if (adjustedDateNode.Attributes["href"] != null || adjustedDateNode.Attributes["id"] != null) 
         {
             if (adjustedDateNode.Attributes["id"] != null) 
             {
                 adjustedDateIDRef_ = adjustedDateNode.Attributes["id"].Value;
                 IdentifiedDate ob = new IdentifiedDate(adjustedDateNode);
                 IDManager.SetID(adjustedDateIDRef_, ob);
             }
             else if (adjustedDateNode.Attributes["href"] != null)
             {
                 adjustedDateIDRef_ = adjustedDateNode.Attributes["href"].Value;
             }
             else
             {
                 adjustedDate_ = new IdentifiedDate(adjustedDateNode);
             }
         }
         else
         {
             adjustedDate_ = new IdentifiedDate(adjustedDateNode);
         }
     }
     
 
 }
 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);
             }
         }
     }
     
 
 }