Ответ 1
В то время как XQuery может использоваться для простых преобразований, ему не хватает мощности и разрешения XSLT (особенно шаблонов и инструкции <xsl:apply-templates>
).
XSLT - это язык, специально предназначенный для обработки древовидных структур. Это все еще лучше.
В случаях, когда вы обращаетесь к базе данных XML, было бы правильным решением использовать (эффективность) XQuery для извлечения необходимых узлов XML, а затем сделать преобразование с XSLT отсюда. Некоторые процессоры XSLT 2.x/XQuery позволяют это (через расширения) даже сейчас. Следующая волна спецификаций XSLT 2.x/XQuery 1.x, скорее всего, сделает такую совместимость официальной особенностью этих языков.