public NoAutoCallReturnTrigger(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");
     
     if (payoffDateInfoNode != null)
     {
         if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null) 
         {
             if (payoffDateInfoNode.Attributes["id"] != null) 
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                 PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                 IDManager.SetID(payoffDateInfoIDRef_, ob);
             }
             else if (payoffDateInfoNode.Attributes["href"] != null)
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
             }
         }
         else
         {
             payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
         }
     }
     
 
     XmlNode returnCalculationNode = xmlNode.SelectSingleNode("returnCalculation");
     
     if (returnCalculationNode != null)
     {
         if (returnCalculationNode.Attributes["href"] != null || returnCalculationNode.Attributes["id"] != null) 
         {
             if (returnCalculationNode.Attributes["id"] != null) 
             {
                 returnCalculationIDRef_ = returnCalculationNode.Attributes["id"].Value;
                 ReturnCalculation ob = new ReturnCalculation(returnCalculationNode);
                 IDManager.SetID(returnCalculationIDRef_, ob);
             }
             else if (returnCalculationNode.Attributes["href"] != null)
             {
                 returnCalculationIDRef_ = returnCalculationNode.Attributes["href"].Value;
             }
             else
             {
                 returnCalculation_ = new ReturnCalculation(returnCalculationNode);
             }
         }
         else
         {
             returnCalculation_ = new ReturnCalculation(returnCalculationNode);
         }
     }
     
 
 }
 public RedemptionNotionalTrigger(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");
     
     if (payoffDateInfoNode != null)
     {
         if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null) 
         {
             if (payoffDateInfoNode.Attributes["id"] != null) 
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                 PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                 IDManager.SetID(payoffDateInfoIDRef_, ob);
             }
             else if (payoffDateInfoNode.Attributes["href"] != null)
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
             }
         }
         else
         {
             payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
         }
     }
     
 
     XmlNode redemptionAmountNode = xmlNode.SelectSingleNode("redemptionAmount");
     
     if (redemptionAmountNode != null)
     {
         if (redemptionAmountNode.Attributes["href"] != null || redemptionAmountNode.Attributes["id"] != null) 
         {
             if (redemptionAmountNode.Attributes["id"] != null) 
             {
                 redemptionAmountIDRef_ = redemptionAmountNode.Attributes["id"].Value;
                 XsdTypeDouble ob = new XsdTypeDouble(redemptionAmountNode);
                 IDManager.SetID(redemptionAmountIDRef_, ob);
             }
             else if (redemptionAmountNode.Attributes["href"] != null)
             {
                 redemptionAmountIDRef_ = redemptionAmountNode.Attributes["href"].Value;
             }
             else
             {
                 redemptionAmount_ = new XsdTypeDouble(redemptionAmountNode);
             }
         }
         else
         {
             redemptionAmount_ = new XsdTypeDouble(redemptionAmountNode);
         }
     }
     
 
 }
        public NoAutoCallReturnTrigger(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");

            if (payoffDateInfoNode != null)
            {
                if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null)
                {
                    if (payoffDateInfoNode.Attributes["id"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                        PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                        IDManager.SetID(payoffDateInfoIDRef_, ob);
                    }
                    else if (payoffDateInfoNode.Attributes["href"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                    }
                }
                else
                {
                    payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                }
            }


            XmlNode returnCalculationNode = xmlNode.SelectSingleNode("returnCalculation");

            if (returnCalculationNode != null)
            {
                if (returnCalculationNode.Attributes["href"] != null || returnCalculationNode.Attributes["id"] != null)
                {
                    if (returnCalculationNode.Attributes["id"] != null)
                    {
                        returnCalculationIDRef_ = returnCalculationNode.Attributes["id"].Value;
                        ReturnCalculation ob = new ReturnCalculation(returnCalculationNode);
                        IDManager.SetID(returnCalculationIDRef_, ob);
                    }
                    else if (returnCalculationNode.Attributes["href"] != null)
                    {
                        returnCalculationIDRef_ = returnCalculationNode.Attributes["href"].Value;
                    }
                    else
                    {
                        returnCalculation_ = new ReturnCalculation(returnCalculationNode);
                    }
                }
                else
                {
                    returnCalculation_ = new ReturnCalculation(returnCalculationNode);
                }
            }
        }
        public RedemptionNotionalTrigger(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");

            if (payoffDateInfoNode != null)
            {
                if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null)
                {
                    if (payoffDateInfoNode.Attributes["id"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                        PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                        IDManager.SetID(payoffDateInfoIDRef_, ob);
                    }
                    else if (payoffDateInfoNode.Attributes["href"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                    }
                }
                else
                {
                    payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                }
            }


            XmlNode redemptionAmountNode = xmlNode.SelectSingleNode("redemptionAmount");

            if (redemptionAmountNode != null)
            {
                if (redemptionAmountNode.Attributes["href"] != null || redemptionAmountNode.Attributes["id"] != null)
                {
                    if (redemptionAmountNode.Attributes["id"] != null)
                    {
                        redemptionAmountIDRef_ = redemptionAmountNode.Attributes["id"].Value;
                        XsdTypeDouble ob = new XsdTypeDouble(redemptionAmountNode);
                        IDManager.SetID(redemptionAmountIDRef_, ob);
                    }
                    else if (redemptionAmountNode.Attributes["href"] != null)
                    {
                        redemptionAmountIDRef_ = redemptionAmountNode.Attributes["href"].Value;
                    }
                    else
                    {
                        redemptionAmount_ = new XsdTypeDouble(redemptionAmountNode);
                    }
                }
                else
                {
                    redemptionAmount_ = new XsdTypeDouble(redemptionAmountNode);
                }
            }
        }
        public FixedRateTrigger(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode dayCounterNode = xmlNode.SelectSingleNode("dayCounter");

            if (dayCounterNode != null)
            {
                if (dayCounterNode.Attributes["href"] != null || dayCounterNode.Attributes["id"] != null)
                {
                    if (dayCounterNode.Attributes["id"] != null)
                    {
                        dayCounterIDRef_ = dayCounterNode.Attributes["id"].Value;
                        XsdTypeToken ob = new XsdTypeToken(dayCounterNode);
                        IDManager.SetID(dayCounterIDRef_, ob);
                    }
                    else if (dayCounterNode.Attributes["href"] != null)
                    {
                        dayCounterIDRef_ = dayCounterNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dayCounter_ = new XsdTypeToken(dayCounterNode);
                    }
                }
                else
                {
                    dayCounter_ = new XsdTypeToken(dayCounterNode);
                }
            }


            XmlNode calculationStartDateNode = xmlNode.SelectSingleNode("calculationStartDate");

            if (calculationStartDateNode != null)
            {
                if (calculationStartDateNode.Attributes["href"] != null || calculationStartDateNode.Attributes["id"] != null)
                {
                    if (calculationStartDateNode.Attributes["id"] != null)
                    {
                        calculationStartDateIDRef_ = calculationStartDateNode.Attributes["id"].Value;
                        XsdTypeDate ob = new XsdTypeDate(calculationStartDateNode);
                        IDManager.SetID(calculationStartDateIDRef_, ob);
                    }
                    else if (calculationStartDateNode.Attributes["href"] != null)
                    {
                        calculationStartDateIDRef_ = calculationStartDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        calculationStartDate_ = new XsdTypeDate(calculationStartDateNode);
                    }
                }
                else
                {
                    calculationStartDate_ = new XsdTypeDate(calculationStartDateNode);
                }
            }


            XmlNode calculationEndDateNode = xmlNode.SelectSingleNode("calculationEndDate");

            if (calculationEndDateNode != null)
            {
                if (calculationEndDateNode.Attributes["href"] != null || calculationEndDateNode.Attributes["id"] != null)
                {
                    if (calculationEndDateNode.Attributes["id"] != null)
                    {
                        calculationEndDateIDRef_ = calculationEndDateNode.Attributes["id"].Value;
                        XsdTypeDate ob = new XsdTypeDate(calculationEndDateNode);
                        IDManager.SetID(calculationEndDateIDRef_, ob);
                    }
                    else if (calculationEndDateNode.Attributes["href"] != null)
                    {
                        calculationEndDateIDRef_ = calculationEndDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        calculationEndDate_ = new XsdTypeDate(calculationEndDateNode);
                    }
                }
                else
                {
                    calculationEndDate_ = new XsdTypeDate(calculationEndDateNode);
                }
            }


            XmlNode fixedRateNode = xmlNode.SelectSingleNode("fixedRate");

            if (fixedRateNode != null)
            {
                if (fixedRateNode.Attributes["href"] != null || fixedRateNode.Attributes["id"] != null)
                {
                    if (fixedRateNode.Attributes["id"] != null)
                    {
                        fixedRateIDRef_ = fixedRateNode.Attributes["id"].Value;
                        XsdTypeDouble ob = new XsdTypeDouble(fixedRateNode);
                        IDManager.SetID(fixedRateIDRef_, ob);
                    }
                    else if (fixedRateNode.Attributes["href"] != null)
                    {
                        fixedRateIDRef_ = fixedRateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        fixedRate_ = new XsdTypeDouble(fixedRateNode);
                    }
                }
                else
                {
                    fixedRate_ = new XsdTypeDouble(fixedRateNode);
                }
            }


            XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");

            if (payoffDateInfoNode != null)
            {
                if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null)
                {
                    if (payoffDateInfoNode.Attributes["id"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                        PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                        IDManager.SetID(payoffDateInfoIDRef_, ob);
                    }
                    else if (payoffDateInfoNode.Attributes["href"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                    }
                }
                else
                {
                    payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                }
            }


            XmlNode isExpiredNode = xmlNode.SelectSingleNode("isExpired");

            if (isExpiredNode != null)
            {
                if (isExpiredNode.Attributes["href"] != null || isExpiredNode.Attributes["id"] != null)
                {
                    if (isExpiredNode.Attributes["id"] != null)
                    {
                        isExpiredIDRef_ = isExpiredNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(isExpiredNode);
                        IDManager.SetID(isExpiredIDRef_, ob);
                    }
                    else if (isExpiredNode.Attributes["href"] != null)
                    {
                        isExpiredIDRef_ = isExpiredNode.Attributes["href"].Value;
                    }
                    else
                    {
                        isExpired_ = new XsdTypeBoolean(isExpiredNode);
                    }
                }
                else
                {
                    isExpired_ = new XsdTypeBoolean(isExpiredNode);
                }
            }
        }
Example #6
0
        public AutoCallConstReturnTrigger(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode dateOrderNode = xmlNode.SelectSingleNode("dateOrder");

            if (dateOrderNode != null)
            {
                if (dateOrderNode.Attributes["href"] != null || dateOrderNode.Attributes["id"] != null)
                {
                    if (dateOrderNode.Attributes["id"] != null)
                    {
                        dateOrderIDRef_ = dateOrderNode.Attributes["id"].Value;
                        XsdTypeInteger ob = new XsdTypeInteger(dateOrderNode);
                        IDManager.SetID(dateOrderIDRef_, ob);
                    }
                    else if (dateOrderNode.Attributes["href"] != null)
                    {
                        dateOrderIDRef_ = dateOrderNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dateOrder_ = new XsdTypeInteger(dateOrderNode);
                    }
                }
                else
                {
                    dateOrder_ = new XsdTypeInteger(dateOrderNode);
                }
            }


            XmlNode fixingDateInfoNode = xmlNode.SelectSingleNode("fixingDateInfo");

            if (fixingDateInfoNode != null)
            {
                if (fixingDateInfoNode.Attributes["href"] != null || fixingDateInfoNode.Attributes["id"] != null)
                {
                    if (fixingDateInfoNode.Attributes["id"] != null)
                    {
                        fixingDateInfoIDRef_ = fixingDateInfoNode.Attributes["id"].Value;
                        FixingDateInfo ob = new FixingDateInfo(fixingDateInfoNode);
                        IDManager.SetID(fixingDateInfoIDRef_, ob);
                    }
                    else if (fixingDateInfoNode.Attributes["href"] != null)
                    {
                        fixingDateInfoIDRef_ = fixingDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        fixingDateInfo_ = new FixingDateInfo(fixingDateInfoNode);
                    }
                }
                else
                {
                    fixingDateInfo_ = new FixingDateInfo(fixingDateInfoNode);
                }
            }


            XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");

            if (payoffDateInfoNode != null)
            {
                if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null)
                {
                    if (payoffDateInfoNode.Attributes["id"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                        PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                        IDManager.SetID(payoffDateInfoIDRef_, ob);
                    }
                    else if (payoffDateInfoNode.Attributes["href"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                    }
                }
                else
                {
                    payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                }
            }


            XmlNode triggerNode = xmlNode.SelectSingleNode("trigger");

            if (triggerNode != null)
            {
                if (triggerNode.Attributes["href"] != null || triggerNode.Attributes["id"] != null)
                {
                    if (triggerNode.Attributes["id"] != null)
                    {
                        triggerIDRef_ = triggerNode.Attributes["id"].Value;
                        XsdTypeDouble ob = new XsdTypeDouble(triggerNode);
                        IDManager.SetID(triggerIDRef_, ob);
                    }
                    else if (triggerNode.Attributes["href"] != null)
                    {
                        triggerIDRef_ = triggerNode.Attributes["href"].Value;
                    }
                    else
                    {
                        trigger_ = new XsdTypeDouble(triggerNode);
                    }
                }
                else
                {
                    trigger_ = new XsdTypeDouble(triggerNode);
                }
            }


            XmlNode returnNode = xmlNode.SelectSingleNode("return");

            if (returnNode != null)
            {
                if (returnNode.Attributes["href"] != null || returnNode.Attributes["id"] != null)
                {
                    if (returnNode.Attributes["id"] != null)
                    {
                        returnIDRef_ = returnNode.Attributes["id"].Value;
                        XsdTypeDouble ob = new XsdTypeDouble(returnNode);
                        IDManager.SetID(returnIDRef_, ob);
                    }
                    else if (returnNode.Attributes["href"] != null)
                    {
                        returnIDRef_ = returnNode.Attributes["href"].Value;
                    }
                    else
                    {
                        return_ = new XsdTypeDouble(returnNode);
                    }
                }
                else
                {
                    return_ = new XsdTypeDouble(returnNode);
                }
            }


            XmlNode averageDaysNode = xmlNode.SelectSingleNode("averageDays");

            if (averageDaysNode != null)
            {
                if (averageDaysNode.Attributes["href"] != null || averageDaysNode.Attributes["id"] != null)
                {
                    if (averageDaysNode.Attributes["id"] != null)
                    {
                        averageDaysIDRef_ = averageDaysNode.Attributes["id"].Value;
                        XsdTypeInteger ob = new XsdTypeInteger(averageDaysNode);
                        IDManager.SetID(averageDaysIDRef_, ob);
                    }
                    else if (averageDaysNode.Attributes["href"] != null)
                    {
                        averageDaysIDRef_ = averageDaysNode.Attributes["href"].Value;
                    }
                    else
                    {
                        averageDays_ = new XsdTypeInteger(averageDaysNode);
                    }
                }
                else
                {
                    averageDays_ = new XsdTypeInteger(averageDaysNode);
                }
            }


            XmlNode isExpiredNode = xmlNode.SelectSingleNode("isExpired");

            if (isExpiredNode != null)
            {
                if (isExpiredNode.Attributes["href"] != null || isExpiredNode.Attributes["id"] != null)
                {
                    if (isExpiredNode.Attributes["id"] != null)
                    {
                        isExpiredIDRef_ = isExpiredNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(isExpiredNode);
                        IDManager.SetID(isExpiredIDRef_, ob);
                    }
                    else if (isExpiredNode.Attributes["href"] != null)
                    {
                        isExpiredIDRef_ = isExpiredNode.Attributes["href"].Value;
                    }
                    else
                    {
                        isExpired_ = new XsdTypeBoolean(isExpiredNode);
                    }
                }
                else
                {
                    isExpired_ = new XsdTypeBoolean(isExpiredNode);
                }
            }
        }
 public CompositeSumOptionPayoff(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode fixingDateInfoNode = xmlNode.SelectSingleNode("fixingDateInfo");
     
     if (fixingDateInfoNode != null)
     {
         if (fixingDateInfoNode.Attributes["href"] != null || fixingDateInfoNode.Attributes["id"] != null) 
         {
             if (fixingDateInfoNode.Attributes["id"] != null) 
             {
                 fixingDateInfoIDRef_ = fixingDateInfoNode.Attributes["id"].Value;
                 FixingDateInfo ob = new FixingDateInfo(fixingDateInfoNode);
                 IDManager.SetID(fixingDateInfoIDRef_, ob);
             }
             else if (fixingDateInfoNode.Attributes["href"] != null)
             {
                 fixingDateInfoIDRef_ = fixingDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 fixingDateInfo_ = new FixingDateInfo(fixingDateInfoNode);
             }
         }
         else
         {
             fixingDateInfo_ = new FixingDateInfo(fixingDateInfoNode);
         }
     }
     
 
     XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");
     
     if (payoffDateInfoNode != null)
     {
         if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null) 
         {
             if (payoffDateInfoNode.Attributes["id"] != null) 
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                 PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                 IDManager.SetID(payoffDateInfoIDRef_, ob);
             }
             else if (payoffDateInfoNode.Attributes["href"] != null)
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
             }
         }
         else
         {
             payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
         }
     }
     
 
     XmlNode referenceCalculationInfoNode = xmlNode.SelectSingleNode("referenceCalculationInfo");
     
     if (referenceCalculationInfoNode != null)
     {
         if (referenceCalculationInfoNode.Attributes["href"] != null || referenceCalculationInfoNode.Attributes["id"] != null) 
         {
             if (referenceCalculationInfoNode.Attributes["id"] != null) 
             {
                 referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["id"].Value;
                 ReferenceCalculationInfo ob = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                 IDManager.SetID(referenceCalculationInfoIDRef_, ob);
             }
             else if (referenceCalculationInfoNode.Attributes["href"] != null)
             {
                 referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["href"].Value;
             }
             else
             {
                 referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
             }
         }
         else
         {
             referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
         }
     }
     
 
     XmlNodeList standardOptionNodeList = xmlNode.SelectNodes("standardOption");
     
     if (standardOptionNodeList != null)
     {
         this.standardOption_ = new List<StandardOption>();
         foreach (XmlNode item in standardOptionNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     standardOptionIDRef_ = item.Attributes["id"].Value;
                     standardOption_.Add(new StandardOption(item));
                     IDManager.SetID(standardOptionIDRef_, standardOption_[standardOption_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     standardOptionIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 standardOption_.Add(new StandardOption(item));
                 }
             }
             else
             {
                 standardOption_.Add(new StandardOption(item));
             }
         }
     }
     
 
 }
 public AutoTerminationTrigger(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode eventCalculationInfoNode = xmlNode.SelectSingleNode("eventCalculationInfo");
     
     if (eventCalculationInfoNode != null)
     {
         if (eventCalculationInfoNode.Attributes["href"] != null || eventCalculationInfoNode.Attributes["id"] != null) 
         {
             if (eventCalculationInfoNode.Attributes["id"] != null) 
             {
                 eventCalculationInfoIDRef_ = eventCalculationInfoNode.Attributes["id"].Value;
                 EventCalculationInfo ob = new EventCalculationInfo(eventCalculationInfoNode);
                 IDManager.SetID(eventCalculationInfoIDRef_, ob);
             }
             else if (eventCalculationInfoNode.Attributes["href"] != null)
             {
                 eventCalculationInfoIDRef_ = eventCalculationInfoNode.Attributes["href"].Value;
             }
             else
             {
                 eventCalculationInfo_ = new EventCalculationInfo(eventCalculationInfoNode);
             }
         }
         else
         {
             eventCalculationInfo_ = new EventCalculationInfo(eventCalculationInfoNode);
         }
     }
     
 
     XmlNode returnCalculationInfoNode = xmlNode.SelectSingleNode("returnCalculationInfo");
     
     if (returnCalculationInfoNode != null)
     {
         if (returnCalculationInfoNode.Attributes["href"] != null || returnCalculationInfoNode.Attributes["id"] != null) 
         {
             if (returnCalculationInfoNode.Attributes["id"] != null) 
             {
                 returnCalculationInfoIDRef_ = returnCalculationInfoNode.Attributes["id"].Value;
                 ReturnCalculationInfo ob = new ReturnCalculationInfo(returnCalculationInfoNode);
                 IDManager.SetID(returnCalculationInfoIDRef_, ob);
             }
             else if (returnCalculationInfoNode.Attributes["href"] != null)
             {
                 returnCalculationInfoIDRef_ = returnCalculationInfoNode.Attributes["href"].Value;
             }
             else
             {
                 returnCalculationInfo_ = new ReturnCalculationInfo(returnCalculationInfoNode);
             }
         }
         else
         {
             returnCalculationInfo_ = new ReturnCalculationInfo(returnCalculationInfoNode);
         }
     }
     
 
     XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");
     
     if (payoffDateInfoNode != null)
     {
         if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null) 
         {
             if (payoffDateInfoNode.Attributes["id"] != null) 
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                 PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                 IDManager.SetID(payoffDateInfoIDRef_, ob);
             }
             else if (payoffDateInfoNode.Attributes["href"] != null)
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
             }
         }
         else
         {
             payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
         }
     }
     
 
 }
 public AutoCallConstReturnTrigger(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode dateOrderNode = xmlNode.SelectSingleNode("dateOrder");
     
     if (dateOrderNode != null)
     {
         if (dateOrderNode.Attributes["href"] != null || dateOrderNode.Attributes["id"] != null) 
         {
             if (dateOrderNode.Attributes["id"] != null) 
             {
                 dateOrderIDRef_ = dateOrderNode.Attributes["id"].Value;
                 XsdTypeInteger ob = new XsdTypeInteger(dateOrderNode);
                 IDManager.SetID(dateOrderIDRef_, ob);
             }
             else if (dateOrderNode.Attributes["href"] != null)
             {
                 dateOrderIDRef_ = dateOrderNode.Attributes["href"].Value;
             }
             else
             {
                 dateOrder_ = new XsdTypeInteger(dateOrderNode);
             }
         }
         else
         {
             dateOrder_ = new XsdTypeInteger(dateOrderNode);
         }
     }
     
 
     XmlNode fixingDateInfoNode = xmlNode.SelectSingleNode("fixingDateInfo");
     
     if (fixingDateInfoNode != null)
     {
         if (fixingDateInfoNode.Attributes["href"] != null || fixingDateInfoNode.Attributes["id"] != null) 
         {
             if (fixingDateInfoNode.Attributes["id"] != null) 
             {
                 fixingDateInfoIDRef_ = fixingDateInfoNode.Attributes["id"].Value;
                 FixingDateInfo ob = new FixingDateInfo(fixingDateInfoNode);
                 IDManager.SetID(fixingDateInfoIDRef_, ob);
             }
             else if (fixingDateInfoNode.Attributes["href"] != null)
             {
                 fixingDateInfoIDRef_ = fixingDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 fixingDateInfo_ = new FixingDateInfo(fixingDateInfoNode);
             }
         }
         else
         {
             fixingDateInfo_ = new FixingDateInfo(fixingDateInfoNode);
         }
     }
     
 
     XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");
     
     if (payoffDateInfoNode != null)
     {
         if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null) 
         {
             if (payoffDateInfoNode.Attributes["id"] != null) 
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                 PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                 IDManager.SetID(payoffDateInfoIDRef_, ob);
             }
             else if (payoffDateInfoNode.Attributes["href"] != null)
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
             }
         }
         else
         {
             payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
         }
     }
     
 
     XmlNode triggerNode = xmlNode.SelectSingleNode("trigger");
     
     if (triggerNode != null)
     {
         if (triggerNode.Attributes["href"] != null || triggerNode.Attributes["id"] != null) 
         {
             if (triggerNode.Attributes["id"] != null) 
             {
                 triggerIDRef_ = triggerNode.Attributes["id"].Value;
                 XsdTypeDouble ob = new XsdTypeDouble(triggerNode);
                 IDManager.SetID(triggerIDRef_, ob);
             }
             else if (triggerNode.Attributes["href"] != null)
             {
                 triggerIDRef_ = triggerNode.Attributes["href"].Value;
             }
             else
             {
                 trigger_ = new XsdTypeDouble(triggerNode);
             }
         }
         else
         {
             trigger_ = new XsdTypeDouble(triggerNode);
         }
     }
     
 
     XmlNode returnNode = xmlNode.SelectSingleNode("return");
     
     if (returnNode != null)
     {
         if (returnNode.Attributes["href"] != null || returnNode.Attributes["id"] != null) 
         {
             if (returnNode.Attributes["id"] != null) 
             {
                 returnIDRef_ = returnNode.Attributes["id"].Value;
                 XsdTypeDouble ob = new XsdTypeDouble(returnNode);
                 IDManager.SetID(returnIDRef_, ob);
             }
             else if (returnNode.Attributes["href"] != null)
             {
                 returnIDRef_ = returnNode.Attributes["href"].Value;
             }
             else
             {
                 return_ = new XsdTypeDouble(returnNode);
             }
         }
         else
         {
             return_ = new XsdTypeDouble(returnNode);
         }
     }
     
 
     XmlNode averageDaysNode = xmlNode.SelectSingleNode("averageDays");
     
     if (averageDaysNode != null)
     {
         if (averageDaysNode.Attributes["href"] != null || averageDaysNode.Attributes["id"] != null) 
         {
             if (averageDaysNode.Attributes["id"] != null) 
             {
                 averageDaysIDRef_ = averageDaysNode.Attributes["id"].Value;
                 XsdTypeInteger ob = new XsdTypeInteger(averageDaysNode);
                 IDManager.SetID(averageDaysIDRef_, ob);
             }
             else if (averageDaysNode.Attributes["href"] != null)
             {
                 averageDaysIDRef_ = averageDaysNode.Attributes["href"].Value;
             }
             else
             {
                 averageDays_ = new XsdTypeInteger(averageDaysNode);
             }
         }
         else
         {
             averageDays_ = new XsdTypeInteger(averageDaysNode);
         }
     }
     
 
     XmlNode isExpiredNode = xmlNode.SelectSingleNode("isExpired");
     
     if (isExpiredNode != null)
     {
         if (isExpiredNode.Attributes["href"] != null || isExpiredNode.Attributes["id"] != null) 
         {
             if (isExpiredNode.Attributes["id"] != null) 
             {
                 isExpiredIDRef_ = isExpiredNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(isExpiredNode);
                 IDManager.SetID(isExpiredIDRef_, ob);
             }
             else if (isExpiredNode.Attributes["href"] != null)
             {
                 isExpiredIDRef_ = isExpiredNode.Attributes["href"].Value;
             }
             else
             {
                 isExpired_ = new XsdTypeBoolean(isExpiredNode);
             }
         }
         else
         {
             isExpired_ = new XsdTypeBoolean(isExpiredNode);
         }
     }
     
 
 }
 public SimpleRangeConstReturnTrigger(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode dateOrderNode = xmlNode.SelectSingleNode("dateOrder");
     
     if (dateOrderNode != null)
     {
         if (dateOrderNode.Attributes["href"] != null || dateOrderNode.Attributes["id"] != null) 
         {
             if (dateOrderNode.Attributes["id"] != null) 
             {
                 dateOrderIDRef_ = dateOrderNode.Attributes["id"].Value;
                 XsdTypeInteger ob = new XsdTypeInteger(dateOrderNode);
                 IDManager.SetID(dateOrderIDRef_, ob);
             }
             else if (dateOrderNode.Attributes["href"] != null)
             {
                 dateOrderIDRef_ = dateOrderNode.Attributes["href"].Value;
             }
             else
             {
                 dateOrder_ = new XsdTypeInteger(dateOrderNode);
             }
         }
         else
         {
             dateOrder_ = new XsdTypeInteger(dateOrderNode);
         }
     }
     
 
     XmlNode simpleRangeEventCalNode = xmlNode.SelectSingleNode("simpleRangeEventCal");
     
     if (simpleRangeEventCalNode != null)
     {
         if (simpleRangeEventCalNode.Attributes["href"] != null || simpleRangeEventCalNode.Attributes["id"] != null) 
         {
             if (simpleRangeEventCalNode.Attributes["id"] != null) 
             {
                 simpleRangeEventCalIDRef_ = simpleRangeEventCalNode.Attributes["id"].Value;
                 SimpleRangeEventCal ob = new SimpleRangeEventCal(simpleRangeEventCalNode);
                 IDManager.SetID(simpleRangeEventCalIDRef_, ob);
             }
             else if (simpleRangeEventCalNode.Attributes["href"] != null)
             {
                 simpleRangeEventCalIDRef_ = simpleRangeEventCalNode.Attributes["href"].Value;
             }
             else
             {
                 simpleRangeEventCal_ = new SimpleRangeEventCal(simpleRangeEventCalNode);
             }
         }
         else
         {
             simpleRangeEventCal_ = new SimpleRangeEventCal(simpleRangeEventCalNode);
         }
     }
     
 
     XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");
     
     if (payoffDateInfoNode != null)
     {
         if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null) 
         {
             if (payoffDateInfoNode.Attributes["id"] != null) 
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                 PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                 IDManager.SetID(payoffDateInfoIDRef_, ob);
             }
             else if (payoffDateInfoNode.Attributes["href"] != null)
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
             }
         }
         else
         {
             payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
         }
     }
     
 
     XmlNode constReturnNode = xmlNode.SelectSingleNode("constReturn");
     
     if (constReturnNode != null)
     {
         if (constReturnNode.Attributes["href"] != null || constReturnNode.Attributes["id"] != null) 
         {
             if (constReturnNode.Attributes["id"] != null) 
             {
                 constReturnIDRef_ = constReturnNode.Attributes["id"].Value;
                 XsdTypeDouble ob = new XsdTypeDouble(constReturnNode);
                 IDManager.SetID(constReturnIDRef_, ob);
             }
             else if (constReturnNode.Attributes["href"] != null)
             {
                 constReturnIDRef_ = constReturnNode.Attributes["href"].Value;
             }
             else
             {
                 constReturn_ = new XsdTypeDouble(constReturnNode);
             }
         }
         else
         {
             constReturn_ = new XsdTypeDouble(constReturnNode);
         }
     }
     
 
     XmlNode averageDaysNode = xmlNode.SelectSingleNode("averageDays");
     
     if (averageDaysNode != null)
     {
         if (averageDaysNode.Attributes["href"] != null || averageDaysNode.Attributes["id"] != null) 
         {
             if (averageDaysNode.Attributes["id"] != null) 
             {
                 averageDaysIDRef_ = averageDaysNode.Attributes["id"].Value;
                 XsdTypeInteger ob = new XsdTypeInteger(averageDaysNode);
                 IDManager.SetID(averageDaysIDRef_, ob);
             }
             else if (averageDaysNode.Attributes["href"] != null)
             {
                 averageDaysIDRef_ = averageDaysNode.Attributes["href"].Value;
             }
             else
             {
                 averageDays_ = new XsdTypeInteger(averageDaysNode);
             }
         }
         else
         {
             averageDays_ = new XsdTypeInteger(averageDaysNode);
         }
     }
     
 
     XmlNode isExpiredNode = xmlNode.SelectSingleNode("isExpired");
     
     if (isExpiredNode != null)
     {
         if (isExpiredNode.Attributes["href"] != null || isExpiredNode.Attributes["id"] != null) 
         {
             if (isExpiredNode.Attributes["id"] != null) 
             {
                 isExpiredIDRef_ = isExpiredNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(isExpiredNode);
                 IDManager.SetID(isExpiredIDRef_, ob);
             }
             else if (isExpiredNode.Attributes["href"] != null)
             {
                 isExpiredIDRef_ = isExpiredNode.Attributes["href"].Value;
             }
             else
             {
                 isExpired_ = new XsdTypeBoolean(isExpiredNode);
             }
         }
         else
         {
             isExpired_ = new XsdTypeBoolean(isExpiredNode);
         }
     }
     
 
 }
 public VanillaCallOption(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");
     
     if (payoffDateInfoNode != null)
     {
         if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null) 
         {
             if (payoffDateInfoNode.Attributes["id"] != null) 
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                 PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                 IDManager.SetID(payoffDateInfoIDRef_, ob);
             }
             else if (payoffDateInfoNode.Attributes["href"] != null)
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
             }
         }
         else
         {
             payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
         }
     }
     
 
     XmlNode participateRateNode = xmlNode.SelectSingleNode("participateRate");
     
     if (participateRateNode != null)
     {
         if (participateRateNode.Attributes["href"] != null || participateRateNode.Attributes["id"] != null) 
         {
             if (participateRateNode.Attributes["id"] != null) 
             {
                 participateRateIDRef_ = participateRateNode.Attributes["id"].Value;
                 XsdTypeDouble ob = new XsdTypeDouble(participateRateNode);
                 IDManager.SetID(participateRateIDRef_, ob);
             }
             else if (participateRateNode.Attributes["href"] != null)
             {
                 participateRateIDRef_ = participateRateNode.Attributes["href"].Value;
             }
             else
             {
                 participateRate_ = new XsdTypeDouble(participateRateNode);
             }
         }
         else
         {
             participateRate_ = new XsdTypeDouble(participateRateNode);
         }
     }
     
 
     XmlNode referenceCalculationInfoNode = xmlNode.SelectSingleNode("referenceCalculationInfo");
     
     if (referenceCalculationInfoNode != null)
     {
         if (referenceCalculationInfoNode.Attributes["href"] != null || referenceCalculationInfoNode.Attributes["id"] != null) 
         {
             if (referenceCalculationInfoNode.Attributes["id"] != null) 
             {
                 referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["id"].Value;
                 ReferenceCalculationInfo ob = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                 IDManager.SetID(referenceCalculationInfoIDRef_, ob);
             }
             else if (referenceCalculationInfoNode.Attributes["href"] != null)
             {
                 referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["href"].Value;
             }
             else
             {
                 referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
             }
         }
         else
         {
             referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
         }
     }
     
 
     XmlNode strikeNode = xmlNode.SelectSingleNode("strike");
     
     if (strikeNode != null)
     {
         if (strikeNode.Attributes["href"] != null || strikeNode.Attributes["id"] != null) 
         {
             if (strikeNode.Attributes["id"] != null) 
             {
                 strikeIDRef_ = strikeNode.Attributes["id"].Value;
                 XsdTypeDouble ob = new XsdTypeDouble(strikeNode);
                 IDManager.SetID(strikeIDRef_, ob);
             }
             else if (strikeNode.Attributes["href"] != null)
             {
                 strikeIDRef_ = strikeNode.Attributes["href"].Value;
             }
             else
             {
                 strike_ = new XsdTypeDouble(strikeNode);
             }
         }
         else
         {
             strike_ = new XsdTypeDouble(strikeNode);
         }
     }
     
 
     XmlNode lowerBoundNode = xmlNode.SelectSingleNode("lowerBound");
     
     if (lowerBoundNode != null)
     {
         if (lowerBoundNode.Attributes["href"] != null || lowerBoundNode.Attributes["id"] != null) 
         {
             if (lowerBoundNode.Attributes["id"] != null) 
             {
                 lowerBoundIDRef_ = lowerBoundNode.Attributes["id"].Value;
                 XsdTypeDouble ob = new XsdTypeDouble(lowerBoundNode);
                 IDManager.SetID(lowerBoundIDRef_, ob);
             }
             else if (lowerBoundNode.Attributes["href"] != null)
             {
                 lowerBoundIDRef_ = lowerBoundNode.Attributes["href"].Value;
             }
             else
             {
                 lowerBound_ = new XsdTypeDouble(lowerBoundNode);
             }
         }
         else
         {
             lowerBound_ = new XsdTypeDouble(lowerBoundNode);
         }
     }
     
 
 }
        public SimpleRangeAccrualRateTrigger(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode dayCounterNode = xmlNode.SelectSingleNode("dayCounter");

            if (dayCounterNode != null)
            {
                if (dayCounterNode.Attributes["href"] != null || dayCounterNode.Attributes["id"] != null)
                {
                    if (dayCounterNode.Attributes["id"] != null)
                    {
                        dayCounterIDRef_ = dayCounterNode.Attributes["id"].Value;
                        XsdTypeToken ob = new XsdTypeToken(dayCounterNode);
                        IDManager.SetID(dayCounterIDRef_, ob);
                    }
                    else if (dayCounterNode.Attributes["href"] != null)
                    {
                        dayCounterIDRef_ = dayCounterNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dayCounter_ = new XsdTypeToken(dayCounterNode);
                    }
                }
                else
                {
                    dayCounter_ = new XsdTypeToken(dayCounterNode);
                }
            }


            XmlNode calculationStartDateNode = xmlNode.SelectSingleNode("calculationStartDate");

            if (calculationStartDateNode != null)
            {
                if (calculationStartDateNode.Attributes["href"] != null || calculationStartDateNode.Attributes["id"] != null)
                {
                    if (calculationStartDateNode.Attributes["id"] != null)
                    {
                        calculationStartDateIDRef_ = calculationStartDateNode.Attributes["id"].Value;
                        XsdTypeDate ob = new XsdTypeDate(calculationStartDateNode);
                        IDManager.SetID(calculationStartDateIDRef_, ob);
                    }
                    else if (calculationStartDateNode.Attributes["href"] != null)
                    {
                        calculationStartDateIDRef_ = calculationStartDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        calculationStartDate_ = new XsdTypeDate(calculationStartDateNode);
                    }
                }
                else
                {
                    calculationStartDate_ = new XsdTypeDate(calculationStartDateNode);
                }
            }


            XmlNode calculationEndDateNode = xmlNode.SelectSingleNode("calculationEndDate");

            if (calculationEndDateNode != null)
            {
                if (calculationEndDateNode.Attributes["href"] != null || calculationEndDateNode.Attributes["id"] != null)
                {
                    if (calculationEndDateNode.Attributes["id"] != null)
                    {
                        calculationEndDateIDRef_ = calculationEndDateNode.Attributes["id"].Value;
                        XsdTypeDate ob = new XsdTypeDate(calculationEndDateNode);
                        IDManager.SetID(calculationEndDateIDRef_, ob);
                    }
                    else if (calculationEndDateNode.Attributes["href"] != null)
                    {
                        calculationEndDateIDRef_ = calculationEndDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        calculationEndDate_ = new XsdTypeDate(calculationEndDateNode);
                    }
                }
                else
                {
                    calculationEndDate_ = new XsdTypeDate(calculationEndDateNode);
                }
            }


            XmlNode referenceCalculationInfoNode = xmlNode.SelectSingleNode("referenceCalculationInfo");

            if (referenceCalculationInfoNode != null)
            {
                if (referenceCalculationInfoNode.Attributes["href"] != null || referenceCalculationInfoNode.Attributes["id"] != null)
                {
                    if (referenceCalculationInfoNode.Attributes["id"] != null)
                    {
                        referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["id"].Value;
                        ReferenceCalculationInfo ob = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                        IDManager.SetID(referenceCalculationInfoIDRef_, ob);
                    }
                    else if (referenceCalculationInfoNode.Attributes["href"] != null)
                    {
                        referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                    }
                }
                else
                {
                    referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                }
            }


            XmlNode simpleRangeEventListNode = xmlNode.SelectSingleNode("simpleRangeEventList");

            if (simpleRangeEventListNode != null)
            {
                if (simpleRangeEventListNode.Attributes["href"] != null || simpleRangeEventListNode.Attributes["id"] != null)
                {
                    if (simpleRangeEventListNode.Attributes["id"] != null)
                    {
                        simpleRangeEventListIDRef_ = simpleRangeEventListNode.Attributes["id"].Value;
                        SimpleRangeEventList ob = new SimpleRangeEventList(simpleRangeEventListNode);
                        IDManager.SetID(simpleRangeEventListIDRef_, ob);
                    }
                    else if (simpleRangeEventListNode.Attributes["href"] != null)
                    {
                        simpleRangeEventListIDRef_ = simpleRangeEventListNode.Attributes["href"].Value;
                    }
                    else
                    {
                        simpleRangeEventList_ = new SimpleRangeEventList(simpleRangeEventListNode);
                    }
                }
                else
                {
                    simpleRangeEventList_ = new SimpleRangeEventList(simpleRangeEventListNode);
                }
            }


            XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");

            if (payoffDateInfoNode != null)
            {
                if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null)
                {
                    if (payoffDateInfoNode.Attributes["id"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                        PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                        IDManager.SetID(payoffDateInfoIDRef_, ob);
                    }
                    else if (payoffDateInfoNode.Attributes["href"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                    }
                }
                else
                {
                    payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                }
            }


            XmlNode denumerDateNumNode = xmlNode.SelectSingleNode("denumerDateNum");

            if (denumerDateNumNode != null)
            {
                if (denumerDateNumNode.Attributes["href"] != null || denumerDateNumNode.Attributes["id"] != null)
                {
                    if (denumerDateNumNode.Attributes["id"] != null)
                    {
                        denumerDateNumIDRef_ = denumerDateNumNode.Attributes["id"].Value;
                        XsdTypeToken ob = new XsdTypeToken(denumerDateNumNode);
                        IDManager.SetID(denumerDateNumIDRef_, ob);
                    }
                    else if (denumerDateNumNode.Attributes["href"] != null)
                    {
                        denumerDateNumIDRef_ = denumerDateNumNode.Attributes["href"].Value;
                    }
                    else
                    {
                        denumerDateNum_ = new XsdTypeToken(denumerDateNumNode);
                    }
                }
                else
                {
                    denumerDateNum_ = new XsdTypeToken(denumerDateNumNode);
                }
            }
        }
Example #13
0
        public CompositeSumOptionPayoff(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode fixingDateInfoNode = xmlNode.SelectSingleNode("fixingDateInfo");

            if (fixingDateInfoNode != null)
            {
                if (fixingDateInfoNode.Attributes["href"] != null || fixingDateInfoNode.Attributes["id"] != null)
                {
                    if (fixingDateInfoNode.Attributes["id"] != null)
                    {
                        fixingDateInfoIDRef_ = fixingDateInfoNode.Attributes["id"].Value;
                        FixingDateInfo ob = new FixingDateInfo(fixingDateInfoNode);
                        IDManager.SetID(fixingDateInfoIDRef_, ob);
                    }
                    else if (fixingDateInfoNode.Attributes["href"] != null)
                    {
                        fixingDateInfoIDRef_ = fixingDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        fixingDateInfo_ = new FixingDateInfo(fixingDateInfoNode);
                    }
                }
                else
                {
                    fixingDateInfo_ = new FixingDateInfo(fixingDateInfoNode);
                }
            }


            XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");

            if (payoffDateInfoNode != null)
            {
                if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null)
                {
                    if (payoffDateInfoNode.Attributes["id"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                        PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                        IDManager.SetID(payoffDateInfoIDRef_, ob);
                    }
                    else if (payoffDateInfoNode.Attributes["href"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                    }
                }
                else
                {
                    payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                }
            }


            XmlNode referenceCalculationInfoNode = xmlNode.SelectSingleNode("referenceCalculationInfo");

            if (referenceCalculationInfoNode != null)
            {
                if (referenceCalculationInfoNode.Attributes["href"] != null || referenceCalculationInfoNode.Attributes["id"] != null)
                {
                    if (referenceCalculationInfoNode.Attributes["id"] != null)
                    {
                        referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["id"].Value;
                        ReferenceCalculationInfo ob = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                        IDManager.SetID(referenceCalculationInfoIDRef_, ob);
                    }
                    else if (referenceCalculationInfoNode.Attributes["href"] != null)
                    {
                        referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                    }
                }
                else
                {
                    referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                }
            }


            XmlNodeList standardOptionNodeList = xmlNode.SelectNodes("standardOption");

            if (standardOptionNodeList != null)
            {
                this.standardOption_ = new List <StandardOption>();
                foreach (XmlNode item in standardOptionNodeList)
                {
                    if (item.Attributes["href"] != null || item.Attributes["id"] != null)
                    {
                        if (item.Attributes["id"] != null)
                        {
                            standardOptionIDRef_ = item.Attributes["id"].Value;
                            standardOption_.Add(new StandardOption(item));
                            IDManager.SetID(standardOptionIDRef_, standardOption_[standardOption_.Count - 1]);
                        }
                        else if (item.Attributes["href"] != null)
                        {
                            standardOptionIDRef_ = item.Attributes["href"].Value;
                        }
                        else
                        {
                            standardOption_.Add(new StandardOption(item));
                        }
                    }
                    else
                    {
                        standardOption_.Add(new StandardOption(item));
                    }
                }
            }
        }
 public SimpleEventCouponTrigger(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode eventCalculationInfoNode = xmlNode.SelectSingleNode("eventCalculationInfo");
     
     if (eventCalculationInfoNode != null)
     {
         if (eventCalculationInfoNode.Attributes["href"] != null || eventCalculationInfoNode.Attributes["id"] != null) 
         {
             if (eventCalculationInfoNode.Attributes["id"] != null) 
             {
                 eventCalculationInfoIDRef_ = eventCalculationInfoNode.Attributes["id"].Value;
                 EventCalculationInfo ob = new EventCalculationInfo(eventCalculationInfoNode);
                 IDManager.SetID(eventCalculationInfoIDRef_, ob);
             }
             else if (eventCalculationInfoNode.Attributes["href"] != null)
             {
                 eventCalculationInfoIDRef_ = eventCalculationInfoNode.Attributes["href"].Value;
             }
             else
             {
                 eventCalculationInfo_ = new EventCalculationInfo(eventCalculationInfoNode);
             }
         }
         else
         {
             eventCalculationInfo_ = new EventCalculationInfo(eventCalculationInfoNode);
         }
     }
     
 
     XmlNode returnCalculationInfoNode = xmlNode.SelectSingleNode("returnCalculationInfo");
     
     if (returnCalculationInfoNode != null)
     {
         if (returnCalculationInfoNode.Attributes["href"] != null || returnCalculationInfoNode.Attributes["id"] != null) 
         {
             if (returnCalculationInfoNode.Attributes["id"] != null) 
             {
                 returnCalculationInfoIDRef_ = returnCalculationInfoNode.Attributes["id"].Value;
                 ReturnCalculationInfo ob = new ReturnCalculationInfo(returnCalculationInfoNode);
                 IDManager.SetID(returnCalculationInfoIDRef_, ob);
             }
             else if (returnCalculationInfoNode.Attributes["href"] != null)
             {
                 returnCalculationInfoIDRef_ = returnCalculationInfoNode.Attributes["href"].Value;
             }
             else
             {
                 returnCalculationInfo_ = new ReturnCalculationInfo(returnCalculationInfoNode);
             }
         }
         else
         {
             returnCalculationInfo_ = new ReturnCalculationInfo(returnCalculationInfoNode);
         }
     }
     
 
     XmlNode complementReturnCalculationNode = xmlNode.SelectSingleNode("complementReturnCalculation");
     
     if (complementReturnCalculationNode != null)
     {
         if (complementReturnCalculationNode.Attributes["href"] != null || complementReturnCalculationNode.Attributes["id"] != null) 
         {
             if (complementReturnCalculationNode.Attributes["id"] != null) 
             {
                 complementReturnCalculationIDRef_ = complementReturnCalculationNode.Attributes["id"].Value;
                 ComplementReturnCalculation ob = new ComplementReturnCalculation(complementReturnCalculationNode);
                 IDManager.SetID(complementReturnCalculationIDRef_, ob);
             }
             else if (complementReturnCalculationNode.Attributes["href"] != null)
             {
                 complementReturnCalculationIDRef_ = complementReturnCalculationNode.Attributes["href"].Value;
             }
             else
             {
                 complementReturnCalculation_ = new ComplementReturnCalculation(complementReturnCalculationNode);
             }
         }
         else
         {
             complementReturnCalculation_ = new ComplementReturnCalculation(complementReturnCalculationNode);
         }
     }
     
 
     XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");
     
     if (payoffDateInfoNode != null)
     {
         if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null) 
         {
             if (payoffDateInfoNode.Attributes["id"] != null) 
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                 PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                 IDManager.SetID(payoffDateInfoIDRef_, ob);
             }
             else if (payoffDateInfoNode.Attributes["href"] != null)
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
             }
         }
         else
         {
             payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
         }
     }
     
 
     XmlNode isExpiredNode = xmlNode.SelectSingleNode("isExpired");
     
     if (isExpiredNode != null)
     {
         if (isExpiredNode.Attributes["href"] != null || isExpiredNode.Attributes["id"] != null) 
         {
             if (isExpiredNode.Attributes["id"] != null) 
             {
                 isExpiredIDRef_ = isExpiredNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(isExpiredNode);
                 IDManager.SetID(isExpiredIDRef_, ob);
             }
             else if (isExpiredNode.Attributes["href"] != null)
             {
                 isExpiredIDRef_ = isExpiredNode.Attributes["href"].Value;
             }
             else
             {
                 isExpired_ = new XsdTypeBoolean(isExpiredNode);
             }
         }
         else
         {
             isExpired_ = new XsdTypeBoolean(isExpiredNode);
         }
     }
     
 
 }
        public SimpleEventCouponTrigger(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode eventCalculationInfoNode = xmlNode.SelectSingleNode("eventCalculationInfo");

            if (eventCalculationInfoNode != null)
            {
                if (eventCalculationInfoNode.Attributes["href"] != null || eventCalculationInfoNode.Attributes["id"] != null)
                {
                    if (eventCalculationInfoNode.Attributes["id"] != null)
                    {
                        eventCalculationInfoIDRef_ = eventCalculationInfoNode.Attributes["id"].Value;
                        EventCalculationInfo ob = new EventCalculationInfo(eventCalculationInfoNode);
                        IDManager.SetID(eventCalculationInfoIDRef_, ob);
                    }
                    else if (eventCalculationInfoNode.Attributes["href"] != null)
                    {
                        eventCalculationInfoIDRef_ = eventCalculationInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        eventCalculationInfo_ = new EventCalculationInfo(eventCalculationInfoNode);
                    }
                }
                else
                {
                    eventCalculationInfo_ = new EventCalculationInfo(eventCalculationInfoNode);
                }
            }


            XmlNode returnCalculationInfoNode = xmlNode.SelectSingleNode("returnCalculationInfo");

            if (returnCalculationInfoNode != null)
            {
                if (returnCalculationInfoNode.Attributes["href"] != null || returnCalculationInfoNode.Attributes["id"] != null)
                {
                    if (returnCalculationInfoNode.Attributes["id"] != null)
                    {
                        returnCalculationInfoIDRef_ = returnCalculationInfoNode.Attributes["id"].Value;
                        ReturnCalculationInfo ob = new ReturnCalculationInfo(returnCalculationInfoNode);
                        IDManager.SetID(returnCalculationInfoIDRef_, ob);
                    }
                    else if (returnCalculationInfoNode.Attributes["href"] != null)
                    {
                        returnCalculationInfoIDRef_ = returnCalculationInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        returnCalculationInfo_ = new ReturnCalculationInfo(returnCalculationInfoNode);
                    }
                }
                else
                {
                    returnCalculationInfo_ = new ReturnCalculationInfo(returnCalculationInfoNode);
                }
            }


            XmlNode complementReturnCalculationNode = xmlNode.SelectSingleNode("complementReturnCalculation");

            if (complementReturnCalculationNode != null)
            {
                if (complementReturnCalculationNode.Attributes["href"] != null || complementReturnCalculationNode.Attributes["id"] != null)
                {
                    if (complementReturnCalculationNode.Attributes["id"] != null)
                    {
                        complementReturnCalculationIDRef_ = complementReturnCalculationNode.Attributes["id"].Value;
                        ComplementReturnCalculation ob = new ComplementReturnCalculation(complementReturnCalculationNode);
                        IDManager.SetID(complementReturnCalculationIDRef_, ob);
                    }
                    else if (complementReturnCalculationNode.Attributes["href"] != null)
                    {
                        complementReturnCalculationIDRef_ = complementReturnCalculationNode.Attributes["href"].Value;
                    }
                    else
                    {
                        complementReturnCalculation_ = new ComplementReturnCalculation(complementReturnCalculationNode);
                    }
                }
                else
                {
                    complementReturnCalculation_ = new ComplementReturnCalculation(complementReturnCalculationNode);
                }
            }


            XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");

            if (payoffDateInfoNode != null)
            {
                if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null)
                {
                    if (payoffDateInfoNode.Attributes["id"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                        PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                        IDManager.SetID(payoffDateInfoIDRef_, ob);
                    }
                    else if (payoffDateInfoNode.Attributes["href"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                    }
                }
                else
                {
                    payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                }
            }


            XmlNode isExpiredNode = xmlNode.SelectSingleNode("isExpired");

            if (isExpiredNode != null)
            {
                if (isExpiredNode.Attributes["href"] != null || isExpiredNode.Attributes["id"] != null)
                {
                    if (isExpiredNode.Attributes["id"] != null)
                    {
                        isExpiredIDRef_ = isExpiredNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(isExpiredNode);
                        IDManager.SetID(isExpiredIDRef_, ob);
                    }
                    else if (isExpiredNode.Attributes["href"] != null)
                    {
                        isExpiredIDRef_ = isExpiredNode.Attributes["href"].Value;
                    }
                    else
                    {
                        isExpired_ = new XsdTypeBoolean(isExpiredNode);
                    }
                }
                else
                {
                    isExpired_ = new XsdTypeBoolean(isExpiredNode);
                }
            }
        }
        public VanillaRateTrigger(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode dayCounterNode = xmlNode.SelectSingleNode("dayCounter");

            if (dayCounterNode != null)
            {
                if (dayCounterNode.Attributes["href"] != null || dayCounterNode.Attributes["id"] != null)
                {
                    if (dayCounterNode.Attributes["id"] != null)
                    {
                        dayCounterIDRef_ = dayCounterNode.Attributes["id"].Value;
                        XsdTypeToken ob = new XsdTypeToken(dayCounterNode);
                        IDManager.SetID(dayCounterIDRef_, ob);
                    }
                    else if (dayCounterNode.Attributes["href"] != null)
                    {
                        dayCounterIDRef_ = dayCounterNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dayCounter_ = new XsdTypeToken(dayCounterNode);
                    }
                }
                else
                {
                    dayCounter_ = new XsdTypeToken(dayCounterNode);
                }
            }


            XmlNode calculationStartDateNode = xmlNode.SelectSingleNode("calculationStartDate");

            if (calculationStartDateNode != null)
            {
                if (calculationStartDateNode.Attributes["href"] != null || calculationStartDateNode.Attributes["id"] != null)
                {
                    if (calculationStartDateNode.Attributes["id"] != null)
                    {
                        calculationStartDateIDRef_ = calculationStartDateNode.Attributes["id"].Value;
                        XsdTypeDate ob = new XsdTypeDate(calculationStartDateNode);
                        IDManager.SetID(calculationStartDateIDRef_, ob);
                    }
                    else if (calculationStartDateNode.Attributes["href"] != null)
                    {
                        calculationStartDateIDRef_ = calculationStartDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        calculationStartDate_ = new XsdTypeDate(calculationStartDateNode);
                    }
                }
                else
                {
                    calculationStartDate_ = new XsdTypeDate(calculationStartDateNode);
                }
            }


            XmlNode calculationEndDateNode = xmlNode.SelectSingleNode("calculationEndDate");

            if (calculationEndDateNode != null)
            {
                if (calculationEndDateNode.Attributes["href"] != null || calculationEndDateNode.Attributes["id"] != null)
                {
                    if (calculationEndDateNode.Attributes["id"] != null)
                    {
                        calculationEndDateIDRef_ = calculationEndDateNode.Attributes["id"].Value;
                        XsdTypeDate ob = new XsdTypeDate(calculationEndDateNode);
                        IDManager.SetID(calculationEndDateIDRef_, ob);
                    }
                    else if (calculationEndDateNode.Attributes["href"] != null)
                    {
                        calculationEndDateIDRef_ = calculationEndDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        calculationEndDate_ = new XsdTypeDate(calculationEndDateNode);
                    }
                }
                else
                {
                    calculationEndDate_ = new XsdTypeDate(calculationEndDateNode);
                }
            }


            XmlNode gearingNode = xmlNode.SelectSingleNode("gearing");

            if (gearingNode != null)
            {
                if (gearingNode.Attributes["href"] != null || gearingNode.Attributes["id"] != null)
                {
                    if (gearingNode.Attributes["id"] != null)
                    {
                        gearingIDRef_ = gearingNode.Attributes["id"].Value;
                        XsdTypeDouble ob = new XsdTypeDouble(gearingNode);
                        IDManager.SetID(gearingIDRef_, ob);
                    }
                    else if (gearingNode.Attributes["href"] != null)
                    {
                        gearingIDRef_ = gearingNode.Attributes["href"].Value;
                    }
                    else
                    {
                        gearing_ = new XsdTypeDouble(gearingNode);
                    }
                }
                else
                {
                    gearing_ = new XsdTypeDouble(gearingNode);
                }
            }


            XmlNode spreadNode = xmlNode.SelectSingleNode("spread");

            if (spreadNode != null)
            {
                if (spreadNode.Attributes["href"] != null || spreadNode.Attributes["id"] != null)
                {
                    if (spreadNode.Attributes["id"] != null)
                    {
                        spreadIDRef_ = spreadNode.Attributes["id"].Value;
                        XsdTypeDouble ob = new XsdTypeDouble(spreadNode);
                        IDManager.SetID(spreadIDRef_, ob);
                    }
                    else if (spreadNode.Attributes["href"] != null)
                    {
                        spreadIDRef_ = spreadNode.Attributes["href"].Value;
                    }
                    else
                    {
                        spread_ = new XsdTypeDouble(spreadNode);
                    }
                }
                else
                {
                    spread_ = new XsdTypeDouble(spreadNode);
                }
            }


            XmlNode referenceCalculationInfoNode = xmlNode.SelectSingleNode("referenceCalculationInfo");

            if (referenceCalculationInfoNode != null)
            {
                if (referenceCalculationInfoNode.Attributes["href"] != null || referenceCalculationInfoNode.Attributes["id"] != null)
                {
                    if (referenceCalculationInfoNode.Attributes["id"] != null)
                    {
                        referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["id"].Value;
                        ReferenceCalculationInfo ob = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                        IDManager.SetID(referenceCalculationInfoIDRef_, ob);
                    }
                    else if (referenceCalculationInfoNode.Attributes["href"] != null)
                    {
                        referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                    }
                }
                else
                {
                    referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                }
            }


            XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");

            if (payoffDateInfoNode != null)
            {
                if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null)
                {
                    if (payoffDateInfoNode.Attributes["id"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                        PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                        IDManager.SetID(payoffDateInfoIDRef_, ob);
                    }
                    else if (payoffDateInfoNode.Attributes["href"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                    }
                }
                else
                {
                    payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                }
            }
        }
 public VanillaCouponTrigger(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode gearingNode = xmlNode.SelectSingleNode("gearing");
     
     if (gearingNode != null)
     {
         if (gearingNode.Attributes["href"] != null || gearingNode.Attributes["id"] != null) 
         {
             if (gearingNode.Attributes["id"] != null) 
             {
                 gearingIDRef_ = gearingNode.Attributes["id"].Value;
                 XsdTypeDouble ob = new XsdTypeDouble(gearingNode);
                 IDManager.SetID(gearingIDRef_, ob);
             }
             else if (gearingNode.Attributes["href"] != null)
             {
                 gearingIDRef_ = gearingNode.Attributes["href"].Value;
             }
             else
             {
                 gearing_ = new XsdTypeDouble(gearingNode);
             }
         }
         else
         {
             gearing_ = new XsdTypeDouble(gearingNode);
         }
     }
     
 
     XmlNode spreadNode = xmlNode.SelectSingleNode("spread");
     
     if (spreadNode != null)
     {
         if (spreadNode.Attributes["href"] != null || spreadNode.Attributes["id"] != null) 
         {
             if (spreadNode.Attributes["id"] != null) 
             {
                 spreadIDRef_ = spreadNode.Attributes["id"].Value;
                 XsdTypeDouble ob = new XsdTypeDouble(spreadNode);
                 IDManager.SetID(spreadIDRef_, ob);
             }
             else if (spreadNode.Attributes["href"] != null)
             {
                 spreadIDRef_ = spreadNode.Attributes["href"].Value;
             }
             else
             {
                 spread_ = new XsdTypeDouble(spreadNode);
             }
         }
         else
         {
             spread_ = new XsdTypeDouble(spreadNode);
         }
     }
     
 
     XmlNode returnCalculationNode = xmlNode.SelectSingleNode("returnCalculation");
     
     if (returnCalculationNode != null)
     {
         if (returnCalculationNode.Attributes["href"] != null || returnCalculationNode.Attributes["id"] != null) 
         {
             if (returnCalculationNode.Attributes["id"] != null) 
             {
                 returnCalculationIDRef_ = returnCalculationNode.Attributes["id"].Value;
                 ReturnCalculation ob = new ReturnCalculation(returnCalculationNode);
                 IDManager.SetID(returnCalculationIDRef_, ob);
             }
             else if (returnCalculationNode.Attributes["href"] != null)
             {
                 returnCalculationIDRef_ = returnCalculationNode.Attributes["href"].Value;
             }
             else
             {
                 returnCalculation_ = new ReturnCalculation(returnCalculationNode);
             }
         }
         else
         {
             returnCalculation_ = new ReturnCalculation(returnCalculationNode);
         }
     }
     
 
     XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");
     
     if (payoffDateInfoNode != null)
     {
         if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null) 
         {
             if (payoffDateInfoNode.Attributes["id"] != null) 
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                 PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                 IDManager.SetID(payoffDateInfoIDRef_, ob);
             }
             else if (payoffDateInfoNode.Attributes["href"] != null)
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
             }
         }
         else
         {
             payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
         }
     }
     
 
     XmlNode isExpiredNode = xmlNode.SelectSingleNode("isExpired");
     
     if (isExpiredNode != null)
     {
         if (isExpiredNode.Attributes["href"] != null || isExpiredNode.Attributes["id"] != null) 
         {
             if (isExpiredNode.Attributes["id"] != null) 
             {
                 isExpiredIDRef_ = isExpiredNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(isExpiredNode);
                 IDManager.SetID(isExpiredIDRef_, ob);
             }
             else if (isExpiredNode.Attributes["href"] != null)
             {
                 isExpiredIDRef_ = isExpiredNode.Attributes["href"].Value;
             }
             else
             {
                 isExpired_ = new XsdTypeBoolean(isExpiredNode);
             }
         }
         else
         {
             isExpired_ = new XsdTypeBoolean(isExpiredNode);
         }
     }
     
 
 }
 public StopLossPayoff(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode eventTriggerListNode = xmlNode.SelectSingleNode("eventTriggerList");
     
     if (eventTriggerListNode != null)
     {
         if (eventTriggerListNode.Attributes["href"] != null || eventTriggerListNode.Attributes["id"] != null) 
         {
             if (eventTriggerListNode.Attributes["id"] != null) 
             {
                 eventTriggerListIDRef_ = eventTriggerListNode.Attributes["id"].Value;
                 EventTriggerList ob = new EventTriggerList(eventTriggerListNode);
                 IDManager.SetID(eventTriggerListIDRef_, ob);
             }
             else if (eventTriggerListNode.Attributes["href"] != null)
             {
                 eventTriggerListIDRef_ = eventTriggerListNode.Attributes["href"].Value;
             }
             else
             {
                 eventTriggerList_ = new EventTriggerList(eventTriggerListNode);
             }
         }
         else
         {
             eventTriggerList_ = new EventTriggerList(eventTriggerListNode);
         }
     }
     
 
     XmlNode barrierInfoNode = xmlNode.SelectSingleNode("barrierInfo");
     
     if (barrierInfoNode != null)
     {
         if (barrierInfoNode.Attributes["href"] != null || barrierInfoNode.Attributes["id"] != null) 
         {
             if (barrierInfoNode.Attributes["id"] != null) 
             {
                 barrierInfoIDRef_ = barrierInfoNode.Attributes["id"].Value;
                 BarrierInfo ob = new BarrierInfo(barrierInfoNode);
                 IDManager.SetID(barrierInfoIDRef_, ob);
             }
             else if (barrierInfoNode.Attributes["href"] != null)
             {
                 barrierInfoIDRef_ = barrierInfoNode.Attributes["href"].Value;
             }
             else
             {
                 barrierInfo_ = new BarrierInfo(barrierInfoNode);
             }
         }
         else
         {
             barrierInfo_ = new BarrierInfo(barrierInfoNode);
         }
     }
     
 
     XmlNode returnCalculationNode = xmlNode.SelectSingleNode("returnCalculation");
     
     if (returnCalculationNode != null)
     {
         if (returnCalculationNode.Attributes["href"] != null || returnCalculationNode.Attributes["id"] != null) 
         {
             if (returnCalculationNode.Attributes["id"] != null) 
             {
                 returnCalculationIDRef_ = returnCalculationNode.Attributes["id"].Value;
                 ReturnCalculation ob = new ReturnCalculation(returnCalculationNode);
                 IDManager.SetID(returnCalculationIDRef_, ob);
             }
             else if (returnCalculationNode.Attributes["href"] != null)
             {
                 returnCalculationIDRef_ = returnCalculationNode.Attributes["href"].Value;
             }
             else
             {
                 returnCalculation_ = new ReturnCalculation(returnCalculationNode);
             }
         }
         else
         {
             returnCalculation_ = new ReturnCalculation(returnCalculationNode);
         }
     }
     
 
     XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");
     
     if (payoffDateInfoNode != null)
     {
         if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null) 
         {
             if (payoffDateInfoNode.Attributes["id"] != null) 
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                 PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                 IDManager.SetID(payoffDateInfoIDRef_, ob);
             }
             else if (payoffDateInfoNode.Attributes["href"] != null)
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
             }
         }
         else
         {
             payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
         }
     }
     
 
 }
 public FixedRateTrigger(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode dayCounterNode = xmlNode.SelectSingleNode("dayCounter");
     
     if (dayCounterNode != null)
     {
         if (dayCounterNode.Attributes["href"] != null || dayCounterNode.Attributes["id"] != null) 
         {
             if (dayCounterNode.Attributes["id"] != null) 
             {
                 dayCounterIDRef_ = dayCounterNode.Attributes["id"].Value;
                 XsdTypeToken ob = new XsdTypeToken(dayCounterNode);
                 IDManager.SetID(dayCounterIDRef_, ob);
             }
             else if (dayCounterNode.Attributes["href"] != null)
             {
                 dayCounterIDRef_ = dayCounterNode.Attributes["href"].Value;
             }
             else
             {
                 dayCounter_ = new XsdTypeToken(dayCounterNode);
             }
         }
         else
         {
             dayCounter_ = new XsdTypeToken(dayCounterNode);
         }
     }
     
 
     XmlNode calculationStartDateNode = xmlNode.SelectSingleNode("calculationStartDate");
     
     if (calculationStartDateNode != null)
     {
         if (calculationStartDateNode.Attributes["href"] != null || calculationStartDateNode.Attributes["id"] != null) 
         {
             if (calculationStartDateNode.Attributes["id"] != null) 
             {
                 calculationStartDateIDRef_ = calculationStartDateNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(calculationStartDateNode);
                 IDManager.SetID(calculationStartDateIDRef_, ob);
             }
             else if (calculationStartDateNode.Attributes["href"] != null)
             {
                 calculationStartDateIDRef_ = calculationStartDateNode.Attributes["href"].Value;
             }
             else
             {
                 calculationStartDate_ = new XsdTypeDate(calculationStartDateNode);
             }
         }
         else
         {
             calculationStartDate_ = new XsdTypeDate(calculationStartDateNode);
         }
     }
     
 
     XmlNode calculationEndDateNode = xmlNode.SelectSingleNode("calculationEndDate");
     
     if (calculationEndDateNode != null)
     {
         if (calculationEndDateNode.Attributes["href"] != null || calculationEndDateNode.Attributes["id"] != null) 
         {
             if (calculationEndDateNode.Attributes["id"] != null) 
             {
                 calculationEndDateIDRef_ = calculationEndDateNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(calculationEndDateNode);
                 IDManager.SetID(calculationEndDateIDRef_, ob);
             }
             else if (calculationEndDateNode.Attributes["href"] != null)
             {
                 calculationEndDateIDRef_ = calculationEndDateNode.Attributes["href"].Value;
             }
             else
             {
                 calculationEndDate_ = new XsdTypeDate(calculationEndDateNode);
             }
         }
         else
         {
             calculationEndDate_ = new XsdTypeDate(calculationEndDateNode);
         }
     }
     
 
     XmlNode fixedRateNode = xmlNode.SelectSingleNode("fixedRate");
     
     if (fixedRateNode != null)
     {
         if (fixedRateNode.Attributes["href"] != null || fixedRateNode.Attributes["id"] != null) 
         {
             if (fixedRateNode.Attributes["id"] != null) 
             {
                 fixedRateIDRef_ = fixedRateNode.Attributes["id"].Value;
                 XsdTypeDouble ob = new XsdTypeDouble(fixedRateNode);
                 IDManager.SetID(fixedRateIDRef_, ob);
             }
             else if (fixedRateNode.Attributes["href"] != null)
             {
                 fixedRateIDRef_ = fixedRateNode.Attributes["href"].Value;
             }
             else
             {
                 fixedRate_ = new XsdTypeDouble(fixedRateNode);
             }
         }
         else
         {
             fixedRate_ = new XsdTypeDouble(fixedRateNode);
         }
     }
     
 
     XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");
     
     if (payoffDateInfoNode != null)
     {
         if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null) 
         {
             if (payoffDateInfoNode.Attributes["id"] != null) 
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                 PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                 IDManager.SetID(payoffDateInfoIDRef_, ob);
             }
             else if (payoffDateInfoNode.Attributes["href"] != null)
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
             }
         }
         else
         {
             payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
         }
     }
     
 
     XmlNode isExpiredNode = xmlNode.SelectSingleNode("isExpired");
     
     if (isExpiredNode != null)
     {
         if (isExpiredNode.Attributes["href"] != null || isExpiredNode.Attributes["id"] != null) 
         {
             if (isExpiredNode.Attributes["id"] != null) 
             {
                 isExpiredIDRef_ = isExpiredNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(isExpiredNode);
                 IDManager.SetID(isExpiredIDRef_, ob);
             }
             else if (isExpiredNode.Attributes["href"] != null)
             {
                 isExpiredIDRef_ = isExpiredNode.Attributes["href"].Value;
             }
             else
             {
                 isExpired_ = new XsdTypeBoolean(isExpiredNode);
             }
         }
         else
         {
             isExpired_ = new XsdTypeBoolean(isExpiredNode);
         }
     }
     
 
 }
Example #20
0
        public SimpleRangeConstReturnTrigger(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode dateOrderNode = xmlNode.SelectSingleNode("dateOrder");

            if (dateOrderNode != null)
            {
                if (dateOrderNode.Attributes["href"] != null || dateOrderNode.Attributes["id"] != null)
                {
                    if (dateOrderNode.Attributes["id"] != null)
                    {
                        dateOrderIDRef_ = dateOrderNode.Attributes["id"].Value;
                        XsdTypeInteger ob = new XsdTypeInteger(dateOrderNode);
                        IDManager.SetID(dateOrderIDRef_, ob);
                    }
                    else if (dateOrderNode.Attributes["href"] != null)
                    {
                        dateOrderIDRef_ = dateOrderNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dateOrder_ = new XsdTypeInteger(dateOrderNode);
                    }
                }
                else
                {
                    dateOrder_ = new XsdTypeInteger(dateOrderNode);
                }
            }


            XmlNode simpleRangeEventCalNode = xmlNode.SelectSingleNode("simpleRangeEventCal");

            if (simpleRangeEventCalNode != null)
            {
                if (simpleRangeEventCalNode.Attributes["href"] != null || simpleRangeEventCalNode.Attributes["id"] != null)
                {
                    if (simpleRangeEventCalNode.Attributes["id"] != null)
                    {
                        simpleRangeEventCalIDRef_ = simpleRangeEventCalNode.Attributes["id"].Value;
                        SimpleRangeEventCal ob = new SimpleRangeEventCal(simpleRangeEventCalNode);
                        IDManager.SetID(simpleRangeEventCalIDRef_, ob);
                    }
                    else if (simpleRangeEventCalNode.Attributes["href"] != null)
                    {
                        simpleRangeEventCalIDRef_ = simpleRangeEventCalNode.Attributes["href"].Value;
                    }
                    else
                    {
                        simpleRangeEventCal_ = new SimpleRangeEventCal(simpleRangeEventCalNode);
                    }
                }
                else
                {
                    simpleRangeEventCal_ = new SimpleRangeEventCal(simpleRangeEventCalNode);
                }
            }


            XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");

            if (payoffDateInfoNode != null)
            {
                if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null)
                {
                    if (payoffDateInfoNode.Attributes["id"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                        PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                        IDManager.SetID(payoffDateInfoIDRef_, ob);
                    }
                    else if (payoffDateInfoNode.Attributes["href"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                    }
                }
                else
                {
                    payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                }
            }


            XmlNode constReturnNode = xmlNode.SelectSingleNode("constReturn");

            if (constReturnNode != null)
            {
                if (constReturnNode.Attributes["href"] != null || constReturnNode.Attributes["id"] != null)
                {
                    if (constReturnNode.Attributes["id"] != null)
                    {
                        constReturnIDRef_ = constReturnNode.Attributes["id"].Value;
                        XsdTypeDouble ob = new XsdTypeDouble(constReturnNode);
                        IDManager.SetID(constReturnIDRef_, ob);
                    }
                    else if (constReturnNode.Attributes["href"] != null)
                    {
                        constReturnIDRef_ = constReturnNode.Attributes["href"].Value;
                    }
                    else
                    {
                        constReturn_ = new XsdTypeDouble(constReturnNode);
                    }
                }
                else
                {
                    constReturn_ = new XsdTypeDouble(constReturnNode);
                }
            }


            XmlNode averageDaysNode = xmlNode.SelectSingleNode("averageDays");

            if (averageDaysNode != null)
            {
                if (averageDaysNode.Attributes["href"] != null || averageDaysNode.Attributes["id"] != null)
                {
                    if (averageDaysNode.Attributes["id"] != null)
                    {
                        averageDaysIDRef_ = averageDaysNode.Attributes["id"].Value;
                        XsdTypeInteger ob = new XsdTypeInteger(averageDaysNode);
                        IDManager.SetID(averageDaysIDRef_, ob);
                    }
                    else if (averageDaysNode.Attributes["href"] != null)
                    {
                        averageDaysIDRef_ = averageDaysNode.Attributes["href"].Value;
                    }
                    else
                    {
                        averageDays_ = new XsdTypeInteger(averageDaysNode);
                    }
                }
                else
                {
                    averageDays_ = new XsdTypeInteger(averageDaysNode);
                }
            }


            XmlNode isExpiredNode = xmlNode.SelectSingleNode("isExpired");

            if (isExpiredNode != null)
            {
                if (isExpiredNode.Attributes["href"] != null || isExpiredNode.Attributes["id"] != null)
                {
                    if (isExpiredNode.Attributes["id"] != null)
                    {
                        isExpiredIDRef_ = isExpiredNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(isExpiredNode);
                        IDManager.SetID(isExpiredIDRef_, ob);
                    }
                    else if (isExpiredNode.Attributes["href"] != null)
                    {
                        isExpiredIDRef_ = isExpiredNode.Attributes["href"].Value;
                    }
                    else
                    {
                        isExpired_ = new XsdTypeBoolean(isExpiredNode);
                    }
                }
                else
                {
                    isExpired_ = new XsdTypeBoolean(isExpiredNode);
                }
            }
        }
 public SimpleRangeAccrualRateTrigger(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode dayCounterNode = xmlNode.SelectSingleNode("dayCounter");
     
     if (dayCounterNode != null)
     {
         if (dayCounterNode.Attributes["href"] != null || dayCounterNode.Attributes["id"] != null) 
         {
             if (dayCounterNode.Attributes["id"] != null) 
             {
                 dayCounterIDRef_ = dayCounterNode.Attributes["id"].Value;
                 XsdTypeToken ob = new XsdTypeToken(dayCounterNode);
                 IDManager.SetID(dayCounterIDRef_, ob);
             }
             else if (dayCounterNode.Attributes["href"] != null)
             {
                 dayCounterIDRef_ = dayCounterNode.Attributes["href"].Value;
             }
             else
             {
                 dayCounter_ = new XsdTypeToken(dayCounterNode);
             }
         }
         else
         {
             dayCounter_ = new XsdTypeToken(dayCounterNode);
         }
     }
     
 
     XmlNode calculationStartDateNode = xmlNode.SelectSingleNode("calculationStartDate");
     
     if (calculationStartDateNode != null)
     {
         if (calculationStartDateNode.Attributes["href"] != null || calculationStartDateNode.Attributes["id"] != null) 
         {
             if (calculationStartDateNode.Attributes["id"] != null) 
             {
                 calculationStartDateIDRef_ = calculationStartDateNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(calculationStartDateNode);
                 IDManager.SetID(calculationStartDateIDRef_, ob);
             }
             else if (calculationStartDateNode.Attributes["href"] != null)
             {
                 calculationStartDateIDRef_ = calculationStartDateNode.Attributes["href"].Value;
             }
             else
             {
                 calculationStartDate_ = new XsdTypeDate(calculationStartDateNode);
             }
         }
         else
         {
             calculationStartDate_ = new XsdTypeDate(calculationStartDateNode);
         }
     }
     
 
     XmlNode calculationEndDateNode = xmlNode.SelectSingleNode("calculationEndDate");
     
     if (calculationEndDateNode != null)
     {
         if (calculationEndDateNode.Attributes["href"] != null || calculationEndDateNode.Attributes["id"] != null) 
         {
             if (calculationEndDateNode.Attributes["id"] != null) 
             {
                 calculationEndDateIDRef_ = calculationEndDateNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(calculationEndDateNode);
                 IDManager.SetID(calculationEndDateIDRef_, ob);
             }
             else if (calculationEndDateNode.Attributes["href"] != null)
             {
                 calculationEndDateIDRef_ = calculationEndDateNode.Attributes["href"].Value;
             }
             else
             {
                 calculationEndDate_ = new XsdTypeDate(calculationEndDateNode);
             }
         }
         else
         {
             calculationEndDate_ = new XsdTypeDate(calculationEndDateNode);
         }
     }
     
 
     XmlNode referenceCalculationInfoNode = xmlNode.SelectSingleNode("referenceCalculationInfo");
     
     if (referenceCalculationInfoNode != null)
     {
         if (referenceCalculationInfoNode.Attributes["href"] != null || referenceCalculationInfoNode.Attributes["id"] != null) 
         {
             if (referenceCalculationInfoNode.Attributes["id"] != null) 
             {
                 referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["id"].Value;
                 ReferenceCalculationInfo ob = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                 IDManager.SetID(referenceCalculationInfoIDRef_, ob);
             }
             else if (referenceCalculationInfoNode.Attributes["href"] != null)
             {
                 referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["href"].Value;
             }
             else
             {
                 referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
             }
         }
         else
         {
             referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
         }
     }
     
 
     XmlNode simpleRangeEventListNode = xmlNode.SelectSingleNode("simpleRangeEventList");
     
     if (simpleRangeEventListNode != null)
     {
         if (simpleRangeEventListNode.Attributes["href"] != null || simpleRangeEventListNode.Attributes["id"] != null) 
         {
             if (simpleRangeEventListNode.Attributes["id"] != null) 
             {
                 simpleRangeEventListIDRef_ = simpleRangeEventListNode.Attributes["id"].Value;
                 SimpleRangeEventList ob = new SimpleRangeEventList(simpleRangeEventListNode);
                 IDManager.SetID(simpleRangeEventListIDRef_, ob);
             }
             else if (simpleRangeEventListNode.Attributes["href"] != null)
             {
                 simpleRangeEventListIDRef_ = simpleRangeEventListNode.Attributes["href"].Value;
             }
             else
             {
                 simpleRangeEventList_ = new SimpleRangeEventList(simpleRangeEventListNode);
             }
         }
         else
         {
             simpleRangeEventList_ = new SimpleRangeEventList(simpleRangeEventListNode);
         }
     }
     
 
     XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");
     
     if (payoffDateInfoNode != null)
     {
         if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null) 
         {
             if (payoffDateInfoNode.Attributes["id"] != null) 
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                 PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                 IDManager.SetID(payoffDateInfoIDRef_, ob);
             }
             else if (payoffDateInfoNode.Attributes["href"] != null)
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
             }
         }
         else
         {
             payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
         }
     }
     
 
     XmlNode denumerDateNumNode = xmlNode.SelectSingleNode("denumerDateNum");
     
     if (denumerDateNumNode != null)
     {
         if (denumerDateNumNode.Attributes["href"] != null || denumerDateNumNode.Attributes["id"] != null) 
         {
             if (denumerDateNumNode.Attributes["id"] != null) 
             {
                 denumerDateNumIDRef_ = denumerDateNumNode.Attributes["id"].Value;
                 XsdTypeToken ob = new XsdTypeToken(denumerDateNumNode);
                 IDManager.SetID(denumerDateNumIDRef_, ob);
             }
             else if (denumerDateNumNode.Attributes["href"] != null)
             {
                 denumerDateNumIDRef_ = denumerDateNumNode.Attributes["href"].Value;
             }
             else
             {
                 denumerDateNum_ = new XsdTypeToken(denumerDateNumNode);
             }
         }
         else
         {
             denumerDateNum_ = new XsdTypeToken(denumerDateNumNode);
         }
     }
     
 
 }
        public SingleBarrier(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");

            if (payoffDateInfoNode != null)
            {
                if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null)
                {
                    if (payoffDateInfoNode.Attributes["id"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                        PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                        IDManager.SetID(payoffDateInfoIDRef_, ob);
                    }
                    else if (payoffDateInfoNode.Attributes["href"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                    }
                }
                else
                {
                    payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                }
            }


            XmlNode participateRateNode = xmlNode.SelectSingleNode("participateRate");

            if (participateRateNode != null)
            {
                if (participateRateNode.Attributes["href"] != null || participateRateNode.Attributes["id"] != null)
                {
                    if (participateRateNode.Attributes["id"] != null)
                    {
                        participateRateIDRef_ = participateRateNode.Attributes["id"].Value;
                        XsdTypeDouble ob = new XsdTypeDouble(participateRateNode);
                        IDManager.SetID(participateRateIDRef_, ob);
                    }
                    else if (participateRateNode.Attributes["href"] != null)
                    {
                        participateRateIDRef_ = participateRateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        participateRate_ = new XsdTypeDouble(participateRateNode);
                    }
                }
                else
                {
                    participateRate_ = new XsdTypeDouble(participateRateNode);
                }
            }


            XmlNode barrierInfoNode = xmlNode.SelectSingleNode("barrierInfo");

            if (barrierInfoNode != null)
            {
                if (barrierInfoNode.Attributes["href"] != null || barrierInfoNode.Attributes["id"] != null)
                {
                    if (barrierInfoNode.Attributes["id"] != null)
                    {
                        barrierInfoIDRef_ = barrierInfoNode.Attributes["id"].Value;
                        BarrierInfo ob = new BarrierInfo(barrierInfoNode);
                        IDManager.SetID(barrierInfoIDRef_, ob);
                    }
                    else if (barrierInfoNode.Attributes["href"] != null)
                    {
                        barrierInfoIDRef_ = barrierInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        barrierInfo_ = new BarrierInfo(barrierInfoNode);
                    }
                }
                else
                {
                    barrierInfo_ = new BarrierInfo(barrierInfoNode);
                }
            }


            XmlNode rebateNode = xmlNode.SelectSingleNode("rebate");

            if (rebateNode != null)
            {
                if (rebateNode.Attributes["href"] != null || rebateNode.Attributes["id"] != null)
                {
                    if (rebateNode.Attributes["id"] != null)
                    {
                        rebateIDRef_ = rebateNode.Attributes["id"].Value;
                        XsdTypeDouble ob = new XsdTypeDouble(rebateNode);
                        IDManager.SetID(rebateIDRef_, ob);
                    }
                    else if (rebateNode.Attributes["href"] != null)
                    {
                        rebateIDRef_ = rebateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        rebate_ = new XsdTypeDouble(rebateNode);
                    }
                }
                else
                {
                    rebate_ = new XsdTypeDouble(rebateNode);
                }
            }
        }
 public SimpleRangeReturnTrigger(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode simpleRangeEventCalNode = xmlNode.SelectSingleNode("simpleRangeEventCal");
     
     if (simpleRangeEventCalNode != null)
     {
         if (simpleRangeEventCalNode.Attributes["href"] != null || simpleRangeEventCalNode.Attributes["id"] != null) 
         {
             if (simpleRangeEventCalNode.Attributes["id"] != null) 
             {
                 simpleRangeEventCalIDRef_ = simpleRangeEventCalNode.Attributes["id"].Value;
                 SimpleRangeEventCal ob = new SimpleRangeEventCal(simpleRangeEventCalNode);
                 IDManager.SetID(simpleRangeEventCalIDRef_, ob);
             }
             else if (simpleRangeEventCalNode.Attributes["href"] != null)
             {
                 simpleRangeEventCalIDRef_ = simpleRangeEventCalNode.Attributes["href"].Value;
             }
             else
             {
                 simpleRangeEventCal_ = new SimpleRangeEventCal(simpleRangeEventCalNode);
             }
         }
         else
         {
             simpleRangeEventCal_ = new SimpleRangeEventCal(simpleRangeEventCalNode);
         }
     }
     
 
     XmlNode autoCallFlagNode = xmlNode.SelectSingleNode("autoCallFlag");
     
     if (autoCallFlagNode != null)
     {
         if (autoCallFlagNode.Attributes["href"] != null || autoCallFlagNode.Attributes["id"] != null) 
         {
             if (autoCallFlagNode.Attributes["id"] != null) 
             {
                 autoCallFlagIDRef_ = autoCallFlagNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(autoCallFlagNode);
                 IDManager.SetID(autoCallFlagIDRef_, ob);
             }
             else if (autoCallFlagNode.Attributes["href"] != null)
             {
                 autoCallFlagIDRef_ = autoCallFlagNode.Attributes["href"].Value;
             }
             else
             {
                 autoCallFlag_ = new XsdTypeBoolean(autoCallFlagNode);
             }
         }
         else
         {
             autoCallFlag_ = new XsdTypeBoolean(autoCallFlagNode);
         }
     }
     
 
     XmlNode expiredNode = xmlNode.SelectSingleNode("expired");
     
     if (expiredNode != null)
     {
         if (expiredNode.Attributes["href"] != null || expiredNode.Attributes["id"] != null) 
         {
             if (expiredNode.Attributes["id"] != null) 
             {
                 expiredIDRef_ = expiredNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(expiredNode);
                 IDManager.SetID(expiredIDRef_, ob);
             }
             else if (expiredNode.Attributes["href"] != null)
             {
                 expiredIDRef_ = expiredNode.Attributes["href"].Value;
             }
             else
             {
                 expired_ = new XsdTypeBoolean(expiredNode);
             }
         }
         else
         {
             expired_ = new XsdTypeBoolean(expiredNode);
         }
     }
     
 
     XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");
     
     if (payoffDateInfoNode != null)
     {
         if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null) 
         {
             if (payoffDateInfoNode.Attributes["id"] != null) 
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                 PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                 IDManager.SetID(payoffDateInfoIDRef_, ob);
             }
             else if (payoffDateInfoNode.Attributes["href"] != null)
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
             }
         }
         else
         {
             payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
         }
     }
     
 
 }
        public AutoCallRangeReturnTrigger(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode simpleRangeEventCalNode = xmlNode.SelectSingleNode("simpleRangeEventCal");

            if (simpleRangeEventCalNode != null)
            {
                if (simpleRangeEventCalNode.Attributes["href"] != null || simpleRangeEventCalNode.Attributes["id"] != null)
                {
                    if (simpleRangeEventCalNode.Attributes["id"] != null)
                    {
                        simpleRangeEventCalIDRef_ = simpleRangeEventCalNode.Attributes["id"].Value;
                        SimpleRangeEventCal ob = new SimpleRangeEventCal(simpleRangeEventCalNode);
                        IDManager.SetID(simpleRangeEventCalIDRef_, ob);
                    }
                    else if (simpleRangeEventCalNode.Attributes["href"] != null)
                    {
                        simpleRangeEventCalIDRef_ = simpleRangeEventCalNode.Attributes["href"].Value;
                    }
                    else
                    {
                        simpleRangeEventCal_ = new SimpleRangeEventCal(simpleRangeEventCalNode);
                    }
                }
                else
                {
                    simpleRangeEventCal_ = new SimpleRangeEventCal(simpleRangeEventCalNode);
                }
            }


            XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");

            if (payoffDateInfoNode != null)
            {
                if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null)
                {
                    if (payoffDateInfoNode.Attributes["id"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                        PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                        IDManager.SetID(payoffDateInfoIDRef_, ob);
                    }
                    else if (payoffDateInfoNode.Attributes["href"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                    }
                }
                else
                {
                    payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                }
            }


            XmlNode isExpiredNode = xmlNode.SelectSingleNode("isExpired");

            if (isExpiredNode != null)
            {
                if (isExpiredNode.Attributes["href"] != null || isExpiredNode.Attributes["id"] != null)
                {
                    if (isExpiredNode.Attributes["id"] != null)
                    {
                        isExpiredIDRef_ = isExpiredNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(isExpiredNode);
                        IDManager.SetID(isExpiredIDRef_, ob);
                    }
                    else if (isExpiredNode.Attributes["href"] != null)
                    {
                        isExpiredIDRef_ = isExpiredNode.Attributes["href"].Value;
                    }
                    else
                    {
                        isExpired_ = new XsdTypeBoolean(isExpiredNode);
                    }
                }
                else
                {
                    isExpired_ = new XsdTypeBoolean(isExpiredNode);
                }
            }
        }
        public VanillaPutOption(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");

            if (payoffDateInfoNode != null)
            {
                if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null)
                {
                    if (payoffDateInfoNode.Attributes["id"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                        PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                        IDManager.SetID(payoffDateInfoIDRef_, ob);
                    }
                    else if (payoffDateInfoNode.Attributes["href"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                    }
                }
                else
                {
                    payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                }
            }


            XmlNode participateRateNode = xmlNode.SelectSingleNode("participateRate");

            if (participateRateNode != null)
            {
                if (participateRateNode.Attributes["href"] != null || participateRateNode.Attributes["id"] != null)
                {
                    if (participateRateNode.Attributes["id"] != null)
                    {
                        participateRateIDRef_ = participateRateNode.Attributes["id"].Value;
                        XsdTypeDouble ob = new XsdTypeDouble(participateRateNode);
                        IDManager.SetID(participateRateIDRef_, ob);
                    }
                    else if (participateRateNode.Attributes["href"] != null)
                    {
                        participateRateIDRef_ = participateRateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        participateRate_ = new XsdTypeDouble(participateRateNode);
                    }
                }
                else
                {
                    participateRate_ = new XsdTypeDouble(participateRateNode);
                }
            }


            XmlNode referenceCalculationInfoNode = xmlNode.SelectSingleNode("referenceCalculationInfo");

            if (referenceCalculationInfoNode != null)
            {
                if (referenceCalculationInfoNode.Attributes["href"] != null || referenceCalculationInfoNode.Attributes["id"] != null)
                {
                    if (referenceCalculationInfoNode.Attributes["id"] != null)
                    {
                        referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["id"].Value;
                        ReferenceCalculationInfo ob = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                        IDManager.SetID(referenceCalculationInfoIDRef_, ob);
                    }
                    else if (referenceCalculationInfoNode.Attributes["href"] != null)
                    {
                        referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                    }
                }
                else
                {
                    referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                }
            }


            XmlNode strikeNode = xmlNode.SelectSingleNode("strike");

            if (strikeNode != null)
            {
                if (strikeNode.Attributes["href"] != null || strikeNode.Attributes["id"] != null)
                {
                    if (strikeNode.Attributes["id"] != null)
                    {
                        strikeIDRef_ = strikeNode.Attributes["id"].Value;
                        XsdTypeDouble ob = new XsdTypeDouble(strikeNode);
                        IDManager.SetID(strikeIDRef_, ob);
                    }
                    else if (strikeNode.Attributes["href"] != null)
                    {
                        strikeIDRef_ = strikeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        strike_ = new XsdTypeDouble(strikeNode);
                    }
                }
                else
                {
                    strike_ = new XsdTypeDouble(strikeNode);
                }
            }


            XmlNode lowerBoundNode = xmlNode.SelectSingleNode("lowerBound");

            if (lowerBoundNode != null)
            {
                if (lowerBoundNode.Attributes["href"] != null || lowerBoundNode.Attributes["id"] != null)
                {
                    if (lowerBoundNode.Attributes["id"] != null)
                    {
                        lowerBoundIDRef_ = lowerBoundNode.Attributes["id"].Value;
                        XsdTypeDouble ob = new XsdTypeDouble(lowerBoundNode);
                        IDManager.SetID(lowerBoundIDRef_, ob);
                    }
                    else if (lowerBoundNode.Attributes["href"] != null)
                    {
                        lowerBoundIDRef_ = lowerBoundNode.Attributes["href"].Value;
                    }
                    else
                    {
                        lowerBound_ = new XsdTypeDouble(lowerBoundNode);
                    }
                }
                else
                {
                    lowerBound_ = new XsdTypeDouble(lowerBoundNode);
                }
            }
        }
 public VanillaRateTrigger(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode dayCounterNode = xmlNode.SelectSingleNode("dayCounter");
     
     if (dayCounterNode != null)
     {
         if (dayCounterNode.Attributes["href"] != null || dayCounterNode.Attributes["id"] != null) 
         {
             if (dayCounterNode.Attributes["id"] != null) 
             {
                 dayCounterIDRef_ = dayCounterNode.Attributes["id"].Value;
                 XsdTypeToken ob = new XsdTypeToken(dayCounterNode);
                 IDManager.SetID(dayCounterIDRef_, ob);
             }
             else if (dayCounterNode.Attributes["href"] != null)
             {
                 dayCounterIDRef_ = dayCounterNode.Attributes["href"].Value;
             }
             else
             {
                 dayCounter_ = new XsdTypeToken(dayCounterNode);
             }
         }
         else
         {
             dayCounter_ = new XsdTypeToken(dayCounterNode);
         }
     }
     
 
     XmlNode calculationStartDateNode = xmlNode.SelectSingleNode("calculationStartDate");
     
     if (calculationStartDateNode != null)
     {
         if (calculationStartDateNode.Attributes["href"] != null || calculationStartDateNode.Attributes["id"] != null) 
         {
             if (calculationStartDateNode.Attributes["id"] != null) 
             {
                 calculationStartDateIDRef_ = calculationStartDateNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(calculationStartDateNode);
                 IDManager.SetID(calculationStartDateIDRef_, ob);
             }
             else if (calculationStartDateNode.Attributes["href"] != null)
             {
                 calculationStartDateIDRef_ = calculationStartDateNode.Attributes["href"].Value;
             }
             else
             {
                 calculationStartDate_ = new XsdTypeDate(calculationStartDateNode);
             }
         }
         else
         {
             calculationStartDate_ = new XsdTypeDate(calculationStartDateNode);
         }
     }
     
 
     XmlNode calculationEndDateNode = xmlNode.SelectSingleNode("calculationEndDate");
     
     if (calculationEndDateNode != null)
     {
         if (calculationEndDateNode.Attributes["href"] != null || calculationEndDateNode.Attributes["id"] != null) 
         {
             if (calculationEndDateNode.Attributes["id"] != null) 
             {
                 calculationEndDateIDRef_ = calculationEndDateNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(calculationEndDateNode);
                 IDManager.SetID(calculationEndDateIDRef_, ob);
             }
             else if (calculationEndDateNode.Attributes["href"] != null)
             {
                 calculationEndDateIDRef_ = calculationEndDateNode.Attributes["href"].Value;
             }
             else
             {
                 calculationEndDate_ = new XsdTypeDate(calculationEndDateNode);
             }
         }
         else
         {
             calculationEndDate_ = new XsdTypeDate(calculationEndDateNode);
         }
     }
     
 
     XmlNode gearingNode = xmlNode.SelectSingleNode("gearing");
     
     if (gearingNode != null)
     {
         if (gearingNode.Attributes["href"] != null || gearingNode.Attributes["id"] != null) 
         {
             if (gearingNode.Attributes["id"] != null) 
             {
                 gearingIDRef_ = gearingNode.Attributes["id"].Value;
                 XsdTypeDouble ob = new XsdTypeDouble(gearingNode);
                 IDManager.SetID(gearingIDRef_, ob);
             }
             else if (gearingNode.Attributes["href"] != null)
             {
                 gearingIDRef_ = gearingNode.Attributes["href"].Value;
             }
             else
             {
                 gearing_ = new XsdTypeDouble(gearingNode);
             }
         }
         else
         {
             gearing_ = new XsdTypeDouble(gearingNode);
         }
     }
     
 
     XmlNode spreadNode = xmlNode.SelectSingleNode("spread");
     
     if (spreadNode != null)
     {
         if (spreadNode.Attributes["href"] != null || spreadNode.Attributes["id"] != null) 
         {
             if (spreadNode.Attributes["id"] != null) 
             {
                 spreadIDRef_ = spreadNode.Attributes["id"].Value;
                 XsdTypeDouble ob = new XsdTypeDouble(spreadNode);
                 IDManager.SetID(spreadIDRef_, ob);
             }
             else if (spreadNode.Attributes["href"] != null)
             {
                 spreadIDRef_ = spreadNode.Attributes["href"].Value;
             }
             else
             {
                 spread_ = new XsdTypeDouble(spreadNode);
             }
         }
         else
         {
             spread_ = new XsdTypeDouble(spreadNode);
         }
     }
     
 
     XmlNode referenceCalculationInfoNode = xmlNode.SelectSingleNode("referenceCalculationInfo");
     
     if (referenceCalculationInfoNode != null)
     {
         if (referenceCalculationInfoNode.Attributes["href"] != null || referenceCalculationInfoNode.Attributes["id"] != null) 
         {
             if (referenceCalculationInfoNode.Attributes["id"] != null) 
             {
                 referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["id"].Value;
                 ReferenceCalculationInfo ob = new ReferenceCalculationInfo(referenceCalculationInfoNode);
                 IDManager.SetID(referenceCalculationInfoIDRef_, ob);
             }
             else if (referenceCalculationInfoNode.Attributes["href"] != null)
             {
                 referenceCalculationInfoIDRef_ = referenceCalculationInfoNode.Attributes["href"].Value;
             }
             else
             {
                 referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
             }
         }
         else
         {
             referenceCalculationInfo_ = new ReferenceCalculationInfo(referenceCalculationInfoNode);
         }
     }
     
 
     XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");
     
     if (payoffDateInfoNode != null)
     {
         if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null) 
         {
             if (payoffDateInfoNode.Attributes["id"] != null) 
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                 PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                 IDManager.SetID(payoffDateInfoIDRef_, ob);
             }
             else if (payoffDateInfoNode.Attributes["href"] != null)
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
             }
         }
         else
         {
             payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
         }
     }
     
 
 }
        public StopLossPayoff(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode eventTriggerListNode = xmlNode.SelectSingleNode("eventTriggerList");

            if (eventTriggerListNode != null)
            {
                if (eventTriggerListNode.Attributes["href"] != null || eventTriggerListNode.Attributes["id"] != null)
                {
                    if (eventTriggerListNode.Attributes["id"] != null)
                    {
                        eventTriggerListIDRef_ = eventTriggerListNode.Attributes["id"].Value;
                        EventTriggerList ob = new EventTriggerList(eventTriggerListNode);
                        IDManager.SetID(eventTriggerListIDRef_, ob);
                    }
                    else if (eventTriggerListNode.Attributes["href"] != null)
                    {
                        eventTriggerListIDRef_ = eventTriggerListNode.Attributes["href"].Value;
                    }
                    else
                    {
                        eventTriggerList_ = new EventTriggerList(eventTriggerListNode);
                    }
                }
                else
                {
                    eventTriggerList_ = new EventTriggerList(eventTriggerListNode);
                }
            }


            XmlNode barrierInfoNode = xmlNode.SelectSingleNode("barrierInfo");

            if (barrierInfoNode != null)
            {
                if (barrierInfoNode.Attributes["href"] != null || barrierInfoNode.Attributes["id"] != null)
                {
                    if (barrierInfoNode.Attributes["id"] != null)
                    {
                        barrierInfoIDRef_ = barrierInfoNode.Attributes["id"].Value;
                        BarrierInfo ob = new BarrierInfo(barrierInfoNode);
                        IDManager.SetID(barrierInfoIDRef_, ob);
                    }
                    else if (barrierInfoNode.Attributes["href"] != null)
                    {
                        barrierInfoIDRef_ = barrierInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        barrierInfo_ = new BarrierInfo(barrierInfoNode);
                    }
                }
                else
                {
                    barrierInfo_ = new BarrierInfo(barrierInfoNode);
                }
            }


            XmlNode returnCalculationNode = xmlNode.SelectSingleNode("returnCalculation");

            if (returnCalculationNode != null)
            {
                if (returnCalculationNode.Attributes["href"] != null || returnCalculationNode.Attributes["id"] != null)
                {
                    if (returnCalculationNode.Attributes["id"] != null)
                    {
                        returnCalculationIDRef_ = returnCalculationNode.Attributes["id"].Value;
                        ReturnCalculation ob = new ReturnCalculation(returnCalculationNode);
                        IDManager.SetID(returnCalculationIDRef_, ob);
                    }
                    else if (returnCalculationNode.Attributes["href"] != null)
                    {
                        returnCalculationIDRef_ = returnCalculationNode.Attributes["href"].Value;
                    }
                    else
                    {
                        returnCalculation_ = new ReturnCalculation(returnCalculationNode);
                    }
                }
                else
                {
                    returnCalculation_ = new ReturnCalculation(returnCalculationNode);
                }
            }


            XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");

            if (payoffDateInfoNode != null)
            {
                if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null)
                {
                    if (payoffDateInfoNode.Attributes["id"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                        PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                        IDManager.SetID(payoffDateInfoIDRef_, ob);
                    }
                    else if (payoffDateInfoNode.Attributes["href"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                    }
                }
                else
                {
                    payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                }
            }
        }
Example #28
0
        public AutoTerminationTrigger(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode eventCalculationInfoNode = xmlNode.SelectSingleNode("eventCalculationInfo");

            if (eventCalculationInfoNode != null)
            {
                if (eventCalculationInfoNode.Attributes["href"] != null || eventCalculationInfoNode.Attributes["id"] != null)
                {
                    if (eventCalculationInfoNode.Attributes["id"] != null)
                    {
                        eventCalculationInfoIDRef_ = eventCalculationInfoNode.Attributes["id"].Value;
                        EventCalculationInfo ob = new EventCalculationInfo(eventCalculationInfoNode);
                        IDManager.SetID(eventCalculationInfoIDRef_, ob);
                    }
                    else if (eventCalculationInfoNode.Attributes["href"] != null)
                    {
                        eventCalculationInfoIDRef_ = eventCalculationInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        eventCalculationInfo_ = new EventCalculationInfo(eventCalculationInfoNode);
                    }
                }
                else
                {
                    eventCalculationInfo_ = new EventCalculationInfo(eventCalculationInfoNode);
                }
            }


            XmlNode returnCalculationInfoNode = xmlNode.SelectSingleNode("returnCalculationInfo");

            if (returnCalculationInfoNode != null)
            {
                if (returnCalculationInfoNode.Attributes["href"] != null || returnCalculationInfoNode.Attributes["id"] != null)
                {
                    if (returnCalculationInfoNode.Attributes["id"] != null)
                    {
                        returnCalculationInfoIDRef_ = returnCalculationInfoNode.Attributes["id"].Value;
                        ReturnCalculationInfo ob = new ReturnCalculationInfo(returnCalculationInfoNode);
                        IDManager.SetID(returnCalculationInfoIDRef_, ob);
                    }
                    else if (returnCalculationInfoNode.Attributes["href"] != null)
                    {
                        returnCalculationInfoIDRef_ = returnCalculationInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        returnCalculationInfo_ = new ReturnCalculationInfo(returnCalculationInfoNode);
                    }
                }
                else
                {
                    returnCalculationInfo_ = new ReturnCalculationInfo(returnCalculationInfoNode);
                }
            }


            XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");

            if (payoffDateInfoNode != null)
            {
                if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null)
                {
                    if (payoffDateInfoNode.Attributes["id"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                        PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                        IDManager.SetID(payoffDateInfoIDRef_, ob);
                    }
                    else if (payoffDateInfoNode.Attributes["href"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                    }
                }
                else
                {
                    payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                }
            }
        }
 public SingleBarrier(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");
     
     if (payoffDateInfoNode != null)
     {
         if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null) 
         {
             if (payoffDateInfoNode.Attributes["id"] != null) 
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                 PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                 IDManager.SetID(payoffDateInfoIDRef_, ob);
             }
             else if (payoffDateInfoNode.Attributes["href"] != null)
             {
                 payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
             }
             else
             {
                 payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
             }
         }
         else
         {
             payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
         }
     }
     
 
     XmlNode participateRateNode = xmlNode.SelectSingleNode("participateRate");
     
     if (participateRateNode != null)
     {
         if (participateRateNode.Attributes["href"] != null || participateRateNode.Attributes["id"] != null) 
         {
             if (participateRateNode.Attributes["id"] != null) 
             {
                 participateRateIDRef_ = participateRateNode.Attributes["id"].Value;
                 XsdTypeDouble ob = new XsdTypeDouble(participateRateNode);
                 IDManager.SetID(participateRateIDRef_, ob);
             }
             else if (participateRateNode.Attributes["href"] != null)
             {
                 participateRateIDRef_ = participateRateNode.Attributes["href"].Value;
             }
             else
             {
                 participateRate_ = new XsdTypeDouble(participateRateNode);
             }
         }
         else
         {
             participateRate_ = new XsdTypeDouble(participateRateNode);
         }
     }
     
 
     XmlNode barrierInfoNode = xmlNode.SelectSingleNode("barrierInfo");
     
     if (barrierInfoNode != null)
     {
         if (barrierInfoNode.Attributes["href"] != null || barrierInfoNode.Attributes["id"] != null) 
         {
             if (barrierInfoNode.Attributes["id"] != null) 
             {
                 barrierInfoIDRef_ = barrierInfoNode.Attributes["id"].Value;
                 BarrierInfo ob = new BarrierInfo(barrierInfoNode);
                 IDManager.SetID(barrierInfoIDRef_, ob);
             }
             else if (barrierInfoNode.Attributes["href"] != null)
             {
                 barrierInfoIDRef_ = barrierInfoNode.Attributes["href"].Value;
             }
             else
             {
                 barrierInfo_ = new BarrierInfo(barrierInfoNode);
             }
         }
         else
         {
             barrierInfo_ = new BarrierInfo(barrierInfoNode);
         }
     }
     
 
     XmlNode rebateNode = xmlNode.SelectSingleNode("rebate");
     
     if (rebateNode != null)
     {
         if (rebateNode.Attributes["href"] != null || rebateNode.Attributes["id"] != null) 
         {
             if (rebateNode.Attributes["id"] != null) 
             {
                 rebateIDRef_ = rebateNode.Attributes["id"].Value;
                 XsdTypeDouble ob = new XsdTypeDouble(rebateNode);
                 IDManager.SetID(rebateIDRef_, ob);
             }
             else if (rebateNode.Attributes["href"] != null)
             {
                 rebateIDRef_ = rebateNode.Attributes["href"].Value;
             }
             else
             {
                 rebate_ = new XsdTypeDouble(rebateNode);
             }
         }
         else
         {
             rebate_ = new XsdTypeDouble(rebateNode);
         }
     }
     
 
 }
Example #30
0
        public VanillaCouponTrigger(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode gearingNode = xmlNode.SelectSingleNode("gearing");

            if (gearingNode != null)
            {
                if (gearingNode.Attributes["href"] != null || gearingNode.Attributes["id"] != null)
                {
                    if (gearingNode.Attributes["id"] != null)
                    {
                        gearingIDRef_ = gearingNode.Attributes["id"].Value;
                        XsdTypeDouble ob = new XsdTypeDouble(gearingNode);
                        IDManager.SetID(gearingIDRef_, ob);
                    }
                    else if (gearingNode.Attributes["href"] != null)
                    {
                        gearingIDRef_ = gearingNode.Attributes["href"].Value;
                    }
                    else
                    {
                        gearing_ = new XsdTypeDouble(gearingNode);
                    }
                }
                else
                {
                    gearing_ = new XsdTypeDouble(gearingNode);
                }
            }


            XmlNode spreadNode = xmlNode.SelectSingleNode("spread");

            if (spreadNode != null)
            {
                if (spreadNode.Attributes["href"] != null || spreadNode.Attributes["id"] != null)
                {
                    if (spreadNode.Attributes["id"] != null)
                    {
                        spreadIDRef_ = spreadNode.Attributes["id"].Value;
                        XsdTypeDouble ob = new XsdTypeDouble(spreadNode);
                        IDManager.SetID(spreadIDRef_, ob);
                    }
                    else if (spreadNode.Attributes["href"] != null)
                    {
                        spreadIDRef_ = spreadNode.Attributes["href"].Value;
                    }
                    else
                    {
                        spread_ = new XsdTypeDouble(spreadNode);
                    }
                }
                else
                {
                    spread_ = new XsdTypeDouble(spreadNode);
                }
            }


            XmlNode returnCalculationNode = xmlNode.SelectSingleNode("returnCalculation");

            if (returnCalculationNode != null)
            {
                if (returnCalculationNode.Attributes["href"] != null || returnCalculationNode.Attributes["id"] != null)
                {
                    if (returnCalculationNode.Attributes["id"] != null)
                    {
                        returnCalculationIDRef_ = returnCalculationNode.Attributes["id"].Value;
                        ReturnCalculation ob = new ReturnCalculation(returnCalculationNode);
                        IDManager.SetID(returnCalculationIDRef_, ob);
                    }
                    else if (returnCalculationNode.Attributes["href"] != null)
                    {
                        returnCalculationIDRef_ = returnCalculationNode.Attributes["href"].Value;
                    }
                    else
                    {
                        returnCalculation_ = new ReturnCalculation(returnCalculationNode);
                    }
                }
                else
                {
                    returnCalculation_ = new ReturnCalculation(returnCalculationNode);
                }
            }


            XmlNode payoffDateInfoNode = xmlNode.SelectSingleNode("payoffDateInfo");

            if (payoffDateInfoNode != null)
            {
                if (payoffDateInfoNode.Attributes["href"] != null || payoffDateInfoNode.Attributes["id"] != null)
                {
                    if (payoffDateInfoNode.Attributes["id"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["id"].Value;
                        PayoffDateInfo ob = new PayoffDateInfo(payoffDateInfoNode);
                        IDManager.SetID(payoffDateInfoIDRef_, ob);
                    }
                    else if (payoffDateInfoNode.Attributes["href"] != null)
                    {
                        payoffDateInfoIDRef_ = payoffDateInfoNode.Attributes["href"].Value;
                    }
                    else
                    {
                        payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                    }
                }
                else
                {
                    payoffDateInfo_ = new PayoffDateInfo(payoffDateInfoNode);
                }
            }


            XmlNode isExpiredNode = xmlNode.SelectSingleNode("isExpired");

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