XSLT - A Beginner's Glossary
|
|
- Bonnie Fleming
- 3 years ago
- Views:
Transcription
1 XSL Transformations, Database Queries, and Computation 1. Introduction and Overview XSLT is a recent special-purpose language for transforming XML documents Expressive power of XSLT? Pekka Kilpelainen University of Helsinki Department of Computer Science February 18, 2000 Usability of XSLT for typical data manipulation? Results Ways to simulate relational algebra using XSLT operations Any computation can be simulated using XSLT XSLT (XSL Transformations) W3C Recommendation, Nov. 16, 1999 Overview of the rest of the talk 2. XSL transformations 3. Relational database model 4. Relational queries using XSLT 5. XSLT computability 6. Conclusion a language for transforming XML documents into other XML documents XML (Extensible Markup Language), W3C Recommendation, 1998 a way of representing hierarchical structures (trees) by marked-up documents <Example>See: <fig ref="pic1.gif"/></example> No (processing, formatting, or rendering) semantics xed for the markup; structure and content the only concerns ; formatting semantics attached to XML documents using stylesheets Primary purpose of XSLT: to be used together with the (forthcoming) XML stylesheet language XSL 3 4
2 XSLT uses XPath (XML Path Language), W3C Rec., Nov. 16, 1999, for addressing parts of XML documents Also in XPath: basic manipulation of strings, numbers and booleans XPath tree for the Example document Major components of XML trees / element nodes as internal nodes attribute nodes attached to element nodes text nodes (or empty element nodes) as leaves XPath & XSLT: an additional root node, '/' "See: " Example fig ref= pic1.gif (Cf. Unix/Linux le system hierarchy) 5 6 XSLT syntax and semantics An XSLT stylesheet is an XML document creates a result tree by applying templates to nodes of the source tree a mixture of XSLT instructions and XML markup for result tree fragments Uses XML namespaces to distinguish between XSLT instructions and result fragments separation of (possibly overlapping) sets of names by using a local prex (e.g. 'xsl:') bound to a globally unique URI (e.g., ' 7 An example <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/example"> <html><head> <title>an example</title> </head> <body> <xsl:apply-templates/> </body> </html> </xsl:template> <xsl:template match="fig"> <img src="{@ref}" alt="some picture" /> </xsl:template> </xsl:stylesheet> Result <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN <html> <head> <title>an example</title> </head> <body>see: <img src="pic1.gif" alt="some picture"></body> </html> 8
3 A sample DB (of a credit card company) 3. Relational database model (Codd 1970) Basis of today's commercial relational databases database: collection of uniquely named tables (or relations) V (Vendor) Vno Vname City Vbal 1 Sears Toronto Kmart Waterloo Esso Windsor Esso Waterloo 2.25 C (Customer) Acc# Cnam Prov Cbal Max 101 Smith Ont Jones BC Doc Ont relation is a set of rows (or tuples) column = attribute T (Transaction) Tno Vno Acc# Date Amount Relational algebra a procedural query language for basic manipulation of tabular data Fundamental operations 1. select, (R), where is a condition on rows of relation R 2. project, A (R), where A is list of attributes of R 3. Cartesian product, R1 R2 4. union, R1 [ R2 5. set dierence, R1, R 2 6. renaming of attributes, A!B(R) 4. Relational queries using XSLT What's the point? XSLT is not a DB implementation language! Answer: 1. Study of theoretical expressiveness 2. Study of practical usability (or of XSLT programming techniques) in typical data manipulation Others based on the above operations, e.g., join r 1 s ::::::(r s) 11 12
4 How to select, say \Vendors in Waterloo"? Database as an XML document Relational algebra: City='Waterloo' (V ) <db descr="a toy credit card database"> <C><!-- Customer --> <t Acc="101" Cnam="Smith" Prov="Ont" Cbal="25.15" Max="2000" <t Acc="102" Cnam="Jones" Prov="BC" Cbal=" " Max="2500 <t Acc="103" Cnam="Doc" Prov="Ont" Cbal="150.00" Max="1000"/ </C> <V><!-- Vendor --> <t Vno="1" Vname="Sears" City="Toronto" Vbal="200.00" /> <t Vno="2" Vname="Kmart" City="Waterloo" Vbal="671.05" /> <t Vno="3" Vname="Esso" City="Windsor" Vbal="0.00" /> <t Vno="4" Vname="Esso" City="Waterloo" Vbal="2.25" /> </V> <T> <!-- Transaction --> <t Tno="1001" Vno="2" Acc="101" Date="940115" Amount="13.25" <t Tno="1002" Vno="2" Acc="103" Date="940116" Amount="19.00" <t Tno="1003" Vno="3" Acc="101" Date="940115" Amount="25.00" <t Tno="1003" Vno="4" Acc="102" Date="940120" Amount="16.13" <t Tno="1004" Vno="4" Acc="103" Date="940125" Amount="33.12" </T> 13 XSLT (using a literal result element): <db xsl:version="1.0" xmlns:xsl= " xml:space="preserve" > <Result descr="rows of V for vendors in Waterloo" > <xsl:for-each select="//v/t[@city='waterloo']"> <xsl:copy-of select="." /> Result: <db xml:space="preserve"> <Result descr="rows of V for vendors in Waterloo"> <t Vno="2" Vname="Kmart" City="Waterloo" Vbal="671.05"/> <t Vno="4" Vname="Esso" City="Waterloo" Vbal="2.25"/> 14 How to project, say, names and cities of vendors? Relational algebra: Vname;City (V ) XSLT: <db xsl:version="1.0" xmlns:xsl= " xml:space="preserve" > <Result descr="vendor projected on Vname and City" > <xsl:for-each select="//v/t"> <t Vname="{@Vname}" City="{@City}" /> How to do Cartesian product, R S? Sample DB as an XML document <db descr="a formal database example"> <R><t A="1" B="x" /> <t A="2" B="y" /> </R> <S><t C="a" D="s" /> <t C="b" D="t" /> <t C="c" D="u" /> </S> Solution principle Result (slightly modied): <db xml:space="preserve"> <Result descr="vendor projected on Vname and <t Vname="Sears" City="Toronto"/> <t Vname="Kmart" City="Waterloo"/> <t Vname="Esso" City="Windsor"/> <t Vname="Esso" City="Waterloo"/> City"> 15 apply two nested xsl:for-each loops store the attributes of the outer-loop tuple in an xsl:variable 16
5 XSLT transformation for R S <db xsl:version="1.0" xml:space="preserve" xmlns:xsl= " > <Result descr="r x S"><xsl:for-each xml:space="default" select="//r/t"> <xsl:variable name="rattrs"> <xsl:for-each select="@*"><xsl:copy-of select="."/> </xsl:variable> <xsl:for-each xml:space="preserve" select="//s/t"> <t xml:space="default"><xsl:copy-of select="$rattrs"/> <xsl:for-each select="@*"><xsl:copy-of select="."/> </t> Result <db xml:space="preserve"> <Result descr="r x S"> <t xml:space="default" A="1" B="x" C="a" D="s"/> <t xml:space="default" A="1" B="x" C="b" D="t"/> <t xml:space="default" A="1" B="x" C="c" D="u"/> <t xml:space="default" A="2" B="y" C="a" D="s"/> <t xml:space="default" A="2" B="y" C="b" D="t"/> <t xml:space="default" A="2" B="y" C="c" D="u"/> 17 How to do union, R [ S? \Vendor#'s for vendors either in Waterloo or having some transactions?" Vno City=Waterloo (V ) [ Vno (T ) XSLT can simply pick rows of each relation in turn: <db xsl:version="1.0" xmlns:xsl= " <Result descr="vnums for Waterloo or with transactions"> <xsl:for-each select="//v/t[@city='waterloo']"> <t VNo="{@Vno}"/> <xsl:for-each select="//t/t"> <t VNo="{@Vno}"/> Tuples in the result <t VNo="2"/><t VNo="4"/> <t VNo="2"/><t VNo="2"/><t VNo="3"/><t VNo="4"/><t VNo="4"/> Elimination of duplicates also possible (but slightly more complicated) 18 How to do set dierence, R, S? \Vendor numbers for which there are no transactions?" ( Vno (V )), ( Vno (T )) XSLT code for set dierence <db xsl:version="1.0" xml:space="preserve" xmlns:xsl= " <Result descr="vendor nums without transactions"> <xsl:for-each select="//v/t" xml:space="default"> <xsl:variable name="vvnum" select="@vno"/> <xsl:if test="not(//t/t[@vno=$vvnum])"> <t VNo="{$VVnum}"/></xsl:if> Result <db xml:space="preserve"> <Result descr="vendor nums without transactions"> <t VNo="1"/> 19 How to rename attributes, A!B(R)? "Rename attribute Vbal in relation V to Balance" XSLT can supply a new name xsl:attribute: for an <db xsl:version="1.0" xmlns:xsl= " <Result descr="vendor relation with Vbal renamed to Balance"> <xsl:for-each select="//v/t"> <t><xsl:copy-of select="@vno" /> <xsl:copy-of select="@vname" /> <xsl:copy-of select="@city" /> <xsl:attribute name="balance"> <xsl:value-of select="@vbal"/> </xsl:attribute></t><xsl:text> </xsl:text> Tuples in result <t Vno="1" Vname="Sears" City="Toronto" Balance="200.00"/> <t Vno="2" Vname="Kmart" City="Waterloo" Balance="671.05"/ <t Vno="3" Vname="Esso" City="Windsor" Balance="0.00"/> <t Vno="4" Vname="Esso" City="Waterloo" Balance="2.25"/> 20
6 Discussion Result tree fragments can be processed only once ; a relational query must be simulated in a single transformation step (or using a sequence of XSLT processes, each working on the result of the previous one) Implementations oer extensions for processing node sets multiple times; built-in support expected in further versions of XSLT Additional relational operations also possible: sorting supported by xsl:sort 5. XSLT Computability XSLT can simulate any computation Shown by simulating Turing machines Turing machine (Turing 1936/7) a formal model of algorithms primitive but powerful: any computation expressible in any algorithmic model can be simulated (Church/Turing thesis) a potentially innite tape of cells for symbols, examined by a tape head grouping possible with XSLT programming tricks; built-in support expected in further versions of XSLT 21 a nite set of states 22 Programming-like features of XSLT Control of a Turing machine Simplistic control dened by a transition function Given the current state q1 and the symbol at the tape head a (q1;a)=(q2;b;x) species the next state q2, symbol b written in the cell pointed by head, and one-step movement X 2fL; Rg of the head (Left/Right) 23 basic string manipulation capabilities of XPath: substrings, concatenation conditional processing xsl:choose, xsl:when (Cf. case) template rules can be named and called with parameters recursively Simulating a TM by an xsl:template Recursive template rule named ``transition'' Parameters of ``transition'': state: name of the current state left: contents of the tape up to the head right: tape from the head onwards 24
7 Overall structure of the simulation <xsl:template name="transition"> Simulation of a single transition: <!-- xsl:parameters and some trace output excluded --> <xsl:choose> <xsl:when test="$state='yes'"> <ACCEPT/> </xsl:when> <!--for each transition defined for $state and the first char of $right, updte $state, $left and $right, and call "transition" recursively --> <xsl:otherwise> <REJECT/> </xsl:otherwise> </xsl:choose> </xsl:template> Updating the representation of the tape For right-moves (q1;a)=(q2;b;r) concatenate 'b' at the end of $left and drop the rst char of $right Left-moves (q1;a) =(q2;b;l) in a similar manner 25 <!-- sigma(mark,a) = (move_a,#,r): --> <xsl:when test="$state='mark' and substring($right, 1, 1)='a'"> <!-- Update the state parameters: --> <xsl:variable name="newstate" select="'move_a'"/> <xsl:variable name="newleft" select="concat($left, '#')"/> <xsl:variable name="newright" select="substring($right, 2)"/> <!-- Call "transition" with the new parameters: --> <xsl:call-template name="transition"> <xsl:with-param name="state" select="$newstate"/> <xsl:with-param name="left" select="$newleft"/> <xsl:with-param name="right" select="$newright"/> </xsl:call-template> </xsl:when> 26 Sample trace of the simulation xt dummy.xml tm_palindr.xsl input_tape=abba <M state="# [mark]abba#"/> <M state="## [move_a]bba#"/> <M state="##b [move_a]ba#"/> <M state="##bb [move_a]a#"/> <M state="##bba [move_a]#"/> <M state="##bb [test_a]a#"/> <M state="##b [return]b##"/> <M state="## [return]bb##"/> <M state="# [return]#bb##"/> <M state="## [mark]bb##"/> <M state="### [move_b]b##"/> <M state="###b [move_b]##"/> <M state="### [test_b]b##"/> <M state="## [return]####"/> <M state="### [mark]###"/> <M state="## [YES]####"/> <ACCEPT/> Implications XSLT has, in principle, unrestricted computational power ; Not possible to set any limit on the complexity of XSL stylesheet evaluation ; Not possible to automatically recognize non-terminating stylesheets ; A malicious programmer could create stylesheets that jam client applications 27 28
8 6. Conclusion XSLT language for transforming XML documents relationally complete (query) language Turing complete (programming) language Related work Gonnet, Tompa & Blakeley (1987): simulation of relational algebra using p-string algebra Tarnlund (1977): Horn clause computability Further work Relation of XSLT with other transformation formalisms? with proposed XML query languages? 29
Data Integration through XML/XSLT. Presenter: Xin Gu
Data Integration through XML/XSLT Presenter: Xin Gu q7.jar op.xsl goalmodel.q7 goalmodel.xml q7.xsl help, hurt GUI +, -, ++, -- goalmodel.op.xml merge.xsl goalmodel.input.xml profile.xml Goal model configurator
More informationXSLT Mapping in SAP PI 7.1
Applies to: SAP NetWeaver Process Integration 7.1 (SAP PI 7.1) Summary This document explains about using XSLT mapping in SAP Process Integration for converting a simple input to a relatively complex output.
More informationMarkup Sprachen und semi-strukturierte Daten
Markup Sprachen und semi-strukturierte Daten http://www.pms.informatik.uni-muenchen.de/lehre/markupsemistrukt/02ss XSLT 1.0 Tutorial Dan Olteanu Dan.Olteanu@pms.informatik.uni-muenchen.de What means XSLT?
More informationExtending the Linked Data API with RDFa
Extending the Linked Data API with RDFa Steve Battle 1, James Leigh 2, David Wood 2 1 Gloze Ltd, UK steven.a.battle@gmail.com 2 3 Round Stones, USA James, David@3roundstones.com Linked data is about connecting
More informationAn Approach to Translate XSLT into XQuery
An Approach to Translate XSLT into XQuery Albin Laga, Praveen Madiraju and Darrel A. Mazzari Department of Mathematics, Statistics, and Computer Science Marquette University P.O. Box 1881, Milwaukee, WI
More informationT-110.5140 Network Application Frameworks and XML Web Services and WSDL 15.2.2010 Tancred Lindholm
T-110.5140 Network Application Frameworks and XML Web Services and WSDL 15.2.2010 Tancred Lindholm Based on slides by Sasu Tarkoma and Pekka Nikander 1 of 20 Contents Short review of XML & related specs
More informationSemistructured data and XML. Institutt for Informatikk INF3100 09.04.2013 Ahmet Soylu
Semistructured data and XML Institutt for Informatikk 1 Unstructured, Structured and Semistructured data Unstructured data e.g., text documents Structured data: data with a rigid and fixed data format
More informationAn XML Based Data Exchange Model for Power System Studies
ARI The Bulletin of the Istanbul Technical University VOLUME 54, NUMBER 2 Communicated by Sondan Durukanoğlu Feyiz An XML Based Data Exchange Model for Power System Studies Hasan Dağ Department of Electrical
More informationPage: 1. Merging XML files: a new approach providing intelligent merge of XML data sets
Page: 1 Merging XML files: a new approach providing intelligent merge of XML data sets Robin La Fontaine, Monsell EDM Ltd robin.lafontaine@deltaxml.com http://www.deltaxml.com Abstract As XML becomes ubiquitous
More informationBy Nabil ADOUI, member of the 4D Technical Support team
XSLT with PHP By Nabil ADOUI, member of the 4D Technical Support team Contents Summary... 3 Introduction... 3 Important elements... 3 The PHP XSL library... 4 The PHP XSL API... 5 XSLTProcessor:: construct...
More informationXSL - Introduction and guided tour
Concepts and Technologies of XML 6.1 XSL - Introduction and guided tour CT-XML 2014/2015 Warning! Authors " João Moura Pires (jmp@di.fct.unl.pt) " With contributions of Carlos Damásio (cd@di.fct.unl.pt)
More informationMarkup Languages and Semistructured Data - SS 02
Markup Languages and Semistructured Data - SS 02 http://www.pms.informatik.uni-muenchen.de/lehre/markupsemistrukt/02ss/ XPath 1.0 Tutorial 28th of May, 2002 Dan Olteanu XPath 1.0 - W3C Recommendation language
More informationDeveloping XML Solutions with JavaServer Pages Technology
Developing XML Solutions with JavaServer Pages Technology XML (extensible Markup Language) is a set of syntax rules and guidelines for defining text-based markup languages. XML languages have a number
More informationIntroduction to XML Applications
EMC White Paper Introduction to XML Applications Umair Nauman Abstract: This document provides an overview of XML Applications. This is not a comprehensive guide to XML Applications and is intended for
More informationWeb Services Technologies
Web Services Technologies XML and SOAP WSDL and UDDI Version 16 1 Web Services Technologies WSTech-2 A collection of XML technology standards that work together to provide Web Services capabilities We
More informationHonors Class (Foundations of) Informatics. Tom Verhoeff. Department of Mathematics & Computer Science Software Engineering & Technology
Honors Class (Foundations of) Informatics Tom Verhoeff Department of Mathematics & Computer Science Software Engineering & Technology www.win.tue.nl/~wstomv/edu/hci c 2011, T. Verhoeff @ TUE.NL 1/20 Information
More informationBASI DI DATI II 2 modulo Parte II: XML e namespaces. Prof. Riccardo Torlone Università Roma Tre
BASI DI DATI II 2 modulo Parte II: XML e namespaces Prof. Riccardo Torlone Università Roma Tre Outline What is XML, in particular in relation to HTML The XML data model and its textual representation The
More informationXML: extensible Markup Language. Anabel Fraga
XML: extensible Markup Language Anabel Fraga Table of Contents Historic Introduction XML vs. HTML XML Characteristics HTML Document XML Document XML General Rules Well Formed and Valid Documents Elements
More informationEncoding Library of Congress Subject Headings in SKOS: Authority Control for the Semantic Web
Encoding Library of Congress Subject Headings in SKOS: Authority Control for the Semantic Web Corey A Harper University of Oregon Libraries Tel: +1 541 346 1854 Fax:+1 541 346 3485 charper@uoregon.edu
More informationChapter 3: XML Namespaces
3. XML Namespaces 3-1 Chapter 3: XML Namespaces References: Tim Bray, Dave Hollander, Andrew Layman: Namespaces in XML. W3C Recommendation, World Wide Web Consortium, Jan 14, 1999. [http://www.w3.org/tr/1999/rec-xml-names-19990114],
More informationChapter 1: Introduction
Chapter 1: Introduction Database System Concepts, 5th Ed. See www.db book.com for conditions on re use Chapter 1: Introduction Purpose of Database Systems View of Data Database Languages Relational Databases
More informationHTSQL is a comprehensive navigational query language for relational databases.
http://htsql.org/ HTSQL A Database Query Language HTSQL is a comprehensive navigational query language for relational databases. HTSQL is designed for data analysts and other accidental programmers who
More informationApplication development in XML
Application development in XML exist-db & XQuery Alexander Czmiel 17.04.2015 What do you know by now? HTML, CSS, JavaScript to build beautiful and informative digital resources for humanities scholarship
More informationJavaScript: Introduction to Scripting. 2008 Pearson Education, Inc. All rights reserved.
1 6 JavaScript: Introduction to Scripting 2 Comment is free, but facts are sacred. C. P. Scott The creditor hath a better memory than the debtor. James Howell When faced with a decision, I always ask,
More informationDatabase Systems. Lecture 1: Introduction
Database Systems Lecture 1: Introduction General Information Professor: Leonid Libkin Contact: libkin@ed.ac.uk Lectures: Tuesday, 11:10am 1 pm, AT LT4 Website: http://homepages.inf.ed.ac.uk/libkin/teach/dbs09/index.html
More informationCommand-Line Tool for View Manager View Manager 4.0
Technical Note Command-Line Tool for View Manager View Manager 4.0 The Command Line Tool for View Manager is a utility provided with the View Manager application that allows you to carry out administrative
More informationDynamic Styling in Web Development
Dynamic Styling in Web Development Creating PDSS, a Powerful Dynamic Styling Solution Markup Styling Client Side Programming Server Side Programming Database Querying Master s thesis by: Daniel Solsø Korsgård
More information2. Distributed Handwriting Recognition. Abstract. 1. Introduction
XPEN: An XML Based Format for Distributed Online Handwriting Recognition A.P.Lenaghan, R.R.Malyan, School of Computing and Information Systems, Kingston University, UK {a.lenaghan,r.malyan}@kingston.ac.uk
More informationDuration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff
D80198GC10 Oracle Database 12c SQL and Fundamentals Summary Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff Level Professional Delivery Method Instructor-led
More informationG-SPARQL: A Hybrid Engine for Querying Large Attributed Graphs
G-SPARQL: A Hybrid Engine for Querying Large Attributed Graphs Sherif Sakr National ICT Australia UNSW, Sydney, Australia ssakr@cse.unsw.edu.eu Sameh Elnikety Microsoft Research Redmond, WA, USA samehe@microsoft.com
More informationWEESA - Web Engineering for Semantic Web Applications
WEESA - Web Engineering for Semantic Web Applications Gerald Reif Distributed Systems Group Vienna University of Technology Argentinierstrasse 8 1040 Vienna, Austria reif@infosys.tuwien.ac.at Harald Gall
More informationSpecify the location of an HTML control stored in the application repository. See Using the XPath search method, page 2.
Testing Dynamic Web Applications How To You can use XML Path Language (XPath) queries and URL format rules to test web sites or applications that contain dynamic content that changes on a regular basis.
More informationBuilding A Very Simple Website
Sitecore CMS 6.5 Building A Very Simple Web Site Rev 110715 Sitecore CMS 6.5 Building A Very Simple Website A Self-Study Guide for Developers Table of Contents Chapter 1 Introduction... 3 Chapter 2 Creating
More informationIntroduction to XSL. Max Froumentin - W3C
Introduction to XSL Max Froumentin - W3C Introduction to XSL XML Documents Stying XML Documents XSL Exampe I: Hamet Exampe II: Mixed Writing Modes Exampe III: database Other Exampes How do they do that?
More informationExtending XSLT with Java and C#
Extending XSLT with Java and C# The world is not perfect. If it were, all data you have to process would be in XML and the only transformation language you would have to learn would XSLT. Because the world
More informationSQL Query Evaluation. Winter 2006-2007 Lecture 23
SQL Query Evaluation Winter 2006-2007 Lecture 23 SQL Query Processing Databases go through three steps: Parse SQL into an execution plan Optimize the execution plan Evaluate the optimized plan Execution
More informationRelational Database: Additional Operations on Relations; SQL
Relational Database: Additional Operations on Relations; SQL Greg Plaxton Theory in Programming Practice, Fall 2005 Department of Computer Science University of Texas at Austin Overview The course packet
More informationXML Schema Definition Language (XSDL)
Chapter 4 XML Schema Definition Language (XSDL) Peter Wood (BBK) XML Data Management 80 / 227 XML Schema XML Schema is a W3C Recommendation XML Schema Part 0: Primer XML Schema Part 1: Structures XML Schema
More informationCS 3719 (Theory of Computation and Algorithms) Lecture 4
CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 Church-Turing thesis Let s recap how it all started. In 1990, Hilbert stated a
More informationInstant SQL Programming
Instant SQL Programming Joe Celko Wrox Press Ltd. INSTANT Table of Contents Introduction 1 What Can SQL Do for Me? 2 Who Should Use This Book? 2 How To Use This Book 3 What You Should Know 3 Conventions
More informationDiscovering SQL. Wiley Publishing, Inc. A HANDS-ON GUIDE FOR BEGINNERS. Alex Kriegel WILEY
Discovering SQL A HANDS-ON GUIDE FOR BEGINNERS Alex Kriegel WILEY Wiley Publishing, Inc. INTRODUCTION xxv CHAPTER 1: DROWNING IN DATA, DYING OF THIRST FOR KNOWLEDGE 1 Data Deluge and Informational Overload
More informationRelational Databases
Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 18 Relational data model Domain domain: predefined set of atomic values: integers, strings,... every attribute
More informationWEBVIEW An SQL Extension for Joining Corporate Data to Data Derived from the World Wide Web
WEBVIEW An SQL Extension for Joining Corporate Data to Data Derived from the World Wide Web Charles A Wood and Terence T Ow Mendoza College of Business University of Notre Dame Notre Dame, IN 46556-5646
More informationChapter 1: Introduction. Database Management System (DBMS) University Database Example
This image cannot currently be displayed. Chapter 1: Introduction Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Database Management System (DBMS) DBMS contains information
More informationBy Koji MIYAUCHI* ABSTRACT. XML is spreading quickly as a format for electronic documents and messages. As a consequence,
Falsification Prevention and Protection Technologies and Products XML Signature/Encryption the Basis of Web Services Security By Koji MIYAUCHI* XML is spreading quickly as a format for electronic documents
More informationDatabases 2011 The Relational Model and SQL
Databases 2011 Christian S. Jensen Computer Science, Aarhus University What is a Database? Main Entry: da ta base Pronunciation: \ˈdā-tə-ˌbās, ˈda- also ˈdä-\ Function: noun Date: circa 1962 : a usually
More informationSyntax Check of Embedded SQL in C++ with Proto
Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 383 390. Syntax Check of Embedded SQL in C++ with Proto Zalán Szűgyi, Zoltán Porkoláb
More informationJavaScript: Control Statements I
1 7 JavaScript: Control Statements I 7.1 Introduction 2 The techniques you will learn here are applicable to most high-level languages, including JavaScript 1 7.2 Algorithms 3 Any computable problem can
More informationCompiler Construction
Compiler Construction Regular expressions Scanning Görel Hedin Reviderad 2013 01 23.a 2013 Compiler Construction 2013 F02-1 Compiler overview source code lexical analysis tokens intermediate code generation
More informationT XML in 2 lessons! %! " #$& $ "#& ) ' */,: -.,0+(. ". "'- (. 1
XML in 2 lessons! :.. 1 Lets start This presentation will answer the fundamental questions: What is XML? How do I use XML? How does it work? What can I use it for, anyway? 2 World Wide Web Consortium (W3C)
More informationJavaScript: Arrays. 2008 Pearson Education, Inc. All rights reserved.
1 10 JavaScript: Arrays 2 With sobs and tears he sorted out Those of the largest size... Lewis Carroll Attempt the end, and never stand to doubt; Nothing s so hard, but search will find it out. Robert
More informationUsing Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms
Using Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms Mohammed M. Elsheh and Mick J. Ridley Abstract Automatic and dynamic generation of Web applications is the future
More informationChapter 2 HTML Basics Key Concepts. Copyright 2013 Terry Ann Morris, Ed.D
Chapter 2 HTML Basics Key Concepts Copyright 2013 Terry Ann Morris, Ed.D 1 First Web Page an opening tag... page info goes here a closing tag Head & Body Sections Head Section
More informationIntroduction to database design
Introduction to database design KBL chapter 5 (pages 127-187) Rasmus Pagh Some figures are borrowed from the ppt slides from the book used in the course, Database systems by Kiefer, Bernstein, Lewis Copyright
More informationDatabase trends: XML data storage
Database trends: XML data storage UC Santa Cruz CMPS 10 Introduction to Computer Science www.soe.ucsc.edu/classes/cmps010/spring11 ejw@cs.ucsc.edu 25 April 2011 DRC Students If any student in the class
More informationAN ENHANCED DATA MODEL AND QUERY ALGEBRA FOR PARTIALLY STRUCTURED XML DATABASE
THE UNIVERSITY OF SHEFFIELD DEPARTMENT OF COMPUTER SCIENCE RESEARCH MEMORANDA CS-03-08 MPHIL/PHD UPGRADE REPORT AN ENHANCED DATA MODEL AND QUERY ALGEBRA FOR PARTIALLY STRUCTURED XML DATABASE SUPERVISORS:
More informationDrupal and ArcGIS Yes, it can be done. Frank McLean Developer
Drupal and ArcGIS Yes, it can be done Frank McLean Developer Who we are NatureServe is a conservation non-profit Network of member programs Track endangered species and habitats Across North America Environmental
More informationXPath Processing in a Nutshell
XPath Processing in a Nutshell Georg Gottlob, Christoph Koch, and Reinhard Pichler Database and Artificial Intelligence Group Technische Universität Wien, A-1040 Vienna, Austria {gottlob, koch}@dbai.tuwien.ac.at,
More information2009 Martin v. Löwis. Data-centric XML. Other Schema Languages
Data-centric XML Other Schema Languages Problems of XML Schema According to Schematron docs: No support for entities idiomatic or localized data types (date, time) not supported limited support for element
More informationShort notes on webpage programming languages
Short notes on webpage programming languages What is HTML? HTML is a language for describing web pages. HTML stands for Hyper Text Markup Language HTML is a markup language A markup language is a set of
More informationQuiz! Database Indexes. Index. Quiz! Disc and main memory. Quiz! How costly is this operation (naive solution)?
Database Indexes How costly is this operation (naive solution)? course per weekday hour room TDA356 2 VR Monday 13:15 TDA356 2 VR Thursday 08:00 TDA356 4 HB1 Tuesday 08:00 TDA356 4 HB1 Friday 13:15 TIN090
More informationAgenda2. User Manual. Agenda2 User Manual Copyright 2010-2013 Bobsoft 1 of 34
Agenda2 User Manual Agenda2 User Manual Copyright 2010-2013 Bobsoft 1 of 34 Agenda2 User Manual Copyright 2010-2013 Bobsoft 2 of 34 Contents 1. User Interface! 5 2. Quick Start! 6 3. Creating an agenda!
More informationStructured vs. unstructured data. Motivation for self describing data. Enter semistructured data. Databases are highly structured
Structured vs. unstructured data 2 Databases are highly structured Semistructured data, XML, DTDs Well known data format: relations and tuples Every tuple conforms to a known schema Data independence?
More informationTuring Machines, Part I
Turing Machines, Part I Languages The $64,000 Question What is a language? What is a class of languages? Computer Science Theory 2 1 Now our picture looks like Context Free Languages Deterministic Context
More informationCOMP 5138 Relational Database Management Systems. Week 5 : Basic SQL. Today s Agenda. Overview. Basic SQL Queries. Joins Queries
COMP 5138 Relational Database Management Systems Week 5 : Basic COMP5138 "Relational Database Managment Systems" J. Davis 2006 5-1 Today s Agenda Overview Basic Queries Joins Queries Aggregate Functions
More informationICAB4136B Use structured query language to create database structures and manipulate data
ICAB4136B Use structured query language to create database structures and manipulate data Release: 1 ICAB4136B Use structured query language to create database structures and manipulate data Modification
More informationProgramming with SQL
Unit 43: Programming with SQL Learning Outcomes A candidate following a programme of learning leading to this unit will be able to: Create queries to retrieve information from relational databases using
More informationOracle Database 10g: Introduction to SQL
Oracle University Contact Us: 1.800.529.0165 Oracle Database 10g: Introduction to SQL Duration: 5 Days What you will learn This course offers students an introduction to Oracle Database 10g database technology.
More informationVII. Database System Architecture
VII. Database System Lecture Topics Monolithic systems Client/Server systems Parallel database servers Multidatabase systems CS338 1 Monolithic System DBMS File System Each component presents a well-defined
More informationCHAPTER 3 PROPOSED SCHEME
79 CHAPTER 3 PROPOSED SCHEME In an interactive environment, there is a need to look at the information sharing amongst various information systems (For E.g. Banking, Military Services and Health care).
More informationXML and Data Management
XML and Data Management XML standards XML DTD, XML Schema DOM, SAX, XPath XSL XQuery,... Databases and Information Systems 1 - WS 2005 / 06 - Prof. Dr. Stefan Böttcher XML / 1 Overview of internet technologies
More information24 Uses of Turing Machines
Formal Language and Automata Theory: CS2004 24 Uses of Turing Machines 24 Introduction We have previously covered the application of Turing Machine as a recognizer and decider In this lecture we will discuss
More informationTranslating between XML and Relational Databases using XML Schema and Automed
Imperial College of Science, Technology and Medicine (University of London) Department of Computing Translating between XML and Relational Databases using XML Schema and Automed Andrew Charles Smith acs203
More informationStandard Registry Development and Publication Process
Document number: DSP4006 Date: 2007-12-12 Version: 1.1.0 Standard Registry Development and Publication Process Document type: Specification Document status: Informational Document language: E Copyright
More informationConcrete uses of XML in software development and data analysis.
Concrete uses of XML in software development and data analysis. S. Patton LBNL, Berkeley, CA 94720, USA XML is now becoming an industry standard for data description and exchange. Despite this there are
More informationUnit 3. Retrieving Data from Multiple Tables
Unit 3. Retrieving Data from Multiple Tables What This Unit Is About How to retrieve columns from more than one table or view. What You Should Be Able to Do Retrieve data from more than one table or view.
More informationInformation Systems SQL. Nikolaj Popov
Information Systems SQL Nikolaj Popov Research Institute for Symbolic Computation Johannes Kepler University of Linz, Austria popov@risc.uni-linz.ac.at Outline SQL Table Creation Populating and Modifying
More informationCover Page. Dynamic Server Pages Guide 10g Release 3 (10.1.3.3.0) March 2007
Cover Page Dynamic Server Pages Guide 10g Release 3 (10.1.3.3.0) March 2007 Dynamic Server Pages Guide, 10g Release 3 (10.1.3.3.0) Copyright 2007, Oracle. All rights reserved. Contributing Authors: Sandra
More informationDataDirect XQuery Technical Overview
DataDirect XQuery Technical Overview Table of Contents 1. Feature Overview... 2 2. Relational Database Support... 3 3. Performance and Scalability for Relational Data... 3 4. XML Input and Output... 4
More informationThe Halting Problem is Undecidable
185 Corollary G = { M, w w L(M) } is not Turing-recognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine
More informationInside the PostgreSQL Query Optimizer
Inside the PostgreSQL Query Optimizer Neil Conway neilc@samurai.com Fujitsu Australia Software Technology PostgreSQL Query Optimizer Internals p. 1 Outline Introduction to query optimization Outline of
More informationA Comparison of Database Query Languages: SQL, SPARQL, CQL, DMX
ISSN: 2393-8528 Contents lists available at www.ijicse.in International Journal of Innovative Computer Science & Engineering Volume 3 Issue 2; March-April-2016; Page No. 09-13 A Comparison of Database
More informationJSquash: Source Code Analysis of Embedded Database Applications for Determining SQL Statements
JSquash: Source Code Analysis of Embedded Database Applications for Determining SQL Statements Dietmar Seipel 1, Andreas M. Boehm 1, and Markus Fröhlich 1 University of Würzburg, Department of Computer
More informationCleo Communications. CUEScript Training
Cleo Communications CUEScript Training Introduction RMCS Architecture Why CUEScript, What is it? How and Where Scripts in RMCS XML Primer XPath Pi Primer Introduction (cont.) Getting Started Scripting
More informationInvited Expert on XForms and HTML Working Group
Author: Mark Birbeck CEO and CTO x-port.net Ltd. Invited Expert on XForms and HTML Working Group mailto:mark.birbeck@x-port.net http://www.x-port.net/ http://www.formsplayer.com/ Introduction We need to
More informationSchematron Validation and Guidance
Schematron Validation and Guidance Schematron Validation and Guidance Version: 1.0 Revision Date: July, 18, 2007 Prepared for: NTG Prepared by: Yunhao Zhang i Schematron Validation and Guidance SCHEMATRON
More informationIntroduction to SQL and SQL in R. LISA Short Courses Xinran Hu
Introduction to SQL and SQL in R LISA Short Courses Xinran Hu 1 Laboratory for Interdisciplinary Statistical Analysis LISA helps VT researchers benefit from the use of Statistics Collaboration: Visit our
More informationTerms and Definitions for CMS Administrators, Architects, and Developers
Sitecore CMS 6 Glossary Rev. 081028 Sitecore CMS 6 Glossary Terms and Definitions for CMS Administrators, Architects, and Developers Table of Contents Chapter 1 Introduction... 3 1.1 Glossary... 4 Page
More informationIntroduction to Web Services
Department of Computer Science Imperial College London CERN School of Computing (icsc), 2005 Geneva, Switzerland 1 Fundamental Concepts Architectures & escience example 2 Distributed Computing Technologies
More informationReal SQL Programming 1
Real 1 We have seen only how SQL is used at the generic query interface an environment where we sit at a terminal and ask queries of a database. Reality is almost always different: conventional programs
More informationXSL Elements. xsl:copy-of
XSL Elements The following elements are discussed on this page: xsl:copy-of xsl:value-of xsl:variable xsl:param xsl:if xsl:when xsl:otherwise xsl:comment xsl:import xsl:output xsl:template xsl:call-template
More informationCHAPTER 1 INTRODUCTION
CHAPTER 1 INTRODUCTION 1.1 Introduction Nowadays, with the rapid development of the Internet, distance education and e- learning programs are becoming more vital in educational world. E-learning alternatives
More informationOracle SQL. Course Summary. Duration. Objectives
Oracle SQL Course Summary Identify the major structural components of the Oracle Database 11g Create reports of aggregated data Write SELECT statements that include queries Retrieve row and column data
More informationCST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services 1995 2008 Skilltop Technology Limited. All rights reserved.
CST6445: Web Services Development with Java and XML Lesson 1 Introduction To Web Services 1995 2008 Skilltop Technology Limited. All rights reserved. Opening Night Course Overview Perspective Business
More informationXSLT File Types and Their Advantages
Virtual Filesystems Are Virtual Office Documents Ben Martin Abstract Use libferris, XML and XSLT to create virtual filesystems and virtual documents. Virtual filesystems can be made into writable virtual
More information14 Databases. Source: Foundations of Computer Science Cengage Learning. Objectives After studying this chapter, the student should be able to:
14 Databases 14.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define a database and a database management system (DBMS)
More information10CS73:Web Programming
10CS73:Web Programming Question Bank Fundamentals of Web: 1.What is WWW? 2. What are domain names? Explain domain name conversion with diagram 3.What are the difference between web browser and web server
More informationNovell Identity Manager
AUTHORIZED DOCUMENTATION Manual Task Service Driver Implementation Guide Novell Identity Manager 4.0.1 April 15, 2011 www.novell.com Legal Notices Novell, Inc. makes no representations or warranties with
More informationGenerating XML from Relational Tables using ORACLE. by Selim Mimaroglu Supervisor: Betty O NeilO
Generating XML from Relational Tables using ORACLE by Selim Mimaroglu Supervisor: Betty O NeilO 1 INTRODUCTION Database: : A usually large collection of data, organized specially for rapid search and retrieval
More informationTechnical paper review. Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald.
Technical paper review Program visualization and explanation for novice C programmers by Matthew Heinsen Egan and Chris McDonald Garvit Pahal Indian Institute of Technology, Kanpur October 28, 2014 Garvit
More information