protected override void ParseAttribute(XmlNode attr) { base.ParseAttribute(attr); switch (attr.Name.ToLower()) { case "tablecolumns": foreach (XmlNode child in attr.ChildNodes) { _tableColumns.Add(new TableColumn(child, this)); } break; case "header": _header = new TableHeader(attr, this); break; case "tablegroups": ReportElement parnt = this; foreach (XmlNode child in attr.ChildNodes) { TableGroup tg = new TableGroup(child, parnt); _tableGroups.Add(tg); parnt = tg; } break; case "details": _details = new TableDetails(attr, this); break; case "footer": _footer = new TableFooter(attr, this); break; case "fillpage": _fillPage = bool.Parse(attr.InnerText); break; case "detaildataelementname": _detailDataElementName = attr.InnerText; break; case "detaildatacollectionname": _detailDataCollectionName = attr.InnerText; break; case "detaildataelementoutput": _detailDataElementOutput = (DetailDataElementOutputEnum)Enum.Parse(typeof(DetailDataElementOutputEnum), attr.InnerText, true); break; default: break; } }