Et tu, XML? Philip Wadler, Avaya Labs
|
|
|
- Gloria Crawford
- 10 years ago
- Views:
Transcription
1 Et tu, XML? Philip Wadler, Avaya Labs
2 Acknowledgements This talk is joint work with: Mary Fernandez (AT&T) Jerome Simeon (Lucent) The W3C XML Query Working Group Disclaimer: This talk. is a personal view. Other members of XML Query may disagree.
3 Prologue Friends, romans, computer scientists, lend me your ears! I come to bury the relational database, not to praise it. The evil that standards committees do lives after them ; the good is oft interred with their core dumps ; so let it be with relations. The noble XML hath told you that relations were ambitious. Here under leave of XML and the W3C for XML is an honourable standard ; so are they all, all honourable standards come I to speak at relations funeral. Relations were my friend, faithful and just to me. But XML says relations were ambitious, and XML is an honourable standard. Relations hath brought many captives home to Rome whose ransom did the coffers of Oracle, IBM, and Microsoft fill. Did this in relations seem ambitious? Yet XML says relations were ambitious, and XML is an honourable standard.
4 Shakespeare in XML <SPEECH> <SPEAKER>ANTONY</SPEAKER> <LINE>Friends, Romans, countrymen, lend me your ears;</line> <LINE>I come to bury Caesar, not to praise him.</line> <LINE>The evil that men do lives after them;</line> <LINE>The good is oft interred with their bones;</line> <LINE>So let it be with Caesar. The noble Brutus</LINE> <LINE>Hath told you Caesar was ambitious:</line> <LINE>Here, under leave of Brutus and the rest--</line> <LINE>For Brutus is an honourable man;</line> <LINE>So are they all, all honourable men--</line> <LINE>Come I to speak in Caesar s funeral.</line> <LINE>He was my friend, faithful and just to me:</line> <LINE>But Brutus says he was ambitious;</line> <LINE>And Brutus is an honourable man.</line>... </SPEECH>
5 Shakespeare in XML on the web
6 Shakespeare in Lisp (SPEECH (SPEAKER "ANTONY") (LINE "Friends, Romans, countrymen, lend me your ears;") (LINE "I come to bury Caesar, not to praise him.") (LINE "The evil that men do lives after them;") (LINE "The good is oft interred with their bones;") (LINE "So let it be with Caesar. The noble Brutus") (LINE "Hath told you Caesar was ambitious:") (LINE "Here, under leave of Brutus and the rest--") (LINE "For Brutus is an honourable man;") (LINE "So are they all, all honourable men--") (LINE "Come I to speak in Caesar s funeral.") (LINE "He was my friend, faithful and just to me:") (LINE "But Brutus says he was ambitious;") (LINE "And Brutus is an honourable man.")... )
7 Part I Some XML applications
8 The Four Webs Computers xhtml Voice Voice XML Wireless WAP/WML Television bhtml
9 The Four Webs Computers xhtml Voice Voice XML Wireless WAP/WML Television bhtml
10 Voice XML
11 ebxml
12 UDDI
13 XML Schema Recommendation
14 XQuery Working Draft
15 XQuery Formalism Working Draft
16 Part II An introduction to XQuery
17 Influences Languages that influence XQuery include: SQL OQL, O 2 Nested Relational Algebra, Kleisli Xduce XML-QL, Yatl, Lorel XPath, XQL, XSLT XML Schema, TRex, Relax Quilt
18 Part III Data model
19 Some XML data <BOOKS> <BOOK YEAR=" "> <AUTHOR>Abiteboul</AUTHOR> <AUTHOR>Buneman</AUTHOR> <AUTHOR>Suciu</AUTHOR> <TITLE>Data on the Web</TITLE> <REVIEW>A truly <EM>fine</EM> book.</review> </BOOK> <BOOK YEAR="2002"> <AUTHOR>Buneman</AUTHOR> <TITLE>XML in Scotland</TITLE> <REVIEW><EM>Truly the <EM>best</EM> ever!</em></review> </BOOK> </BOOKS>
20 Data model XML <BOOK YEAR=" "> <AUTHOR>Abiteboul</AUTHOR> <AUTHOR>Buneman</AUTHOR> <AUTHOR>Suciu</AUTHOR> <TITLE>Data on the Web</TITLE> <REVIEW>A truly <EM>fine</EM> book.</review> </BOOK> XQuery element BOOK { attribute YEAR { 1999, 2003 }, element AUTHOR { "Abiteboul" }, element AUTHOR { "Buneman" }, element AUTHOR { "Suciu" }, element TITLE { "Data on the Web" }, element REVIEW { "A truly", element EM { "fine" }, "book." } }
21 Part IV Types
22 DTD (Document Type Definition) <!ELEMENT BOOKS (BOOK*)> <!ELEMENT BOOK (AUTHOR+, TITLE, REVIEW?)> <!ATTLIST BOOK YEAR CDATA #OPTIONAL> <!ELEMENT AUTHOR (#PCDATA)> <!ELEMENT TITLE (#PCDATA)> <!ENTITY % INLINE "( #PCDATA EM )*"> <!ELEMENT REVIEW %INLINE;> <!ELEMENT EM %INLINE;>
23 Schema <xsd:schema xmlns:xsd=" <xsd:element name="books"> <xsd:complextype> <xsd:sequence> <xsd:element ref="book" minoccurs="0" maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> </xsd:element>
24 Schema, continued <xsd:element name="book"> <xsd:complextype> <xsd:sequence> <xsd:element name="author" type="xsd:string" minoccurs="1" maxoccurs="unbounded"/> <xsd:element name="title" type="xsd:string"/> <xsd:element name="review" type="inline" minoccurs="0" maxoccurs="1"/> <xsd:sequence> <xsd:attribute name="year" type="nonempty-integer-list" use="optional"/> </xsd:complextype> </xsd:element>
25 Schema, continued 2 <xsd:complextype name="inline" mixed="true"> <xsd:choice minoccurs="0" maxoccurs="unbounded"> <xsd:element name="em" type="inline"/> </xsd:choice> </xsd:complextype> <xsd:simpletype name="integer-list"> <xsd:list itemtype="xsd:integer"/> </xsd:simpletype> <xsd:simpletype name="nonempty-integer-list"> <xsd:restriction base="integer-list"> <xsd:minlength value="1"/> </xsd:restriction> </xsd:simpletype> </xsd:schema>
26 XQuery types define element BOOKS { BOOK* } define element BOOK { YEAR?, AUTHOR+, TITLE, REVIEW } define attribute YEAR { integer+ } define element AUTHOR { string } define element TITLE { string } define group INLINE { ( string EM )* } define element REVIEW { INLINE } define element EM { INLINE }
27 XQuery types There is vigorous debate over whether XQuery should use any type notation other than Schema!
28 Every XQuery type is a group define attribute YEAR { integer+ } define element AUTHOR { string } = define group YEAR { attribute YEAR { integer+ } } define group AUTHOR { element AUTHOR { string } }
29 Nesting XQuery types define element BOOKS { BOOK* } define element BOOK { attribute YEAR { integer+ }?, element AUTHOR { string } +, element TITLE { string }, element REVIEW { INLINE }? } define group INLINE { ( string element EM { INLINE } )* }
30 Data integration DTD <!ELEMENT AMAZON-CATALOGUE (AMAZON-BOOK*)> <!ELEMENT AMAZON-BOOK (TITLE,AUTHOR+,PRICE,ISBN)> <!ELEMENT FATBRAIN-CATALOGUE (FATBRAIN-BOOK*)> <!ELEMENT FATBRAIN-BOOK (AUTHOR+,TITLE,ISBN,PRICE)>
31 Data integration Schema <xsd:element name="amazon-catalogue"> <xsd:complextype> <xsd:sequence> <xsd:element name="book" minoccurs="0" maxoccurs="unbounded"> <xsd:complextype> <xsd:sequence> <xsd:element ref="title"/> <xsd:element ref="author" minoccurs="1" maxoccurs="unbounded"/> <xsd:element ref="price"/> <xsd:element ref="isbn"/> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:sequence> </xsd:complextype> </xsd:element>
32 Data integration Schema, continued <xsd:element name="fatbrain-catalogue"> <xsd:complextype> <xsd:sequence> <xsd:element name="book" minoccurs="0" maxoccurs="unbounded"> <xsd:complextype> <xsd:sequence> <xsd:element ref="author" minoccurs="1" maxoccurs="unbounded"/> <xsd:element ref="title"/> <xsd:element ref="isbn"/> <xsd:element ref="price"/> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:sequence> </xsd:complextype> </xsd:element>
33 Data integration XQuery define group AMAZON-BOOK { element BOOK { TITLE,AUTHOR+,PRICE,ISBN } } define group FATBRAIN-BOOK { element BOOK { AUTHOR+,TITLE,ISBN,PRICE } } define element CATALOGUE { AMAZON-BOOK*,FATBRAIN-BOOK* } Like DTD with Specialization. Violates Schema consistent element restriction.
34 Tree grammars and tree automata deterministic non-deterministic top-down Class 1 Class 2 bottom-up Class 2 Class 2
35 Tree grammars and tree automata deterministic non-deterministic top-down Class 1 Class 2 bottom-up Class 2 Class 2
36 Tree grammars and tree automata deterministic non-deterministic top-down Class 1 Class 2 bottom-up Class 2 Class 2 Tree grammar Class 0: DTD Tree automata Class 1: Schema Tree automata Class 2: XQuery, XDuce, Relax Class 0 < Class 1 < Class 2 Class 0 and Class 2 have good closure properties. Class 1 does not.
37 Wildcard types Wildcard types model unstructured data define group AnySimpleType { string integer... } define group AnyAttribute { attribute * { AnySimpleType* } } define group AnyElement { element * { AnyItem* } } define group AnyItem { AnySimpleType AnyAttribute AnyElement } define group AnyType { AnyItem* }
38 Part V XQuery expressions
39 Projection and construction Return title and authors of all books for $book in /BOOKS/BOOK return <BOOK>{ $book/title, $book/author }</BOOK> <BOOK> <TITLE>Data on the Web</TITLE> <AUTHOR>Abiteboul</AUTHOR> <AUTHOR>Buneman</AUTHOR> <AUTHOR>Suciu</AUTHOR> </BOOK> <BOOK> <TITLE>XML in Scotland</TITLE> <AUTHOR>Buneman</AUTHOR> </BOOK>
40 Projection and construction Return title and authors of all books for $book in /BOOKS/BOOK return <BOOK>{ $book/title, $book/author }</BOOK> element BOOK { element TITLE { string }, element AUTHOR { string }+ }*
41 Selection and existential Return year and title of all books published before 2000 for $book in /BOOKS/BOOK where < 2000 return <BOOK>{ $book/title }</BOOK> <BOOK YEAR=" "> <TITLE>Data on the Web</TITLE> </BOOK> element BOOK { attribute YEAR { integer+ }, element TITLE { string } }*
42 An equivalent formulation Return year and title of all books published before 2000 for $book in /BOOKS/BOOK where < 2000 return <BOOK>{ $book/title }</BOOK> = for $book in /BOOKS/BOOK return if $book/@year < 2000 then element BOOK { $book/@year, $book/title } else () $book/@year < 2000 = some $year in $book/@year satisfying $year < 2000
43 Selection and projection with XPath Return title of all books written before 2000 < 2000]/TITLE <TITLE>Data on the Web</TITLE> element TITLE { string } *
44 An equivalent formulation Return title of all books written before 2000 < 2000]/TITLE = for $root in / return for $books in $root/books return for $book in $books/book return where $book/@year < 2000 return $book/title
45 Getting the number wrong Return book with title Data on the Web /BOOK/BOOK[TITLE = "Data on the Web"] BOOK* How do we exploit keys and relative keys?
46 Getting the number right Return book with title Data on the Web treat as BOOK? ( /BOOK/BOOK[TITLE = "Data on the Web"] ) BOOK?
47 Nesting Return titles for each author let $books := /BOOKS/BOOK for $author IN distinct($books/author) return <AUTHOR NAME={ $author }>{ $books/book[author = $author]/title }</AUTHOR> <AUTHOR NAME="Abiteboul"> <TITLE>Data on the Web</TITLE> </AUTHOR> <AUTHOR NAME="Buneman"> <TITLE>Data on the Web</TITLE> <TITLE>XML in Scotland</TITLE> </AUTHOR> <AUTHOR NAME="Suciu"> <TITLE>Data on the Web</TITLE> </AUTHOR>
48 Nesting Return titles for each author let $books := /BOOKS/BOOK for $author IN distinct($books/author) return <AUTHOR NAME={ $author }>{ $books/book[author = $author]/title }</AUTHOR> element AUTHOR { attribute NAME { string }, element TITLE { string }* }
49 Nesting, getting the number right Return titles for each author define element TITLE { string } let $books := /BOOKS/BOOK for $author IN distinct($books/author) return <AUTHOR NAME={ $author }>{ treat at TITLE+ ( $books/book[author = $author]/title ) }</AUTHOR> element AUTHOR { attribute NAME { string }, element TITLE { string }+ }
50 Join Titles of all books that cost more at Amazon than at Fatbrain let $amazon := document(" $fatbrain := document(" for $amazon_book IN $amazon/books/book, $fatbrain_book IN $fatbrain/books/book where $amazon_book/isbn = $fatbrain_book/isbn and $amazon_book/price > $fatbrain_book/price return $amazon_book/title
51 Unordered Titles of all books that cost more at Amazon than at Fatbrain, in any convenient order unordered( let $amazon := document(" $fatbrain := document(" for $amazon_book IN $amazon/books/book, $fatbrain_book IN $fatbrain/books/book where $amazon_book/isbn = $fatbrain_book/isbn and $amazon_book/price > $fatbrain_book/price return $amazon_book/title )
52 An error Return title and ISBN of each book for $book in /BOOKS/BOOK return <ANSWER>{ $book/title, $book/isbn }</ANSWER> element ANSWER { TITLE }*
53 Finding an error by assertion Return title and ISBN of each book define element ANSWER { element TITLE { string }, element ISBN { string } } for $book in /BOOKS/BOOK return assert as ANSWER ( <ANSWER>{ $book/title, $book/isbn }</ANSWER> ) Assertions might be added automatically when there is a global element declaration and no conflicting local declarations.
54 Finding an error by omission Return title and ISBN of each book define element BOOKS { BOOK* } define element BOOK { AUTHOR+, TITLE } define element AUTHOR { string } define element TITLE { string } for $book in /BOOKS/BOOK return <ANSWER>{ $book/title, $book/isbn }</ANSWER> Note $book/isbn (). Idea: Report an error when e () and e ().
55 Wildcards, computed names Turn all attributes into elements, and vice versa define function swizzle (AnyElement $x) returns AnyElement { element {name($x)} { for $a in $x/@* return element {name($a)} {$a/data()}, for $e in $x/* return attribute {name($e)} {$e/data()} } } swizzle(<test A="a" B="b"> <C>c</C> <D>d</D> </TEST>) <TEST C="c" D="D"> <A>a</A> <B>b</B> </TEST>
56 Typing can lose information Return all Amazon and Fatbrain books by Buneman define element CATALOGUE { AMAZON-BOOK*,FATBRAIN-BOOK* } for $book in /CATALOGUE/BOOK where $book/author = "Buneman" return $book ( AMAZON-BOOK FATBRAIN-BOOK )*
57 Part VI Syntax
58 Templates Convert book listings to HTML format <HTML><H1>My favorite books</h1> <UL>{ for $book in /BOOKS/BOOK return <LI> <EM>{ $book/title/data() }</EM>, { $book/@year/data()[position()=last()] }. </LI> }</UL> </HTML> <HTML><H1>My favorite books</h1> <UL> <LI><EM>Data on the Web</EM>, 2003.</LI> <LI><EM>XML in Scotland</EM>, 2002.</LI> </UL> </HTML>
59 XQueryX A query in XQuery: FOR $b in document("bib.xml")//book WHERE $b/publisher = "Morgan Kaufmann" AND $b/year = "1998" RETURN $b/title The equivalent in XQueryX: <q:query xmlns:q=" <q:flwr> <q:forassignment variable="$b"> <q:step axis="slashslash"> <q:function name="document"> <q:constant datatype="charstring">bib.xml</q:constant> </q:function> <q:identifier>book</q:identifier> </q:step> </q:forassignment>
60 XQueryX, continued <q:where> <q:function name="and"> <q:function name="equals"> <q:step axis="child"> <q:variable>$b</q:variable> <q:identifier>publisher</q:identifier> </q:step> <q:constant datatype="charstring">morgan Kaufmann</q:consta </q:function> <q:function name="equals"> <q:step axis="child"> <q:variable>$b</q:variable> <q:identifier>year</q:identifier> </q:step> <q:constant datatype="charstring">1998</q:constant> </q:function> </q:function> </q:where>
61 XQueryX, continued 2 <q:return> <q:step axis="child"> <q:variable>$b</q:variable> <q:identifier>title</q:identifier> </q:step> </q:return> </q:flwr> </q:query>
62 Part VII Typing rules
63 Types unit type u ::= string string integer integer attribute a { t } attribute attribute * { t } any attribute element a { t } element element * { t } any element type t ::= u unit type () empty sequence t, t sequence t t choice t? optional t+ one or more t* zero or more x type reference
64 Documents string s ::= "", "a", "b",..., "aa",... integer i ::=..., -1, 0, 1,... document d ::= s string i integer attribute a { d } attribute element a { d } element () empty sequence d, d sequence
65 Type of a document d t s string i integer d t element a { d } element a { t } d t element a { d } element * { t } d t attribute a { d } element a { t } d t attribute a { d } element * { t } d t define group x { t } d x (string) (integer) (element) (any element) (attribute) (any attribute) (group)
66 Type of a document, continued () () d 1 t 1 d 2 t 2 d 1, d 2 t 1, t 2 (empty) (sequence) d 1 t 1 d 1 t 1 t 2 (choice 1) d 2 t 2 d 2 t 1 t 2 (choice 2) d t+? d t* d t, t* d t+ d () t d t? (star) (plus) (option)
67 Subtyping and type equivalence Definition. Write t 1 t 2 iff for all d, if d t 1 then d t 2. Definition. Write t 1 = t 2 iff t 1 t 2 and t 2 t 1. Examples t t? t* t t+ t* t 1 t 1 t 2 t, () = t = (), t t 1, (t 2 t 3 ) = (t 1, t 2 ) (t 1, t 3 ) element a { t 1 t 2 } = element a { t 1 } element a { t 2 } Can decide whether t 1 t 2 using tree automata.
68 Type of an expression E e t environment E ::= $v 1 t 1,..., $v n t n E contains $v t E $v t E e 1 t 1 E, $v t 1 e 2 t 2 E let $v := e 1 return e 2 t 2 E () () E e 1 t 1 E e 2 t 2 E e 1, e 2 t 1, t 2 E e t 1 t 1 t 2 E treat as t 2 (e) t 2 E e t 1 t 1 t 2 E assert as t 2 (e) t 2 (variable) (let) (empty) (sequence) (treat as) (assert as)
69 Quantifiers quantifier q ::= () exactly zero - exactly one? zero or one + one or more * zero or more t () = () t - = t t? = t? t + = t+ t * = t*, () -? + * () () -? + * ?? + * + * * * + * + * () -? + * () ()?? * * -? -? + *???? * * + * + * + * * * * * * * () -? + * () -? + * () -? + * () () () () () () - () -? + *? ()?? * * + () + * + * * () * * * *
70 Typing for loops Return all Amazon and Fatbrain books by Buneman define element CATALOGUE { AMAZON-BOOK*,FATBRAIN-BOOK* } for $book in /CATALOGUE/BOOK where $book/author = "Buneman" return $book ( AMAZON-BOOK FATBRAIN-BOOK )* E e 1 t 1 E, $x P(t 1 ) e 2 t 2 E for $x in e 1 return e 2 t 2 Q(t 1 ) (for) P(AMAZON-BOOK*,FATBRAIN-BOOK*) = AMAZON-BOOK FATBRAIN-BOOK Q(AMAZON-BOOK*,FATBRAIN-BOOK*) = *
71 Prime types unit type u ::= string string integer integer attribute a { t } attribute attribute * { t } any attribute element a { t } element element * { t } any element prime type p ::= u unit type p p choice
72 Factoring P (u) = {u} P (()) = {} P (t 1, t 2 ) = P (t 1 ) P (t 2 ) P (t 1 t 2 ) = P (t 1 ) P (t 2 ) P (t?) = P (t) P (t+) = P (t) P (t*) = P (t) Q(u) = - Q(()) = () Q(t 1, t 2 ) = Q(t 1 ), Q(t 2 ) Q(t 1 t 2 ) = Q(t 1 ) Q(t 2 ) Q(t?) = Q(t)? Q(t+) = Q(t) + Q(t*) = Q(t) * P(t) = () if P (t) = {} = u 1 u n if P (t) = {u 1,..., u n } Factoring theorem. For every type t, prime type p, and quantifier q, we have t p q iff P(t) p? and Q(t) q. Corollary. For every type t, we have t P(t) Q(t).
73 Uses of factoring E e 1 t 1 E, $x P(t 1 ) e 2 t 2 E for $x in e 1 return e 2 t 2 Q(t 1 ) (for) E e t E unordered(e) P(t) Q(t) (unordered) E e t E distinct(e) P(t) Q(t) (distinct) E e 1 integer q 1 q 1? E e 2 integer q 2 q 2? E e 1 + e 2 integer q 1 q 2 (arithmetic)
74 Part VIII Conclusions
75 XML Schema formalism
76 XML Schema formalism
77 Relax
78 Relax
79 Galax
80 Some research topics How to trade-off accuracy for simplicity in types? How to exploit keys and relative keys? How to integrate keys and relative keys into types? How to handle graphs? How to handle fixpoints as in Datalog? How to integrate with OO view of data?
81 Links My XML page W3C XML Query page XML Query demonstrations Galax - AT&T, Lucent, and Avaya Quip - Software AG XQuery demo - Microsoft
82 Conclusions There is nothing to XML There is everything to XML Industry resists formal methods Industry welcomes formal methods The best thing you can do is work on standards The worst thing you can do is work on standards You need XML XML needs you
83 Epilogue Beware the ides of March!
Introduction to XML. Data Integration. Structure in Data Representation. Yanlei Diao UMass Amherst Nov 15, 2007
Introduction to XML Yanlei Diao UMass Amherst Nov 15, 2007 Slides Courtesy of Ramakrishnan & Gehrke, Dan Suciu, Zack Ives and Gerome Miklau. 1 Structure in Data Representation Relational data is highly
XML 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
Exercises: XSD, XPath Basi di da4 2
Exercises: XSD, XPath Basi di da4 2 Disheng Qiu [email protected] Luca Rossi [email protected] Hints: Use a validator XSD Eclipse has a plugin for XML/XSD/DTD valida4on W3C Validator: hmp://www.w3.org/2001/03/webdata/xsv
XML 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
04 XML Schemas. Software Technology 2. MSc in Communication Sciences 2009-10 Program in Technologies for Human Communication Davide Eynard
MSc in Communication Sciences 2009-10 Program in Technologies for Human Communication Davide Eynard Software Technology 2 04 XML Schemas 2 XML: recap and evaluation During last lesson we saw the basics
<?xml version="1.0" encoding="utf-8"?> <xsd:schema xmlns:niso="http://www.niso.org/pdfs/datadict.pdf"
XML Based Customizable Screen. Rev 1.1
XML Based Customizable Screen Rev 1.1 August 10, 2006 1. Introduction Starting from release version 1.0.2.X, GXP-2000 supports the idle screen customization. The designs of the displayed information and
Semistructured 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
The A2A Data Model and its application in WieWasWie. Michel Brinckman [email protected] @michelbrinckman
The A2A Data Model and its application in WieWasWie Michel Brinckman [email protected] @michelbrinckman Overview Archive documents vs genealogy Need for abstraction A2A Entities Into the XML syntax How
How To Write A Contract Versioning In Wsdl 2.2.2
023_013613517X_20.qxd 8/26/08 6:21 PM Page 599 Chapter 20 Versioning Fundamentals 20.1 Basic Concepts and Terminology 20.2 Versioning and Compatibility 20.3 Version Identifiers 20.4 Versioning Strategies
How To Write A Technical Interoperability Standard For Spain
TECHNICAL INTEROPERABILITY STANDARD For E-Files. GOBIERNO DE ESPAÑA MINISTERIO DE HACIENDA Y ADMINISTRACIONES PÚBLICAS SECRETARÍA DE ESTADO DE ADMINISTRACIONES PÚBLICAS DIRECCIÓN GENERAL DE MODERNIZACIÓN
Quiz! 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
XML: 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
INTEGRATING WEB SERVICES INTO A WEB-BASED COLLEGE ADMISSION PORTAL SYSTEM
INTEGRATING WEB SERVICES INTO A WEB-BASED COLLEGE ADMISSION PORTAL SYSTEM Dr. Billy Lim, Yan Sun School of Information Technology Illinois State University Normal, IL 61790-5150, USA [email protected], [email protected]
XQuery Web Apps. for Java Developers
XQuery Web Apps for Java Developers Common Java Setup Install database (SQLServer, PostgreSQL) Install app container (Tomcat, Websphere) Configure ORB (Hibernate) Configure MVC framework (Spring) Configure
AN 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:
Java and XML parsing. EH2745 Lecture #8 Spring 2015. [email protected]
Java and XML parsing EH2745 Lecture #8 Spring 2015 [email protected] Lecture Outline Quick Review The XML language Parsing Files in Java Quick Review We have in the first set of Lectures covered the basics
XML - A Practical Application and Design
Twente University Faculty of Informatics Database group Distributed XML Database Systems Marko Smiljanić, Henk Blanken, Maurice van Keulen, Willem Jonker October 2002 Abstract Invention of XML as a universal
Allegato XML flusso richieste di produzione
Allegato XML flusso richieste di produzione -
XML. Dott. Nicole NOVIELLI [email protected] http://www.di.uniba.it/intint/people/nicole.html. XML: extensible Markup Language
XML Dott. Nicole NOVIELLI [email protected] http://www.di.uniba.it/intint/people/nicole.html XML: extensible Markup Language! Permits document authors to create markup language, that is text-based notations
Last Week. XML (extensible Markup Language) HTML Deficiencies. XML Advantages. Syntax of XML DHTML. Applets. Modifying DOM Event bubbling
XML (extensible Markup Language) Nan Niu ([email protected]) CSC309 -- Fall 2008 DHTML Modifying DOM Event bubbling Applets Last Week 2 HTML Deficiencies Fixed set of tags No standard way to create new
XML WEB TECHNOLOGIES
XML WEB TECHNOLOGIES Chakib Chraibi, Barry University, [email protected] ABSTRACT The Extensible Markup Language (XML) provides a simple, extendable, well-structured, platform independent and easily
Device Feature Key Synchronization
Device Feature Key Synchronization Feature Description Release 14.sp2 Document Version 1.2 DeviceFeatureKeySynchronizationFD ExtraView Number 36498 9737 Washingtonian Boulevard, Suite 350 Gaithersburg,
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
XQuery Language. Introduction to databases CSCC43 Spring 2012 Ryan Johnson
XQuery Language Introduction to databases CSCC43 Spring 2012 Ryan Johnson Thanks to Manos Papagelis, John Mylopoulos, Arnold Rosenbloom and Renee Miller for material in these slides Quick review of XPath
6. SQL/XML. 6.1 Introduction. 6.1 Introduction. 6.1 Introduction. 6.1 Introduction. XML Databases 6. SQL/XML. Creating XML documents from a database
XML Databases Silke Eckstein Andreas Kupfer Institut für Informationssysteme Technische Universität http://www.ifis.cs.tu-bs.de in XML XML Databases SilkeEckstein Institut fürinformationssysteme TU 2 Creating
Semantic Web Languages: RDF vs. SOAP Serialisation
: University of Dortmund Computer Science VIII [email protected] : Why look at something else? Is RDF(S) not sufficient? What is SOAP? Why is SOAP important? Is SOAP Serialisation really an alternative
Julius Caesar Character list and Speeches
Julius Caesar Character list and Speeches 1. When and where does the story take place? 2. How has Caesar risen to power? The Triumvirate after Caesar s death: 1. 2. 3. The Conspirators: 1. 2. 3. 4. 5.
Database Systems. Lecture 1: Introduction
Database Systems Lecture 1: Introduction General Information Professor: Leonid Libkin Contact: [email protected] Lectures: Tuesday, 11:10am 1 pm, AT LT4 Website: http://homepages.inf.ed.ac.uk/libkin/teach/dbs09/index.html
Structured 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?
Relational Databases for Querying XML Documents: Limitations and Opportunities. Outline. Motivation and Problem Definition Querying XML using a RDBMS
Relational Databases for Querying XML Documents: Limitations and Opportunities Jayavel Shanmugasundaram Kristin Tufte Gang He Chun Zhang David DeWitt Jeffrey Naughton Outline Motivation and Problem Definition
Translating 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
XML for RPG Programmers: An Introduction
XML for RPG Programmers: An Introduction OCEAN Technical Conference Catch the Wave Susan M. Gantner susan.gantner @ partner400.com www.partner400.com Your partner in AS/400 and iseries Education Copyright
XML Databases 6. SQL/XML
XML Databases 6. SQL/XML Silke Eckstein Andreas Kupfer Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de 6. SQL/XML 6.1Introduction 6.2 Publishing relational
Languages for Data Integration of Semi- Structured Data II XML Schema, Dom/SAX. Recuperación de Información 2007 Lecture 3.
Languages for Data Integration of Semi- Structured Data II XML Schema, Dom/SAX Recuperación de Información 2007 Lecture 3. Overview XML-schema, a powerful alternative to DTDs XML APIs: DOM, a data-object
Parallels Operations Automation 5.4
Parallels Operations Automation 5.4 Migration Manager Developer's Guide Revision 5.8 (May 15, 2012) Copyright 1999-2012 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP
XML-BASED AUTOMATIC TEST DATA GENERATION
Computing and Informatics, Vol. 27, 2008, 681 698 XML-BASED AUTOMATIC TEST DATA GENERATION Halil Ibrahim Bulbul Department of Computer Education Gazi University, Ankara, Turkey e-mail: [email protected]
Chapter 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],
DTD Tutorial. About the tutorial. Tutorial
About the tutorial Tutorial Simply Easy Learning 2 About the tutorial DTD Tutorial XML Document Type Declaration commonly known as DTD is a way to describe precisely the XML language. DTDs check the validity
Visualization of GML data using XSLT.
Visualization of GML data using XSLT. W.T.M.S.B.Tennakoon February, 2003 Visualization of GML data using XSLT. by W.T.M.S.B.Tennakoon Thesis submitted to the International Institute for Geo-information
Chapter 15 Working with Web Services
Section 3 Chapter 15: Working with Web Services 225 Chapter 15 Working with Web Services The next generation of Web applications involves the use of Web Services. Visual FoxPro 7 s new built-in XML capabilities
XML and Data Integration
XML and Data Integration Week 11-12 Week 11-12 MIE253-Consens 1 Schedule Week Date Lecture Topic 1 Jan 9 Introduction to Data Management 2 Jan 16 The Relational Model 3 Jan. 23 Constraints and SQL DDL
Geography Markup Language (GML) simple features profile
Open Geospatial Consortium Inc. Date: 2006-04-25 Reference number of this document: OGC 06-049 Version: 1.0 Category: OpenGIS Implementation Specification Profile Editor: Panagiotis (Peter) A. Vretanos
SQL Database queries and their equivalence to predicate calculus
SQL Database queries and their equivalence to predicate calculus Russell Impagliazzo, with assistence from Cameron Helm November 3, 2013 1 Warning This lecture goes somewhat beyond Russell s expertise,
Data XML and XQuery A language that can combine and transform data
Data XML and XQuery A language that can combine and transform data John de Longa Solutions Architect DataDirect technologies [email protected] Mobile +44 (0)7710 901501 Data integration through
Selling on Amazon Guide to XML
Selling on Amazon Guide to XML Editor s Note The XML Help documentation contains general information about using XML on Amazon. There are differences in using XML for various Amazon websites, based on
A 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
Relational 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
A Short Introduction to Digital and File System Forensics
Antonio Barili Lab Dept. of Industrial and Information Engineering University of Pavia (Italy) [email protected] Every contact leaves a trace Culprit Scene Victim Edmond Locard (1877-1966) 2015 -
Presentation / Interface 1.3
W3C Recommendations Mobile Web Best Practices 1.0 Canonical XML Version 1.1 Cascading Style Sheets, level 2 (CSS2) SPARQL Query Results XML Format SPARQL Protocol for RDF SPARQL Query Language for RDF
Technologies for a CERIF XML based CRIS
Technologies for a CERIF XML based CRIS Stefan Bärisch GESIS-IZ, Bonn, Germany Abstract The use of XML as a primary storage format as opposed to data exchange raises a number of questions regarding the
EHR-IIS Interoperability Enhancement Project. Transport Layer Protocol Recommendation Formal Specification. Version 1.
EHR-IIS Interoperability Enhancement Project Transport Layer Protocol Recommendation Formal Specification Version 1.1 June 4, 2014 Transport Layer Expert Panel EHR-IIS Interoperability Enhancement Project
Structured vs. unstructured data. Semistructured data, XML, DTDs. Motivation for self-describing data
Structured vs. unstructured data 2 Semistructured data, XML, DTDs Introduction to databases CSCC43 Winter 2011 Ryan Johnson Databases are highly structured Well-known data format: relations and tuples
Discovering 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
XML Databases 10 O. 10. XML Storage 1 Overview
XML Databases 10 O 10. XML Storage 1 Overview Silke Eckstein Andreas Kupfer Institut für Informationssysteme Technische Universität Braunschweig http://www.ifis.cs.tu-bs.de 10. XML Storage 1 10.1 Motivation
ETL Tools. L. Libkin 1 Data Integration and Exchange
ETL Tools ETL = Extract Transform Load Typically: data integration software for building data warehouse Pull large volumes of data from different sources, in different formats, restructure them and load
What's new in 3.0 (XSLT/XPath/XQuery) (plus XML Schema 1.1) Michael Kay Saxonica
What's new in 3.0 (XSLT/XPath/XQuery) (plus XML Schema 1.1) Michael Kay Saxonica XSD 1.1 Now a Proposed Recommendation Which means it's waiting for final approval by the W3C Advisory Committee and the
CST6445: 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
Big Data Analytics. Rasoul Karimi
Big Data Analytics Rasoul Karimi Information Systems and Machine Learning Lab (ISMLL) Institute of Computer Science University of Hildesheim, Germany Big Data Analytics Big Data Analytics 1 / 1 Introduction
Chapter 2: Designing XML DTDs
2. Designing XML DTDs 2-1 Chapter 2: Designing XML DTDs References: Tim Bray, Jean Paoli, C.M. Sperberg-McQueen: Extensible Markup Language (XML) 1.0, 1998. [http://www.w3.org/tr/rec-xml] See also: [http://www.w3.org/xml].
An 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
XML Data Exchange: Consistency and Query Answering
XML Data Exchange: Consistency and Query Answering Marcelo Arenas University of Toronto [email protected] Leonid Libkin University of Toronto [email protected] ABSTRACT Data exchange is the problem
MS-50401 - Designing and Optimizing Database Solutions with Microsoft SQL Server 2008
MS-50401 - Designing and Optimizing Database Solutions with Microsoft SQL Server 2008 Table of Contents Introduction Audience At Completion Prerequisites Microsoft Certified Professional Exams Student
How To Write A Wsdl Standard For Csta (Ecma) And Cst A) (Ecmma)
ECMA-348 5 th Edition / June 2012 Web Services Description Language (WSDL) for CSTA Phase III Reference number ECMA-123:2009 Ecma International 2009 COPYRIGHT PROTECTED DOCUMENT Ecma International 2012
Comparison of IEC CIM and NRECA MultiSpeak
Lessons Learned Part 2: Business Vocabulary Management Comparison of IEC CIM and NRECA MultiSpeak Scott Neumann Partner, Chairman, USNC IEC TC57 1 MultiSpeak Background MultiSpeak effort funded by National
Integrating and Exchanging XML Data using Ontologies
Integrating and Exchanging XML Data using Ontologies Huiyong Xiao and Isabel F. Cruz Department of Computer Science University of Illinois at Chicago {hxiao ifc}@cs.uic.edu Abstract. While providing a
Modern Databases. Database Systems Lecture 18 Natasha Alechina
Modern Databases Database Systems Lecture 18 Natasha Alechina In This Lecture Distributed DBs Web-based DBs Object Oriented DBs Semistructured Data and XML Multimedia DBs For more information Connolly
CS2Bh: Current Technologies. Introduction to XML and Relational Databases. The Relational Model. The relational model
CS2Bh: Current Technologies Introduction to XML and Relational Databases Spring 2005 The Relational Model CS2 Spring 2005 (LN6) 1 The relational model Proposed by Codd in 1970. It is the dominant data
Web 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
Extensible Markup Language (XML): Essentials for Climatologists
Extensible Markup Language (XML): Essentials for Climatologists Alexander V. Besprozvannykh CCl OPAG 1 Implementation/Coordination Team The purpose of this material is to give basic knowledge about XML
MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.
Exam Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) The JDK command to compile a class in the file Test.java is A) java Test.java B) java
XML Data Integration
XML Data Integration Lucja Kot Cornell University 11 November 2010 Lucja Kot (Cornell University) XML Data Integration 11 November 2010 1 / 42 Introduction Data Integration and Query Answering A data integration
XSLT 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.
Scanner. tokens scanner parser IR. source code. errors
Scanner source code tokens scanner parser IR errors maps characters into tokens the basic unit of syntax x = x + y; becomes = + ; character string value for a token is a lexeme
INTEGRATING RELATED XML DATA INTO MULTIPLE DATA WAREHOUSE SCHEMAS
INTEGRATING RELATED XML DATA INTO MULTIPLE DATA WAREHOUSE SCHEMAS Soumya Sen 1, Ranak Ghosh 2, Debanjali Paul 3, Nabendu Chaki 4 1,4 University of Calcutta Kolkata -700009 West Bengal, India 1 [email protected]
Design and Development of Website Validator using XHTML 1.0 Strict Standard
Design and Development of Website Validator using XHTML 1.0 Strict Standard Ibnu Gunawan Informatics Department Petra Christian University Surabaya, Indonesia [email protected] Yohanes Edwin Informatics
