2008-11-21 13 views
9

Wiem, jak znaleźć to, czego potrzebuję z XML przy użyciu XPath. Składnia trochę się przyzwyczaja, ale jest dość potężna. Interesuje mnie również nauka XQuery, ale składnia podobna do SQL wydaje się niezręczna. Mimo to, jeśli może dostarczyć nie tylko wybrany ekwiwalent, ale także zaktualizować, wstawić i usunąć, jak robi to SQL, wybaczę całą niezręczność.Czy XQuery (lub XPath) ma odpowiedniki aktualizacji, wstawiania i usuwania, a także Wybierz?

Czy XQuery ma odpowiedniki Update, Insert i Delete oraz Select?

Czy XPath ma te odpowiedniki, które przeoczyłem?

Odpowiedz

14

Nr Żadna z XPath lub XQuery nie ma funkcji aktualizacji/wstawiania/usuwania SQL.

Należy sprawdzić implementację "XQuery 1.0 Update Facility".

W tej chwili (listopad 2008), trzy takie są znane:

  1. SaxonSA XSLT and XQuery Processor - przez Michael Kay; Obsługiwane od wersji 9.1, ale tylko w wersji komercyjnej.
  2. MonetDB/XQuery - Procesor XQuery open source na szczycie relacyjnej bazy danych systemu MonetDB.
  3. XQilla - Biblioteka przetwarzania XQuery z otwartym źródłem (ASL2.0) z obsługą najnowszych funkcji aktualizacji XQuery. XQilla jest napisany w C++ i zawiera powłokę wykonywalną wiersza poleceń, aby wykonywać kwerendy przeciwko zawartości XML przechowywanej w lokalnym systemie plików. Ta biblioteka jest aktywnie rozwijana i jest częścią obsługiwanego produktu Oracle, Berkeley DB XML.
+0

BaseX obsługuje również XQUF. –

+0

@CharlesDuffy: Jasne, ale w 2008 roku sądzę, że BaseX wciąż nie było w pobliżu. –

4

XPath to język służący do adresowania części dokumentu XML. Więc nie może mieć żadnego oświadczenia DML. Jest to instrukcja select z definicji.

+0

To prawda dla XPath. XQuery ma jednak formalnie wystandaryzowane rozszerzenie, które pozwala na aktualizacje. –