private StaticDef parseStaticProfile(System.Xml.XmlElement elem)
        {
            StaticDef message = new StaticDef();

            message.MsgType      = elem.GetAttribute("MsgType");
            message.EventType    = elem.GetAttribute("EventType");
            message.MsgStructID  = elem.GetAttribute("MsgStructID");
            message.OrderControl = elem.GetAttribute("OrderControl");
            message.EventDesc    = elem.GetAttribute("EventDesc");
            message.Identifier   = elem.GetAttribute("identifier");
            message.Role         = elem.GetAttribute("role");

            System.Xml.XmlElement md = getFirstElementByTagName("MetaData", elem);
            if (md != null)
            {
                message.MetaData = parseMetaData(md);
            }

            message.ImpNote     = getValueOfFirstElement("ImpNote", elem);
            message.Description = getValueOfFirstElement("Description", elem);
            message.Reference   = getValueOfFirstElement("Reference", elem);

            parseChildren(message, elem);
            return(message);
        }
        /// <summary> Parses an XML profile string into a RuntimeProfile object.  </summary>
        public virtual RuntimeProfile parse(System.String profileString)
        {
            RuntimeProfile profile = new RuntimeProfile();

            System.Xml.XmlDocument doc = parseIntoDOM(profileString);

            System.Xml.XmlElement root = (System.Xml.XmlElement)doc.DocumentElement;
            profile.setHL7Version(root.GetAttribute("HL7Version"));

            //get static definition
            System.Xml.XmlNodeList nl        = root.GetElementsByTagName("HL7v2xStaticDef");
            System.Xml.XmlElement  staticDef = (System.Xml.XmlElement)nl.Item(0);
            StaticDef sd = parseStaticProfile(staticDef);

            profile.Message = sd;
            return(profile);
        }
		private StaticDef parseStaticProfile(System.Xml.XmlElement elem)
		{
			StaticDef message = new StaticDef();
			message.MsgType = elem.GetAttribute("MsgType");
			message.EventType = elem.GetAttribute("EventType");
			message.MsgStructID = elem.GetAttribute("MsgStructID");
			message.OrderControl = elem.GetAttribute("OrderControl");
			message.EventDesc = elem.GetAttribute("EventDesc");
			message.Identifier = elem.GetAttribute("identifier");
			message.Role = elem.GetAttribute("role");
			
			System.Xml.XmlElement md = getFirstElementByTagName("MetaData", elem);
			if (md != null)
				message.MetaData = parseMetaData(md);
			
			message.ImpNote = getValueOfFirstElement("ImpNote", elem);
			message.Description = getValueOfFirstElement("Description", elem);
			message.Reference = getValueOfFirstElement("Reference", elem);
			
			parseChildren(message, elem);
			return message;
		}