En una primer leida, te diria que cuando comparas las posicion con el largo, no deberías hacerlo con el largo del valor (.nodeValue), sino con la coleccion entera.
Sustituye esto
Código:
xml.getElementsByTagName('nombre')[pos].firstChild.nodeValue.length
Por esto
Código:
xml.getElementsByTagName('nombre').length