Использование CRUD в xQuery

Могу ли я использовать файл XML в качестве хранилища данных, а xQuery для операций создания, чтения, обновления и удаления данных? Где я могу прочитать об этом? Какое расширение xQuery обеспечивает операции CRUD?


person soif    schedule 17.05.2012    source источник


Ответы (3)


Вы абсолютно можете. См. Руководство для начинающих по XRX. В этом руководстве используется бесплатная собственная база данных XML eXist-db с открытым исходным кодом для обеспечения в расширениях для доступа к данным HTTP-запроса. краткая, хорошо иллюстрированная презентация XRX и CRUDS от Дэн МакКрири также дает обзор.

person Joe Wicentowski    schedule 18.05.2012

XQuery Scripting отлично подходит для операций CRUB. Вот пример:

variable $stores := doc("stores.xml")/stores;

(: Create :)
insert node <store><store-number>4</store-number><state>TX</state></store> into $stores;
(: Update :)
replace value of node $stores/store[state="TX"]/store-number with "5";
(: Delete :)
delete node $stores/store[state != "TX"];
(: Read :)
$stores

Вы можете опробовать этот пример на сайте http://www.zorba-xquery.com/html/demo#J7reoq76cdLWeQR+MG9X0MuczwQ=

person wcandillon    schedule 18.05.2012
comment
Классная страница, Уильям. К сожалению, когда я нажимаю на эту ссылку, она говорит, что в запросе есть ошибка: (без URI): 6,1: ошибка типа обновления [err: XUTY0008]: целевое выражение не содержит ни одного элемента, атрибута, текста, комментария или обработки. узел инструкции. - person Joe Wicentowski; 19.05.2012

Есть также три Викиучебника, которые могут оказаться полезными:

http://en.wikibooks.org/wiki/XQuery
http://en.wikibooks.org/wiki/XForms
http://en.wikibooks.org/wiki/XRX

Я думаю, что XRX — это, пожалуй, самый простой и элегантный способ дать возможность непрограммистам создавать сложные веб-приложения. Хорошая среда XRX позволяет любому, кто знает выражения «Путь» к своим данным (XPath), создавать и поддерживать веб-приложения. Слой объектно-реляционного отображения больше не нужен.

person Dan McCreary    schedule 18.05.2012