Render array doesn't render children I can't add a form to a node. Using the following code, the generated HTML show only the node. If I return $form, the form is rendered correctly. What is my mistake ?

function hook_menu() {

$items['presse/rss'] = array(

'title' =&gt; 'RSS',
'access callback' =&gt; TRUE,
'page callback' =&gt; 'press_rss_page',
'page arguments' =&gt; array('fr'),
'menu_name' =&gt; 'nav-fast-links-fr',
'file' =&gt; 'press.rss.inc',
'type' =&gt; MENU_NORMAL_ITEM,


);

FILE: press.rss.inc

function press_rss_page($lang) {

     $nid = variable_get('press_rss_nid_' . $lang, 0);
     $page = array();
     if ($nid) {
        $page = node_view(node_load($nid));
     }

     $path = $_SERVER['HTTP_HOST'];
     $path .= $lang == 'fr' ? '/presse/rss/' : '/press/rss/';
     $form['#weight'] = 1000;
     $form['container'] = array(
        '#prefix' =&gt; '&lt;div class="rss-url-block"&gt;',
        '#suffix' =&gt; '&lt;/div&gt;',
     );

     $form['container']['all']['title'] = array(
        '#markup' =&gt; '&lt;h3&gt;' . 'All the press room content' . '&lt;/h3&gt;',
         );
     $form['container']['all']['text'] = array(
        '#type' =&gt; 'textfield',
        '#title' =&gt; t('All the feeds', array(), array('context' =&gt; 'frontend')),
        '#value' =&gt; $path . 'all',
        '#disabled' =&gt; TRUE,
        '#id' =&gt; 'rss-1',
        '#attributes' =&gt; array(
        'onClick' =&gt; "this.select();",
        'readonly' =&gt; 'readonly',
),


);

  $page['form'] = $form;

   return $page;


}
Return your renderable page build with 2 entries, one for the node and one for the form:

return array(
    'node' =&gt; $page,
    'form' =&gt; $form,
);