public DividendSwapOptionTransactionSupplement(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode equityPremiumNode = xmlNode.SelectSingleNode("equityPremium");

            if (equityPremiumNode != null)
            {
                if (equityPremiumNode.Attributes["href"] != null || equityPremiumNode.Attributes["id"] != null)
                {
                    if (equityPremiumNode.Attributes["id"] != null)
                    {
                        equityPremiumIDRef_ = equityPremiumNode.Attributes["id"].Value;
                        EquityPremium ob = new EquityPremium(equityPremiumNode);
                        IDManager.SetID(equityPremiumIDRef_, ob);
                    }
                    else if (equityPremiumNode.Attributes["href"] != null)
                    {
                        equityPremiumIDRef_ = equityPremiumNode.Attributes["href"].Value;
                    }
                    else
                    {
                        equityPremium_ = new EquityPremium(equityPremiumNode);
                    }
                }
                else
                {
                    equityPremium_ = new EquityPremium(equityPremiumNode);
                }
            }


            XmlNode equityExerciseNode = xmlNode.SelectSingleNode("equityExercise");

            if (equityExerciseNode != null)
            {
                if (equityExerciseNode.Attributes["href"] != null || equityExerciseNode.Attributes["id"] != null)
                {
                    if (equityExerciseNode.Attributes["id"] != null)
                    {
                        equityExerciseIDRef_ = equityExerciseNode.Attributes["id"].Value;
                        EquityExerciseValuationSettlement ob = new EquityExerciseValuationSettlement(equityExerciseNode);
                        IDManager.SetID(equityExerciseIDRef_, ob);
                    }
                    else if (equityExerciseNode.Attributes["href"] != null)
                    {
                        equityExerciseIDRef_ = equityExerciseNode.Attributes["href"].Value;
                    }
                    else
                    {
                        equityExercise_ = new EquityExerciseValuationSettlement(equityExerciseNode);
                    }
                }
                else
                {
                    equityExercise_ = new EquityExerciseValuationSettlement(equityExerciseNode);
                }
            }


            XmlNode exchangeLookAlikeNode = xmlNode.SelectSingleNode("exchangeLookAlike");

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


            XmlNode methodOfAdjustmentNode = xmlNode.SelectSingleNode("methodOfAdjustment");

            if (methodOfAdjustmentNode != null)
            {
                if (methodOfAdjustmentNode.Attributes["href"] != null || methodOfAdjustmentNode.Attributes["id"] != null)
                {
                    if (methodOfAdjustmentNode.Attributes["id"] != null)
                    {
                        methodOfAdjustmentIDRef_ = methodOfAdjustmentNode.Attributes["id"].Value;
                        MethodOfAdjustmentEnum ob = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
                        IDManager.SetID(methodOfAdjustmentIDRef_, ob);
                    }
                    else if (methodOfAdjustmentNode.Attributes["href"] != null)
                    {
                        methodOfAdjustmentIDRef_ = methodOfAdjustmentNode.Attributes["href"].Value;
                    }
                    else
                    {
                        methodOfAdjustment_ = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
                    }
                }
                else
                {
                    methodOfAdjustment_ = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
                }
            }


            XmlNode optionEntitlementNode = xmlNode.SelectSingleNode("optionEntitlement");

            if (optionEntitlementNode != null)
            {
                if (optionEntitlementNode.Attributes["href"] != null || optionEntitlementNode.Attributes["id"] != null)
                {
                    if (optionEntitlementNode.Attributes["id"] != null)
                    {
                        optionEntitlementIDRef_ = optionEntitlementNode.Attributes["id"].Value;
                        PositiveDecimal ob = new PositiveDecimal(optionEntitlementNode);
                        IDManager.SetID(optionEntitlementIDRef_, ob);
                    }
                    else if (optionEntitlementNode.Attributes["href"] != null)
                    {
                        optionEntitlementIDRef_ = optionEntitlementNode.Attributes["href"].Value;
                    }
                    else
                    {
                        optionEntitlement_ = new PositiveDecimal(optionEntitlementNode);
                    }
                }
                else
                {
                    optionEntitlement_ = new PositiveDecimal(optionEntitlementNode);
                }
            }


            XmlNode multiplierNode = xmlNode.SelectSingleNode("multiplier");

            if (multiplierNode != null)
            {
                if (multiplierNode.Attributes["href"] != null || multiplierNode.Attributes["id"] != null)
                {
                    if (multiplierNode.Attributes["id"] != null)
                    {
                        multiplierIDRef_ = multiplierNode.Attributes["id"].Value;
                        PositiveDecimal ob = new PositiveDecimal(multiplierNode);
                        IDManager.SetID(multiplierIDRef_, ob);
                    }
                    else if (multiplierNode.Attributes["href"] != null)
                    {
                        multiplierIDRef_ = multiplierNode.Attributes["href"].Value;
                    }
                    else
                    {
                        multiplier_ = new PositiveDecimal(multiplierNode);
                    }
                }
                else
                {
                    multiplier_ = new PositiveDecimal(multiplierNode);
                }
            }


            XmlNode dividendSwapTransactionSupplementNode = xmlNode.SelectSingleNode("dividendSwapTransactionSupplement");

            if (dividendSwapTransactionSupplementNode != null)
            {
                if (dividendSwapTransactionSupplementNode.Attributes["href"] != null || dividendSwapTransactionSupplementNode.Attributes["id"] != null)
                {
                    if (dividendSwapTransactionSupplementNode.Attributes["id"] != null)
                    {
                        dividendSwapTransactionSupplementIDRef_ = dividendSwapTransactionSupplementNode.Attributes["id"].Value;
                        DividendSwapTransactionSupplement ob = new DividendSwapTransactionSupplement(dividendSwapTransactionSupplementNode);
                        IDManager.SetID(dividendSwapTransactionSupplementIDRef_, ob);
                    }
                    else if (dividendSwapTransactionSupplementNode.Attributes["href"] != null)
                    {
                        dividendSwapTransactionSupplementIDRef_ = dividendSwapTransactionSupplementNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dividendSwapTransactionSupplement_ = new DividendSwapTransactionSupplement(dividendSwapTransactionSupplementNode);
                    }
                }
                else
                {
                    dividendSwapTransactionSupplement_ = new DividendSwapTransactionSupplement(dividendSwapTransactionSupplementNode);
                }
            }
        }
 public DividendSwapOptionTransactionSupplement(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode equityPremiumNode = xmlNode.SelectSingleNode("equityPremium");
     
     if (equityPremiumNode != null)
     {
         if (equityPremiumNode.Attributes["href"] != null || equityPremiumNode.Attributes["id"] != null) 
         {
             if (equityPremiumNode.Attributes["id"] != null) 
             {
                 equityPremiumIDRef_ = equityPremiumNode.Attributes["id"].Value;
                 EquityPremium ob = new EquityPremium(equityPremiumNode);
                 IDManager.SetID(equityPremiumIDRef_, ob);
             }
             else if (equityPremiumNode.Attributes["href"] != null)
             {
                 equityPremiumIDRef_ = equityPremiumNode.Attributes["href"].Value;
             }
             else
             {
                 equityPremium_ = new EquityPremium(equityPremiumNode);
             }
         }
         else
         {
             equityPremium_ = new EquityPremium(equityPremiumNode);
         }
     }
     
 
     XmlNode equityExerciseNode = xmlNode.SelectSingleNode("equityExercise");
     
     if (equityExerciseNode != null)
     {
         if (equityExerciseNode.Attributes["href"] != null || equityExerciseNode.Attributes["id"] != null) 
         {
             if (equityExerciseNode.Attributes["id"] != null) 
             {
                 equityExerciseIDRef_ = equityExerciseNode.Attributes["id"].Value;
                 EquityExerciseValuationSettlement ob = new EquityExerciseValuationSettlement(equityExerciseNode);
                 IDManager.SetID(equityExerciseIDRef_, ob);
             }
             else if (equityExerciseNode.Attributes["href"] != null)
             {
                 equityExerciseIDRef_ = equityExerciseNode.Attributes["href"].Value;
             }
             else
             {
                 equityExercise_ = new EquityExerciseValuationSettlement(equityExerciseNode);
             }
         }
         else
         {
             equityExercise_ = new EquityExerciseValuationSettlement(equityExerciseNode);
         }
     }
     
 
     XmlNode exchangeLookAlikeNode = xmlNode.SelectSingleNode("exchangeLookAlike");
     
     if (exchangeLookAlikeNode != null)
     {
         if (exchangeLookAlikeNode.Attributes["href"] != null || exchangeLookAlikeNode.Attributes["id"] != null) 
         {
             if (exchangeLookAlikeNode.Attributes["id"] != null) 
             {
                 exchangeLookAlikeIDRef_ = exchangeLookAlikeNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(exchangeLookAlikeNode);
                 IDManager.SetID(exchangeLookAlikeIDRef_, ob);
             }
             else if (exchangeLookAlikeNode.Attributes["href"] != null)
             {
                 exchangeLookAlikeIDRef_ = exchangeLookAlikeNode.Attributes["href"].Value;
             }
             else
             {
                 exchangeLookAlike_ = new XsdTypeBoolean(exchangeLookAlikeNode);
             }
         }
         else
         {
             exchangeLookAlike_ = new XsdTypeBoolean(exchangeLookAlikeNode);
         }
     }
     
 
     XmlNode methodOfAdjustmentNode = xmlNode.SelectSingleNode("methodOfAdjustment");
     
     if (methodOfAdjustmentNode != null)
     {
         if (methodOfAdjustmentNode.Attributes["href"] != null || methodOfAdjustmentNode.Attributes["id"] != null) 
         {
             if (methodOfAdjustmentNode.Attributes["id"] != null) 
             {
                 methodOfAdjustmentIDRef_ = methodOfAdjustmentNode.Attributes["id"].Value;
                 MethodOfAdjustmentEnum ob = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
                 IDManager.SetID(methodOfAdjustmentIDRef_, ob);
             }
             else if (methodOfAdjustmentNode.Attributes["href"] != null)
             {
                 methodOfAdjustmentIDRef_ = methodOfAdjustmentNode.Attributes["href"].Value;
             }
             else
             {
                 methodOfAdjustment_ = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
             }
         }
         else
         {
             methodOfAdjustment_ = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
         }
     }
     
 
     XmlNode optionEntitlementNode = xmlNode.SelectSingleNode("optionEntitlement");
     
     if (optionEntitlementNode != null)
     {
         if (optionEntitlementNode.Attributes["href"] != null || optionEntitlementNode.Attributes["id"] != null) 
         {
             if (optionEntitlementNode.Attributes["id"] != null) 
             {
                 optionEntitlementIDRef_ = optionEntitlementNode.Attributes["id"].Value;
                 PositiveDecimal ob = new PositiveDecimal(optionEntitlementNode);
                 IDManager.SetID(optionEntitlementIDRef_, ob);
             }
             else if (optionEntitlementNode.Attributes["href"] != null)
             {
                 optionEntitlementIDRef_ = optionEntitlementNode.Attributes["href"].Value;
             }
             else
             {
                 optionEntitlement_ = new PositiveDecimal(optionEntitlementNode);
             }
         }
         else
         {
             optionEntitlement_ = new PositiveDecimal(optionEntitlementNode);
         }
     }
     
 
     XmlNode multiplierNode = xmlNode.SelectSingleNode("multiplier");
     
     if (multiplierNode != null)
     {
         if (multiplierNode.Attributes["href"] != null || multiplierNode.Attributes["id"] != null) 
         {
             if (multiplierNode.Attributes["id"] != null) 
             {
                 multiplierIDRef_ = multiplierNode.Attributes["id"].Value;
                 PositiveDecimal ob = new PositiveDecimal(multiplierNode);
                 IDManager.SetID(multiplierIDRef_, ob);
             }
             else if (multiplierNode.Attributes["href"] != null)
             {
                 multiplierIDRef_ = multiplierNode.Attributes["href"].Value;
             }
             else
             {
                 multiplier_ = new PositiveDecimal(multiplierNode);
             }
         }
         else
         {
             multiplier_ = new PositiveDecimal(multiplierNode);
         }
     }
     
 
     XmlNode dividendSwapTransactionSupplementNode = xmlNode.SelectSingleNode("dividendSwapTransactionSupplement");
     
     if (dividendSwapTransactionSupplementNode != null)
     {
         if (dividendSwapTransactionSupplementNode.Attributes["href"] != null || dividendSwapTransactionSupplementNode.Attributes["id"] != null) 
         {
             if (dividendSwapTransactionSupplementNode.Attributes["id"] != null) 
             {
                 dividendSwapTransactionSupplementIDRef_ = dividendSwapTransactionSupplementNode.Attributes["id"].Value;
                 DividendSwapTransactionSupplement ob = new DividendSwapTransactionSupplement(dividendSwapTransactionSupplementNode);
                 IDManager.SetID(dividendSwapTransactionSupplementIDRef_, ob);
             }
             else if (dividendSwapTransactionSupplementNode.Attributes["href"] != null)
             {
                 dividendSwapTransactionSupplementIDRef_ = dividendSwapTransactionSupplementNode.Attributes["href"].Value;
             }
             else
             {
                 dividendSwapTransactionSupplement_ = new DividendSwapTransactionSupplement(dividendSwapTransactionSupplementNode);
             }
         }
         else
         {
             dividendSwapTransactionSupplement_ = new DividendSwapTransactionSupplement(dividendSwapTransactionSupplementNode);
         }
     }
     
 
 }
        public EquityOptionTransactionSupplement(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode exchangeLookAlikeNode = xmlNode.SelectSingleNode("exchangeLookAlike");

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


            XmlNode exchangeTradedContractNearestNode = xmlNode.SelectSingleNode("exchangeTradedContractNearest");

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


            XmlNode multipleExchangeIndexAnnexFallbackNode = xmlNode.SelectSingleNode("multipleExchangeIndexAnnexFallback");

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


            XmlNode componentSecurityIndexAnnexFallbackNode = xmlNode.SelectSingleNode("componentSecurityIndexAnnexFallback");

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


            XmlNode methodOfAdjustmentNode = xmlNode.SelectSingleNode("methodOfAdjustment");

            if (methodOfAdjustmentNode != null)
            {
                if (methodOfAdjustmentNode.Attributes["href"] != null || methodOfAdjustmentNode.Attributes["id"] != null)
                {
                    if (methodOfAdjustmentNode.Attributes["id"] != null)
                    {
                        methodOfAdjustmentIDRef_ = methodOfAdjustmentNode.Attributes["id"].Value;
                        MethodOfAdjustmentEnum ob = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
                        IDManager.SetID(methodOfAdjustmentIDRef_, ob);
                    }
                    else if (methodOfAdjustmentNode.Attributes["href"] != null)
                    {
                        methodOfAdjustmentIDRef_ = methodOfAdjustmentNode.Attributes["href"].Value;
                    }
                    else
                    {
                        methodOfAdjustment_ = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
                    }
                }
                else
                {
                    methodOfAdjustment_ = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
                }
            }


            XmlNode localJurisdictionNode = xmlNode.SelectSingleNode("localJurisdiction");

            if (localJurisdictionNode != null)
            {
                if (localJurisdictionNode.Attributes["href"] != null || localJurisdictionNode.Attributes["id"] != null)
                {
                    if (localJurisdictionNode.Attributes["id"] != null)
                    {
                        localJurisdictionIDRef_ = localJurisdictionNode.Attributes["id"].Value;
                        CountryCode ob = new CountryCode(localJurisdictionNode);
                        IDManager.SetID(localJurisdictionIDRef_, ob);
                    }
                    else if (localJurisdictionNode.Attributes["href"] != null)
                    {
                        localJurisdictionIDRef_ = localJurisdictionNode.Attributes["href"].Value;
                    }
                    else
                    {
                        localJurisdiction_ = new CountryCode(localJurisdictionNode);
                    }
                }
                else
                {
                    localJurisdiction_ = new CountryCode(localJurisdictionNode);
                }
            }


            XmlNode optionEntitlementNode = xmlNode.SelectSingleNode("optionEntitlement");

            if (optionEntitlementNode != null)
            {
                if (optionEntitlementNode.Attributes["href"] != null || optionEntitlementNode.Attributes["id"] != null)
                {
                    if (optionEntitlementNode.Attributes["id"] != null)
                    {
                        optionEntitlementIDRef_ = optionEntitlementNode.Attributes["id"].Value;
                        PositiveDecimal ob = new PositiveDecimal(optionEntitlementNode);
                        IDManager.SetID(optionEntitlementIDRef_, ob);
                    }
                    else if (optionEntitlementNode.Attributes["href"] != null)
                    {
                        optionEntitlementIDRef_ = optionEntitlementNode.Attributes["href"].Value;
                    }
                    else
                    {
                        optionEntitlement_ = new PositiveDecimal(optionEntitlementNode);
                    }
                }
                else
                {
                    optionEntitlement_ = new PositiveDecimal(optionEntitlementNode);
                }
            }


            XmlNode multiplierNode = xmlNode.SelectSingleNode("multiplier");

            if (multiplierNode != null)
            {
                if (multiplierNode.Attributes["href"] != null || multiplierNode.Attributes["id"] != null)
                {
                    if (multiplierNode.Attributes["id"] != null)
                    {
                        multiplierIDRef_ = multiplierNode.Attributes["id"].Value;
                        PositiveDecimal ob = new PositiveDecimal(multiplierNode);
                        IDManager.SetID(multiplierIDRef_, ob);
                    }
                    else if (multiplierNode.Attributes["href"] != null)
                    {
                        multiplierIDRef_ = multiplierNode.Attributes["href"].Value;
                    }
                    else
                    {
                        multiplier_ = new PositiveDecimal(multiplierNode);
                    }
                }
                else
                {
                    multiplier_ = new PositiveDecimal(multiplierNode);
                }
            }


            XmlNode extraordinaryEventsNode = xmlNode.SelectSingleNode("extraordinaryEvents");

            if (extraordinaryEventsNode != null)
            {
                if (extraordinaryEventsNode.Attributes["href"] != null || extraordinaryEventsNode.Attributes["id"] != null)
                {
                    if (extraordinaryEventsNode.Attributes["id"] != null)
                    {
                        extraordinaryEventsIDRef_ = extraordinaryEventsNode.Attributes["id"].Value;
                        ExtraordinaryEvents ob = new ExtraordinaryEvents(extraordinaryEventsNode);
                        IDManager.SetID(extraordinaryEventsIDRef_, ob);
                    }
                    else if (extraordinaryEventsNode.Attributes["href"] != null)
                    {
                        extraordinaryEventsIDRef_ = extraordinaryEventsNode.Attributes["href"].Value;
                    }
                    else
                    {
                        extraordinaryEvents_ = new ExtraordinaryEvents(extraordinaryEventsNode);
                    }
                }
                else
                {
                    extraordinaryEvents_ = new ExtraordinaryEvents(extraordinaryEventsNode);
                }
            }
        }
 public EquityDerivativeLongFormBase(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode dividendConditionsNode = xmlNode.SelectSingleNode("dividendConditions");
     
     if (dividendConditionsNode != null)
     {
         if (dividendConditionsNode.Attributes["href"] != null || dividendConditionsNode.Attributes["id"] != null) 
         {
             if (dividendConditionsNode.Attributes["id"] != null) 
             {
                 dividendConditionsIDRef_ = dividendConditionsNode.Attributes["id"].Value;
                 DividendConditions ob = new DividendConditions(dividendConditionsNode);
                 IDManager.SetID(dividendConditionsIDRef_, ob);
             }
             else if (dividendConditionsNode.Attributes["href"] != null)
             {
                 dividendConditionsIDRef_ = dividendConditionsNode.Attributes["href"].Value;
             }
             else
             {
                 dividendConditions_ = new DividendConditions(dividendConditionsNode);
             }
         }
         else
         {
             dividendConditions_ = new DividendConditions(dividendConditionsNode);
         }
     }
     
 
     XmlNode methodOfAdjustmentNode = xmlNode.SelectSingleNode("methodOfAdjustment");
     
     if (methodOfAdjustmentNode != null)
     {
         if (methodOfAdjustmentNode.Attributes["href"] != null || methodOfAdjustmentNode.Attributes["id"] != null) 
         {
             if (methodOfAdjustmentNode.Attributes["id"] != null) 
             {
                 methodOfAdjustmentIDRef_ = methodOfAdjustmentNode.Attributes["id"].Value;
                 MethodOfAdjustmentEnum ob = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
                 IDManager.SetID(methodOfAdjustmentIDRef_, ob);
             }
             else if (methodOfAdjustmentNode.Attributes["href"] != null)
             {
                 methodOfAdjustmentIDRef_ = methodOfAdjustmentNode.Attributes["href"].Value;
             }
             else
             {
                 methodOfAdjustment_ = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
             }
         }
         else
         {
             methodOfAdjustment_ = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
         }
     }
     
 
     XmlNode extraordinaryEventsNode = xmlNode.SelectSingleNode("extraordinaryEvents");
     
     if (extraordinaryEventsNode != null)
     {
         if (extraordinaryEventsNode.Attributes["href"] != null || extraordinaryEventsNode.Attributes["id"] != null) 
         {
             if (extraordinaryEventsNode.Attributes["id"] != null) 
             {
                 extraordinaryEventsIDRef_ = extraordinaryEventsNode.Attributes["id"].Value;
                 ExtraordinaryEvents ob = new ExtraordinaryEvents(extraordinaryEventsNode);
                 IDManager.SetID(extraordinaryEventsIDRef_, ob);
             }
             else if (extraordinaryEventsNode.Attributes["href"] != null)
             {
                 extraordinaryEventsIDRef_ = extraordinaryEventsNode.Attributes["href"].Value;
             }
             else
             {
                 extraordinaryEvents_ = new ExtraordinaryEvents(extraordinaryEventsNode);
             }
         }
         else
         {
             extraordinaryEvents_ = new ExtraordinaryEvents(extraordinaryEventsNode);
         }
     }
     
 
 }
        public EquityOptionTransactionSupplement(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNodeList exchangeLookAlikeNodeList = xmlNode.SelectNodes("exchangeLookAlike");

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

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


            XmlNodeList exchangeTradedContractNearestNodeList = xmlNode.SelectNodes("exchangeTradedContractNearest");

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

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


            XmlNodeList multipleExchangeIndexAnnexFallbackNodeList = xmlNode.SelectNodes("multipleExchangeIndexAnnexFallback");

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

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


            XmlNodeList componentSecurityIndexAnnexFallbackNodeList = xmlNode.SelectNodes("componentSecurityIndexAnnexFallback");

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

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


            XmlNodeList methodOfAdjustmentNodeList = xmlNode.SelectNodes("methodOfAdjustment");

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

            foreach (XmlNode item in methodOfAdjustmentNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        methodOfAdjustmentIDRef = item.Attributes["id"].Name;
                        MethodOfAdjustmentEnum ob = MethodOfAdjustmentEnum();
                        IDManager.SetID(methodOfAdjustmentIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        methodOfAdjustmentIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        methodOfAdjustment = new MethodOfAdjustmentEnum(item);
                    }
                }
            }


            XmlNodeList localJurisdictionNodeList = xmlNode.SelectNodes("localJurisdiction");

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

            foreach (XmlNode item in localJurisdictionNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        localJurisdictionIDRef = item.Attributes["id"].Name;
                        CountryCode ob = CountryCode();
                        IDManager.SetID(localJurisdictionIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        localJurisdictionIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        localJurisdiction = new CountryCode(item);
                    }
                }
            }


            XmlNodeList optionEntitlementNodeList = xmlNode.SelectNodes("optionEntitlement");

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

            foreach (XmlNode item in optionEntitlementNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        optionEntitlementIDRef = item.Attributes["id"].Name;
                        PositiveDecimal ob = PositiveDecimal();
                        IDManager.SetID(optionEntitlementIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        optionEntitlementIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        optionEntitlement = new PositiveDecimal(item);
                    }
                }
            }


            XmlNodeList multiplierNodeList = xmlNode.SelectNodes("multiplier");

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

            foreach (XmlNode item in multiplierNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        multiplierIDRef = item.Attributes["id"].Name;
                        PositiveDecimal ob = PositiveDecimal();
                        IDManager.SetID(multiplierIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        multiplierIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        multiplier = new PositiveDecimal(item);
                    }
                }
            }


            XmlNodeList extraordinaryEventsNodeList = xmlNode.SelectNodes("extraordinaryEvents");

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

            foreach (XmlNode item in extraordinaryEventsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        extraordinaryEventsIDRef = item.Attributes["id"].Name;
                        ExtraordinaryEvents ob = ExtraordinaryEvents();
                        IDManager.SetID(extraordinaryEventsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        extraordinaryEventsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        extraordinaryEvents = new ExtraordinaryEvents(item);
                    }
                }
            }
        }
        public VarianceOptionTransactionSupplement(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNodeList equityPremiumNodeList = xmlNode.SelectNodes("equityPremium");

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

            foreach (XmlNode item in equityPremiumNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        equityPremiumIDRef = item.Attributes["id"].Name;
                        EquityPremium ob = EquityPremium();
                        IDManager.SetID(equityPremiumIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        equityPremiumIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        equityPremium = new EquityPremium(item);
                    }
                }
            }


            XmlNodeList equityExerciseNodeList = xmlNode.SelectNodes("equityExercise");

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

            foreach (XmlNode item in equityExerciseNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        equityExerciseIDRef = item.Attributes["id"].Name;
                        EquityExerciseValuationSettlement ob = EquityExerciseValuationSettlement();
                        IDManager.SetID(equityExerciseIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        equityExerciseIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        equityExercise = new EquityExerciseValuationSettlement(item);
                    }
                }
            }


            XmlNodeList exchangeLookAlikeNodeList = xmlNode.SelectNodes("exchangeLookAlike");

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

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


            XmlNodeList methodOfAdjustmentNodeList = xmlNode.SelectNodes("methodOfAdjustment");

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

            foreach (XmlNode item in methodOfAdjustmentNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        methodOfAdjustmentIDRef = item.Attributes["id"].Name;
                        MethodOfAdjustmentEnum ob = MethodOfAdjustmentEnum();
                        IDManager.SetID(methodOfAdjustmentIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        methodOfAdjustmentIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        methodOfAdjustment = new MethodOfAdjustmentEnum(item);
                    }
                }
            }


            XmlNodeList optionEntitlementNodeList = xmlNode.SelectNodes("optionEntitlement");

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

            foreach (XmlNode item in optionEntitlementNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        optionEntitlementIDRef = item.Attributes["id"].Name;
                        PositiveDecimal ob = PositiveDecimal();
                        IDManager.SetID(optionEntitlementIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        optionEntitlementIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        optionEntitlement = new PositiveDecimal(item);
                    }
                }
            }


            XmlNodeList multiplierNodeList = xmlNode.SelectNodes("multiplier");

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

            foreach (XmlNode item in multiplierNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        multiplierIDRef = item.Attributes["id"].Name;
                        PositiveDecimal ob = PositiveDecimal();
                        IDManager.SetID(multiplierIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        multiplierIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        multiplier = new PositiveDecimal(item);
                    }
                }
            }


            XmlNodeList varianceSwapTransactionSupplementNodeList = xmlNode.SelectNodes("varianceSwapTransactionSupplement");

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

            foreach (XmlNode item in varianceSwapTransactionSupplementNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        varianceSwapTransactionSupplementIDRef = item.Attributes["id"].Name;
                        VarianceSwapTransactionSupplement ob = VarianceSwapTransactionSupplement();
                        IDManager.SetID(varianceSwapTransactionSupplementIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        varianceSwapTransactionSupplementIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        varianceSwapTransactionSupplement = new VarianceSwapTransactionSupplement(item);
                    }
                }
            }
        }
 public EquityOptionTransactionSupplement(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode exchangeLookAlikeNode = xmlNode.SelectSingleNode("exchangeLookAlike");
     
     if (exchangeLookAlikeNode != null)
     {
         if (exchangeLookAlikeNode.Attributes["href"] != null || exchangeLookAlikeNode.Attributes["id"] != null) 
         {
             if (exchangeLookAlikeNode.Attributes["id"] != null) 
             {
                 exchangeLookAlikeIDRef_ = exchangeLookAlikeNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(exchangeLookAlikeNode);
                 IDManager.SetID(exchangeLookAlikeIDRef_, ob);
             }
             else if (exchangeLookAlikeNode.Attributes["href"] != null)
             {
                 exchangeLookAlikeIDRef_ = exchangeLookAlikeNode.Attributes["href"].Value;
             }
             else
             {
                 exchangeLookAlike_ = new XsdTypeBoolean(exchangeLookAlikeNode);
             }
         }
         else
         {
             exchangeLookAlike_ = new XsdTypeBoolean(exchangeLookAlikeNode);
         }
     }
     
 
     XmlNode exchangeTradedContractNearestNode = xmlNode.SelectSingleNode("exchangeTradedContractNearest");
     
     if (exchangeTradedContractNearestNode != null)
     {
         if (exchangeTradedContractNearestNode.Attributes["href"] != null || exchangeTradedContractNearestNode.Attributes["id"] != null) 
         {
             if (exchangeTradedContractNearestNode.Attributes["id"] != null) 
             {
                 exchangeTradedContractNearestIDRef_ = exchangeTradedContractNearestNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(exchangeTradedContractNearestNode);
                 IDManager.SetID(exchangeTradedContractNearestIDRef_, ob);
             }
             else if (exchangeTradedContractNearestNode.Attributes["href"] != null)
             {
                 exchangeTradedContractNearestIDRef_ = exchangeTradedContractNearestNode.Attributes["href"].Value;
             }
             else
             {
                 exchangeTradedContractNearest_ = new XsdTypeBoolean(exchangeTradedContractNearestNode);
             }
         }
         else
         {
             exchangeTradedContractNearest_ = new XsdTypeBoolean(exchangeTradedContractNearestNode);
         }
     }
     
 
     XmlNode multipleExchangeIndexAnnexFallbackNode = xmlNode.SelectSingleNode("multipleExchangeIndexAnnexFallback");
     
     if (multipleExchangeIndexAnnexFallbackNode != null)
     {
         if (multipleExchangeIndexAnnexFallbackNode.Attributes["href"] != null || multipleExchangeIndexAnnexFallbackNode.Attributes["id"] != null) 
         {
             if (multipleExchangeIndexAnnexFallbackNode.Attributes["id"] != null) 
             {
                 multipleExchangeIndexAnnexFallbackIDRef_ = multipleExchangeIndexAnnexFallbackNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(multipleExchangeIndexAnnexFallbackNode);
                 IDManager.SetID(multipleExchangeIndexAnnexFallbackIDRef_, ob);
             }
             else if (multipleExchangeIndexAnnexFallbackNode.Attributes["href"] != null)
             {
                 multipleExchangeIndexAnnexFallbackIDRef_ = multipleExchangeIndexAnnexFallbackNode.Attributes["href"].Value;
             }
             else
             {
                 multipleExchangeIndexAnnexFallback_ = new XsdTypeBoolean(multipleExchangeIndexAnnexFallbackNode);
             }
         }
         else
         {
             multipleExchangeIndexAnnexFallback_ = new XsdTypeBoolean(multipleExchangeIndexAnnexFallbackNode);
         }
     }
     
 
     XmlNode componentSecurityIndexAnnexFallbackNode = xmlNode.SelectSingleNode("componentSecurityIndexAnnexFallback");
     
     if (componentSecurityIndexAnnexFallbackNode != null)
     {
         if (componentSecurityIndexAnnexFallbackNode.Attributes["href"] != null || componentSecurityIndexAnnexFallbackNode.Attributes["id"] != null) 
         {
             if (componentSecurityIndexAnnexFallbackNode.Attributes["id"] != null) 
             {
                 componentSecurityIndexAnnexFallbackIDRef_ = componentSecurityIndexAnnexFallbackNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(componentSecurityIndexAnnexFallbackNode);
                 IDManager.SetID(componentSecurityIndexAnnexFallbackIDRef_, ob);
             }
             else if (componentSecurityIndexAnnexFallbackNode.Attributes["href"] != null)
             {
                 componentSecurityIndexAnnexFallbackIDRef_ = componentSecurityIndexAnnexFallbackNode.Attributes["href"].Value;
             }
             else
             {
                 componentSecurityIndexAnnexFallback_ = new XsdTypeBoolean(componentSecurityIndexAnnexFallbackNode);
             }
         }
         else
         {
             componentSecurityIndexAnnexFallback_ = new XsdTypeBoolean(componentSecurityIndexAnnexFallbackNode);
         }
     }
     
 
     XmlNode methodOfAdjustmentNode = xmlNode.SelectSingleNode("methodOfAdjustment");
     
     if (methodOfAdjustmentNode != null)
     {
         if (methodOfAdjustmentNode.Attributes["href"] != null || methodOfAdjustmentNode.Attributes["id"] != null) 
         {
             if (methodOfAdjustmentNode.Attributes["id"] != null) 
             {
                 methodOfAdjustmentIDRef_ = methodOfAdjustmentNode.Attributes["id"].Value;
                 MethodOfAdjustmentEnum ob = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
                 IDManager.SetID(methodOfAdjustmentIDRef_, ob);
             }
             else if (methodOfAdjustmentNode.Attributes["href"] != null)
             {
                 methodOfAdjustmentIDRef_ = methodOfAdjustmentNode.Attributes["href"].Value;
             }
             else
             {
                 methodOfAdjustment_ = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
             }
         }
         else
         {
             methodOfAdjustment_ = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
         }
     }
     
 
     XmlNode localJurisdictionNode = xmlNode.SelectSingleNode("localJurisdiction");
     
     if (localJurisdictionNode != null)
     {
         if (localJurisdictionNode.Attributes["href"] != null || localJurisdictionNode.Attributes["id"] != null) 
         {
             if (localJurisdictionNode.Attributes["id"] != null) 
             {
                 localJurisdictionIDRef_ = localJurisdictionNode.Attributes["id"].Value;
                 CountryCode ob = new CountryCode(localJurisdictionNode);
                 IDManager.SetID(localJurisdictionIDRef_, ob);
             }
             else if (localJurisdictionNode.Attributes["href"] != null)
             {
                 localJurisdictionIDRef_ = localJurisdictionNode.Attributes["href"].Value;
             }
             else
             {
                 localJurisdiction_ = new CountryCode(localJurisdictionNode);
             }
         }
         else
         {
             localJurisdiction_ = new CountryCode(localJurisdictionNode);
         }
     }
     
 
     XmlNode optionEntitlementNode = xmlNode.SelectSingleNode("optionEntitlement");
     
     if (optionEntitlementNode != null)
     {
         if (optionEntitlementNode.Attributes["href"] != null || optionEntitlementNode.Attributes["id"] != null) 
         {
             if (optionEntitlementNode.Attributes["id"] != null) 
             {
                 optionEntitlementIDRef_ = optionEntitlementNode.Attributes["id"].Value;
                 PositiveDecimal ob = new PositiveDecimal(optionEntitlementNode);
                 IDManager.SetID(optionEntitlementIDRef_, ob);
             }
             else if (optionEntitlementNode.Attributes["href"] != null)
             {
                 optionEntitlementIDRef_ = optionEntitlementNode.Attributes["href"].Value;
             }
             else
             {
                 optionEntitlement_ = new PositiveDecimal(optionEntitlementNode);
             }
         }
         else
         {
             optionEntitlement_ = new PositiveDecimal(optionEntitlementNode);
         }
     }
     
 
     XmlNode multiplierNode = xmlNode.SelectSingleNode("multiplier");
     
     if (multiplierNode != null)
     {
         if (multiplierNode.Attributes["href"] != null || multiplierNode.Attributes["id"] != null) 
         {
             if (multiplierNode.Attributes["id"] != null) 
             {
                 multiplierIDRef_ = multiplierNode.Attributes["id"].Value;
                 PositiveDecimal ob = new PositiveDecimal(multiplierNode);
                 IDManager.SetID(multiplierIDRef_, ob);
             }
             else if (multiplierNode.Attributes["href"] != null)
             {
                 multiplierIDRef_ = multiplierNode.Attributes["href"].Value;
             }
             else
             {
                 multiplier_ = new PositiveDecimal(multiplierNode);
             }
         }
         else
         {
             multiplier_ = new PositiveDecimal(multiplierNode);
         }
     }
     
 
     XmlNode extraordinaryEventsNode = xmlNode.SelectSingleNode("extraordinaryEvents");
     
     if (extraordinaryEventsNode != null)
     {
         if (extraordinaryEventsNode.Attributes["href"] != null || extraordinaryEventsNode.Attributes["id"] != null) 
         {
             if (extraordinaryEventsNode.Attributes["id"] != null) 
             {
                 extraordinaryEventsIDRef_ = extraordinaryEventsNode.Attributes["id"].Value;
                 ExtraordinaryEvents ob = new ExtraordinaryEvents(extraordinaryEventsNode);
                 IDManager.SetID(extraordinaryEventsIDRef_, ob);
             }
             else if (extraordinaryEventsNode.Attributes["href"] != null)
             {
                 extraordinaryEventsIDRef_ = extraordinaryEventsNode.Attributes["href"].Value;
             }
             else
             {
                 extraordinaryEvents_ = new ExtraordinaryEvents(extraordinaryEventsNode);
             }
         }
         else
         {
             extraordinaryEvents_ = new ExtraordinaryEvents(extraordinaryEventsNode);
         }
     }
     
 
 }
Пример #8
0
        public EquityDerivativeLongFormBase(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode dividendConditionsNode = xmlNode.SelectSingleNode("dividendConditions");

            if (dividendConditionsNode != null)
            {
                if (dividendConditionsNode.Attributes["href"] != null || dividendConditionsNode.Attributes["id"] != null)
                {
                    if (dividendConditionsNode.Attributes["id"] != null)
                    {
                        dividendConditionsIDRef_ = dividendConditionsNode.Attributes["id"].Value;
                        DividendConditions ob = new DividendConditions(dividendConditionsNode);
                        IDManager.SetID(dividendConditionsIDRef_, ob);
                    }
                    else if (dividendConditionsNode.Attributes["href"] != null)
                    {
                        dividendConditionsIDRef_ = dividendConditionsNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dividendConditions_ = new DividendConditions(dividendConditionsNode);
                    }
                }
                else
                {
                    dividendConditions_ = new DividendConditions(dividendConditionsNode);
                }
            }


            XmlNode methodOfAdjustmentNode = xmlNode.SelectSingleNode("methodOfAdjustment");

            if (methodOfAdjustmentNode != null)
            {
                if (methodOfAdjustmentNode.Attributes["href"] != null || methodOfAdjustmentNode.Attributes["id"] != null)
                {
                    if (methodOfAdjustmentNode.Attributes["id"] != null)
                    {
                        methodOfAdjustmentIDRef_ = methodOfAdjustmentNode.Attributes["id"].Value;
                        MethodOfAdjustmentEnum ob = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
                        IDManager.SetID(methodOfAdjustmentIDRef_, ob);
                    }
                    else if (methodOfAdjustmentNode.Attributes["href"] != null)
                    {
                        methodOfAdjustmentIDRef_ = methodOfAdjustmentNode.Attributes["href"].Value;
                    }
                    else
                    {
                        methodOfAdjustment_ = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
                    }
                }
                else
                {
                    methodOfAdjustment_ = new MethodOfAdjustmentEnum(methodOfAdjustmentNode);
                }
            }


            XmlNode extraordinaryEventsNode = xmlNode.SelectSingleNode("extraordinaryEvents");

            if (extraordinaryEventsNode != null)
            {
                if (extraordinaryEventsNode.Attributes["href"] != null || extraordinaryEventsNode.Attributes["id"] != null)
                {
                    if (extraordinaryEventsNode.Attributes["id"] != null)
                    {
                        extraordinaryEventsIDRef_ = extraordinaryEventsNode.Attributes["id"].Value;
                        ExtraordinaryEvents ob = new ExtraordinaryEvents(extraordinaryEventsNode);
                        IDManager.SetID(extraordinaryEventsIDRef_, ob);
                    }
                    else if (extraordinaryEventsNode.Attributes["href"] != null)
                    {
                        extraordinaryEventsIDRef_ = extraordinaryEventsNode.Attributes["href"].Value;
                    }
                    else
                    {
                        extraordinaryEvents_ = new ExtraordinaryEvents(extraordinaryEventsNode);
                    }
                }
                else
                {
                    extraordinaryEvents_ = new ExtraordinaryEvents(extraordinaryEventsNode);
                }
            }
        }
        public EquityDerivativeLongFormBase(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNodeList dividendConditionsNodeList = xmlNode.SelectNodes("dividendConditions");

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

            foreach (XmlNode item in dividendConditionsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        dividendConditionsIDRef = item.Attributes["id"].Name;
                        DividendConditions ob = DividendConditions();
                        IDManager.SetID(dividendConditionsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        dividendConditionsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        dividendConditions = new DividendConditions(item);
                    }
                }
            }


            XmlNodeList methodOfAdjustmentNodeList = xmlNode.SelectNodes("methodOfAdjustment");

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

            foreach (XmlNode item in methodOfAdjustmentNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        methodOfAdjustmentIDRef = item.Attributes["id"].Name;
                        MethodOfAdjustmentEnum ob = MethodOfAdjustmentEnum();
                        IDManager.SetID(methodOfAdjustmentIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        methodOfAdjustmentIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        methodOfAdjustment = new MethodOfAdjustmentEnum(item);
                    }
                }
            }


            XmlNodeList extraordinaryEventsNodeList = xmlNode.SelectNodes("extraordinaryEvents");

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

            foreach (XmlNode item in extraordinaryEventsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        extraordinaryEventsIDRef = item.Attributes["id"].Name;
                        ExtraordinaryEvents ob = ExtraordinaryEvents();
                        IDManager.SetID(extraordinaryEventsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        extraordinaryEventsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        extraordinaryEvents = new ExtraordinaryEvents(item);
                    }
                }
            }
        }