public override bool Parse() { bool result = false; if (_source.Attributes != null) { UniqueId = _source.Attributes["uniqueID"].InnerXml; Name = _source.Attributes["name"].InnerXml; } foreach (XmlNode childNode in _source) { if (childNode.Name == "dataType") { DataType = new XddDataType(childNode, _dataTypeList); result = DataType.Parse(); } else if (childNode.Name == "enumEntry") { var enumEntry = new XddEnumEntry(childNode); result = enumEntry.Parse(); EnumEntries.Add(enumEntry); } } return(result); }
internal XddEnumEntry FindReferenceEnumEntry(string uniqueId) { XddEnumEntry result = null; foreach (var dataTypeKeyValuePair in DataTypes) { var dataTypeReference = dataTypeKeyValuePair.Value; if (dataTypeReference is XddEnumDataTypeReference enumDataType) { foreach (var enumEntry in enumDataType.EnumEntries) { if (enumEntry.UniqueId == uniqueId) { result = enumEntry; break; } } } if (result != null) { break; } } return(result); }