EJB Komponenta Pro Efektivní Ukládání SVG Obrázků

Total Page:16

File Type:pdf, Size:1020Kb

EJB Komponenta Pro Efektivní Ukládání SVG Obrázků MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY EJB komponenta pro efektivní ukládání SVG obrázků DIPLOMOVÁ PRÁCE Petr Nehyba Brno, 2012 Prohlášení Prohlašuji, že tato diplomová práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Vedoucí práce: RNDr. Radek Ošlejšek, Ph.D. ii Poděkování Děkuji RNDr. Radkovi Ošlejškovi, Ph.D. za jeho čas a cenné rady, které mi věnoval. iii Shrnutí Cílem diplomové práce je popsat možnosti ukládání SVG obrázků. Dále je shrnuto jak vytvořit Enterprise Java Bean komponentu, která umožňuje ukládat a vyhledávat anotované SVG obrázky. V práci je popsán tento grafický formát včetně rozšíření o anotační část vytvořenou pro účely projektu GATE. Dále jsou popsány možnosti ukládání XML dat. Práce poskytuje přehled open source XML databází. Poslední část se věnuje výběru nejvhodnějšího řešení a jeho implementaci. iv Klíčová slova: SVG, ASVG, G.A.T.E., EJB 3.1, Java EE 6, Nativní XML Databáze (NXD), BaseX, MonetDB, BerkeleyDB, Qizx, Sedna v Obsah 1 Úvod .............................................................................................................1 2 SVG.................................................................................................................2 2.1 Struktura SVG formátu............................................................................2 2.2 Anotované SVG obrázky.........................................................................4 2.2.1Ukázka anotovaného SVG.................................................................4 2.2.2Rozbor ukázkového ASVG................................................................6 2.2.2.1 Metadata...................................................................................7 2.2.2.2 Polygony...................................................................................8 3 Ukládání XML do databáze.............................................................................9 3.1 Rozdělení XML dokumentů....................................................................9 3.1.1Datově orientované XML..................................................................9 3.1.2Dokumentově orientované XML.....................................................10 3.1.3Zařazení anotovaného SVG.............................................................10 3.2 Rozdělení XML databází.......................................................................11 3.2.1XML-enabled databáze....................................................................12 3.2.2XML nativní databáze......................................................................12 4 Nativní XML databáze..................................................................................13 4.1 Aplikační programové rozhraní.............................................................14 4.1.1JDBC................................................................................................14 4.1.2XML:DB API...................................................................................15 4.1.3XQJ..................................................................................................16 4.1.4Webová API.....................................................................................17 4.1.5Vlastní API.......................................................................................17 4.2 Dotazovací jazyky.................................................................................18 4.2.1XPath................................................................................................18 4.2.2XQuery.............................................................................................18 4.2.3XUpdate...........................................................................................19 4.2.4XQuery Update Facility...................................................................20 4.3 Seznam nekomerčních NXD.................................................................20 5 Projekt............................................................................................................21 5.1 Funkční požadavky................................................................................21 5.2 EJB komponenta....................................................................................22 5.2.1Druhy EJB........................................................................................23 5.2.2Implementace ..................................................................................24 5.3 Sestavení XQuery dotazů......................................................................26 5.3.1Hledání v anotacích..........................................................................27 5.3.2Hledání v polygonech......................................................................27 5.4 Klientská aplikace..................................................................................28 5.5 Vybrané nativní XML databáze.............................................................28 5.5.1BaseX ..............................................................................................29 5.5.1.1 Příklad použití vlastního API.................................................30 5.5.2Berkeley DB XML ..........................................................................30 vi 5.5.2.1 Příklad použití........................................................................31 5.5.3MonetDB/XQuery ...........................................................................31 5.5.3.1 Příklad použití JDBC.............................................................32 5.5.4Qizx .................................................................................................32 5.5.4.1 Příklad použití........................................................................32 5.5.5Sedna................................................................................................33 5.5.5.1 Příklad použití XQJ................................................................33 5.5.5.2 Příklad použití XML:DB API................................................34 5.5.6Hodnocení vybraných NXD.............................................................35 5.6 Test výsledné aplikace...........................................................................35 5.7 Nastavení a možná rozšíření aplikace....................................................37 6 Závěr..............................................................................................................38 vii 1 Úvod Informační technologie jsou jedním z nejrychleji se rozvíjejících odvětví techniky. Lidstvo generuje stále více a více dat, nejen proto je potřeba vytvářet nástroje na uchovávání těchto informací. Každé odvětví lidské činnosti má své specifické potřeby, proto jde dopředu i vývoj různých databázových řešení. Ty tam jsou doby, kdy veškerým potřebám organizace postačovala relační databáze s několika tabulkami. Kvůli transformacím a agregaci dat je často vhodnější použít buďto nástavby nad klasickými databázemi a nebo přístupy zcela odlišné. Tato práce má za cíl prostudovat a popsat efektivní ukládání XML dat do databáze. Jedná se zejména o strukturovaný způsob (po XML elementech). SVG je deskriptivní značkovací jazyk rozšiřující standart XML. Díky své flexibilitě je tento grafický formát v poslední době často používán k zpřístupnění objektově orientované vektorové grafiky. Flexibilita formátu umožňuje použít SVG i pro rastrovou grafiku, zejména fotografie. Pro účely projektu GATE (Graphics Accessible to Everyone) [1] vytvořím serverovou komponentu, která umožní ukládat a vyhledávat obrázky podle jejich anotace. Úvodní část práce je stručným popisem formátu SVG. Navazuje popis rozšíření o anotaci v rámci projektu GATE, což umožňuje informovat uživatele o grafickém obsahu nevizuální formou. Pro názornost uvádím rozbor vzorového ASVG obrázku, který později poslouží ke stanovení požadavků na databázové řešení. Třetí kapitola popisuje možnosti ukládání XML dat do databáze a jednotlivé varianty těchto řešení. Další kapitola se zabývá nativními XML databázemi, jejich hlavní charakteristikou, podporovanými jazyky pro práci s XML a standardním aplikačním rozhraním. Důraz je kladen na open source technologie. Následuje projektová část, kde jsou nejprve popsány možnosti EJB technologií a vytvoření serverové EJB komponenty, dále navazuje návrh řešení pro ukládání anotovaných SVG obrázků. Popsáno je několik XML nativních databází a jejich nasazení. Poslední část kapitoly demonstruje vytvořenou testovací aplikaci, která zpřístupňuje funkcionalitu serverové komponenty. Závěr se věnuje hodnocení dosažených výsledků. Navrhnuta jsou možná rozšíření a upřesnění o další funkcionality. 1 2 SVG SVG (Scalable Vector Graphics) je v obecném smyslu jazyk, formát, platforma. Slouží pro popis dvoudimenzionální grafiky založeném na XML. Umožňuje popsat vektorovou grafiku a to jak statickou, tak dynamickou. Jedná se o otevřený standart vyvíjený organizací W3C [2]. Platforma SVG vyplňuje mezeru mezi grafickými formáty používanými na internetu. Podporuje tři typy grafických objektů: vektorovou grafiku, rastrové obrázky a klasický text. Tyto objekty mohou být vloženy dohromady v jednom SVG obrázku a podle dostupných funkcí upraveny. Díky podpoře XML jmenných prostorů je obsah lehce přístupný a prohledatelný např. moderními dotazovacími jazyky [3]. V době psaní této práce je aktuální verze 1.1, poslední úprava je z 16. srpna 2011. Kromě
Recommended publications
  • Bibliography of Erik Wilde
    dretbiblio dretbiblio Erik Wilde's Bibliography References [1] AFIPS Fall Joint Computer Conference, San Francisco, California, December 1968. [2] Seventeenth IEEE Conference on Computer Communication Networks, Washington, D.C., 1978. [3] ACM SIGACT-SIGMOD Symposium on Principles of Database Systems, Los Angeles, Cal- ifornia, March 1982. ACM Press. [4] First Conference on Computer-Supported Cooperative Work, 1986. [5] 1987 ACM Conference on Hypertext, Chapel Hill, North Carolina, November 1987. ACM Press. [6] 18th IEEE International Symposium on Fault-Tolerant Computing, Tokyo, Japan, 1988. IEEE Computer Society Press. [7] Conference on Computer-Supported Cooperative Work, Portland, Oregon, 1988. ACM Press. [8] Conference on Office Information Systems, Palo Alto, California, March 1988. [9] 1989 ACM Conference on Hypertext, Pittsburgh, Pennsylvania, November 1989. ACM Press. [10] UNIX | The Legend Evolves. Summer 1990 UKUUG Conference, Buntingford, UK, 1990. UKUUG. [11] Fourth ACM Symposium on User Interface Software and Technology, Hilton Head, South Carolina, November 1991. [12] GLOBECOM'91 Conference, Phoenix, Arizona, 1991. IEEE Computer Society Press. [13] IEEE INFOCOM '91 Conference on Computer Communications, Bal Harbour, Florida, 1991. IEEE Computer Society Press. [14] IEEE International Conference on Communications, Denver, Colorado, June 1991. [15] International Workshop on CSCW, Berlin, Germany, April 1991. [16] Third ACM Conference on Hypertext, San Antonio, Texas, December 1991. ACM Press. [17] 11th Symposium on Reliable Distributed Systems, Houston, Texas, 1992. IEEE Computer Society Press. [18] 3rd Joint European Networking Conference, Innsbruck, Austria, May 1992. [19] Fourth ACM Conference on Hypertext, Milano, Italy, November 1992. ACM Press. [20] GLOBECOM'92 Conference, Orlando, Florida, December 1992. IEEE Computer Society Press. http://github.com/dret/biblio (August 29, 2018) 1 dretbiblio [21] IEEE INFOCOM '92 Conference on Computer Communications, Florence, Italy, 1992.
    [Show full text]
  • Supporting SPARQL Update Queries in RDF-XML Integration *
    Supporting SPARQL Update Queries in RDF-XML Integration * Nikos Bikakis1 † Chrisa Tsinaraki2 Ioannis Stavrakantonakis3 4 Stavros Christodoulakis 1 NTU Athens & R.C. ATHENA, Greece 2 EU Joint Research Center, Italy 3 STI, University of Innsbruck, Austria 4 Technical University of Crete, Greece Abstract. The Web of Data encourages organizations and companies to publish their data according to the Linked Data practices and offer SPARQL endpoints. On the other hand, the dominant standard for information exchange is XML. The SPARQL2XQuery Framework focuses on the automatic translation of SPARQL queries in XQuery expressions in order to access XML data across the Web. In this paper, we outline our ongoing work on supporting update queries in the RDF–XML integration scenario. Keywords: SPARQL2XQuery, SPARQL to XQuery, XML Schema to OWL, SPARQL update, XQuery Update, SPARQL 1.1. 1 Introduction The SPARQL2XQuery Framework, that we have previously developed [6], aims to bridge the heterogeneity issues that arise in the consumption of XML-based sources within Semantic Web. In our working scenario, mappings between RDF/S–OWL and XML sources are automatically derived or manually specified. Using these mappings, the SPARQL queries are translated on the fly into XQuery expressions, which access the XML data. Therefore, the current version of SPARQL2XQuery provides read-only access to XML data. In this paper, we outline our ongoing work on extending the SPARQL2XQuery Framework towards supporting SPARQL update queries. Both SPARQL and XQuery have recently standardized their update operation seman- tics in the SPARQL 1.1 and XQuery Update Facility, respectively. We have studied the correspondences between the update operations of these query languages, and we de- scribe the extension of our mapping model and the SPARQL-to-XQuery translation algorithm towards supporting SPARQL update queries.
    [Show full text]
  • XML Transformations, Views and Updates Based on Xquery Fragments
    Faculteit Wetenschappen Informatica XML Transformations, Views and Updates based on XQuery Fragments Proefschrift voorgelegd tot het behalen van de graad van doctor in de wetenschappen aan de Universiteit Antwerpen, te verdedigen door Roel VERCAMMEN Promotor: Prof. Dr. Jan Paredaens Antwerpen, 2008 Co-promotor: Dr. Ir. Jan Hidders XML Transformations, Views and Updates based on XQuery Fragments Roel Vercammen Universiteit Antwerpen, 2008 http://www.universiteitantwerpen.be Permission to make digital or hard copies of portions of this work for personal or classroom use is granted, provided that the copies are not made or distributed for profit or commercial advantage and that copies bear this notice. Copyrights for components of this work owned by others than the author must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission of the author. Research funded by a Ph.D. grant of the Institute for the Promotion of Innovation through Science and Technology in Flan- ders (IWT-Vlaanderen). { Onderzoek gefinancierd met een specialisatiebeurs van het Instituut voor de Aanmoediging van Innovatie door Wetenschap en Technologie in Vlaanderen (IWT-Vlaanderen). Grant number / Beurs nummer: 33581. http://www.iwt.be Typesetting by LATEX Acknowledgements This thesis is the result of the contributions of many friends and colleagues to whom I would like to say \thank you". First and foremost, I want to thank my advisor Jan Paredaens, who gave me the opportunity to become a researcher and teached me how good research should be performed. I had the honor to write several papers in collaboration with him and will always remember the discussions and his interesting views on research, politics and gastronomy.
    [Show full text]
  • Access Control Models for XML
    Access Control Models for XML Abdessamad Imine Lorraine University & INRIA-LORIA Grand-Est Nancy, France [email protected] Outline • Overview on XML • Why XML Security? • Querying Views-based XML Data • Updating Views-based XML Data 2 Outline • Overview on XML • Why XML Security? • Querying Views-based XML Data • Updating Views-based XML Data 3 What is XML? • eXtensible Markup Language [W3C 1998] <files> "<record>! ""<name>Robert</name>! ""<diagnosis>Pneumonia</diagnosis>! "</record>! "<record>! ""<name>Franck</name>! ""<diagnosis>Ulcer</diagnosis>! "</record>! </files>" 4 What is XML? • eXtensible Markup Language [W3C 1998] <files>! <record>! /files" <name>Robert</name>! <diagnosis>! /record" /record" Pneumonia! </diagnosis> ! </record>! /name" /diagnosis" <record …>! …! </record>! Robert" Pneumonia" </files>! 5 XML for Documents • SGML • HTML - hypertext markup language • TEI - Text markup, language technology • DocBook - documents -> html, pdf, ... • SMIL - Multimedia • SVG - Vector graphics • MathML - Mathematical formulas 6 XML for Semi-Structered Data • MusicXML • NewsML • iTunes • DBLP http://dblp.uni-trier.de • CIA World Factbook • IMDB http://www.imdb.com/ • XBEL - bookmark files (in your browser) • KML - geographical annotation (Google Maps) • XACML - XML Access Control Markup Language 7 XML as Description Language • Java servlet config (web.xml) • Apache Tomcat, Google App Engine, ... • Web Services - WSDL, SOAP, XML-RPC • XUL - XML User Interface Language (Mozilla/Firefox) • BPEL - Business process execution language
    [Show full text]
  • Web and Semantic Web Query Languages: a Survey
    Web and Semantic Web Query Languages: A Survey James Bailey1, Fran¸coisBry2, Tim Furche2, and Sebastian Schaffert2 1 NICTA Victoria Laboratory Department of Computer Science and Software Engineering The University of Melbourne, Victoria 3010, Australia http://www.cs.mu.oz.au/~jbailey/ 2 Institute for Informatics,University of Munich, Oettingenstraße 67, 80538 M¨unchen, Germany http://pms.ifi.lmu.de/ Abstract. A number of techniques have been developed to facilitate powerful data retrieval on the Web and Semantic Web. Three categories of Web query languages can be distinguished, according to the format of the data they can retrieve: XML, RDF and Topic Maps. This ar- ticle introduces the spectrum of languages falling into these categories and summarises their salient aspects. The languages are introduced us- ing common sample data and query types. Key aspects of the query languages considered are stressed in a conclusion. 1 Introduction The Semantic Web Vision A major endeavour in current Web research is the so-called Semantic Web, a term coined by W3C founder Tim Berners-Lee in a Scientific American article describing the future of the Web [37]. The Semantic Web aims at enriching Web data (that is usually represented in (X)HTML or other XML formats) by meta-data and (meta-)data processing specifying the “meaning” of such data and allowing Web based systems to take advantage of “intelligent” reasoning capabilities. To quote Berners-Lee et al. [37]: “The Semantic Web will bring structure to the meaningful content of Web pages, creating an environment where software agents roaming from page to page can readily carry out sophisticated tasks for users.” The Semantic Web meta-data added to today’s Web can be seen as advanced semantic indices, making the Web into something rather like an encyclopedia.
    [Show full text]
  • Declarative Access to Filesystem Data New Application Domains for XML Database Management Systems
    Declarative Access to Filesystem Data New application domains for XML database management systems Alexander Holupirek Dissertation zur Erlangung des akademischen Grades Doktor der Naturwissenschaften (Dr. rer. nat.) Fachbereich Informatik und Informationswissenschaft Mathematisch-Naturwissenschaftliche Sektion Universität Konstanz Referenten: Prof. Dr. Marc H. Scholl Prof. Dr. Marcel Waldvogel Tag der mündlichen Prüfung: 17. Juli 2012 Abstract XML and state-of-the-art XML database management systems (XML-DBMSs) can play a leading role in far more application domains as it is currently the case. Even in their basic configuration, they entail all components necessary to act as central systems for complex search and retrieval tasks. They provide language-specific index- ing of full-text documents and can store structured, semi-structured and binary data. Besides, they offer a great variety of standardized languages (XQuery, XSLT, XQuery Full Text, etc.) to develop applications inside a pure XML technology stack. Benefits are obvious: Data, logic, and presentation tiers can operate on a single data model, and no conversions have to be applied when switching in between. This thesis deals with the design and development of XML/XQuery driven informa- tion architectures that process formerly heterogeneous data sources in a standardized and uniform manner. Filesystems and their vast amounts of different file types are a prime example for such a heterogeneous dataspace. A new XML dialect, the Filesystem Markup Language (FSML), is introduced to construct a database view of the filesystem and its contents. FSML provides a uniform view on the filesystem’s contents and allows developers to leverage the complete XML technology stack on filesystem data.
    [Show full text]
  • Standardised Xquery 3.0 Annotations for REST
    RESTful XQuery Standardised XQuery 3.0 Annotations for REST Adam Retter Adam Retter Consulting <[email protected]> January, 2012 Abstract Whilst XQuery was originally envisaged and designed as a query language for XML, it has been adopted by many as a language for application development This, in turn, has encouraged additional and diverse extensions, many of which could not easily have been foreseen. This paper examines how XQuery has been used for Web Application development, current implementation approaches for executing XQuery in a Web context, and subsequently presents a proposal for a standard approach to RESTful XQuery through the use of XQuery 3.0 Annotations. Keywords: XQuery 3.0, Annotations, REST, HTTP, Standard 1. Introduction 1.1 Background XML Query Language (XQuery) was originally born from several competing query languages for XML[1]. All of these languages had in common the noble yet limited goal of querying XML. They focused on XML as a read-only store for data. In addition, whilst several of these predecessors recognised the Web as a critical factor, like their successor XQuery, none of them attempted to implement constructs in the language that supported use as a (Web) server-side processing language. With the adoption and use of XQuery, because of its functional nature and module system which permit the organisation of code units, people attempted to write complex processing applications in XQuery. As the limits of what was achievable in XQuery were tested, real world scenarios emerged which called for additional XQuery facilities, resulting in extension standards: XPath and XQuery Update[2] and XQuery Full-Text[3].
    [Show full text]
  • Xpath, Xquery and XSLT
    XPath, XQuery and XSLT Timo Lilja February 25, 2010 Timo Lilja () XPath, XQuery and XSLT February 25, 2010 1 / 24 Introduction When processing, XML documents are organized into a tree structure in the memory All XML Query and transformation languages operate on this tree XML Documents consists of tags and attributes which form logical constructs called nodes The basic operation unit of these query/processing languages is the node though access to substructures is provided Timo Lilja () XPath, XQuery and XSLT February 25, 2010 2 / 24 XPath XPath XPath 2.0 [4] is a W3C Recomendation released on January 2007 XPath provides a way to query the nodes and their attributes, tags and values XPath type both dynamic and static typing if the XML Scheme denition is present, it is used for static type checking before executing a query otherwise nodes are marked for untyped and they are coerced dynamically during run-time to suitable types Timo Lilja () XPath, XQuery and XSLT February 25, 2010 3 / 24 XPath Timo Lilja () XPath, XQuery and XSLT February 25, 2010 4 / 24 XPath Path expressions Path expressions provide a way to choose all matching branches of the tree representation of the XML Document Path expressions consist of one or more steps separated by the path operater/. A step can be an axis which is a way to reference a node in the path. a node-test which corresponds to a node in the actual XML document zero or more predicates Syntax for the path expressions: /step/step Syntaxc for a step: axisname::nodestest[predicate] Timo Lilja () XPath, XQuery and XSLT February 25, 2010 5 / 24 XPath Let's assume that we use the following XML Docuemnt <bookstore> <book category="COOKING"> <title lang="it">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K.
    [Show full text]
  • Database Architecture Evolution: Mammals Flourished Long Before Dinosaurs Became Extinct
    Database Architecture Evolution: Mammals Flourished long before Dinosaurs became Extinct Stefan Manegold Martin L. Kersten Peter Boncz CWI, Amsterdam, The Netherlands {manegold,mk,boncz}@cwi.nl ABSTRACT building block for realizing more complex structures (such as ta- The holy grail for database architecture research is to find a solution bles, but also objects and even trees or graphs). that is Scalable & Speedy, to run on anything from small ARM In this paper, we summarize the quest to renovate database ar- processors up to globally distributed compute clusters, Stable & chitecture with the goal of addressing data management needs with Secure, to service a broad user community, Small & Simple, to be a common core rather than bolting on new subsystems [38], and comprehensible to a small team of programmers, Self-managing, to pushing through the functionality plateau, especially using self- let it run out-of-the-box without hassle. adaptation, exploiting resource optimization opportunities as they In this paper, we provide a trip report on this quest, covering appear dynamically, rather than by static prediction. This quest both past experiences, ongoing research on hardware-conscious al- covers the major design space choices, experiences gained and on- gorithms, and novel ways towards self-management specifically fo- going research around the MonetDB system. cused on column store solutions. In all, this story demonstrates the viability of new self-adaptive life-forms that may be very successful yet are very different from the long existing species. In this, the MonetDB strain forms an 1. INTRODUCTION open platform available for all who want to explore further evolu- Forty years of relational database technology seemingly con- tion in the data management ecosystem.
    [Show full text]
  • Document and Schema XML Updates
    361 Chapter 16 Document and Schema XML Updates Dario Colazzo Laboratoire de Recherche en Informatique (LRI-CNRS), Université de Paris-Sud, France Giovanna Guerrini DISI – Università degli Studi di Genova, Italy Marco Mesiti DICo – Università degli Studi di Milano, Italy Barbara Oliboni DI – Università degli Studi di Verona, Italy Emmanuel Waller Laboratoire de Recherche en Informatique (LRI-CNRS), Universite de Paris-Sud, France ABSTRACT Purpose of this chapter is to describe the different research proposals and the facilities of main enabled and native XML DBMSs to handle XML updates at document and schema level, and their versions. Specifically, the chapter will provide a review of various proposals for XML document updates, their different semantics and their handling of update sequences, with a focus on the XQuery Update proposal. Approaches and specific issues concerned with schema updates will then be reviewed. Document and schema versioning will be considered. Finally, a review of the degree and limitations of update support in existing DBMSs will be discussed. INTRODUCTION (W3C, 2004). Both XML native (e.g., Tamino, eXist, TIMBER) and enabled (e.g., Oracle, IBM DB2, SQL XML (W3C, 1998) is nowadays everywhere Server) DBMSs have been so far proposed (Bourret, employed for the representation and exchange of 2007) for storing and querying XML documents. information on the Web. The document structure is Some enabled DBMSs support XML schema for often described through a DTD or an XML schema the specification of a mapping between the XML schema and internal relational or object-relational DOI: 10.4018/978-1-61520-727-5.ch016 representation of XML documents (Florescu & Copyright © 2010, IGI Global.
    [Show full text]
  • Xquery Update
    V. Christophides, I. Fundulaki, CS561 Spring 2010 XQuery Update 1 V. Christophides, I. Fundulaki, CS561 Spring 2010 Why XQuery Update XQuery is a read-only language it can return (compute) an instance of the XQuery Data Model, but it cannot modify an existing instance Applications require reading and updating XML data XQuery Update Facility a candidate recommendation, not yet a standard http://www.w3.org/TR/xquery-update-10/ (June 2009) 2 V. Christophides, I. Fundulaki, CS561 Spring 2010 Requirements for the XQuery Update language Expressive power: 1. Insert 2. Delete 3. Update 4. Copy with new identity Extension of XQuery itself: Simplifies understanding and learning the language Well-defined semantics (kind of) Amenable to efficient implementation 3 V. Christophides, I. Fundulaki, CS561 Spring 2010 XQuery Update Concepts XQuery expressions can be classified into: Updating expressions Non-updating expressions XQuery Update proposal introduces five new kind of expressions: insert, delete, replace, rename: updating expressions transform: non-updating expression 4 V. Christophides, I. Fundulaki, CS561 Spring 2010 XQuery Update Document XQuery Update specifies: how the XQuery syntax is extended to accommodate updates syntax, semantics and processing model for each new updating expression 5 V. Christophides, I. Fundulaki, CS561 Spring 2010 Extending XQuery with Updates 6 V. Christophides, I. Fundulaki, CS561 Spring 2010 Insert Expression Updating expression Syntax SourceExpr evaluates to 0 or more source nodes TargetExpr evaluates
    [Show full text]
  • Xquery 3.0 69 Higher-Order Functions 75 Full-Text 82 Full-Text/Japanese 85 Xquery Update 87 Java Bindings 91 Packaging 92 Xquery Errors 95 Serialization 105
    BaseX Documentation Version 7.2 PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 24 Mar 2012 17:30:37 UTC Contents Articles Main Page 1 Getting Started 3 Getting Started 3 Startup 4 Startup Options 6 Start Scripts 13 User Interfaces 16 Graphical User Interface 16 Shortcuts 20 Database Server 23 Standalone Mode 26 Web Application 27 General Info 30 Databases 30 Binary Data 32 Parsers 33 Commands 37 Options 50 Integration 64 Integrating oXygen 64 Integrating Eclipse 66 Query Features 68 Querying 68 XQuery 3.0 69 Higher-Order Functions 75 Full-Text 82 Full-Text/Japanese 85 XQuery Update 87 Java Bindings 91 Packaging 92 XQuery Errors 95 Serialization 105 XQuery Modules 108 Cryptographic Module 108 Database Module 113 File Module 120 Full-Text Module 125 HTTP Module 128 Higher-Order Functions Module 131 Index Module 133 JSON Module 135 Map Module 140 Math Module 144 Repository Module 148 SQL Module 149 Utility Module 153 XSLT Module 157 ZIP Module 160 ZIP Module: Word Documents 162 Developing 164 Developing 164 Integrate 165 Git 166 Maven 172 Releases 174 Translations 175 HTTP Services 176 REST 176 REST: POST Schema 184 RESTXQ 185 WebDAV 189 WebDAV: Windows 7 190 WebDAV: Windows XP 192 WebDAV: Mac OSX 195 WebDAV: GNOME 197 WebDAV: KDE 199 Client APIs 201 Clients 201 Standard Mode 202 Query Mode 203 PHP Example 205 Server Protocol 206 Server Protocol: Types 210 Java Examples 212 Advanced User's Guide 214 Advanced User's Guide 214 Configuration 215 Catalog Resolver 216 Statistics 218 Backups 222 User Management 222 Transaction Management 224 Logging 225 Events 226 Indexes 228 Execution Plan 230 References Article Sources and Contributors 231 Image Sources, Licenses and Contributors 233 Article Licenses License 234 Main Page 1 Main Page Welcome to the documentation of BaseX! BaseX [1] is both a light-weight, high-performance and scalable XML Database and an XPath/XQuery Processor with full support for the W3C Update and Full Text extensions.
    [Show full text]