Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

Хотя ответ Мэтью дает хорошее первое впечатление, есть намного больше, чтобы рассказать об упомянутых стандартах, и есть много других, которые связаны. Существует хорошая статья из журнала группы пользователей XML Holland, доступная в Интернете, которая много рассказывает об истории XQuery и рассматривает различные эти стандарты в перспективе. Здесь важна первая часть:

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

Все стандарты XML имеют свои собственные возможности. Ill назвать несколько. XSLT - это язык для преобразования XML в другой формат. XPointer - это расширение XPath для более точного определения узлов в XML-фрагментах или даже подстроках узлов. XLink является стандартом для определения отношений. 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

НТН!

Ответ 3

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

Привет

Ответ 4

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

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

С моей точки зрения разработчика XQuery; -)