При использовании языка, подобного XQuery, старайтесь не вводить его в другую парадигму: не пытайтесь использовать подход, который работает с одним языком (или семейством языков), когда это не подходит.
Языки построены вокруг моделей данных, а модель данных XDM построена на XML, а XML был разработан для разметки документов.Это влияет на мышление дизайнеров, и чтобы успешно использовать его, нужно понимать это мышление.Он не объектно-ориентирован, потому что документы не объектно-ориентированы.
XQuery 1.0, как вы говорите, не имеет динамического связывания или полиморфизма, и это действительно затрудняет решение некоторых проблем (документы, безусловно, часто бывают очень полиморфными.).Наверное, поэтому XSLT сохранил свою популярность в конкурентной борьбе.Конечно, есть причина, которая заключается в том, что XQuery, поскольку он статически анализируем, очень поддается оптимизации, которая имеет огромное значение при запросах больших баз данных.
XQuery 3.0 ввел динамическое связываниечерез механизм первоклассных функций.Этот подход отличается от наследования и полиморфизма объектно-ориентированных языков, но он не менее мощный, и у него есть то преимущество, что он не мешает статической оптимизации, когда вы его не используете.