public EnvironmentalProductComplaincePeriod(XmlNode xmlNode)
 {
     XmlNodeList startYearNodeList = xmlNode.SelectNodes("startYear");
     if (startYearNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in startYearNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 startYearIDRef = item.Attributes["id"].Name;
                 XsdTypeGYear ob = XsdTypeGYear();
                 IDManager.SetID(startYearIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 startYearIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 startYear = new XsdTypeGYear(item);
             }
         }
     }
     
 
     XmlNodeList endYearNodeList = xmlNode.SelectNodes("endYear");
     if (endYearNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in endYearNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 endYearIDRef = item.Attributes["id"].Name;
                 XsdTypeGYear ob = XsdTypeGYear();
                 IDManager.SetID(endYearIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 endYearIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 endYear = new XsdTypeGYear(item);
             }
         }
     }
     
 
 }
 public EnvironmentalProduct(XmlNode xmlNode)
 {
     XmlNodeList productTypeNodeList = xmlNode.SelectNodes("productType");
     if (productTypeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in productTypeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 productTypeIDRef = item.Attributes["id"].Name;
                 EnvironmentalProductTypeEnum ob = EnvironmentalProductTypeEnum();
                 IDManager.SetID(productTypeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 productTypeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 productType = new EnvironmentalProductTypeEnum(item);
             }
         }
     }
     
 
     XmlNodeList compliancePeriodNodeList = xmlNode.SelectNodes("compliancePeriod");
     if (compliancePeriodNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in compliancePeriodNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 compliancePeriodIDRef = item.Attributes["id"].Name;
                 EnvironmentalProductComplaincePeriod ob = EnvironmentalProductComplaincePeriod();
                 IDManager.SetID(compliancePeriodIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 compliancePeriodIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 compliancePeriod = new EnvironmentalProductComplaincePeriod(item);
             }
         }
     }
     
 
     XmlNodeList vintageNodeList = xmlNode.SelectNodes("vintage");
     
     foreach (XmlNode item in vintageNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 vintageIDRef = item.Attributes["id"].Name;
                 XsdTypeGYear ob = new XsdTypeGYear();
                 ob.Add(new XsdTypeGYear(item));
                 IDManager.SetID(vintageIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 vintageIDRef = item.Attributes["href"].Name;
             }
             else
             {
             vintage.Add(new XsdTypeGYear(item));
             }
         }
     }
     
 
     XmlNodeList applicableLawNodeList = xmlNode.SelectNodes("applicableLaw");
     if (applicableLawNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in applicableLawNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 applicableLawIDRef = item.Attributes["id"].Name;
                 EnvironmentalProductApplicableLaw ob = EnvironmentalProductApplicableLaw();
                 IDManager.SetID(applicableLawIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 applicableLawIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 applicableLaw = new EnvironmentalProductApplicableLaw(item);
             }
         }
     }
     
 
     XmlNodeList trackingSystemNodeList = xmlNode.SelectNodes("trackingSystem");
     if (trackingSystemNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in trackingSystemNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 trackingSystemIDRef = item.Attributes["id"].Name;
                 EnvironmentalTrackingSystem ob = EnvironmentalTrackingSystem();
                 IDManager.SetID(trackingSystemIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 trackingSystemIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 trackingSystem = new EnvironmentalTrackingSystem(item);
             }
         }
     }
     
 
 }