XQuery против XSLT для преобразования данных - PullRequest
19 голосов
/ 09 июня 2010

Что вы используете в своих приложениях для преобразования данных XML в другие типы данных?ПОЧЕМУ?

Ответы [ 3 ]

14 голосов
/ 09 июня 2010

Хотя XQuery может использоваться для простых преобразований, ему не хватает мощности и мягкости XSLT (особенно шаблонов и инструкции <xsl:apply-templates>).

XSLT - это язык, который был особеннопредназначен для обработки древовидных структур.Это все еще лучше всего сделать.

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

1 голос
/ 09 июня 2010

Если вы посмотрите на запись в Википедии , у них есть раздел, который сравнивает их.

На мой взгляд, я вижу XSLT в качестве программируемого уровня представления данных.

0 голосов
/ 09 июня 2010

В зависимости от того, какой тип «преобразования» вам нужен, XQuery позволяет вам выполнять запросы к вашим данным XML, немного похоже на SQL.

XSLT позволяет применять стиль к XML, как CSS делает с HTML.

...