Zorba (procesor XQuery) - Zorba (XQuery processor)
Zorba je open source procesor dotazů napsaný v C ++, implementace
Zorba je distribuována pod Licence Apache Verze 2.0. Projekt je podporován hlavně FLWOR Foundation, Věštec, a 28 ms.
Specifikace
Zorba poskytuje implementaci následujících W3C Specifikace:
- XQuery 1.0
- XQuery 3.0
- Aktualizační nástroj XQuery 1.0
- XQuery a XPath Full Text 1.0
- Syntaxe XML pro XQuery 1.0
- Schéma XML
- Transformace XSL (XSLT)
- Objekty formátování XSL
Zorba také poskytuje implementace:
Skriptování
Skriptovací přípona je otevřená specifikace, která poskytuje sémantiku vedlejších účinků v programech XQuery nebo JSONiq. Poskytuje také uživatelsky přívětivou syntaxi pro imperativní programování Následující fragment kódu je příkladem syntaxe skriptování. Vypočítá sekvenci obsahující všechna Fibonacciho čísla, která jsou menší než 100.
(: toto je prohlášení deklarace proměnné :)proměnná $A tak jako xs: integer := 0;proměnná $b tak jako xs: integer := 1;proměnná $C tak jako xs: integer := $A + $b;proměnná $fibseq tak jako xs: integer* := ($A, $b);zatímco ($C lt 100) { (: toto je prohlášení o přiřazení proměnné :) $fibseq := ($fibseq, $C); $A := $b; $b := $C; $C := $A + $b;}$fibseq
Následuje příklad Operace CRUD pomocí skriptování, XQuery a aktualizace XQuery.
proměnná $obchody := doc(„stores.xml“)/obchody;
(: Vytvořit :)vložit uzel <obchod><store-number>4</store-number><Stát>NY</Stát></obchod> do $ obchodů;
(: Aktualizace :)nahradit hodnota z uzel $obchody/obchod[Stát=„NY“]/číslo obchodu s "5";
(: Smazat :)vymazat uzel $obchody/obchod[Stát != „NY“];
(: Číst :)$obchody
Data Definition Facility
Data Definition Facility poskytuje sémantiku pro trvalé artefakty, jako jsou kolekce a indexy v programech XQuery nebo JSONiq. Například následující fragmenty kódu deklarují kolekci s názvem záznamů a index této kolekce s názvem vstup.
modul jmenný prostor G = „http://www.zorba-xquery.com/guestbook“;import modul jmenný prostor db = „http://www.zorba-xquery.com/modules/store/static/collections/dml“;prohlásit jmenný prostor an = „http://www.zorba-xquery.com/annotations“;(: Deklaruje kolekci s názvem entries :)prohlásit sbírka G:záznamů tak jako živel(vstup);(: Deklaruje proměnnou, která odkazuje na kolekci g: entries :)prohlásit proměnná $g: záznamy := xs: QName('g: entries');(: Deklaruje indexovanou položku nad kolekcí položek :)prohlásit % an: automatické % hodnota-rovnostindexg: vstup na uzly db:sbírka(xs: QName('g: entries')) podle xs:tětiva(@id) tak jako xs: řetězec;
Úložný prostor
Zorba poskytuje zásuvné úložiště, takže jej lze použít v různých druzích prostředí: disk, databáze, prohlížeč. Ve výchozím nastavení je Zorba vytvořena s hlavním úložištěm paměti.28 ms realizuje obchod na vrcholu MongoDB.v XQuery v prohlížeči Projekt postavil plugin prohlížeče pro Zorbu a využívá DOM jako svůj obchod.
API
Zorba je použitelná prostřednictvím různé hostitelské jazyky: C ++, C, XQJ / Java, PHP, Python, C #, Ruby a dokonce XQuery / JSONiq.
Zorba je také k dispozici jako nástroj příkazového řádku.
XQDT je plugin XQuery pro Zatmění (IDE). Plně podporuje Zorba API a syntaxi.
Moduly
Zorba poskytuje více než 70 modulů XQuery pro vytváření aplikací. Některé z těchto modulů jsou:
- Souborový systém, e-mail, klient HTTP, klient OAuth
- Zpracování datového modelu XQuery a JSONiq: psaní, atomické položky a uzly.
- Fulltext: tokenizer, stemmer, vyhledávání tezauru.
- Čištění dat: fonetické podobnosti, nastavení podobností, převody.
- Konverze dat: Base64, CSV, HTML, JSON, XML
- Formátování dat: XSL-FO
- Introspekce a reflexe
- Kryptografie
- Zpracování obrazu