У меня есть файл XML, который содержит информацию об инструкторах тренажерного зала (мониторах) и их деятельности (actividades). Я застрял, пытаясь создать запрос, который связывает атрибут кода монитора из элемента деятельностей с подробностями каждого монитора в элементе мониторов.
Точная задача, о которой идет речь, такова: «Вернуть детали каждого монитора, который Обучает операции с двумя или более другими мониторами. "
В элементе действий есть два элемента с двумя мониторами. Я могу получить их, используя следующий код:
for $test in doc("polideportivo.xml")/polideportivo/actividades/actividad/monitores
where count($test/monitor) > 1
return data($test/monitor/@codigo)
, который дает мне результаты атрибутов кода, которые появляются более одного раза в каждом действии:
<results>m002 m003 m004 m005</results>
Но моя проблема заключается в ссылках эти коды для кодов мониторов в элементе monitores.
Сначала я подумал о применении приведенного выше кода к переменной с помощью let, но он показывает все атрибуты деятельности, а не только те, которые имеют 2 или более.
Может ли кто-нибудь указать мне правильное направление?
Ниже я оставлю фрагмент XML:
<polideportivo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="polideportivo.xsd">
<monitores>
<monitor codigo="m001">
<nombre>Mario</nombre>
<apellidos>Cansado Pérez</apellidos>
<telefono>968222222</telefono>
<salario>1200</salario>
</monitor>
<monitor codigo="m002">...</monitor>
<monitor codigo="m003">...</monitor>
<monitor codigo="m004">...</monitor>
<monitor codigo="m005">...</monitor>
</monitores>
<actividades>
<actividad codigo="a10">
<nombre>Pilates</nombre>
<duracion>55</duracion>
<intensidad>Ligero</intensidad>
<lugar>Sala Fitness</lugar>
<horario>...</horario>
<monitores>
<monitor codigo="m001"/>
</monitores>
</actividad>
<actividad codigo="a20">
<nombre>Crosstraining</nombre>
<duracion>55</duracion>
<intensidad>Fuerte</intensidad>
<lugar>Sala Fitness</lugar>
<horario>
<sesion>
<día>Martes</día>
<horas>
<hora>10:00</hora>
<hora>16:00</hora>
<hora>20:00</hora>
</horas>
</sesion>
</horario>
<monitores>
<monitor codigo="m002"/>
<monitor codigo="m003"/>
</monitores>
</actividad>