database information systems
Download
Skip this Video
Download Presentation
Database & Information Systems

Loading in 2 Seconds...

play fullscreen
1 / 32

Database Information Systems - PowerPoint PPT Presentation


  • 251 Views
  • Uploaded on

Database & Information Systems. XML Motivation & Syntax Monica Farrow G30 email : [email protected] XML Topics. Motivation Syntax Describing the document DTD, XML Schema Accessing the elements using XPath Using XML Transforming and querying XML XSLT, XPath, XQuery

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Database Information Systems' - richard_edik


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
database information systems

Database & Information Systems

XML

Motivation & Syntax

Monica Farrow G30

email : [email protected]

xml topics
XML Topics
  • Motivation
  • Syntax
  • Describing the document
    • DTD, XML Schema
  • Accessing the elements using XPath
  • Using XML
    • Transforming and querying XML
      • XSLT, XPath, XQuery
    • XML & Databases
    • Programming APIs (DOM, SAX) used with XML

XML - Motivation & Syntax

xml in one slide
XML in One Slide
  • Basically, XML is an annotated text file. The format is similar to HTML
  • However, in XML, you can use any tag names that you want, to describe the data
  • Example:

<person>

<name> Lisa Simpson</name>

<tel> 0131-828-1234 </tel>

<tel> 078-4701-7775 </tel>

<email> [email protected]</email>

</person>

XML - Motivation & Syntax

motivation
Motivation
  • XML allows us to create machine-readable text files, enabling
    • Exchange of data over a network
    • Separation of content from presentation
      • “Write once read anywhere”
    • The Semantic Web
      • A machine-understandable Web
      • The meaning of data (i.e., the semantics of data) should be encoded together with the data

XML - Motivation & Syntax

newsfeeds
Newsfeeds
  • News can be exported as RSS - this data can easily be used by a program
  • Browsers such as Firefox enable you to add rss feeds to your webpage

XML - Motivation & Syntax

rss example
RSS example
  • Really Simple Syndication
  • The latest news on topics you’ve subscribed to arrive at your RSS reader (here the browser)

XML - Motivation & Syntax

business data exchange
Business data exchange

Solution: Use XML

On every step of the way for data exchange

XML - Motivation & Syntax

application data
Application data
  • A standard method to access information, making it easier for applications and devices of all kinds to use, store, transmit, and display data.
  • For example, an application may store data in XML files to keep track of the updates used
    • Version number, file names, installation time etc

XML - Motivation & Syntax

write once use everywhere

XSL

XSL

XSL

WML

(hand-held

devices)

HTML

(web browser)

TEXT

(Excel)

Write Once Use Everywhere

XML document

XML - Motivation & Syntax

semantic integration doctor s appointment the semantic web scientific american may 2001

Insurance Co.

Rating

Provider sites

Physician’s Agent

Mom

required

treatment

in-plan?

close-by?

Specialist?

Driving schedule

Lucy’s Agent

Pete’s Agent

Semantic integration: Doctor’s Appointment“The Semantic Web”, Scientific American, May 2001

Needs treatment

Schedule appointment

Arranges treatment

Will drive her there if free

Will drive her there if free

XML - Motivation & Syntax

some existing xml languages
Some existing XML languages
  • XHTML
    • XML compatible version of HTML
  • DocBook
    • For any documentation. Tags such as title, chapter, para etc
  • ODF
    • Open document format. For office documents such as word processing or spreadsheets . Used by OpenOffice.
  • MathXML
    • To describe mathematical formulae

XML - Motivation & Syntax

xml syntax
XML

Syntax

xml overview
XML Overview
  • XML is a ‘human-legible’ simplified subset of the Standardised General Markup Language, on which HTML is also based
  • Data is divided into elements and attributes. Each element is surrounded by a start tag and an end tag.
    • <tel>0131–444 7777</tel>
  • Tagnames are chosen to reflect the meaning of the element content
    • (In html, tagnames are chosen to indicate page structure)

SGML

XML

HTML

XML - Motivation & Syntax

terminology

element,

Contains text

Terminology
  • The segment of an XML document between an opening and a corresponding closing tag is called an element
  • Elements may contain text or other elements

Element contains other elements

<person>

<name>Bart Simpson</name>

<tel>0131–444 7777</tel>

<tel>078–4011 6022</tel>

<email>[email protected]</email>

</person>

Can be >1 element with the same tagname

XML - Motivation & Syntax

xml document is a tree

person

name

tel

tel

email

XML Document is a Tree

Bart Simpson

0131-444 7777

078–4011 6022

[email protected]

  • XML documents are abstractly modeled as trees, as reflected by their nesting
  • Sometimes, XML documents are graphs (by using IDs and IDREFs to link elements)

XML - Motivation & Syntax

elements can be nested
Elements Can Be Nested

<addresses>

<person>

<name>Donald Duck</name>

<tel>0131-8281345</tel>

<tel>0131-8281374</tel>

<email> [email protected] </email>

</person>

<person>

<name> Mickey Mouse</name>

<tel> 0141-4261142 </tel>

</person>

</addresses>

XML - Motivation & Syntax

a complete xml document
A Complete XML Document

<?XML version ="1.0" encoding="UTF-8">

<!DOCTYPE addresses SYSTEM "http://www.addbook.com/addresses.dtd">

<addresses>

<person>

<name>Lisa Simpson</name>

<tel> 0131-828 1234 </tel>

<tel> 078-4701 7775 </tel>

<email> [email protected] </email>

</person>

</addresses>

Required

Optional

XML - Motivation & Syntax

attributes
Attributes
  • An opening tag may contain attributes
  • These are typically used to describe the contents of an element

<entry>

<wordlanguage = “en”>cheese</word>

<wordlanguage = “fr”>fromage</word>

<wordlanguage = “ro”>branza</word>

<meaning>A food made …</meaning>

</entry>

XML - Motivation & Syntax

when to use attributes
When to Use Attributes

It’s not always clear when to useattributes

<person>

<ssno>123 4589</ssno>

<name>L. Simpson </name>

<email>

[email protected]

</email>

...

</person>

<person ssno= “123 4589”>

<name>L. Simpson </name>

<email>

[email protected]

</email>

...

</person>

XML - Motivation & Syntax

when to use attributes20
When to Use Attributes

It’s not always clear when to use attributes

General Rule:

Use an attribute to describe how the data

should be interpreted (e.g. language, currency)

Use an attribute for “IDs”, i.e., identifying data

(covered later)

XML - Motivation & Syntax

rules for xml 1
Rules for XML (1)
  • XML is order sensitive, i.e. the following are different:
  • XML is case-sensitive, i.e., the following are different: <person>, <Person>, <PERSON>

<entry>

<wordlanguage = “en”>cheese</word>

<wordlanguage = “fr”>fromage</word>

</entry>

<entry>

<wordlanguage = “fr”>fromage</word>

<wordlanguage = “en”>cheese</word>

</entry>

XML - Motivation & Syntax

rules for xml 2
Rules for XML (2)
  • Tags come in pairs<date> ...</date>
  • They must be properly nested
    • Good:<date> ... <day> ... </day> ... </date>
    • Bad: <date> ... <day> ... </date>... </day>
    • Bad: <date> ... </Date>
  • There is a special shortcut for tags that have no text or sub-elements in between them (empty element, bachelor tags)
    • <img src=“myPic.jpg” /> instead of
    • < img src=“myPic.jpg > </img>

XML - Motivation & Syntax

rules for xml 3
Rules for XML (3)
  • There should be exactly one top-level element.
  • This element is also called the root element
  • <?xml version=“1.0”?>
  • <Question> This is legal </Question>
  • <?xml version=“1.0”?>
  • <Question> Is this legal? </Question>
  • <Answer> No. </Answer>

XML - Motivation & Syntax

well formed documents
Well Formed Documents
  • A document is well-formed if it has
    • One top-level element
    • Tags come in properly nested case-sensitive pairs
      • Empty elements may use the accepted shortcut /
    • Attribute values must be enclosed in quotes
    • Attribute names must not be repeated within a tag

XML - Motivation & Syntax

why is this not well formed
Why is this not well-formed?

<?XML version ="1.0" encoding="UTF-8">

<person phone= 0131-828 1234

phone=078-4701 7775 >

<Name>

<first>Homer

<second>Simpson

</first></second>

</name>

<person phone= 0131-828 1235 >

<Name>

<first>Lisa

<second>Simpson

</first></second>

</name>

XML - Motivation & Syntax

ids and referencing
IDs and Referencing
  • Unique elements can be identified with an id, and referred to from other elements
  • In this way, relationships between elements can be shown without repetition
  • E.g.
    • Each person has an ID. Each person can contain a reference to the ID of their mother, father, children
    • Books and authors can be listed. But each book may have >1 author, each author might write >1 book. So the book can contain a reference to the author. etc

XML - Motivation & Syntax

referencing example
Referencing example

<family>

<person id=“lisa” mother=“marge” father=“homer”>

<name> Lisa Simpson </name>

</person>

<person id=“bart” mother=“marge” father=“homer”>

<name> Bart Simpson </name>

</person>

<person id=“marge” children=“bart lisa”>

<name> Marge Simpson </name>

</person>

<person id=“homer” children=“bart lisa”>

<name> Homer Simpson </name>

</person>

</family>

XML - Motivation & Syntax

xml authoring
XML Authoring
  • There are many authoring tools available to facilitate the creation of XML documents.
    • E.g., XML Spy, Xmetal
  • However, you may as well start off using a simple text editor, ideally XML aware
    • XML is after all just a text file.
  • You are then responsible for checking that the XML is correct!

XML - Motivation & Syntax

viewing and checking xml
Viewing and checking XML
  • This is perhaps simplest way to check that XML is well formed:
    • If well formed XML is loaded into your browser it will be displayed as a tree structure

XML - Motivation & Syntax

viewing and checking xml30
Viewing and checking XML
  • If incorrect XML is loaded into your browser then error messages will be displayed

XML - Motivation & Syntax

defining the structure of an xml file
Defining the structure of an XML file
  • We can check if an XML file is well-formed
    • by looking at it, maybe
    • By loading it into a browser
      • If well-formed, it will be displayed
  • However, how can we check that the well-formed file contains the correct elements in the correct quantities?
    • We need to write a specification for the XML file
      • See the next lecture

XML - Motivation & Syntax

exercise
Exercise
  • Write an example of an XML file containing 2 or 3 records which holds information about holiday homes for rent.
    • Each home has an id, a name and a location
    • Additionally, each home has one or more sets of contact details. Contact details consist of a name and a phone number, and optionally an email address and website.
  • In your example, demonstrate optional or repeated elements.

XML - Motivation & Syntax

ad