def create_hosted_zone_writer(connection, name, caller_reference, comment):
if not caller_reference:<EOL><INDENT>caller_reference = str(uuid.uuid4())<EOL><DEDENT>e_root = etree.Element(<EOL>"<STR_LIT>",<EOL>xmlns=connection._xml_namespace<EOL>)<EOL>e_name = etree.SubElement(e_root, "<STR_LIT:Name>")<EOL>e_name.text = name<EOL>e_caller_reference = etree.SubElement(e_root, "<STR_LIT>")<EOL>e_caller_reference.text = caller_reference<EOL>if comment:<EOL><INDENT>e_config = etree.SubElement(e_root, "<STR_LIT>")<EOL>e_comment = etree.SubElement(e_config, "<STR_LIT>")<EOL>e_comment.text = comment<EOL><DEDENT>e_tree = etree.ElementTree(element=e_root)<EOL>fobj = BytesIO()<EOL>e_tree.write(fobj, xml_declaration=True, encoding='<STR_LIT:utf-8>', method="<STR_LIT>")<EOL>return fobj.getvalue().decode('<STR_LIT:utf-8>')<EOL>
Forms an XML string that we'll send to Route53 in order to create
a new hosted zone.

:param Route53Connection connection: The connection instance used to
    query the API.
:param str name: The name of the hosted zone to create.