0% found this document useful (0 votes)
39 views22 pages

Introduction To XML: CS348 Information System

This document provides an introduction and overview of XML including: - XML stands for Extensible Markup Language and was designed to describe data with user-defined tags. - XML documents use elements, attributes, and comments to structure data. Elements contain tags like <author> and <name>. - DTDs and XML Schemas define rules and structure for XML documents to validate them. DTDs specify legal tags while schemas define element types. - XML is commonly queried with languages like XQuery, which is similar to SQL for XML. XML can also be stored in databases as an XMLType. - Oracle supports XML with its XML Developer Kit including parsers, XPath, and XSLT. JDB

Uploaded by

Sankeerna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views22 pages

Introduction To XML: CS348 Information System

This document provides an introduction and overview of XML including: - XML stands for Extensible Markup Language and was designed to describe data with user-defined tags. - XML documents use elements, attributes, and comments to structure data. Elements contain tags like <author> and <name>. - DTDs and XML Schemas define rules and structure for XML documents to validate them. DTDs specify legal tags while schemas define element types. - XML is commonly queried with languages like XQuery, which is similar to SQL for XML. XML can also be stored in databases as an XMLType. - Oracle supports XML with its XML Developer Kit including parsers, XPath, and XSLT. JDB

Uploaded by

Sankeerna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 22

Introduction to XML

CS348 Information System


Guest Lecture
Hazem Elmeleegy

Outline
What is XML?
Syntax of XML Document
DTD (Document Type Definition)
XML Schema
XML Query Language
XML Databases
Oracle JDBC

Introduction to XML
XML stands for EXtensible Markup Language
XML was designed to describe data.
XML tags are not predefined unlike HTML
XML DTD and XML Schema define rules to describe data

XML example of semi structured data

Building Blocks of XML


Elements (Tags) are the primary components of XML

documents.
<AUTHOR id = 123>
<FNAME> JAMES</FNAME>
<LNAME> RUSSEL</LNAME>

Element
</AUTHOR>
Author with
Attr id

Element FNAME nested inside


element Author.
<!- I am comment ->

Attributes provide additional information about Elements.

Values of the Attributes are set inside the Elements


Comments stats with <!- and end with ->

XML DTD
A DTD is a set of rules that allow us to specify

our own set of elements and attributes.


DTD is grammar to indicate what tags are

legal in XML documents. c


XML Document is valid if it has an attached DTD and

document is structured according to rules defined in DTD.

DTD Example
<BOOKLIST>
<BOOK GENRE = Science
FORMAT = Hardcover>
<AUTHOR>
<FIRSTNAME>
RICHRD
</FIRSTNAME>
<LASTNAME> KARTER
</LASTNAME>
</AUTHOR>
</BOOK>
</BOOKS>
Xml Document And
Corresponding DTD

<!DOCTYPE BOOKLIST[
<!ELEMENT BOOKLIST(BOOK)*> <!
ELEMENT BOOK(AUTHOR)>
<!ELEMENT
AUTHOR(FIRSTNAME,LASTNAME)>
<!ELEMENT FIRSTNAME(#PCDATA)>
<!ELEMENT>LASTNAME(#PCDATA)>
<!ATTLIST BOOK GENRE (Science|
Fiction)#REQUIRED>
<!ATTLIST BOOK FORMAT
(Paperback|Hardcover)
PaperBack>]>

XML Schema
Serves same purpose as database schema
Schemas are written in XML
Set of pre-defined simple types (such as string, integer)

Allows creation of user-defined complex

types

XML Schema
RDBMS Schema (s_id integer, s_name string, s_status string)
XMLSchema

<Students>
<Student id=p1>
<Name>Allan</Name>
<Age>62</Age>
<Email>[email protected]
</Email>
</Student>
</Students>
XML Document and Schema

<xs:schema>
<xs:complexType name = StudnetType>
<xs:attribute name=id type=xs:string />
<xs:element name=Name type=xs:string />
<xs:element name=Age type=xs:integer />
<xs:element name=Email type=xs:string />
</xs:complexType>
<xs:element name=Student type=StudentType />
</xs:schema>

XML Query Languages


Requirement

Same functionality as database query


languages (such as SQL) to process Web
data
Advantages
Query selective portions of the document (no
need to transport entire document)
Smaller data size mean lesser
communication cost

XQuery
XQuery to XML is same as SQL to

RDBMS
Most databases supports XQuery
XQuery is built on XPath operators
(XPath is a language that defines path
expressions to locate document data)

XPath Example
<Student id=s1>
<Name>John</Name>
<Age>22</Age>
<Email>[email protected]</Email>
</Student>
XPath: /Student[Name=John]/Email
Extracts: <Email> element with value
[email protected]

Oracle and XML


XML Support in Oracle

XDK (XML Developer Kit)


XML Parser for PL/SQL
XPath
XSLT

Oracle and XML


XML documents are stored as XML Type ( data type

for XML ) in Oracle


Internally CLOB is used to store XML
To store XML in database create table with one

XMLType column
Each row will contain one of XML records from XML

document
Database Table:
Database Row :

XML Document
XML Record

Examples
<Patients>
<Patient id=p1>
<Name>John</Name>
<Address>
<Street>120 Northwestern Ave</Street>
</Address>
</Patient>
<Patient id=p2>
<Name>Paul</Name>
<Address>
<Street>120 N. Salisbury</Street>
</Address>
</Patient>
</Patients>

Example
Create table prTable(patientRecord XMLType);
DECLARE
prXML CLOB;
BEGIN
-- Store Patient Record XML in the CLOB variable
prXML := '<Patient id=p1">
<Name>John</Name>
<Address>
<Street>120 Northwestern Ave</Street>
</Address>
</Patient> ;
-- Now Insert this Patient Record XML into an XMLType column
INSERT INTO prTable (patientRecord) VALUES
(XMLTYPE(prXML));
END;

Example
TO PRINT PATIENT ID of ALL PATIENTS
SELECT
EXTRACT(p.patientRecord,
'/Patient/@id').getStringVal()
FROM prTable p;

USE XPATH

Oracle JDBC
JDBC an API used for database connectivity
Creates Portable Applications
Basic Steps to develop JDBC Application

Import JDBC classes (java.sql.*).


Load JDBC drivers
Connect and Interact with database
Disconnect from database

Oracle JDBC
DriverManager provides basic services to

manage set of JDBC drivers


Connection object sends queries to database
server after a connection is set up
JDBC provides following three classes for

sending SQL statements to server


Statement SQL statements without parameters
PreparedStatement SQL statements to be executed multiple times with different parameters
CallableStatement Used for stored procedures

Oracle JDBC
SQL query can be executed using any of the

objects.
(Statement,PreparedStatement,CallableStatement)
Syntax (Statement Object )
Public abstract ResultSet executeQuery(String sql) throws
SQLException

Syntax (PreparedStatement,CallableStatement Object )


Public abstract ResultSet executeQuery() throws SQLException

Method executes SQL statement that returns

ResultSet object (ResultSet maintains cursor


pointing to its current row of data. )

Oracle JDBC (Example)


Import java.sql.*;
Import java.io;
Class simple{
public static void main(String[] args) throws Exception{
Connection conn=null;
try{
String conStr = "jdbc:oracle:thin:@oracle.cs.purdue.edu:1521:orb";
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
conn = DriverManager.getConnection(conStr,username,passwd");
Statement cursor = conn.createStatement(); // Connection Est.
ResultSet rset = stmt.executeQuery(Select* from table_name);
while(orset.next()){
System.out.println(Printing column name +orest.getStringVal(1));
}
}Catch(ClassNotFoundException e){}
cursor.close();
conn.close();
}
}

References

[1] Database Management Systems by Ramakrishnan and Gehrke

Thank You

You might also like