Разница между XPath, XQuery и XPointer


в чем разница между XPath,XQuery и XPointer? Насколько я знаю, XQuery является расширенной версией XPath. У меня есть некоторые базовые знания XPath. Есть ли какая-либо функция, доступная в XPath чего нет в XQuery? Вчера я услышал новое слово,XPointer. Я в замешательстве. Какой язык используется для каких целей?

4 56

4 ответа:

Википедия-хорошее место для начала таких вопросов. В общем, XPath - это язык, используемый для краткого определения точных узлов XML в DOM. XQuery является надмножеством XPath, который также обеспечивает FLWOR синтаксис, который похож на SQL. Наконец, XPointer включает XPath, но также обеспечивает более простую позиционную схему адресации.

конечно, вы всегда можете прочитать спецификации W3C для получения полной информации.

хотя ответ Матфея дает хорошее первое впечатление, есть намного больше, чтобы рассказать об упомянутых стандартах, и есть еще много, которые связаны. Существует хорошая статья из журнала XML Holland user group, доступного в интернете, которая много рассказывает об истории XQuery и учитывает различные из этих стандартов в перспективе. Первая часть здесь вполне уместна:

XQuery расшифровывается как язык запросов XML. Это уже говорит о сути. Это язык для выбора подмножеств и подструктур из большого набора XML-файлов. Результатом можно манипулировать в нечто, что подходит для использования, например, в последующем процессе или для отображения в веб-браузере. XPath используется много в XQuery.

все стандарты XML имеют свою собственную область применения. Я назову несколько. XSLT - это язык для преобразования XML в другой формат. XPointer - это расширение XPath для более точного обращения к узлам в XML-фрагментах или даже подразделах узлов. использование является стандартом для определения отношений. XInclude является стандартом для составления нескольких частей XML в один, используя, например, отношения XLink. И XProc это стандарт, с помощью которого можно описать, как XML-документы должны быть обработаны, чтобы получить желаемый конечный результат. Он выражается в XML и описывает процесс шаг за шагом, также называется XML-конвейеры. В XProc вы используете языки a.o. XQuery, XSLT и XInclude (и, таким образом, косвенно XPath, XPointer и XLink), чтобы выразить то, что нужно сделать точно в каждом шаге.

все эти стандарты связаны между собой. Они связаны и зависят друг от друга. Перекрытие между некоторыми из упомянутых стандартов XML суммируется довольно хорошо в следующем изображении, которое вы также можете найти по адресу W3Schools:

What is XPath

Полная статья может быть найдена здесь:http://grtjn.blogspot.nl/2011/10/xquery-novelties-revisited.html

НТН!

Ну, я думаю, что XQuery-это то, что стоит отличать. XPath и XPointer почти одинаковы и используются для выбора узлов XML. XQuery, с другой стороны, является довольно большим расширением XPath. Например, это дает возможность объявления пользовательских функций. Так что это больше похоже на язык программирования, который работает изначально с XML. Вы можете проверить некоторые образцы здесь: встраивание-xquery-in-java

в отношении

XPath намеренно ограничивается чтением существующих узлов.

Как XSLT, XQuery может создавать узлы. Он также может обновлять узлы (с помощью средства обновления XQuery).

с моей точки зрения реализации XQuery; -)