Recursão de JavaScript para formatar listas de XML para HTML

Eu tenho um exercício onde me chama a recursão para saída de dados XML em tags de lista HTML. Admitindo com vergonha minhas deficiências em matemática, gostaria que alguém me mostrasse como implementar lógica recursiva na 'estrutura de nós' do XML usando JavaScript.

Aqui está o resultado:JSFiddle

EDITAR Adicionado XML de amostra para arredondar esse tópico e excluir o código desnecessário. O XML usado para criar a função recursiva:

<ddm>
           <menu0 submenu="true"><name>Welcome</name>
                     <menu1>Home Page</menu1>
                     <menu1>Bulletin</menu1>
                </menu0>
                <menu0 submenu="true"><name>Members\' Area</name>
                    <menu1>Constitution &amp; Bylaws</menu1>
                    <menu1 submenu="true"><name>AGM Minutes</name>
                        <menu2>2012</menu2>
                        <menu2>2011</menu2>
                    </menu1>
                </menu0>
                <menu0>About</menu0>
            </ddm>

<ddm>

questionAnswers(1)

yourAnswerToTheQuestion