Structured vs. unstructured data. Motivation for self describing data. Enter semistructured data. Databases are highly structured

Size: px
Start display at page:

Download "Structured vs. unstructured data. Motivation for self describing data. Enter semistructured data. Databases are highly structured"

Transcription

1 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? Woe unto you if you lose the schema Plain text is unstructured Introduction to databases CSCC43 Winter 2012 Ryan Johnson Cannot assume any predefined format Apparent organization makes no guarantees Self describing: little external knowledge needed... but have to infer what the data means Thanks to Manos Papagelis, John Mylopoulos, Arnold Rosenbloom, and Renee Miller for material in these slides Irony: database cannot stand alone Motivation for self describing data 3 Enter semistructured data 4 Consider a C struct struct { int id; int type; char name[8]; struct { double x; double y; } location; } shape; Data at code level: {1, 101, square, {1.5, 5.0}} Data at byte level: 0x x x3FF x Variable length fields? Pointers? Endianness? Observation: most data has some structure Text: sentences, paragraphs, sections,... Books: chapters Web pages: HTML Idea of semistructured data: Enforce well formatted data => Always know how to read/parse/manipulate it Optionally, enforce well structured data also => Might help us interpret the data, too *Very* easy to embed [parts of] schema in logic Pro: highly portable Con: verbose/redundant 1

2 Why not use... HTML? <dl> <dt style= color:red >id <dd>1 <dt>type</dt> <dd>101</dd> <dt>name <dd>square <dt>location <dd><dl> <dt>x <dd>1.5 <dt>y</dt> <dd>5</dd> </dl> Pro: popular Con: inconsistent, buggy Closing tags often missing div, table, ul instead of dl? Parsing is *hard* Con: data+presentation Describes presentation and structure, but not content More like a query result Fixed meaning for all tags 5 Why not use... JSON? (JavaScript Object Notation) { } id : 1, type : 101, name : square, location : { x : 1.5, y : 5 } Pros: simple/intuitive portable Cons: No support for any kind of metadata Underspecified (e.g. can t constrain types) Data processing tools missing/immature Growing popularity due to its simplicity 6 7 XML: designed for data interchange 8 XML <books search terms= database+design > <book> <title>database Design for Mere Mortals </title> <author>michael J. Hernandez</author> <date>13/03/2003 </date> </book> <book id= B2 > <title>beginning Database Design</title> <subtitle>from Novice to Professional</subtitle> <author>clare Churcher</author> </book> </books> 2

3 Features of XML Intentionally similar syntax to HTML Tree structured (hierarchical) format Elements surrounded by opening and closing tags Attributes embedded in opening tags => <tag name attr name= attr value >data</tag name> But with important differences Strictly well formed (must close all tags, etc.) Tag/attribute names carry no semantic meaning Data only format: no implied presentation 9 XML terminology <?xml version= 1.0?> <PersonList Type= Student Date= > <Title Value= Student List /> <Person> </Person> <Person> </Person> </PersonList> elements Elements are nested Root element contains all others Empty element Element (or tag) names attributes Root element 10 Descendant of SGML (as is HTML) XML terminology (cont.) Content of Person <Person Name = John Id = s > John is a nice fellow <Address> <Number>21</Number> <Street>Main St.</Street> </Address> </Person> standalone text, not very useful as data, non uniform Child of Address, Descendant of Person Nested element, child of Person Closing tag: What is open must be closed Opening tag Parent of Address, Ancestor of Number Example XML Document <?xml version= 1.0?> <! Some comment > <Students> <Student StudId= > <Name><First>John</First><Last>Doe</Last></Name> <Status>U2</Status> <CrsTaken CrsCode= CS308 Semester= F1997 /> <CrsTaken CrsCode= MAT123 Semester= F1997 /> </Student> <Student StudId= > <Name><First>Bart</First><Last>Simpson</Last></Name> <Status>U4</Status> <CrsTaken CrsCode= CS308 Semester= F1994 /> </Student> </Students> <! Some other comment > 12 3

4 XML Document is a Tree 13 Two kinds of XML Documents 14 Well Formed XML Just need to use proper nesting Can invent your own tags Any tag can go anywhere Validated XML Can invent tags, but have to declare them and specify where they can go A DTD (document type definition) specifies these rules Rules for well formed XML Must have a root element Every opening tag must have matching closing tag Elements must be properly nested <foo><bar></foo></bar> is a no no An attribute name can occur at most once in an opening tag. If it occurs: It must have an explicitly specified value (Boolean attrs, like in HTML, are not allowed) The value must be quoted (with or ) Parsers not allowed to tolerate ill formed XML Valid names in XML Simple rules for elements/attributes names may include letters (case sensitive!) may include (but not start with) digits and punctuation no reserved words or keywords But lots of gotchas Names must not start with xml (case insensitive) Non ASCII/latin letters: legal but not all parsers support them Punctuation is iffy business (one exception: ) Entity characters always forbidden: < > & Spec recommends _ instead of (real life: the opposite is true) : is reserved for namespaces (not enforced). officially discouraged (real life: very rare) $ often used for parameter substitution by XML processors (XQuery, etc.) Other punctuation vanishingly # %... Upper case letters legal but fairly rare All caps very rare (just like rest of Internet) Often see book list instead of camel case BookList Rule of thumb: lower case and usually best 16 4

5 XML, text, and whitespace Adjacent non tag chars parsed as text nodes Parser never ignores whitespace Leading and trailing space left with its text node Whitespace between tags produces empty text nodes Example: <foo> hi<bar> ho </bar> </foo> foo hi bar 17 Example: Well Formed XML <?xml version = 1.0 standalone = yes?> <platforms> <platform><name>x Box</name> <game><title>halo</title> <price>59.99</price></game> Root tag <game><title>crash Bandicoot</title> <price>49.99</price></game> </platform> <platform> </platform> </platforms> Tags surrounding a platform element A name subelement A game subelement 18 \n ho \n Nesting rule for tags must be obeyed Checking your XML 19 Problems with well formed XML 20 xmllint command on cdf. By default, checks if well formed debug Outputs an annotated tree of the parsed document If a program will process XML, good to know things like: What tags are allowed What order, nesting What attributes for each tag What s mandatory or optional A DTD specifies exactly this 5

6 21 Document type definition (DTD) 22 Enforces more than well formed ness Which entities may (or must) appear where Attributes entities may (or must) have Types attributes and data must adhere to DTD separate from XML it constraints DOCUMENT TYPE DEFINITION (DTD) May be embedded in separate section Most often referenced externally Validation: checking XML against its DTD(s) Important for interpreting/validating data Not necessary for parsing DTD building blocks 23 DTD elements 24 Elements (<an element>...</an element>) Must always close tags If no contents: <empty element/> Attributes (<... an attr=......>) Entities ( special tokens) e.g. < > & " &apos; HTML defines lots of others (e.g. ) More on this later PCDATA (parsed character data) Mixed text and markup Use entities to escape >, etc. which should not be parsed CDATA ([non parsed] character data) Plain text data Tags not parsed, entities not expanded <!ELEMENT $e...> $e is the element name " " may contain any of: Nothing: <!ELEMENT $e EMPTY> Anything: <!ELEMENT $e ANY> Text data: <!ELEMENT $e (#PCDATA)> Always parsed (#CDATA not allowed here) Child elements: <!ELEMENT $e (...)> Any child referenced must also be declared Child elements may themselves have children Mixed content: <!ELEMENT $e (#PCDATA... 6

7 DTD elements: children 25 DTD elements: Example 26 Base construct: sequence (,) <!ELEMENT $e (a)> <!ELEMENT $e (a, b, c,...)> Comma ","defines order of which children must appear in XML Either or content ( ) <!ELEMENT $e (a b...)> Exactly one of the options must appear in the XML Constraining child cardinality <!ELEMENT $e (a, b+, c*, d?)> not followed by any of +, *,? : exactly one (e.g., a) +: at least one (e.g., b) *: zero or more (e.g., c)?: at most one (e.g., d) <!ELEMENT resume ( bio,interests,education, experience,awards,service)> <!ELEMENT bio ( name, addr, phone, ?, fax?, url?)> <!ELEMENT interests (interest+)> <!ELEMENT education (degree*)> <!ELEMENT awards ((award honor)*)>... Sequences and either or can both nest DTD elements: Another Example <!DOCTYPE platforms [ <!ELEMENT platforms (platform*)> <!ELEMENT platform (name, game+)> <!ELEMENT name (#PCDATA)> <!ELEMENT game(name, price)> <!ELEMENT price (#PCDATA)> ]> NAME and PRICE are text A PLATFORMS element has zero or more PLATFORM elements nested within A PLATFORM has one NAME and one or more GAME elements A GAME has a NAME and a PRICE 27 DTD Attributes <!ATTLIST $e $a $type $required> Declares an attribute $a on element $e $type may be any of character data: CDATA one of a set of values: (v1 v2...) unique identifier: ID references to one/many ID token(s) of other attributes: IDREF[S] valid xml name (or list of names): NMTOKEN[S] entity (or entities): ENTITY/ENTITIES $required may be required (not required): #REQUIRED (#IMPLIED) fixed value (always the same): #FIXED $value default value (used if none given): $value 28 7

8 DTD attributes: examples 29 DTD attributes: ID[REF][S] 30 <!ATTLIST person sin ID #REQUIRED spouse IDREF #IMPLIED name CDATA John Doe trusted (yes no) no species #FIXED homo sapiens alive (yes no) #IMPLIED > ID attribute type Uniquely identifies an element in the document (like keys) Error to have two Like HTML id attribute, but can have any name IDREF Refers to another element by ID (like foreign keys) Error if corresponding ID does not exist Like HTML href attribute, but no # needed IDREFS List of IDREF attributes, space separated #IMPLIED unless specified otherwise Problem: only one global set of IDs Example: a DTD 31 Example: The XML Document 32 <!DOCTYPE PLATFORMS [ <!ELEMENT PLATFORMS (PLATFORM*, GAME*)> <!ELEMENT PLATFORM (SELLS+)> <!ATTLIST PLATFORM name ID #REQUIRED> <!ELEMENT SELLS (#PCDATA)> <!ATTLIST SELLS thegame IDREF #REQUIRED> <!ELEMENT GAME EMPTY> <!ATTLIST GAME name ID #REQUIRED> <!ATTLIST GAME soldby IDREFS #IMPLIED> ]> <PLATFORMS> <PLATFORM name = X Box > <AVAILABLE game= Halo >59.99</AVAILABLE> <AVAILABLE game= Crash Bandicoot >49.99</AVAILABLE> </PLATFORM> <GAME name= Halo availablefor = X Box X Box 360 /> </PLATFORMS> 8

9 DTD entities The XML equivalent of #define <!ENTITY $name $substituted value > Can t take parameters, though Used just like other entities <politician speak> I vow to lead the fight to stamp out &buzz word; by instituting powerful new programs that will... </politician speak> Pick your favorite substitution: <!ENTITY buzz word communism > <!ENTITY buzz word racism > <!ENTITY buzz word terrorism > <!ENTITY buzz word illegal file sharing > Not heavily used: better templating methods exist 33 Embedded vs. External DTD Specified as part of a document <?xml version= 1.0?> <!DOCTYPE Book [ ]> <Book> </Book> Reference to external (stand alone) DTD <?xml version= 1.0?> <!DOCTYPE Book > <Book> </Book> EXAMPLE: Emdedded DTD <?xml version = 1.0 standalone = no?> <!DOCTYPE PLATFORMS [ <!ELEMENT PLATFORMS (PLATFORM*)> <!ELEMENT PLATFORM (NAME, GAME+)> The DTD <!ELEMENT NAME (#PCDATA)> <!ELEMENT GAME (NAME, PRICE)> <!ELEMENT PRICE (#PCDATA)> The document ]> <PLATFORMS> <PLATFORM><NAME>X Box</NAME> <GAME><NAME>Halo</NAME> <PRICE>59.99</PRICE></GAME> <GAME><NAME>Crash Bandicoot</NAME> <PRICE>49.99</PRICE></GAME> </PLATFORM> <PLATFORM> </PLATFORMS> 35 EXAMPLE: External DTD <?xml version = 1.0 standalone = no?> <!DOCTYPE platforms SYSTEM PLATFORM.dtd > <platforms> <platform><name>x Box</name> <game><title>halo</title> <price>59.99</price></game> <game><title>crash Bandicoot</title> <price>49.99</price></game> </platform> <platform> </platform> </platforms> Get the DTD from the file PLATFORM.dtd 36 9

10 Limitations of DTDs 37 XML Schema 38 Don t understand namespaces Very limited typing (just strings and XML names) Very weak referential integrity All ID / IDREF / IDREFS share single ID space Can t express unordered contents conveniently How to specify that a,b,c must all appear, but in any order? All element names are global Is <name> for people or companies? can t declare both in the same DTD Designed to improve on DTDs Advantages: Integrated with namespaces Many built in types User defined types Has local element names Powerful key and referential constraints Disadvantages: Unwieldy, much more complex than DTDs We won t cover XML schema in class What is Next? 39 XML Query Languages XPATH XQUERY 10

Structured vs. unstructured data. Semistructured data, XML, DTDs. Motivation for self-describing data

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

More information

XML: extensible Markup Language. Anabel Fraga

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

More information

DTD Tutorial. About the tutorial. Tutorial

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

More information

Semistructured data and XML. Institutt for Informatikk INF3100 09.04.2013 Ahmet Soylu

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

More information

Last Week. XML (extensible Markup Language) HTML Deficiencies. XML Advantages. Syntax of XML DHTML. Applets. Modifying DOM Event bubbling

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 (nn@cs.toronto.edu) CSC309 -- Fall 2008 DHTML Modifying DOM Event bubbling Applets Last Week 2 HTML Deficiencies Fixed set of tags No standard way to create new

More information

XML and Data Integration

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

More information

XML. Document Type Definitions XML Schema

XML. Document Type Definitions XML Schema XML Document Type Definitions XML Schema 1 Well-Formed and Valid XML Well-Formed XML allows you to invent your own tags. Valid XML conforms to a certain DTD. 2 Well-Formed XML Start the document with a

More information

Quiz! Database Indexes. Index. Quiz! Disc and main memory. Quiz! How costly is this operation (naive solution)?

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

More information

Data Integration through XML/XSLT. Presenter: Xin Gu

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 information

Extensible Markup Language (XML): Essentials for Climatologists

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

More information

Standard Recommended Practice extensible Markup Language (XML) for the Interchange of Document Images and Related Metadata

Standard Recommended Practice extensible Markup Language (XML) for the Interchange of Document Images and Related Metadata Standard for Information and Image Management Standard Recommended Practice extensible Markup Language (XML) for the Interchange of Document Images and Related Metadata Association for Information and

More information

XML Schema Definition Language (XSDL)

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

More information

An XML Based Data Exchange Model for Power System Studies

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

More information

BASI 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 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 information

XML and Data Management

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

More information

Internationalization Tag Set 1.0 A New Standard for Internationalization and Localization of XML

Internationalization Tag Set 1.0 A New Standard for Internationalization and Localization of XML A New Standard for Internationalization and Localization of XML Felix Sasaki World Wide Web Consortium 1 San Jose, This presentation describes a new W3C Recommendation, the Internationalization Tag Set

More information

Translating between XML and Relational Databases using XML Schema and Automed

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

More information

1. Write the query of Exercise 6.19 using TRC and DRC: Find the names of all brokers who have made money in all accounts assigned to them.

1. Write the query of Exercise 6.19 using TRC and DRC: Find the names of all brokers who have made money in all accounts assigned to them. 1. Write the query of Exercise 6.19 using TRC and DRC: Find the names of all brokers who have made money in all accounts assigned to them. TRC: DRC: {B.Name Broker(B) AND A Account (A.BrokerId = B.Id A.Gain

More information

Unified XML/relational storage March 2005. The IBM approach to unified XML/relational databases

Unified XML/relational storage March 2005. The IBM approach to unified XML/relational databases March 2005 The IBM approach to unified XML/relational databases Page 2 Contents 2 What is native XML storage? 3 What options are available today? 3 Shred 5 CLOB 5 BLOB (pseudo native) 6 True native 7 The

More information

Cleo Communications. CUEScript Training

Cleo 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 information

Chapter 1: Introduction

Chapter 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 information

Introduction to XML. Data Integration. Structure in Data Representation. Yanlei Diao UMass Amherst Nov 15, 2007

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

More information

04 XML Schemas. Software Technology 2. MSc in Communication Sciences 2009-10 Program in Technologies for Human Communication Davide Eynard

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

More information

Chapter 2: Designing XML DTDs

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].

More information

Exchanger XML Editor - Canonicalization and XML Digital Signatures

Exchanger XML Editor - Canonicalization and XML Digital Signatures Exchanger XML Editor - Canonicalization and XML Digital Signatures Copyright 2005 Cladonia Ltd Table of Contents XML Canonicalization... 2 Inclusive Canonicalization... 2 Inclusive Canonicalization Example...

More information

Managing XML Documents Versions and Upgrades with XSLT

Managing XML Documents Versions and Upgrades with XSLT Managing XML Documents Versions and Upgrades with XSLT Vadim Zaliva, lord@crocodile.org 2001 Abstract This paper describes mechanism for versioning and upgrding XML configuration files used in FWBuilder

More information

Introduction to XML Applications

Introduction 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 information

Interactive Data Visualization for the Web Scott Murray

Interactive Data Visualization for the Web Scott Murray Interactive Data Visualization for the Web Scott Murray Technology Foundations Web technologies HTML CSS SVG Javascript HTML (Hypertext Markup Language) Used to mark up the content of a web page by adding

More information

Ecma/TC39/2013/NN. 4 th Draft ECMA-XXX. 1 st Edition / July 2013. The JSON Data Interchange Format. Reference number ECMA-123:2009

Ecma/TC39/2013/NN. 4 th Draft ECMA-XXX. 1 st Edition / July 2013. The JSON Data Interchange Format. Reference number ECMA-123:2009 Ecma/TC39/2013/NN 4 th Draft ECMA-XXX 1 st Edition / July 2013 The JSON Data Interchange Format Reference number ECMA-123:2009 Ecma International 2009 COPYRIGHT PROTECTED DOCUMENT Ecma International 2013

More information

VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR

VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR VIRTUAL LABORATORY: MULTI-STYLE CODE EDITOR Andrey V.Lyamin, State University of IT, Mechanics and Optics St. Petersburg, Russia Oleg E.Vashenkov, State University of IT, Mechanics and Optics, St.Petersburg,

More information

How To Use Xml In A Web Browser (For A Web User)

How To Use Xml In A Web Browser (For A Web User) Anwendersoftware a Advanced Information Management Chapter 3: XML Basics Holger Schwarz Universität Stuttgart Sommersemester 2009 Overview Motivation Fundamentals Document Type Definition (DTD) XML Namespaces

More information

10CS73:Web Programming

10CS73: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 information

XML. CIS-3152, Spring 2013 Peter C. Chapin

XML. CIS-3152, Spring 2013 Peter C. Chapin XML CIS-3152, Spring 2013 Peter C. Chapin Markup Languages Plain text documents with special commands PRO Plays well with version control and other program development tools. Easy to manipulate with scripts

More information

Markup Languages and Semistructured Data - SS 02

Markup 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 information

Chapter 3: XML Namespaces

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],

More information

MASTERTAG DEVELOPER GUIDE

MASTERTAG DEVELOPER GUIDE MASTERTAG DEVELOPER GUIDE TABLE OF CONTENTS 1 Introduction... 4 1.1 What is the zanox MasterTag?... 4 1.2 What is the zanox page type?... 4 2 Create a MasterTag application in the zanox Application Store...

More information

CIS 467/602-01: Data Visualization

CIS 467/602-01: Data Visualization CIS 467/602-01: Data Visualization HTML, CSS, SVG, (& JavaScript) Dr. David Koop Assignment 1 Posted on the course web site Due Friday, Feb. 13 Get started soon! Submission information will be posted Useful

More information

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. The Relational Model. The relational model

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

More information

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. 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

More information

Managing large sound databases using Mpeg7

Managing large sound databases using Mpeg7 Max Jacob 1 1 Institut de Recherche et Coordination Acoustique/Musique (IRCAM), place Igor Stravinsky 1, 75003, Paris, France Correspondence should be addressed to Max Jacob (max.jacob@ircam.fr) ABSTRACT

More information

2009 Martin v. Löwis. Data-centric XML. Other Schema Languages

2009 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 information

IoT-Ticket.com. Your Ticket to the Internet of Things and beyond. IoT API

IoT-Ticket.com. Your Ticket to the Internet of Things and beyond. IoT API IoT-Ticket.com Your Ticket to the Internet of Things and beyond IoT API Contents 1 Introduction... 4 1.1 Overview... 4 1.2 Abbreviations and definitions... 4 1.3 Data Model... 4 1.4 General Information...

More information

Chapter 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 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 information

Introduction to Ingeniux Forms Builder. 90 minute Course CMSFB-V6 P.0-20080901

Introduction to Ingeniux Forms Builder. 90 minute Course CMSFB-V6 P.0-20080901 Introduction to Ingeniux Forms Builder 90 minute Course CMSFB-V6 P.0-20080901 Table of Contents COURSE OBJECTIVES... 1 Introducing Ingeniux Forms Builder... 3 Acquiring Ingeniux Forms Builder... 3 Installing

More information

Java and XML parsing. EH2745 Lecture #8 Spring 2015. larsno@kth.se

Java and XML parsing. EH2745 Lecture #8 Spring 2015. larsno@kth.se Java and XML parsing EH2745 Lecture #8 Spring 2015 larsno@kth.se Lecture Outline Quick Review The XML language Parsing Files in Java Quick Review We have in the first set of Lectures covered the basics

More information

AN ENHANCED DATA MODEL AND QUERY ALGEBRA FOR PARTIALLY STRUCTURED XML DATABASE

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:

More information

XML Processing and Web Services. Chapter 17

XML Processing and Web Services. Chapter 17 XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing

More information

SQL DATA DEFINITION: KEY CONSTRAINTS. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 7

SQL DATA DEFINITION: KEY CONSTRAINTS. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 7 SQL DATA DEFINITION: KEY CONSTRAINTS CS121: Introduction to Relational Database Systems Fall 2015 Lecture 7 Data Definition 2 Covered most of SQL data manipulation operations Continue exploration of SQL

More information

A Workbench for Prototyping XML Data Exchange (extended abstract)

A Workbench for Prototyping XML Data Exchange (extended abstract) A Workbench for Prototyping XML Data Exchange (extended abstract) Renzo Orsini and Augusto Celentano Università Ca Foscari di Venezia, Dipartimento di Informatica via Torino 155, 30172 Mestre (VE), Italy

More information

Physical Design. Meeting the needs of the users is the gold standard against which we measure our success in creating a database.

Physical Design. Meeting the needs of the users is the gold standard against which we measure our success in creating a database. Physical Design Physical Database Design (Defined): Process of producing a description of the implementation of the database on secondary storage; it describes the base relations, file organizations, and

More information

Data Tool Platform SQL Development Tools

Data Tool Platform SQL Development Tools Data Tool Platform SQL Development Tools ekapner Contents Setting SQL Development Preferences...5 Execution Plan View Options Preferences...5 General Preferences...5 Label Decorations Preferences...6

More information

XSLT Mapping in SAP PI 7.1

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.

More information

Change Management for XML, in XML

Change Management for XML, in XML This is a draft for a chapter in the 5 th edition of The XML Handbook, due for publication in late 2003. Authors: Martin Bryan, Robin La Fontaine Change Management for XML, in XML The benefits of change

More information

ASPECTS OF XML TECHNOLOGY IN ebusiness TRANSACTIONS

ASPECTS OF XML TECHNOLOGY IN ebusiness TRANSACTIONS ASPECTS OF XML TECHNOLOGY IN ebusiness TRANSACTIONS Darek Bober, Piotr Muryjas Lublin University of Technology, Department of Computer Science, Borowik@pluton.pol.lublin.pl 1. INTRODUCTION A problem of

More information

metaengine DataConnect For SharePoint 2007 Configuration Guide

metaengine DataConnect For SharePoint 2007 Configuration Guide metaengine DataConnect For SharePoint 2007 Configuration Guide metaengine DataConnect for SharePoint 2007 Configuration Guide (2.4) Page 1 Contents Introduction... 5 Installation and deployment... 6 Installation...

More information

Chapter 1: Introduction. Database Management System (DBMS) University Database Example

Chapter 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 information

BASICS OF WEB DESIGN CHAPTER 2 HTML BASICS KEY CONCEPTS COPYRIGHT 2013 TERRY ANN MORRIS, ED.D

BASICS OF WEB DESIGN CHAPTER 2 HTML BASICS KEY CONCEPTS COPYRIGHT 2013 TERRY ANN MORRIS, ED.D BASICS OF WEB DESIGN CHAPTER 2 HTML BASICS KEY CONCEPTS COPYRIGHT 2013 TERRY ANN MORRIS, ED.D 1 LEARNING OUTCOMES Describe the anatomy of a web page Format the body of a web page with block-level elements

More information

RUT developers handbook 9.51 Introduction to XML and DOM, with applications in Matlab v. 2.0

RUT developers handbook 9.51 Introduction to XML and DOM, with applications in Matlab v. 2.0 2004-01-05 LiTH RUT developers handbook 9.51 Introduction to XML and DOM, with applications in Matlab v. 2.0 Eric Karlsson Abstract An XML document can be used as an excellent intermediate storage for

More information

Lesson 8: Introduction to Databases E-R Data Modeling

Lesson 8: Introduction to Databases E-R Data Modeling Lesson 8: Introduction to Databases E-R Data Modeling Contents Introduction to Databases Abstraction, Schemas, and Views Data Models Database Management System (DBMS) Components Entity Relationship Data

More information

Enterprise Content Management (ECM) Strategy

Enterprise Content Management (ECM) Strategy Enterprise Content Management (ECM) Strategy Structured Authoring August 11, 2004 What is Structured Authoring? Structured Authoring is the process of creating content that is machine parsable. -2- What

More information

XML WEB TECHNOLOGIES

XML WEB TECHNOLOGIES XML WEB TECHNOLOGIES Chakib Chraibi, Barry University, cchraibi@mail.barry.edu ABSTRACT The Extensible Markup Language (XML) provides a simple, extendable, well-structured, platform independent and easily

More information

Representation of E-documents in AIDA Project

Representation of E-documents in AIDA Project Representation of E-documents in AIDA Project Diana Berbecaru Marius Marian Dip. di Automatica e Informatica Politecnico di Torino Corso Duca degli Abruzzi 24, 10129 Torino, Italy Abstract Initially developed

More information

The Web Web page Links 16-3

The Web Web page Links 16-3 Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Write basic HTML documents Describe several specific HTML tags and their purposes 16-1 Chapter Goals

More information

JavaScript: Introduction to Scripting. 2008 Pearson Education, Inc. All rights reserved.

JavaScript: 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 information

Implementing XML Schema inside a Relational Database

Implementing XML Schema inside a Relational Database Implementing XML Schema inside a Relational Database Sandeepan Banerjee Oracle Server Technologies 500 Oracle Pkwy Redwood Shores, CA 94065, USA + 1 650 506 7000 Sandeepan.Banerjee@Oracle.com ABSTRACT

More information

Web Services Technologies

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

More information

Software documentation systems

Software documentation systems Software documentation systems Basic introduction to various user-oriented and developer-oriented software documentation systems. Ondrej Holotnak Ondrej Jombik Software documentation systems: Basic introduction

More information

Database System Concepts

Database System Concepts s Design Chapter 1: Introduction Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2008/2009 Slides (fortemente) baseados nos slides oficiais do livro c Silberschatz, Korth

More information

LabVIEW Internet Toolkit User Guide

LabVIEW Internet Toolkit User Guide LabVIEW Internet Toolkit User Guide Version 6.0 Contents The LabVIEW Internet Toolkit provides you with the ability to incorporate Internet capabilities into VIs. You can use LabVIEW to work with XML documents,

More information

How To Use Query Console

How To Use Query Console Query Console User Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-1, February, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Query Console User

More information

Web Programming. Robert M. Dondero, Ph.D. Princeton University

Web Programming. Robert M. Dondero, Ph.D. Princeton University Web Programming Robert M. Dondero, Ph.D. Princeton University 1 Objectives You will learn: The fundamentals of web programming... The hypertext markup language (HTML) Uniform resource locators (URLs) The

More information

Modern Databases. Database Systems Lecture 18 Natasha Alechina

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

More information

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Fall 2005 Handout 7 Scanner Parser Project Wednesday, September 7 DUE: Wednesday, September 21 This

More information

What's New In DITA CMS 4.0

What's New In DITA CMS 4.0 What's New In DITA CMS 4.0 WWW.IXIASOFT.COM / DITACMS v. 4.0 / Copyright 2014 IXIASOFT Technologies. All rights reserved. Last revised: December 11, 2014 Table of contents 3 Table of contents Chapter

More information

Purpose... 2. What is EDI X12... 2. EDI X12 standards and releases... 2. Trading Partner Requirements... 2. EDI X12 Dissected... 3

Purpose... 2. What is EDI X12... 2. EDI X12 standards and releases... 2. Trading Partner Requirements... 2. EDI X12 Dissected... 3 Beginners Guide to EDI X12 (including HIPAA) Copyright 2006-2011 Etasoft Inc. Main website http://www.etasoft.com Products website http://www.xtranslator.com Purpose... 2 What is EDI X12... 2 EDI X12 standards

More information

by LindaMay Patterson PartnerWorld for Developers, AS/400 January 2000

by LindaMay Patterson PartnerWorld for Developers, AS/400 January 2000 Home Products Consulting Industries News About IBM by LindaMay Patterson PartnerWorld for Developers, AS/400 January 2000 Copyright IBM Corporation, 1999. All Rights Reserved. All trademarks or registered

More information

Coping with Semantics in XML Document Management

Coping with Semantics in XML Document Management Coping with Semantics in XML Document Management Thomas Kudrass Leipzig University of Applied Science, Department of Computer Science and Mathematics, D-04251 Leipzig kudrass@imn.htwk-leipzig.de This paper

More information

TagSoup: A SAX parser in Java for nasty, ugly HTML. John Cowan (cowan@ccil.org)

TagSoup: A SAX parser in Java for nasty, ugly HTML. John Cowan (cowan@ccil.org) TagSoup: A SAX parser in Java for nasty, ugly HTML John Cowan (cowan@ccil.org) Copyright This presentation is: Copyright 2004 John Cowan Licensed under the GNU General Public License ABSOLUTELY WITHOUT

More information

CSE 530A Database Management Systems. Introduction. Washington University Fall 2013

CSE 530A Database Management Systems. Introduction. Washington University Fall 2013 CSE 530A Database Management Systems Introduction Washington University Fall 2013 Overview Time: Mon/Wed 7:00-8:30 PM Location: Crow 206 Instructor: Michael Plezbert TA: Gene Lee Websites: http://classes.engineering.wustl.edu/cse530/

More information

Introduction to Web Services

Introduction 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 information

Lesson 4 Web Service Interface Definition (Part I)

Lesson 4 Web Service Interface Definition (Part I) Lesson 4 Web Service Interface Definition (Part I) Service Oriented Architectures Module 1 - Basic technologies Unit 3 WSDL Ernesto Damiani Università di Milano Interface Definition Languages (1) IDLs

More information

Cross Site Scripting (XSS) and PHP Security. Anthony Ferrara NYPHP and OWASP Security Series June 30, 2011

Cross Site Scripting (XSS) and PHP Security. Anthony Ferrara NYPHP and OWASP Security Series June 30, 2011 Cross Site Scripting (XSS) and PHP Security Anthony Ferrara NYPHP and OWASP Security Series June 30, 2011 What Is Cross Site Scripting? Injecting Scripts Into Otherwise Benign and Trusted Browser Rendered

More information

Lecture 9. Semantic Analysis Scoping and Symbol Table

Lecture 9. Semantic Analysis Scoping and Symbol Table Lecture 9. Semantic Analysis Scoping and Symbol Table Wei Le 2015.10 Outline Semantic analysis Scoping The Role of Symbol Table Implementing a Symbol Table Semantic Analysis Parser builds abstract syntax

More information

[MS-ASMS]: Exchange ActiveSync: Short Message Service (SMS) Protocol

[MS-ASMS]: Exchange ActiveSync: Short Message Service (SMS) Protocol [MS-ASMS]: Exchange ActiveSync: Short Message Service (SMS) Protocol Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications

More information

Moving from CS 61A Scheme to CS 61B Java

Moving from CS 61A Scheme to CS 61B Java Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you

More information

Digital Signatures for XML

Digital Signatures for XML Digital Signatures for XML Richard D. Brown GlobeSet, Inc. Revision History 16-June-98: Initial Draft 13-October-98: Revision to reflect 1998-09-16 XML Namespaces proposal 04-April-99: Fix numerous typos,

More information

2874CD1EssentialSQL.qxd 6/25/01 3:06 PM Page 1 Essential SQL Copyright 2001 SYBEX, Inc., Alameda, CA www.sybex.com

2874CD1EssentialSQL.qxd 6/25/01 3:06 PM Page 1 Essential SQL Copyright 2001 SYBEX, Inc., Alameda, CA www.sybex.com Essential SQL 2 Essential SQL This bonus chapter is provided with Mastering Delphi 6. It is a basic introduction to SQL to accompany Chapter 14, Client/Server Programming. RDBMS packages are generally

More information

Deferred node-copying scheme for XQuery processors

Deferred node-copying scheme for XQuery processors Deferred node-copying scheme for XQuery processors Jan Kurš and Jan Vraný Software Engineering Group, FIT ČVUT, Kolejn 550/2, 160 00, Prague, Czech Republic kurs.jan@post.cz, jan.vrany@fit.cvut.cz Abstract.

More information

Semantic Analysis: Types and Type Checking

Semantic Analysis: Types and Type Checking Semantic Analysis Semantic Analysis: Types and Type Checking CS 471 October 10, 2007 Source code Lexical Analysis tokens Syntactic Analysis AST Semantic Analysis AST Intermediate Code Gen lexical errors

More information

1 Introduction. 2 An Interpreter. 2.1 Handling Source Code

1 Introduction. 2 An Interpreter. 2.1 Handling Source Code 1 Introduction The purpose of this assignment is to write an interpreter for a small subset of the Lisp programming language. The interpreter should be able to perform simple arithmetic and comparisons

More information

T XML in 2 lessons! %! " #$& $ "#& ) ' */,: -.,0+(. ". "'- (. 1

T 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 information

Keywords: XML, Web-based Editor

Keywords: XML, Web-based Editor A WEB-BASED XML EDITOR Rahul Shrivastava, Sherif Elfayoumy, and Sanjay Ahuja rshrivas@unf.edu, selfayou@unf.edu, sahuja@unf.edu Department of Computer and Information Sciences University of North Florida

More information

PL/SQL MOCK TEST PL/SQL MOCK TEST I

PL/SQL MOCK TEST PL/SQL MOCK TEST I http://www.tutorialspoint.com PL/SQL MOCK TEST Copyright tutorialspoint.com This section presents you various set of Mock Tests related to PL/SQL. You can download these sample mock tests at your local

More information

Grandstream XML Application Guide Three XML Applications

Grandstream XML Application Guide Three XML Applications Grandstream XML Application Guide Three XML Applications PART A Application Explanations PART B XML Syntax, Technical Detail, File Examples Grandstream XML Application Guide - PART A Three XML Applications

More information

Design and Development of Website Validator using XHTML 1.0 Strict Standard

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 Ibnu@petra.ac.id Yohanes Edwin Informatics

More information

Instant SQL Programming

Instant 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 information

Data Modeling Basics

Data Modeling Basics Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy

More information

PHIN DIRECTORY EXCHANGE IMPLEMENTATION GUIDE. Version 1.0

PHIN DIRECTORY EXCHANGE IMPLEMENTATION GUIDE. Version 1.0 PHIN DIRECTORY EXCHANGE IMPLEMENTATION GUIDE Version 1.0 May 16, 2007 VERSION HISTORY Version # Implemented By Revision Date Approved By Approval Date Reason 0.1 Robb Chapman 02/25/2006 Initial Draft 0.2

More information

T-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 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 information

Structured storage and retrieval of SGML documents using Grove

Structured storage and retrieval of SGML documents using Grove Information Processing and Management 36 (2000) 643±657 www.elsevier.com/locate/infoproman Structured storage and retrieval of SGML documents using Grove Hak-Gyoon Kim, Sung-Bae Cho* Department of Computer

More information