def format_listfield_nodes(field_name, field, field_id, state, lineno):
    itemtype_node = nodes.definition_list_item()
    itemtype_node += nodes.term(text='Item type')
    itemtype_def = nodes.definition()
    itemtype_def += make_python_xref_nodes_for_type(
        field.itemtype,
        state,
        hide_namespace=False)
    itemtype_node += itemtype_def
    minlength_node = None
    if field.minLength:
        minlength_node = nodes.definition_list_item()
        minlength_node += nodes.term(text='Minimum length')
        minlength_def = nodes.definition()
        minlength_def += nodes.paragraph(text=str(field.minLength))
        minlength_node += minlength_def
    maxlength_node = None
    if field.maxLength:
        maxlength_node = nodes.definition_list_item()
        maxlength_node += nodes.term(text='Maximum length')
        maxlength_def = nodes.definition()
        maxlength_def += nodes.paragraph(text=str(field.maxLength))
        maxlength_node += maxlength_def
    length_node = None
    if field.length:
        length_node = nodes.definition_list_item()
        length_node += nodes.term(text='Required length')
        length_def = nodes.definition()
        length_def += nodes.paragraph(text=str(field.length))
        length_node += length_def
    field_type_item = nodes.definition_list_item()
    field_type_item.append(nodes.term(text="Field type"))
    field_type_item_content = nodes.definition()
    field_type_item_content_p = nodes.paragraph()
    field_type_item_content_p += make_python_xref_nodes_for_type(
        field.itemtype,
        state,
        hide_namespace=False)[0].children[0]
    field_type_item_content_p += nodes.Text(' ', ' ')
    field_type_item_content_p += make_python_xref_nodes_for_type(
        type(field),
        state,
        hide_namespace=True)[0].children[0]
    if field.optional:
        field_type_item_content_p += nodes.Text(' (optional)', ' (optional)')
    field_type_item_content += field_type_item_content_p
    field_type_item += field_type_item_content
    env = state.document.settings.env
    ref_target = create_configfield_ref_target_node(field_id, env, lineno)
    title = nodes.title(text=field_name)
    title += ref_target
    dl = nodes.definition_list()
    dl += create_default_item_node(field, state)
    dl += field_type_item
    if minlength_node:
        dl += minlength_node
    if maxlength_node:
        dl += maxlength_node
    if length_node:
        dl += length_node
    desc_node = create_description_node(field, state)
    title = create_title_node(field_name, field, field_id, state, lineno)
    return [title, dl, desc_node]