25
IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu www.cs.usna.edu/~adina

IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Embed Size (px)

Citation preview

Page 1: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

IT420: Database Management and Organization

XML21 April 2006

Adina Crăiniceanuwww.cs.usna.edu/~adina

Page 2: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

2

Overview

From HTML to XML DTDs Transforming XML: XSLT

Page 3: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

3

Introduction

Database processing and document processing need each other Database processing needs document processing for

transmitting/ expressing database views Document processing needs database processing for

storing and manipulating data Internet expansion made the need obvious

Page 4: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

4

XML

XML: Extensible Markup Language, developed in early 1990s

Hybrid of document processing and database processing It provides a standardized yet customizable way to

describe the content of documents A recommendation from the W3C

XML = data + structure XML generated by applications XML consumed by applications Easy access: across platforms, organizations

Page 5: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

5

XML

What is this? What does it mean?

<h2>Madison</h2>

HTML: How to display information on a browser.

HTML: no “semantic” information, i.e. no meaning ascribed to tags

Page 6: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

6

XML: Semantic information

<presidents> <name>Madison</name>

<US_cities> <Wisconsin> <name>Madison</name>

<US_Colleges> <name>Madison, U of Wisc</name> <name> Madison, James (JMU)</name>

Page 7: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

7

XML vs. HTML

XML is better than HTML because It provides a clear separation between document

structure content materialization

It is standardized but allows for extension by developers XML tags represent the semantics of their data

Page 8: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

8

Why is XML important with regard to databases? XML provides a standardized way to

describe, validate, and materialize any database view. Share information between disparate systems Materialize data anyway you want

Display data on web Display data on sales-person computer Display data on mobile device

Page 9: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

9

How does XML work?

Three Primary Components to XML Data has a structure

Document Type Declarations (DTDs) XML Schemas can be used to describe the

content of XML documents

Data has content XML document

Data has materializations Extensible Style Language: Transformations

(XSLT)

Page 10: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

10

If we want to share information is structure important? Structure provides meaning

10111011000101110110100101010101101010110110101….

What is the meaning of this bit stream??

The bit stream has meaning if we assign structure

Page 11: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

11

Example: XML DTD & Document

Page 12: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

12

XML DTD

XML document consists of two sections: Document Type Declaration (DTD)

The DTD begins with DOCTYPE <document_type_name>

Document data

XML documents could be Type-valid if the document conforms to its DTD Well-formed and not be type-valid, because

It violates the structure of its DTD It has no DTD

DTD may be stored externally so many documents can be validated against the same DTD

Page 13: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

13

Create XML Documents from Relational DB Data Most RDBMS can output data in XML

format MySQL: mysql –u root --xml For SQL Server:

SELECT . . . FOR XML RAW | AUTO, ELEMENTS | EXPLICIT

Page 14: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

14

Lab exercise

Restore some database in MySQL Open MySQL command line using

mysql –u root --xml

Page 15: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

15

XSLT

XSLT, or the Extensible Style Language may be used to materialize (transform) XML documents using XSL document From XML documents into HTML or into XML in

another format

XSLT is a declarative transformation language XSLT uses stylesheets to indicate how to

transform the elements of the XML document into another format

Page 16: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

16

Example: External DTD<?xml version="1.0" encoding="UTF-8"?><!ELEMENT customerlist (customer+)><!ELEMENT customer (name, address)><!ELEMENT name (firstname, lastname)><!ELEMENT firstname (#PCDATA)><!ELEMENT lastname (#PCDATA)><!ELEMENT address (street+, city, state, zip)><!ELEMENT street (#PCDATA)><!ELEMENT city (#PCDATA)><!ELEMENT state (#PCDATA)><!ELEMENT zip (#PCDATA)>

Page 17: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

18

Example: XML Document<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE customerlist SYSTEM "http://localhost/Support-Files-Chap-13-XML/CustomerList.dtd"> <?xml-stylesheet type="text/xsl" href="http://localhost/Support-Files-Chap-13-XML/CustomerList-StyleSheet.xsl"?><customerlist>

<customer><name>

<firstname>Michelle</firstname><lastname>Correlli</lastname>

</name><address>

<street>1824 East 7th Avenue</street><street>Suite 700</street><city>Memphis</city><state>TN</state><zip>32123-7788</zip>

</address></customer><customer>

<name><firstname>Lynda</firstname><lastname>Jaynes</lastname>

</name><address>

<street>2 Elm Street</street><city>New York City</city><state>NY</state><zip>02123-7445</zip>

</address></customer>

</customerlist>

Page 18: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

19

XSL Stylesheet for CustomerList

Page 19: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

20

Example: XML Browser

Page 20: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

21

Show XSL document example

CustomerList.xml

Page 21: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

22

XML Review

STRUCTURE: DTD or XML Schema CONTENT: XML document MATERIALIZATIONS: XSL document

Page 22: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

23

Sharing Data: Transparency

XMLdata

XSLTrans

ValidateDTD

DatabaseRaw data

ValidateDTD

XSLTrans

XMLdata

DatabaseRaw data

Business A Business B

Agreed uponstructure

SHARE

Page 23: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

24

Example XML Industry Standards Accounting

Extensible Financial Reporting Markup Language (XFRML) Architecture and Construction

Architecture, Engineering, and Construction XML (aecXML) Automotive

Automotive Industry Action Group (AIAG) XML for the Automotive Industry (SAE J2008)

Banking Banking Industry Technology Secretariat (BITS) Bank Internet Payment System (BIPS)

Electronic Data Interchange Data Interchange Standards Association (DISA) XML/EDI Group

Page 24: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

25

What About XML Queries?

Xpath A single-document language for “path

expressions” Not unlike regular expressions on tags E.g. /Contract/*/UnitPrice,

/Contract//UnitPrice, etc. XSLT

XPath plus a language for formatting output XQuery

Page 25: IT420: Database Management and Organization XML 21 April 2006 Adina Crăiniceanu adina

Kroenke, Database Processing

26

Conclusions

XML: The new universal data exchange format

Unlike HTML, XML = data + semantics STRUCTURE: DTD or XML Schema CONTENT: XML document MATERIALIZATIONS: XSL document

More flexible than relational model More difficult to query – research