У меня есть следующие данные:XQuery - Как создать карту, используя следующие данные?
<courses>
<course subjectId="3" name="World War II"/>
<course subjectId="5" name="Algebra I"/>
<course subjectId="5" name="Statistics"/>
<course subjectId="15" name="Physics"/>
<course subjectId="5" name="Algebra II"/>
<course subjectId="15" name="Chemistry"/>
</courses>
Я хотел бы создать сценарий XPATH таким образом, что она производит следующую карту:
map {
'3': ('<course subjectId="3" name="World War II"/>'),
'5': ('<course subjectId="5" name="Algebra I"/>', '<course subjectId="5" name="Algebra II"/>', '<course subjectId="5" name="Statistics"/>'),
'15': ('<course subjectId="15" name="Physics"/>', '<course subjectId="15" name="Chemistry"/>')
}
Как я могу это сделать?
На самом деле я хочу, чтобы поместить узел его self (не сериализуется в строке). Кроме того, указанный выше запрос кажется немного неэффективным. Например, если бы у меня были курсы «n'0», ему нужно было бы перебирать максимум n^2 раза, если я правильно ее понимаю. Я хотел просто повторить его один раз. –
Ну, эффективность полностью зависит от оптимизатора. Да, вы с большей вероятностью получите достойную эффективность, если используете XQuery 3.0 «group by» или XSLT для каждой группы. Но вы сказали, что хотите получить чистое решение XPath. –
Извинения, я снова написал это неправильно. Мне нужно решение XQuery. –