internal override void ParseXml(XmlElement xml)
{
base.ParseXml(xml);
if (xml.HasAttribute("TemplateType"))
Enum.TryParse<IfcSimplePropertyTemplateTypeEnum>(xml.Attributes["TemplateType"].Value, true, out mTemplateType);
PrimaryMeasureType = extractString(xml, "PrimaryMeasureType");
SecondaryMeasureType = extractString(xml, "SecondaryMeasureType");
foreach (XmlNode child in xml.ChildNodes)
{
string name = child.Name;
if (string.Compare(name, "Enumerators") == 0)
Enumerators = mDatabase.ParseXml<IfcPropertyEnumeration>(child as XmlElement);
else if (string.Compare(name, "PrimaryUnit") == 0)
PrimaryUnit = mDatabase.ParseXml<IfcUnit>(child as XmlElement);
else if (string.Compare(name, "SecondaryUnit") == 0)
SecondaryUnit = mDatabase.ParseXml<IfcUnit>(child as XmlElement);
}
Expression = extractString(xml, "Expression");
if (xml.HasAttribute("AccessState"))
Enum.TryParse<IfcStateEnum>(xml.Attributes["AccessState"].Value,true,out mAccessState);
}