Весела Коледа!
Във вариант 1, хората от примерния "XML" винаги ли имат само 2 атрибута (name и address), или може да имат произовлен к брой атрибути? Питам, защото се опитвам да разбера как трябва да изглежда дървовидното представяне на данните в решението.
Също операторът [] ми е малко странен. Според примера, person/address[0] трябва да върне първия елемент "адрес", за всеки човек от файла. Как така може да има повече от един адрес за един и същи човек, че да бъдат индексирани?