added a comment - Implementation decisions and updates:
- Using Starlink votable-aware DOM parser to traverse the xml elements in the votable file to collect more details from all TABLE elements and the FIELD elements under the TABLE elements.
The JAVA class implementation regarding the table (class DataGroup ) and table column (class DatType ) are updated accordingly.
Create class GroupInfo and class LinkInfo to store the details for Group element and LINK element under the TABLE elements.
For TABLE element, collect
attributes including ID, name, ucd, utype, ref (values assigned to ID, title, ucd, utype, ref in DataGroup object),
child elements DESCRIPTION (value assigned to desc in DataGroup object).
child element FIELD (values assigned to columns in DataGroup object).
child elements GROUP, LINK, (values assigned to groups , list of GroupInfo , and links , list of LinkInfo, in DataGroup object).
child element PARAM (assigned to staticColumns , list of DataType objects, in DataGroup and the value of each PARAM is assigned to staticValue in each DataType object). Note: PARAM is treated as columns with static value.
child element INFO (assigned to meta in DataGroup )
table data in DATA element if the condition of not only collecting table header is set (assigned to data in DataGroup )
For FIELD element, collect
attributes including ID, name, datatype, unit, precision, width, ref, ucd, utype (values assigned to ID, keyName, type, units, precision, ref, ucd, utype in DataType ). Note: values of attributes precision and width are concatenated like ' wwEn' or ' wwFn' and stored as ' precision ' in DataType, where 'ww' stands for the value from attribute width and 'En' or 'Fn' stands for value from attribute precision. If the original precision value contains numeric digit only like '2', it is converted to be 'F2'.
child element DESCRIPTION (value assigned to desc in DataType object).
child element LINK, (values assigned to links , list of LinkInfo, in DataType object).
child element Values, (values assigned to minValue, maxValue, options, nullstring in DataType ).