Пример #1
0
        public Loan(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNodeList borrowerNodeList = xmlNode.SelectNodes("borrower");

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

            foreach (XmlNode item in borrowerNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        borrowerIDRef = item.Attributes["id"].Name;
                        LegalEntity ob = LegalEntity();
                        IDManager.SetID(borrowerIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        borrowerIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        borrower = new LegalEntity(item);
                    }
                }
            }


            XmlNodeList borrowerReferenceNodeList = xmlNode.SelectNodes("borrowerReference");

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

            foreach (XmlNode item in borrowerReferenceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        borrowerReferenceIDRef = item.Attributes["id"].Name;
                        LegalEntityReference ob = LegalEntityReference();
                        IDManager.SetID(borrowerReferenceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        borrowerReferenceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        borrowerReference = new LegalEntityReference(item);
                    }
                }
            }


            XmlNodeList lienNodeList = xmlNode.SelectNodes("lien");

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

            foreach (XmlNode item in lienNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        lienIDRef = item.Attributes["id"].Name;
                        Lien ob = Lien();
                        IDManager.SetID(lienIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        lienIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        lien = new Lien(item);
                    }
                }
            }


            XmlNodeList facilityTypeNodeList = xmlNode.SelectNodes("facilityType");

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

            foreach (XmlNode item in facilityTypeNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        facilityTypeIDRef = item.Attributes["id"].Name;
                        FacilityType ob = FacilityType();
                        IDManager.SetID(facilityTypeIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        facilityTypeIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        facilityType = new FacilityType(item);
                    }
                }
            }


            XmlNodeList maturityNodeList = xmlNode.SelectNodes("maturity");

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

            foreach (XmlNode item in maturityNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        maturityIDRef = item.Attributes["id"].Name;
                        XsdTypeDate ob = XsdTypeDate();
                        IDManager.SetID(maturityIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        maturityIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        maturity = new XsdTypeDate(item);
                    }
                }
            }


            XmlNodeList creditAgreementDateNodeList = xmlNode.SelectNodes("creditAgreementDate");

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

            foreach (XmlNode item in creditAgreementDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        creditAgreementDateIDRef = item.Attributes["id"].Name;
                        XsdTypeDate ob = XsdTypeDate();
                        IDManager.SetID(creditAgreementDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        creditAgreementDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        creditAgreementDate = new XsdTypeDate(item);
                    }
                }
            }


            XmlNodeList trancheNodeList = xmlNode.SelectNodes("tranche");

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

            foreach (XmlNode item in trancheNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        trancheIDRef = item.Attributes["id"].Name;
                        UnderlyingAssetTranche ob = UnderlyingAssetTranche();
                        IDManager.SetID(trancheIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        trancheIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        tranche = new UnderlyingAssetTranche(item);
                    }
                }
            }
        }
 public Loan(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode borrowerNode = xmlNode.SelectSingleNode("borrower");
     
     if (borrowerNode != null)
     {
         if (borrowerNode.Attributes["href"] != null || borrowerNode.Attributes["id"] != null) 
         {
             if (borrowerNode.Attributes["id"] != null) 
             {
                 borrowerIDRef_ = borrowerNode.Attributes["id"].Value;
                 LegalEntity ob = new LegalEntity(borrowerNode);
                 IDManager.SetID(borrowerIDRef_, ob);
             }
             else if (borrowerNode.Attributes["href"] != null)
             {
                 borrowerIDRef_ = borrowerNode.Attributes["href"].Value;
             }
             else
             {
                 borrower_ = new LegalEntity(borrowerNode);
             }
         }
         else
         {
             borrower_ = new LegalEntity(borrowerNode);
         }
     }
     
 
     XmlNode borrowerReferenceNode = xmlNode.SelectSingleNode("borrowerReference");
     
     if (borrowerReferenceNode != null)
     {
         if (borrowerReferenceNode.Attributes["href"] != null || borrowerReferenceNode.Attributes["id"] != null) 
         {
             if (borrowerReferenceNode.Attributes["id"] != null) 
             {
                 borrowerReferenceIDRef_ = borrowerReferenceNode.Attributes["id"].Value;
                 LegalEntityReference ob = new LegalEntityReference(borrowerReferenceNode);
                 IDManager.SetID(borrowerReferenceIDRef_, ob);
             }
             else if (borrowerReferenceNode.Attributes["href"] != null)
             {
                 borrowerReferenceIDRef_ = borrowerReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 borrowerReference_ = new LegalEntityReference(borrowerReferenceNode);
             }
         }
         else
         {
             borrowerReference_ = new LegalEntityReference(borrowerReferenceNode);
         }
     }
     
 
     XmlNode lienNode = xmlNode.SelectSingleNode("lien");
     
     if (lienNode != null)
     {
         if (lienNode.Attributes["href"] != null || lienNode.Attributes["id"] != null) 
         {
             if (lienNode.Attributes["id"] != null) 
             {
                 lienIDRef_ = lienNode.Attributes["id"].Value;
                 Lien ob = new Lien(lienNode);
                 IDManager.SetID(lienIDRef_, ob);
             }
             else if (lienNode.Attributes["href"] != null)
             {
                 lienIDRef_ = lienNode.Attributes["href"].Value;
             }
             else
             {
                 lien_ = new Lien(lienNode);
             }
         }
         else
         {
             lien_ = new Lien(lienNode);
         }
     }
     
 
     XmlNode facilityTypeNode = xmlNode.SelectSingleNode("facilityType");
     
     if (facilityTypeNode != null)
     {
         if (facilityTypeNode.Attributes["href"] != null || facilityTypeNode.Attributes["id"] != null) 
         {
             if (facilityTypeNode.Attributes["id"] != null) 
             {
                 facilityTypeIDRef_ = facilityTypeNode.Attributes["id"].Value;
                 FacilityType ob = new FacilityType(facilityTypeNode);
                 IDManager.SetID(facilityTypeIDRef_, ob);
             }
             else if (facilityTypeNode.Attributes["href"] != null)
             {
                 facilityTypeIDRef_ = facilityTypeNode.Attributes["href"].Value;
             }
             else
             {
                 facilityType_ = new FacilityType(facilityTypeNode);
             }
         }
         else
         {
             facilityType_ = new FacilityType(facilityTypeNode);
         }
     }
     
 
     XmlNode maturityNode = xmlNode.SelectSingleNode("maturity");
     
     if (maturityNode != null)
     {
         if (maturityNode.Attributes["href"] != null || maturityNode.Attributes["id"] != null) 
         {
             if (maturityNode.Attributes["id"] != null) 
             {
                 maturityIDRef_ = maturityNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(maturityNode);
                 IDManager.SetID(maturityIDRef_, ob);
             }
             else if (maturityNode.Attributes["href"] != null)
             {
                 maturityIDRef_ = maturityNode.Attributes["href"].Value;
             }
             else
             {
                 maturity_ = new XsdTypeDate(maturityNode);
             }
         }
         else
         {
             maturity_ = new XsdTypeDate(maturityNode);
         }
     }
     
 
     XmlNode creditAgreementDateNode = xmlNode.SelectSingleNode("creditAgreementDate");
     
     if (creditAgreementDateNode != null)
     {
         if (creditAgreementDateNode.Attributes["href"] != null || creditAgreementDateNode.Attributes["id"] != null) 
         {
             if (creditAgreementDateNode.Attributes["id"] != null) 
             {
                 creditAgreementDateIDRef_ = creditAgreementDateNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(creditAgreementDateNode);
                 IDManager.SetID(creditAgreementDateIDRef_, ob);
             }
             else if (creditAgreementDateNode.Attributes["href"] != null)
             {
                 creditAgreementDateIDRef_ = creditAgreementDateNode.Attributes["href"].Value;
             }
             else
             {
                 creditAgreementDate_ = new XsdTypeDate(creditAgreementDateNode);
             }
         }
         else
         {
             creditAgreementDate_ = new XsdTypeDate(creditAgreementDateNode);
         }
     }
     
 
     XmlNode trancheNode = xmlNode.SelectSingleNode("tranche");
     
     if (trancheNode != null)
     {
         if (trancheNode.Attributes["href"] != null || trancheNode.Attributes["id"] != null) 
         {
             if (trancheNode.Attributes["id"] != null) 
             {
                 trancheIDRef_ = trancheNode.Attributes["id"].Value;
                 UnderlyingAssetTranche ob = new UnderlyingAssetTranche(trancheNode);
                 IDManager.SetID(trancheIDRef_, ob);
             }
             else if (trancheNode.Attributes["href"] != null)
             {
                 trancheIDRef_ = trancheNode.Attributes["href"].Value;
             }
             else
             {
                 tranche_ = new UnderlyingAssetTranche(trancheNode);
             }
         }
         else
         {
             tranche_ = new UnderlyingAssetTranche(trancheNode);
         }
     }
     
 
 }
Пример #3
0
        public Loan(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode borrowerNode = xmlNode.SelectSingleNode("borrower");

            if (borrowerNode != null)
            {
                if (borrowerNode.Attributes["href"] != null || borrowerNode.Attributes["id"] != null)
                {
                    if (borrowerNode.Attributes["id"] != null)
                    {
                        borrowerIDRef_ = borrowerNode.Attributes["id"].Value;
                        LegalEntity ob = new LegalEntity(borrowerNode);
                        IDManager.SetID(borrowerIDRef_, ob);
                    }
                    else if (borrowerNode.Attributes["href"] != null)
                    {
                        borrowerIDRef_ = borrowerNode.Attributes["href"].Value;
                    }
                    else
                    {
                        borrower_ = new LegalEntity(borrowerNode);
                    }
                }
                else
                {
                    borrower_ = new LegalEntity(borrowerNode);
                }
            }


            XmlNode borrowerReferenceNode = xmlNode.SelectSingleNode("borrowerReference");

            if (borrowerReferenceNode != null)
            {
                if (borrowerReferenceNode.Attributes["href"] != null || borrowerReferenceNode.Attributes["id"] != null)
                {
                    if (borrowerReferenceNode.Attributes["id"] != null)
                    {
                        borrowerReferenceIDRef_ = borrowerReferenceNode.Attributes["id"].Value;
                        LegalEntityReference ob = new LegalEntityReference(borrowerReferenceNode);
                        IDManager.SetID(borrowerReferenceIDRef_, ob);
                    }
                    else if (borrowerReferenceNode.Attributes["href"] != null)
                    {
                        borrowerReferenceIDRef_ = borrowerReferenceNode.Attributes["href"].Value;
                    }
                    else
                    {
                        borrowerReference_ = new LegalEntityReference(borrowerReferenceNode);
                    }
                }
                else
                {
                    borrowerReference_ = new LegalEntityReference(borrowerReferenceNode);
                }
            }


            XmlNode lienNode = xmlNode.SelectSingleNode("lien");

            if (lienNode != null)
            {
                if (lienNode.Attributes["href"] != null || lienNode.Attributes["id"] != null)
                {
                    if (lienNode.Attributes["id"] != null)
                    {
                        lienIDRef_ = lienNode.Attributes["id"].Value;
                        Lien ob = new Lien(lienNode);
                        IDManager.SetID(lienIDRef_, ob);
                    }
                    else if (lienNode.Attributes["href"] != null)
                    {
                        lienIDRef_ = lienNode.Attributes["href"].Value;
                    }
                    else
                    {
                        lien_ = new Lien(lienNode);
                    }
                }
                else
                {
                    lien_ = new Lien(lienNode);
                }
            }


            XmlNode facilityTypeNode = xmlNode.SelectSingleNode("facilityType");

            if (facilityTypeNode != null)
            {
                if (facilityTypeNode.Attributes["href"] != null || facilityTypeNode.Attributes["id"] != null)
                {
                    if (facilityTypeNode.Attributes["id"] != null)
                    {
                        facilityTypeIDRef_ = facilityTypeNode.Attributes["id"].Value;
                        FacilityType ob = new FacilityType(facilityTypeNode);
                        IDManager.SetID(facilityTypeIDRef_, ob);
                    }
                    else if (facilityTypeNode.Attributes["href"] != null)
                    {
                        facilityTypeIDRef_ = facilityTypeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        facilityType_ = new FacilityType(facilityTypeNode);
                    }
                }
                else
                {
                    facilityType_ = new FacilityType(facilityTypeNode);
                }
            }


            XmlNode maturityNode = xmlNode.SelectSingleNode("maturity");

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


            XmlNode creditAgreementDateNode = xmlNode.SelectSingleNode("creditAgreementDate");

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


            XmlNode trancheNode = xmlNode.SelectSingleNode("tranche");

            if (trancheNode != null)
            {
                if (trancheNode.Attributes["href"] != null || trancheNode.Attributes["id"] != null)
                {
                    if (trancheNode.Attributes["id"] != null)
                    {
                        trancheIDRef_ = trancheNode.Attributes["id"].Value;
                        UnderlyingAssetTranche ob = new UnderlyingAssetTranche(trancheNode);
                        IDManager.SetID(trancheIDRef_, ob);
                    }
                    else if (trancheNode.Attributes["href"] != null)
                    {
                        trancheIDRef_ = trancheNode.Attributes["href"].Value;
                    }
                    else
                    {
                        tranche_ = new UnderlyingAssetTranche(trancheNode);
                    }
                }
                else
                {
                    tranche_ = new UnderlyingAssetTranche(trancheNode);
                }
            }
        }
        public Obligations(XmlNode xmlNode)
        {
            XmlNodeList categoryNodeList = xmlNode.SelectNodes("category");

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

            foreach (XmlNode item in categoryNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        categoryIDRef = item.Attributes["id"].Name;
                        ObligationCategoryEnum ob = ObligationCategoryEnum();
                        IDManager.SetID(categoryIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        categoryIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        category = new ObligationCategoryEnum(item);
                    }
                }
            }


            XmlNodeList notSubordinatedNodeList = xmlNode.SelectNodes("notSubordinated");

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

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


            XmlNodeList specifiedCurrencyNodeList = xmlNode.SelectNodes("specifiedCurrency");

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

            foreach (XmlNode item in specifiedCurrencyNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        specifiedCurrencyIDRef = item.Attributes["id"].Name;
                        SpecifiedCurrency ob = SpecifiedCurrency();
                        IDManager.SetID(specifiedCurrencyIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        specifiedCurrencyIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        specifiedCurrency = new SpecifiedCurrency(item);
                    }
                }
            }


            XmlNodeList notSovereignLenderNodeList = xmlNode.SelectNodes("notSovereignLender");

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

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


            XmlNodeList notDomesticCurrencyNodeList = xmlNode.SelectNodes("notDomesticCurrency");

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

            foreach (XmlNode item in notDomesticCurrencyNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        notDomesticCurrencyIDRef = item.Attributes["id"].Name;
                        NotDomesticCurrency ob = NotDomesticCurrency();
                        IDManager.SetID(notDomesticCurrencyIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        notDomesticCurrencyIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        notDomesticCurrency = new NotDomesticCurrency(item);
                    }
                }
            }


            XmlNodeList notDomesticLawNodeList = xmlNode.SelectNodes("notDomesticLaw");

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

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


            XmlNodeList listedNodeList = xmlNode.SelectNodes("listed");

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

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


            XmlNodeList notDomesticIssuanceNodeList = xmlNode.SelectNodes("notDomesticIssuance");

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

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


            XmlNodeList fullFaithAndCreditObLiabilityNodeList = xmlNode.SelectNodes("fullFaithAndCreditObLiability");

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

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


            XmlNodeList generalFundObligationLiabilityNodeList = xmlNode.SelectNodes("generalFundObligationLiability");

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

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


            XmlNodeList revenueObligationLiabilityNodeList = xmlNode.SelectNodes("revenueObligationLiability");

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

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


            XmlNodeList notContingentNodeList = xmlNode.SelectNodes("notContingent");

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

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


            XmlNodeList excludedNodeList = xmlNode.SelectNodes("excluded");

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

            foreach (XmlNode item in excludedNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        excludedIDRef = item.Attributes["id"].Name;
                        XsdTypeString ob = XsdTypeString();
                        IDManager.SetID(excludedIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        excludedIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        excluded = new XsdTypeString(item);
                    }
                }
            }


            XmlNodeList othReferenceEntityObligationsNodeList = xmlNode.SelectNodes("othReferenceEntityObligations");

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

            foreach (XmlNode item in othReferenceEntityObligationsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        othReferenceEntityObligationsIDRef = item.Attributes["id"].Name;
                        XsdTypeString ob = XsdTypeString();
                        IDManager.SetID(othReferenceEntityObligationsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        othReferenceEntityObligationsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        othReferenceEntityObligations = new XsdTypeString(item);
                    }
                }
            }


            XmlNodeList designatedPriorityNodeList = xmlNode.SelectNodes("designatedPriority");

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

            foreach (XmlNode item in designatedPriorityNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        designatedPriorityIDRef = item.Attributes["id"].Name;
                        Lien ob = Lien();
                        IDManager.SetID(designatedPriorityIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        designatedPriorityIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        designatedPriority = new Lien(item);
                    }
                }
            }


            XmlNodeList cashSettlementOnlyNodeList = xmlNode.SelectNodes("cashSettlementOnly");

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

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


            XmlNodeList deliveryOfCommitmentsNodeList = xmlNode.SelectNodes("deliveryOfCommitments");

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

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


            XmlNodeList continuityNodeList = xmlNode.SelectNodes("continuity");

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

            foreach (XmlNode item in continuityNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        continuityIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(continuityIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        continuityIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        continuity = new XsdTypeBoolean(item);
                    }
                }
            }
        }
 public Loan(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNodeList borrowerNodeList = xmlNode.SelectNodes("borrower");
     if (borrowerNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in borrowerNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 borrowerIDRef = item.Attributes["id"].Name;
                 LegalEntity ob = LegalEntity();
                 IDManager.SetID(borrowerIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 borrowerIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 borrower = new LegalEntity(item);
             }
         }
     }
     
 
     XmlNodeList borrowerReferenceNodeList = xmlNode.SelectNodes("borrowerReference");
     if (borrowerReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in borrowerReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 borrowerReferenceIDRef = item.Attributes["id"].Name;
                 LegalEntityReference ob = LegalEntityReference();
                 IDManager.SetID(borrowerReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 borrowerReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 borrowerReference = new LegalEntityReference(item);
             }
         }
     }
     
 
     XmlNodeList lienNodeList = xmlNode.SelectNodes("lien");
     if (lienNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in lienNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 lienIDRef = item.Attributes["id"].Name;
                 Lien ob = Lien();
                 IDManager.SetID(lienIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 lienIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 lien = new Lien(item);
             }
         }
     }
     
 
     XmlNodeList facilityTypeNodeList = xmlNode.SelectNodes("facilityType");
     if (facilityTypeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in facilityTypeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 facilityTypeIDRef = item.Attributes["id"].Name;
                 FacilityType ob = FacilityType();
                 IDManager.SetID(facilityTypeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 facilityTypeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 facilityType = new FacilityType(item);
             }
         }
     }
     
 
     XmlNodeList maturityNodeList = xmlNode.SelectNodes("maturity");
     if (maturityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in maturityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 maturityIDRef = item.Attributes["id"].Name;
                 XsdTypeDate ob = XsdTypeDate();
                 IDManager.SetID(maturityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 maturityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 maturity = new XsdTypeDate(item);
             }
         }
     }
     
 
     XmlNodeList creditAgreementDateNodeList = xmlNode.SelectNodes("creditAgreementDate");
     if (creditAgreementDateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in creditAgreementDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 creditAgreementDateIDRef = item.Attributes["id"].Name;
                 XsdTypeDate ob = XsdTypeDate();
                 IDManager.SetID(creditAgreementDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 creditAgreementDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 creditAgreementDate = new XsdTypeDate(item);
             }
         }
     }
     
 
     XmlNodeList trancheNodeList = xmlNode.SelectNodes("tranche");
     if (trancheNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in trancheNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 trancheIDRef = item.Attributes["id"].Name;
                 UnderlyingAssetTranche ob = UnderlyingAssetTranche();
                 IDManager.SetID(trancheIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 trancheIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 tranche = new UnderlyingAssetTranche(item);
             }
         }
     }
     
 
 }
 public Obligations(XmlNode xmlNode)
 {
     XmlNode categoryNode = xmlNode.SelectSingleNode("category");
     
     if (categoryNode != null)
     {
         if (categoryNode.Attributes["href"] != null || categoryNode.Attributes["id"] != null) 
         {
             if (categoryNode.Attributes["id"] != null) 
             {
                 categoryIDRef_ = categoryNode.Attributes["id"].Value;
                 ObligationCategoryEnum ob = new ObligationCategoryEnum(categoryNode);
                 IDManager.SetID(categoryIDRef_, ob);
             }
             else if (categoryNode.Attributes["href"] != null)
             {
                 categoryIDRef_ = categoryNode.Attributes["href"].Value;
             }
             else
             {
                 category_ = new ObligationCategoryEnum(categoryNode);
             }
         }
         else
         {
             category_ = new ObligationCategoryEnum(categoryNode);
         }
     }
     
 
     XmlNode notSubordinatedNode = xmlNode.SelectSingleNode("notSubordinated");
     
     if (notSubordinatedNode != null)
     {
         if (notSubordinatedNode.Attributes["href"] != null || notSubordinatedNode.Attributes["id"] != null) 
         {
             if (notSubordinatedNode.Attributes["id"] != null) 
             {
                 notSubordinatedIDRef_ = notSubordinatedNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notSubordinatedNode);
                 IDManager.SetID(notSubordinatedIDRef_, ob);
             }
             else if (notSubordinatedNode.Attributes["href"] != null)
             {
                 notSubordinatedIDRef_ = notSubordinatedNode.Attributes["href"].Value;
             }
             else
             {
                 notSubordinated_ = new XsdTypeBoolean(notSubordinatedNode);
             }
         }
         else
         {
             notSubordinated_ = new XsdTypeBoolean(notSubordinatedNode);
         }
     }
     
 
     XmlNode specifiedCurrencyNode = xmlNode.SelectSingleNode("specifiedCurrency");
     
     if (specifiedCurrencyNode != null)
     {
         if (specifiedCurrencyNode.Attributes["href"] != null || specifiedCurrencyNode.Attributes["id"] != null) 
         {
             if (specifiedCurrencyNode.Attributes["id"] != null) 
             {
                 specifiedCurrencyIDRef_ = specifiedCurrencyNode.Attributes["id"].Value;
                 SpecifiedCurrency ob = new SpecifiedCurrency(specifiedCurrencyNode);
                 IDManager.SetID(specifiedCurrencyIDRef_, ob);
             }
             else if (specifiedCurrencyNode.Attributes["href"] != null)
             {
                 specifiedCurrencyIDRef_ = specifiedCurrencyNode.Attributes["href"].Value;
             }
             else
             {
                 specifiedCurrency_ = new SpecifiedCurrency(specifiedCurrencyNode);
             }
         }
         else
         {
             specifiedCurrency_ = new SpecifiedCurrency(specifiedCurrencyNode);
         }
     }
     
 
     XmlNode notSovereignLenderNode = xmlNode.SelectSingleNode("notSovereignLender");
     
     if (notSovereignLenderNode != null)
     {
         if (notSovereignLenderNode.Attributes["href"] != null || notSovereignLenderNode.Attributes["id"] != null) 
         {
             if (notSovereignLenderNode.Attributes["id"] != null) 
             {
                 notSovereignLenderIDRef_ = notSovereignLenderNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notSovereignLenderNode);
                 IDManager.SetID(notSovereignLenderIDRef_, ob);
             }
             else if (notSovereignLenderNode.Attributes["href"] != null)
             {
                 notSovereignLenderIDRef_ = notSovereignLenderNode.Attributes["href"].Value;
             }
             else
             {
                 notSovereignLender_ = new XsdTypeBoolean(notSovereignLenderNode);
             }
         }
         else
         {
             notSovereignLender_ = new XsdTypeBoolean(notSovereignLenderNode);
         }
     }
     
 
     XmlNode notDomesticCurrencyNode = xmlNode.SelectSingleNode("notDomesticCurrency");
     
     if (notDomesticCurrencyNode != null)
     {
         if (notDomesticCurrencyNode.Attributes["href"] != null || notDomesticCurrencyNode.Attributes["id"] != null) 
         {
             if (notDomesticCurrencyNode.Attributes["id"] != null) 
             {
                 notDomesticCurrencyIDRef_ = notDomesticCurrencyNode.Attributes["id"].Value;
                 NotDomesticCurrency ob = new NotDomesticCurrency(notDomesticCurrencyNode);
                 IDManager.SetID(notDomesticCurrencyIDRef_, ob);
             }
             else if (notDomesticCurrencyNode.Attributes["href"] != null)
             {
                 notDomesticCurrencyIDRef_ = notDomesticCurrencyNode.Attributes["href"].Value;
             }
             else
             {
                 notDomesticCurrency_ = new NotDomesticCurrency(notDomesticCurrencyNode);
             }
         }
         else
         {
             notDomesticCurrency_ = new NotDomesticCurrency(notDomesticCurrencyNode);
         }
     }
     
 
     XmlNode notDomesticLawNode = xmlNode.SelectSingleNode("notDomesticLaw");
     
     if (notDomesticLawNode != null)
     {
         if (notDomesticLawNode.Attributes["href"] != null || notDomesticLawNode.Attributes["id"] != null) 
         {
             if (notDomesticLawNode.Attributes["id"] != null) 
             {
                 notDomesticLawIDRef_ = notDomesticLawNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notDomesticLawNode);
                 IDManager.SetID(notDomesticLawIDRef_, ob);
             }
             else if (notDomesticLawNode.Attributes["href"] != null)
             {
                 notDomesticLawIDRef_ = notDomesticLawNode.Attributes["href"].Value;
             }
             else
             {
                 notDomesticLaw_ = new XsdTypeBoolean(notDomesticLawNode);
             }
         }
         else
         {
             notDomesticLaw_ = new XsdTypeBoolean(notDomesticLawNode);
         }
     }
     
 
     XmlNode listedNode = xmlNode.SelectSingleNode("listed");
     
     if (listedNode != null)
     {
         if (listedNode.Attributes["href"] != null || listedNode.Attributes["id"] != null) 
         {
             if (listedNode.Attributes["id"] != null) 
             {
                 listedIDRef_ = listedNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(listedNode);
                 IDManager.SetID(listedIDRef_, ob);
             }
             else if (listedNode.Attributes["href"] != null)
             {
                 listedIDRef_ = listedNode.Attributes["href"].Value;
             }
             else
             {
                 listed_ = new XsdTypeBoolean(listedNode);
             }
         }
         else
         {
             listed_ = new XsdTypeBoolean(listedNode);
         }
     }
     
 
     XmlNode notDomesticIssuanceNode = xmlNode.SelectSingleNode("notDomesticIssuance");
     
     if (notDomesticIssuanceNode != null)
     {
         if (notDomesticIssuanceNode.Attributes["href"] != null || notDomesticIssuanceNode.Attributes["id"] != null) 
         {
             if (notDomesticIssuanceNode.Attributes["id"] != null) 
             {
                 notDomesticIssuanceIDRef_ = notDomesticIssuanceNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notDomesticIssuanceNode);
                 IDManager.SetID(notDomesticIssuanceIDRef_, ob);
             }
             else if (notDomesticIssuanceNode.Attributes["href"] != null)
             {
                 notDomesticIssuanceIDRef_ = notDomesticIssuanceNode.Attributes["href"].Value;
             }
             else
             {
                 notDomesticIssuance_ = new XsdTypeBoolean(notDomesticIssuanceNode);
             }
         }
         else
         {
             notDomesticIssuance_ = new XsdTypeBoolean(notDomesticIssuanceNode);
         }
     }
     
 
     XmlNode fullFaithAndCreditObLiabilityNode = xmlNode.SelectSingleNode("fullFaithAndCreditObLiability");
     
     if (fullFaithAndCreditObLiabilityNode != null)
     {
         if (fullFaithAndCreditObLiabilityNode.Attributes["href"] != null || fullFaithAndCreditObLiabilityNode.Attributes["id"] != null) 
         {
             if (fullFaithAndCreditObLiabilityNode.Attributes["id"] != null) 
             {
                 fullFaithAndCreditObLiabilityIDRef_ = fullFaithAndCreditObLiabilityNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(fullFaithAndCreditObLiabilityNode);
                 IDManager.SetID(fullFaithAndCreditObLiabilityIDRef_, ob);
             }
             else if (fullFaithAndCreditObLiabilityNode.Attributes["href"] != null)
             {
                 fullFaithAndCreditObLiabilityIDRef_ = fullFaithAndCreditObLiabilityNode.Attributes["href"].Value;
             }
             else
             {
                 fullFaithAndCreditObLiability_ = new XsdTypeBoolean(fullFaithAndCreditObLiabilityNode);
             }
         }
         else
         {
             fullFaithAndCreditObLiability_ = new XsdTypeBoolean(fullFaithAndCreditObLiabilityNode);
         }
     }
     
 
     XmlNode generalFundObligationLiabilityNode = xmlNode.SelectSingleNode("generalFundObligationLiability");
     
     if (generalFundObligationLiabilityNode != null)
     {
         if (generalFundObligationLiabilityNode.Attributes["href"] != null || generalFundObligationLiabilityNode.Attributes["id"] != null) 
         {
             if (generalFundObligationLiabilityNode.Attributes["id"] != null) 
             {
                 generalFundObligationLiabilityIDRef_ = generalFundObligationLiabilityNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(generalFundObligationLiabilityNode);
                 IDManager.SetID(generalFundObligationLiabilityIDRef_, ob);
             }
             else if (generalFundObligationLiabilityNode.Attributes["href"] != null)
             {
                 generalFundObligationLiabilityIDRef_ = generalFundObligationLiabilityNode.Attributes["href"].Value;
             }
             else
             {
                 generalFundObligationLiability_ = new XsdTypeBoolean(generalFundObligationLiabilityNode);
             }
         }
         else
         {
             generalFundObligationLiability_ = new XsdTypeBoolean(generalFundObligationLiabilityNode);
         }
     }
     
 
     XmlNode revenueObligationLiabilityNode = xmlNode.SelectSingleNode("revenueObligationLiability");
     
     if (revenueObligationLiabilityNode != null)
     {
         if (revenueObligationLiabilityNode.Attributes["href"] != null || revenueObligationLiabilityNode.Attributes["id"] != null) 
         {
             if (revenueObligationLiabilityNode.Attributes["id"] != null) 
             {
                 revenueObligationLiabilityIDRef_ = revenueObligationLiabilityNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(revenueObligationLiabilityNode);
                 IDManager.SetID(revenueObligationLiabilityIDRef_, ob);
             }
             else if (revenueObligationLiabilityNode.Attributes["href"] != null)
             {
                 revenueObligationLiabilityIDRef_ = revenueObligationLiabilityNode.Attributes["href"].Value;
             }
             else
             {
                 revenueObligationLiability_ = new XsdTypeBoolean(revenueObligationLiabilityNode);
             }
         }
         else
         {
             revenueObligationLiability_ = new XsdTypeBoolean(revenueObligationLiabilityNode);
         }
     }
     
 
     XmlNode notContingentNode = xmlNode.SelectSingleNode("notContingent");
     
     if (notContingentNode != null)
     {
         if (notContingentNode.Attributes["href"] != null || notContingentNode.Attributes["id"] != null) 
         {
             if (notContingentNode.Attributes["id"] != null) 
             {
                 notContingentIDRef_ = notContingentNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notContingentNode);
                 IDManager.SetID(notContingentIDRef_, ob);
             }
             else if (notContingentNode.Attributes["href"] != null)
             {
                 notContingentIDRef_ = notContingentNode.Attributes["href"].Value;
             }
             else
             {
                 notContingent_ = new XsdTypeBoolean(notContingentNode);
             }
         }
         else
         {
             notContingent_ = new XsdTypeBoolean(notContingentNode);
         }
     }
     
 
     XmlNode excludedNode = xmlNode.SelectSingleNode("excluded");
     
     if (excludedNode != null)
     {
         if (excludedNode.Attributes["href"] != null || excludedNode.Attributes["id"] != null) 
         {
             if (excludedNode.Attributes["id"] != null) 
             {
                 excludedIDRef_ = excludedNode.Attributes["id"].Value;
                 XsdTypeString ob = new XsdTypeString(excludedNode);
                 IDManager.SetID(excludedIDRef_, ob);
             }
             else if (excludedNode.Attributes["href"] != null)
             {
                 excludedIDRef_ = excludedNode.Attributes["href"].Value;
             }
             else
             {
                 excluded_ = new XsdTypeString(excludedNode);
             }
         }
         else
         {
             excluded_ = new XsdTypeString(excludedNode);
         }
     }
     
 
     XmlNode othReferenceEntityObligationsNode = xmlNode.SelectSingleNode("othReferenceEntityObligations");
     
     if (othReferenceEntityObligationsNode != null)
     {
         if (othReferenceEntityObligationsNode.Attributes["href"] != null || othReferenceEntityObligationsNode.Attributes["id"] != null) 
         {
             if (othReferenceEntityObligationsNode.Attributes["id"] != null) 
             {
                 othReferenceEntityObligationsIDRef_ = othReferenceEntityObligationsNode.Attributes["id"].Value;
                 XsdTypeString ob = new XsdTypeString(othReferenceEntityObligationsNode);
                 IDManager.SetID(othReferenceEntityObligationsIDRef_, ob);
             }
             else if (othReferenceEntityObligationsNode.Attributes["href"] != null)
             {
                 othReferenceEntityObligationsIDRef_ = othReferenceEntityObligationsNode.Attributes["href"].Value;
             }
             else
             {
                 othReferenceEntityObligations_ = new XsdTypeString(othReferenceEntityObligationsNode);
             }
         }
         else
         {
             othReferenceEntityObligations_ = new XsdTypeString(othReferenceEntityObligationsNode);
         }
     }
     
 
     XmlNode designatedPriorityNode = xmlNode.SelectSingleNode("designatedPriority");
     
     if (designatedPriorityNode != null)
     {
         if (designatedPriorityNode.Attributes["href"] != null || designatedPriorityNode.Attributes["id"] != null) 
         {
             if (designatedPriorityNode.Attributes["id"] != null) 
             {
                 designatedPriorityIDRef_ = designatedPriorityNode.Attributes["id"].Value;
                 Lien ob = new Lien(designatedPriorityNode);
                 IDManager.SetID(designatedPriorityIDRef_, ob);
             }
             else if (designatedPriorityNode.Attributes["href"] != null)
             {
                 designatedPriorityIDRef_ = designatedPriorityNode.Attributes["href"].Value;
             }
             else
             {
                 designatedPriority_ = new Lien(designatedPriorityNode);
             }
         }
         else
         {
             designatedPriority_ = new Lien(designatedPriorityNode);
         }
     }
     
 
     XmlNode cashSettlementOnlyNode = xmlNode.SelectSingleNode("cashSettlementOnly");
     
     if (cashSettlementOnlyNode != null)
     {
         if (cashSettlementOnlyNode.Attributes["href"] != null || cashSettlementOnlyNode.Attributes["id"] != null) 
         {
             if (cashSettlementOnlyNode.Attributes["id"] != null) 
             {
                 cashSettlementOnlyIDRef_ = cashSettlementOnlyNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(cashSettlementOnlyNode);
                 IDManager.SetID(cashSettlementOnlyIDRef_, ob);
             }
             else if (cashSettlementOnlyNode.Attributes["href"] != null)
             {
                 cashSettlementOnlyIDRef_ = cashSettlementOnlyNode.Attributes["href"].Value;
             }
             else
             {
                 cashSettlementOnly_ = new XsdTypeBoolean(cashSettlementOnlyNode);
             }
         }
         else
         {
             cashSettlementOnly_ = new XsdTypeBoolean(cashSettlementOnlyNode);
         }
     }
     
 
     XmlNode deliveryOfCommitmentsNode = xmlNode.SelectSingleNode("deliveryOfCommitments");
     
     if (deliveryOfCommitmentsNode != null)
     {
         if (deliveryOfCommitmentsNode.Attributes["href"] != null || deliveryOfCommitmentsNode.Attributes["id"] != null) 
         {
             if (deliveryOfCommitmentsNode.Attributes["id"] != null) 
             {
                 deliveryOfCommitmentsIDRef_ = deliveryOfCommitmentsNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(deliveryOfCommitmentsNode);
                 IDManager.SetID(deliveryOfCommitmentsIDRef_, ob);
             }
             else if (deliveryOfCommitmentsNode.Attributes["href"] != null)
             {
                 deliveryOfCommitmentsIDRef_ = deliveryOfCommitmentsNode.Attributes["href"].Value;
             }
             else
             {
                 deliveryOfCommitments_ = new XsdTypeBoolean(deliveryOfCommitmentsNode);
             }
         }
         else
         {
             deliveryOfCommitments_ = new XsdTypeBoolean(deliveryOfCommitmentsNode);
         }
     }
     
 
     XmlNode continuityNode = xmlNode.SelectSingleNode("continuity");
     
     if (continuityNode != null)
     {
         if (continuityNode.Attributes["href"] != null || continuityNode.Attributes["id"] != null) 
         {
             if (continuityNode.Attributes["id"] != null) 
             {
                 continuityIDRef_ = continuityNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(continuityNode);
                 IDManager.SetID(continuityIDRef_, ob);
             }
             else if (continuityNode.Attributes["href"] != null)
             {
                 continuityIDRef_ = continuityNode.Attributes["href"].Value;
             }
             else
             {
                 continuity_ = new XsdTypeBoolean(continuityNode);
             }
         }
         else
         {
             continuity_ = new XsdTypeBoolean(continuityNode);
         }
     }
     
 
 }
 public Obligations(XmlNode xmlNode)
 {
     XmlNodeList categoryNodeList = xmlNode.SelectNodes("category");
     if (categoryNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in categoryNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 categoryIDRef = item.Attributes["id"].Name;
                 ObligationCategoryEnum ob = ObligationCategoryEnum();
                 IDManager.SetID(categoryIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 categoryIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 category = new ObligationCategoryEnum(item);
             }
         }
     }
     
 
     XmlNodeList notSubordinatedNodeList = xmlNode.SelectNodes("notSubordinated");
     if (notSubordinatedNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notSubordinatedNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notSubordinatedIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notSubordinatedIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notSubordinatedIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notSubordinated = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList specifiedCurrencyNodeList = xmlNode.SelectNodes("specifiedCurrency");
     if (specifiedCurrencyNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in specifiedCurrencyNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 specifiedCurrencyIDRef = item.Attributes["id"].Name;
                 SpecifiedCurrency ob = SpecifiedCurrency();
                 IDManager.SetID(specifiedCurrencyIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 specifiedCurrencyIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 specifiedCurrency = new SpecifiedCurrency(item);
             }
         }
     }
     
 
     XmlNodeList notSovereignLenderNodeList = xmlNode.SelectNodes("notSovereignLender");
     if (notSovereignLenderNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notSovereignLenderNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notSovereignLenderIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notSovereignLenderIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notSovereignLenderIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notSovereignLender = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList notDomesticCurrencyNodeList = xmlNode.SelectNodes("notDomesticCurrency");
     if (notDomesticCurrencyNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notDomesticCurrencyNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notDomesticCurrencyIDRef = item.Attributes["id"].Name;
                 NotDomesticCurrency ob = NotDomesticCurrency();
                 IDManager.SetID(notDomesticCurrencyIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notDomesticCurrencyIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notDomesticCurrency = new NotDomesticCurrency(item);
             }
         }
     }
     
 
     XmlNodeList notDomesticLawNodeList = xmlNode.SelectNodes("notDomesticLaw");
     if (notDomesticLawNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notDomesticLawNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notDomesticLawIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notDomesticLawIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notDomesticLawIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notDomesticLaw = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList listedNodeList = xmlNode.SelectNodes("listed");
     if (listedNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in listedNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 listedIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(listedIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 listedIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 listed = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList notDomesticIssuanceNodeList = xmlNode.SelectNodes("notDomesticIssuance");
     if (notDomesticIssuanceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notDomesticIssuanceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notDomesticIssuanceIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notDomesticIssuanceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notDomesticIssuanceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notDomesticIssuance = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList fullFaithAndCreditObLiabilityNodeList = xmlNode.SelectNodes("fullFaithAndCreditObLiability");
     if (fullFaithAndCreditObLiabilityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in fullFaithAndCreditObLiabilityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 fullFaithAndCreditObLiabilityIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(fullFaithAndCreditObLiabilityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 fullFaithAndCreditObLiabilityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 fullFaithAndCreditObLiability = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList generalFundObligationLiabilityNodeList = xmlNode.SelectNodes("generalFundObligationLiability");
     if (generalFundObligationLiabilityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in generalFundObligationLiabilityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 generalFundObligationLiabilityIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(generalFundObligationLiabilityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 generalFundObligationLiabilityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 generalFundObligationLiability = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList revenueObligationLiabilityNodeList = xmlNode.SelectNodes("revenueObligationLiability");
     if (revenueObligationLiabilityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in revenueObligationLiabilityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 revenueObligationLiabilityIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(revenueObligationLiabilityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 revenueObligationLiabilityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 revenueObligationLiability = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList notContingentNodeList = xmlNode.SelectNodes("notContingent");
     if (notContingentNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notContingentNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notContingentIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notContingentIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notContingentIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notContingent = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList excludedNodeList = xmlNode.SelectNodes("excluded");
     if (excludedNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in excludedNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 excludedIDRef = item.Attributes["id"].Name;
                 XsdTypeString ob = XsdTypeString();
                 IDManager.SetID(excludedIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 excludedIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 excluded = new XsdTypeString(item);
             }
         }
     }
     
 
     XmlNodeList othReferenceEntityObligationsNodeList = xmlNode.SelectNodes("othReferenceEntityObligations");
     if (othReferenceEntityObligationsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in othReferenceEntityObligationsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 othReferenceEntityObligationsIDRef = item.Attributes["id"].Name;
                 XsdTypeString ob = XsdTypeString();
                 IDManager.SetID(othReferenceEntityObligationsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 othReferenceEntityObligationsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 othReferenceEntityObligations = new XsdTypeString(item);
             }
         }
     }
     
 
     XmlNodeList designatedPriorityNodeList = xmlNode.SelectNodes("designatedPriority");
     if (designatedPriorityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in designatedPriorityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 designatedPriorityIDRef = item.Attributes["id"].Name;
                 Lien ob = Lien();
                 IDManager.SetID(designatedPriorityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 designatedPriorityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 designatedPriority = new Lien(item);
             }
         }
     }
     
 
     XmlNodeList cashSettlementOnlyNodeList = xmlNode.SelectNodes("cashSettlementOnly");
     if (cashSettlementOnlyNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in cashSettlementOnlyNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 cashSettlementOnlyIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(cashSettlementOnlyIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 cashSettlementOnlyIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 cashSettlementOnly = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList deliveryOfCommitmentsNodeList = xmlNode.SelectNodes("deliveryOfCommitments");
     if (deliveryOfCommitmentsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in deliveryOfCommitmentsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 deliveryOfCommitmentsIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(deliveryOfCommitmentsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 deliveryOfCommitmentsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 deliveryOfCommitments = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList continuityNodeList = xmlNode.SelectNodes("continuity");
     if (continuityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in continuityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 continuityIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(continuityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 continuityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 continuity = new XsdTypeBoolean(item);
             }
         }
     }
     
 
 }