internal override void ParseXml(XmlElement xml) { base.ParseXml(xml); if (xml.HasAttribute("Name")) { Name = xml.Attributes["Name"].Value; } foreach (XmlNode child in xml.ChildNodes) { string name = child.Name; if (string.Compare(name, "Rows") == 0) { foreach (XmlNode node in child.ChildNodes) { IfcTableRow r = mDatabase.ParseXml <IfcTableRow>(node as XmlElement); if (r != null) { addRow(r); } } } else if (string.Compare(name, "Columns") == 0) { foreach (XmlNode node in child.ChildNodes) { IfcTableColumn c = mDatabase.ParseXml <IfcTableColumn>(node as XmlElement); if (c != null) { addColumn(c); } } } } }
internal IfcTableColumn(IfcTableColumn c) : base() { mIdentifier = c.mIdentifier; mName = c.mName; mDescription = c.mDescription; mUnit = c.mUnit; mReferencePath = c.mReferencePath; }
internal static IfcTableColumn Parse(string strDef) { IfcTableColumn t = new IfcTableColumn(); int ipos = 0; parseFields(t, ParserSTEP.SplitLineFields(strDef), ref ipos); return t; }
internal static void parseFields(IfcTableColumn t, List<string> arrFields, ref int ipos) { t.mIdentifier = arrFields[ipos++]; t.mName = arrFields[ipos++].Replace("'", ""); t.mDescription = arrFields[ipos++]; t.mUnit = ParserSTEP.ParseLink(arrFields[ipos++]); t.mReferencePath = ParserSTEP.ParseLink(arrFields[ipos++]); }