Extract all columns mentioned in the result tag of a table definition file.

def extract_columns_from_table_definition_file(xmltag, table_definition_file):
    """
    Extract all columns mentioned in the result tag of a table definition file.
    """
    def handle_path(path):
        """Convert path from a path relative to table-definition file."""
        if not path or path.startswith("http://") or path.startswith("https://"):
            return path
        return os.path.join(os.path.dirname(table_definition_file), path)

    columns = list()
    for c in xmltag.findall('column'):
        scale_factor = c.get("scaleFactor")
        display_unit = c.get("displayUnit")
        source_unit = c.get("sourceUnit")

        new_column = Column(c.get("title"), c.text, c.get("numberOfDigits"),
                   handle_path(c.get("href")), None, display_unit, source_unit,
                   scale_factor, c.get("relevantForDiff"), c.get("displayTitle"))
        columns.append(new_column)

    return columns