public RelatedPerson(XmlNode xmlNode)
 {
     XmlNode personReferenceNode = xmlNode.SelectSingleNode("personReference");
     
     if (personReferenceNode != null)
     {
         if (personReferenceNode.Attributes["href"] != null || personReferenceNode.Attributes["id"] != null) 
         {
             if (personReferenceNode.Attributes["id"] != null) 
             {
                 personReferenceIDRef_ = personReferenceNode.Attributes["id"].Value;
                 PersonReference ob = new PersonReference(personReferenceNode);
                 IDManager.SetID(personReferenceIDRef_, ob);
             }
             else if (personReferenceNode.Attributes["href"] != null)
             {
                 personReferenceIDRef_ = personReferenceNode.Attributes["href"].Value;
             }
             else
             {
                 personReference_ = new PersonReference(personReferenceNode);
             }
         }
         else
         {
             personReference_ = new PersonReference(personReferenceNode);
         }
     }
     
 
     XmlNode roleNode = xmlNode.SelectSingleNode("role");
     
     if (roleNode != null)
     {
         if (roleNode.Attributes["href"] != null || roleNode.Attributes["id"] != null) 
         {
             if (roleNode.Attributes["id"] != null) 
             {
                 roleIDRef_ = roleNode.Attributes["id"].Value;
                 PersonRole ob = new PersonRole(roleNode);
                 IDManager.SetID(roleIDRef_, ob);
             }
             else if (roleNode.Attributes["href"] != null)
             {
                 roleIDRef_ = roleNode.Attributes["href"].Value;
             }
             else
             {
                 role_ = new PersonRole(roleNode);
             }
         }
         else
         {
             role_ = new PersonRole(roleNode);
         }
     }
     
 
 }
 public RelatedPerson(XmlNode xmlNode)
 {
     XmlNodeList personReferenceNodeList = xmlNode.SelectNodes("personReference");
     if (personReferenceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in personReferenceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 personReferenceIDRef = item.Attributes["id"].Name;
                 PersonReference ob = PersonReference();
                 IDManager.SetID(personReferenceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 personReferenceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 personReference = new PersonReference(item);
             }
         }
     }
     
 
     XmlNodeList roleNodeList = xmlNode.SelectNodes("role");
     if (roleNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in roleNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 roleIDRef = item.Attributes["id"].Name;
                 PersonRole ob = PersonRole();
                 IDManager.SetID(roleIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 roleIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 role = new PersonRole(item);
             }
         }
     }
     
 
 }