public JointFunctionEvent(XmlNode xmlNode)
 {
     XmlNode jointTypeNode = xmlNode.SelectSingleNode("jointType");
     
     if (jointTypeNode != null)
     {
         if (jointTypeNode.Attributes["href"] != null || jointTypeNode.Attributes["id"] != null) 
         {
             if (jointTypeNode.Attributes["id"] != null) 
             {
                 jointTypeIDRef_ = jointTypeNode.Attributes["id"].Value;
                 JointTypeEnum ob = new JointTypeEnum(jointTypeNode);
                 IDManager.SetID(jointTypeIDRef_, ob);
             }
             else if (jointTypeNode.Attributes["href"] != null)
             {
                 jointTypeIDRef_ = jointTypeNode.Attributes["href"].Value;
             }
             else
             {
                 jointType_ = new JointTypeEnum(jointTypeNode);
             }
         }
         else
         {
             jointType_ = new JointTypeEnum(jointTypeNode);
         }
     }
     
 
     XmlNode functionsNode = xmlNode.SelectSingleNode("functions");
     
     if (functionsNode != null)
     {
         if (functionsNode.Attributes["href"] != null || functionsNode.Attributes["id"] != null) 
         {
             if (functionsNode.Attributes["id"] != null) 
             {
                 functionsIDRef_ = functionsNode.Attributes["id"].Value;
                 Functions ob = new Functions(functionsNode);
                 IDManager.SetID(functionsIDRef_, ob);
             }
             else if (functionsNode.Attributes["href"] != null)
             {
                 functionsIDRef_ = functionsNode.Attributes["href"].Value;
             }
             else
             {
                 functions_ = new Functions(functionsNode);
             }
         }
         else
         {
             functions_ = new Functions(functionsNode);
         }
     }
     
 
 }
 public JointFunctionEvent(XmlNode xmlNode)
 {
     XmlNodeList jointTypeNodeList = xmlNode.SelectNodes("jointType");
     if (jointTypeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in jointTypeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 jointTypeIDRef = item.Attributes["id"].Name;
                 JointTypeEnum ob = JointTypeEnum();
                 IDManager.SetID(jointTypeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 jointTypeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 jointType = new JointTypeEnum(item);
             }
         }
     }
     
 
     XmlNodeList functionsNodeList = xmlNode.SelectNodes("functions");
     if (functionsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in functionsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 functionsIDRef = item.Attributes["id"].Name;
                 Functions ob = Functions();
                 IDManager.SetID(functionsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 functionsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 functions = new Functions(item);
             }
         }
     }
     
 
 }