Okee, een paar dingen

XML is geen database, maar een datastructuur. (major diff.)
XML is KVC. KVC is niet sorteerbaar (KVC - Key Value Coding. ie: <Key> = <Value>). je zult het dus, zoals je zelf al voorstelde, alles in een array gooien, en die sorteren. de simpelste manier is uiteraard een array met enkel de keys bij te houden, en die te sorteren 
het n-de element in de table, is dan de n-de key, welke je toegang geeft tot de n-de bijbehorende data...
Ik ben verre van thuis in RB, maar dit is zoals ik het zou doen