def html_to_valid_cnxml(html_source):
    """Transform the HTML to valid CNXML (used for OERPUB).
    No original CNXML is needed.  If HTML is from Aloha please use
    aloha_to_html before using this method
    """
    source = _string2io(html_source)
    xml = etree.parse(source)
    return etree_to_valid_cnxml(xml, pretty_print=True)